Welcome! Log In Create A New Profile


Firmware suggestion

Posted by Anonymous User 
Anonymous User
Firmware suggestion
April 21, 2007 04:20PM
I've started ordering parts to build a RepRap, and studying the design of the electronics and firmware.

It seems to me that it might be worthwhile to add locations for two resistors (and possibly jumpers) to the Universal Controller board, to act as configurable pulldowns on the RP6 and RB7 ports. This would allow for a single firmware image to be used in all the PICs, that would be configured by the resistors (and jumpers) to be the controller for any of the three motor axes, or the extruder controller.

By using pulldowns, this would not interfere with the use of an in-circuit-programmer such as the ICD2 to install firmware updates.

The PORT B internal pullups could be enabled. Alternatively, without the internal pullups, RB6 and RB7 could be read by driving them high as outputs, then switching to input and reading the state. The pins with external pulldowns will go to 0, but capacitance will keep the pins without external pulldowns high.

Anyhow, the point is that only one version of firmware would be needed, which would simplify production and distribution of pre-programmed PICs to other people building RepRaps.

At the moment I'm having trouble with building SDCC on Fedora Core 6, apparently
due to the use of GCC 4.1.1, so I can't yet test this idea.

Re: Firmware suggestion
May 23, 2007 02:39AM

If you are still dealing with GCC issues and SDCC, check my newly created Wiki page SDCCVersionInfo [reprap.org]

I suspect you're over this particular hurdle already... in which case, an update on progress regarding your "one PIC image to control them all" idea would be welcome -- how far have you got with that?


Re: Firmware suggestion
May 23, 2007 10:08PM
Does the pull down somehow affect the address that the pic is supposed to respond to? Thats the big difference between any of the axis controllers. The port is set as a build parameter on the commandline configured in the makefile for the individual device I believe.
Re: Firmware suggestion
May 24, 2007 06:46AM
Right, the idea would be to have the PIC code check the port state and use that to determine its "address" on the serial ring network. So one .hex file would work for all 3 axes.

If you wanted to get fancy, you could put a couple of little DIP switches on the board to set the address... :-)

Re: Firmware suggestion
May 24, 2007 11:05AM
Although I am not using the RepRap electronics on my system I have used a scheme on PICs and other micro controllers that encodes 10 states with two pins which are either tied high, low, left floating or connected together. I can post circuit and code in C if anybody is interested.

Sorry, only registered users may post in this forum.

Click here to login