Hi,
I have adhanced the firmware of the V2 SSC32 (Atmega168) by three new features:
*] A BAUD-command. This command reprograms the SSC32 to use any specified baud-rate. Example:
BAUD -1250\r – set the baud-rate to 125000 baud, using “double-speed” mode
BAUD 1250\r – the same, with normal speed mode
The idea is that uC’s running with power-of-two crystals (e.g. 16MHz) can hardly do any more than 38400 bits/sec using standard baud-rates. OTH, the SSC32 seems to work just fine with – e.g. – 125000 bits/sec. This is the setting I am currently using in conjunction with an AtomPRO28. The setting is not remembered across reboot, in order to prevent unusable bit-rate settings to require re-flashing of the firmware./*:m]
*] A binary modifier command. Prefixing any command by the string M~ changes the parsing rules for numbers: they are expected to be presented in binary, in Big-Endian byte-order. Pulse-widths are expected as 16 bits integers, servo-numbers as 8 bits integers. The modification remains active until the terminating \r (carriage return).
M~#<binary servo number>P<high byte><low byte>\r
/*:m]
*] an asynchronous group-move modifier:
M+#13P1700T1000\r
M+#13P1300T1000\r
The M+ modifier delays the execution of the current group-move command until a previous group-move command has been completed. In addition, the SSC32 will transmit a . character back to the host if a pending asynchronous group-move command has completed.
This eliminates the need to duplicate the timing of group-move commands on the host-uC.
/*:m]
] Modifiers can be combined, i.e. a M~+ prefix to a group-move command with turn it into an asynchronous group-move command using binary integers./:m]
It is possible to download the firmware from
The usual disclaimers apply: use at your own risk; have fun, and don’t blame me if the modifications damage your hardware.
The modified firmware comes in the shape of a tar-ball, using the GNU autoconf/automake frame-work. You will need some flavour of the GNU AVR-toolchain to compile it. There are chances that the beast still compiles with CV’s AVR compiler, but I would not bet on it. The COPYING file in the top-level directory cites the copying notice which can by found on Lynxmotions web-pages.
Cheers,
Claus