brendan and I have been working on a python program to pretend to be the
disk drive of the robot (which connects to it over serial)
the hope is to be able to save and load programs from the robot to a
normal computer, like the 3d printer (to which it is presently attached)
i hooked up a logic analyzer to spy on the conversation between the robot
and its disk drive, and the results are here:
http://spaz.org/~jake/robot/floppy-loadafile.logicdata
there are other .logicdata files in there too, some don't have the session
configured to decode the serial data (4800 baud, EVEN parity, inverted)
you can read the analyzed data with Salae Logic, a free download.
OR just read the python program we wrote:
https://github.com/jerkey/yasnac/blob/master/src/engine.py
on line 36 we answer the robot's request to LST the files by sending the
following text: (in the program it's constructed from two strings)
"\x02\x13\x00LST0001123.JBI \x00\xfc"
this works (the robot responds with ACK) but it we change ANYTHING it
doesn't like it and says NAK NAK NAK
i thought the last byte would be a checksum, but the whole thing does NOT
add up to something divisible by 256, and furthermore if I change the file
name (123.JBI) to 124.JBI AND change the last \xfc to \xfb, it fails -
which means it is not using a simple checksum (right?)
help figure this out! we need to be able to send the robot arbitrary
filenames and have it accept the packet (and then we can start sending the
program data)
-jake