MiniMaestro and FlowStone

I am intrested in using the minimaestro 12 with Flowstone from DSP robotics. Is there any support for this software?

Hello,

I found some information that says FlowStone can communicate with any device that uses a COM port, so you might be able to use it with a Maestro, which provides a virtual COM port over the USB connection. However, we have not used the FlowStone software and cannot provide any specific support for using it.

If you do decide to try using them together, we would be interested to hear how it turns out.

- Kevin

Well then can you tell me what the serial data looks like. The lynxmotion string looks like this " #0 P1500 T1000 " where 0 is the servo number p is position and t is time. Assembled in flowstone and adding a carriage return then sending to the com port to the lynxmotion controller it generates a servo move. Also in the dual usb mode is the TTL port only a passthru at the tx/rx pins on the 7 pin header and not useful in ithe mini maestro 12?
My primary intrest is running the mm12 as an output device for a PC(laptop) platform for real time hardware control.
thanks

Hello.

Have you seen the Maestro user’s guide? The serial communication section has the answers to your question. Please ask if there is still something that’s not clear.

- Ben

well I am still not clear about the formatting of the data:
the manual states"
Compact Protocol
This is the simpler and more compact of the two protocols; it is the protocol you should use if your Maestro is the only device connected to your serial line. The Maestro compact protocol command packet is simply:

command byte (with MSB set), any necessary data bytes
For example, if we want to set the target of servo 0 to 1500 µs, we could send the following byte sequence:

in hex: 0x84, 0x00, 0x70, 0x2E

in decimal: 132, 0, 112, 46

ok so my terminal software sends
132, 0, 112, 46
or
0x84, 0x00, 0x70, 0x2E
to the mm12
i get a blink on the green led that looks like data was sent on com 4 and com 5 but no servo move

is there any preamble any initilization procedure or is it automatic?

I have my mm12 in dual usb mode with crc off.

How are you determining what COM port to send the commands? Also, are you actually sending the byte values rather than ASCII representations of them? Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?

- Ben

How are you determining what COM port to send the commands?
The device manager shows that com 4 and 5 are being used for the MM12

Also, are you actually sending the byte values rather than ASCII representations of them?
I am sending ASCII to the com port from flowstone

in hex: 0x84, 0x00, 0x70, 0x2E

in decimal: 132, 0, 112, 46

Can you connect to the Maestro with the Maestro Control Center and see if the slider bar that corresponds with servo 0 moves when you send your commands?

yes and that is working fine

still confused

Do you know which of these two is the correct one to be sending your serial commands to?

I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values ‘1’, ‘3’, and ‘2’.

- Ben

I am sending ASCII to the com port from flowstone

I think this is your main problem. The Maestro protocol is not ASCII-based. For example, for the command you list, you have to actually send four bytes with the values 132, 0, 112, and 46. Transmitting a byte with the value 132 is not the same as transmitting three ASCII characters with the values ‘1’, ‘3’, and ‘2’.

so what should the data going to the MM12 look like?

should it be hex , binary or something else?

lb

I think you are still fundamentally misunderstanding things. Your goal is not to send a representation of a value, your goal is to send the value itself using serial, which has its own internal representation in the form of time-varying digital voltages. The value of the number ten is independent of how we choose to represent it (e.g. 10, 0xA, or 0b00001010). If the servo controller is expecting a first byte with the value 132, you need to write a program that gets this value transmitted on the serial port (i.e. when the servo controller reads the byte it receives, the byte should have the value 132).

- Ben

It’s all working now! It just required the FlowStone Com Port mode to be set to Hex not ASCII as you said.

You can find a FlowStone test project for the servo controllers here:

http://www.dsprobotics.com/support/viewtopic.php?f=2&t=225