Friday, June 24, 2005
Last weekend I gathered some bits and pieces from some old dead printers so I now have some stepper motors and gearing. None of the parts are ideal, but it should be enough to get a prototype working from. Unfortunately I discovered I was out of brazing rod, so I didn't make any progress with putting anything real together. I might be able to get out to the hardware shop this weekend if all goes well.
In the meantime, I've been discussing communications ideas with Adrian and Vik and after a few days of tinkering I now have a prototype comms library that does the right thing in the emulator. If I don't build mechanics this weekend, I'll probably breadboard this and run it on some real PICs.
The implementation is currently a token-ring-like system based around asynchronous serial communications. The packet structure is based on a small open system called SNAP. I have a few reservations about the design and suitability of SNAP now, but it's partially implemented so I'll put up with it for now. It's all fully interrupt driven and deals with most stuff automatically in the background, so it should make building the various controllers a straightforward task.
There are future plans to probably replace the token ring system with an i2c based system which will improve latency and speed. This should be sufficient for early experimentation however.
It's all built in sdcc, which has a few small glitches, but so far I've managed to work around all the problems and things are progressing well. It's on a CVS server, but not available publicly at the moment. Perhaps it will move to sourceforge or some place like that in the near future.