Basically, you can't use ASCII with the 'M' command to generate negative values.
We use two different formats with the SRV_protocol commands - all commands are initiated by an ASCII character ('V', 'M', etc), but with some commands, the following characters are 8-bit binary (represented as hex), and with other commands, the following characters are ASCII decimal ('0' - '9'), e.g.
- M, S, s, ir, iw and f commands are examples where 8-bit (non-ASCII) parameters are passed, though it's sometimes possible to find ASCII characters to represent the binary values (e.g. control-A = 0x01, '0' = 0x30, etc)
- q, vb, vn, vs, vc, vr, and vf commands take ASCII decimal parameters
I just updated
http://www.surveyor.com/blackfin/SRV_protocol_bf.html in hopes of clarifying which commands use 8-bit binary parameters vs ASCII decimal characters. If there are any suggestions on how to make this more obvious, please let me know.