Welcome! Log In Create A New Profile

Advanced

Firmware documentation

Posted by philwaud 
Firmware documentation
August 06, 2009 08:34AM
Hi folks

Im a little frustrated with the host software, Ive got a working cartesian bot and am using a sanguino to control things. I can successfully move the three axis and all is sweet.

When I try and load an .stl file to test it out, I hit problems!

Ive created an .stl file so that I can draw a simple shape. Ive chosen a circle with one quadrant removed, 5mm diameter and .2mm thick. It was made in sketchup and exported using the ruby script. Ive loaded this into various .stl renderers and it appears fine. When I load it into the reprap host software it displays as a series of triangles (as you would expect), except that they are all ove rthe place, none of them in the correct place.

My next idea was to send G codes to the sanguino by the serial port. Is there any documentation as to how the sanguino should respond, specifially:-
1) when the sanguino is reset, it send "start" back to the host. At what point does it do this, ie immediately, when it is waiting for a command or when it has received the first command?
2) when the sanguino gets a command, it responds "ok", does it wait until the command has been executed or do it or doe sit do it as soon as teh command has been received.

What other responses does the firmware make?

Ive trawled all over the reprap site but cant find reference to them anywhere!

Help!

Phil
Re: Firmware documentation
August 06, 2009 11:31AM
The ok comes after the reprap has executed the command. That way, the host software doesn't run ahead of the reprap.

If you send a dwell command (ex: G4 D500), the machine will delay for the specified time (500 ms in the example) and respond after the time has passed.

If you turn the extruder on (M101), the machine will wait for the target temperature to be reached, turn the motor on and then send ok back. This could take several seconds, during which time the reprap will be completely unresponsive.

If you check the temperature (M105), the machine will check the temperature and return something like T:50, where 50 is the temperature.

I've learned all of this by reading the firmware and debugging a few things. There are different versions of the firmware, and I think one of them even uses a buffer for the input, which might mess up the timing of the responses.
Sorry, only registered users may post in this forum.

Click here to login