BrickPiRx Errors

I have just started with the BrickPi and am running the simplebot_speed example. For the most part it seems to be working, but if I define DEBUG, I see quite a few BrickPiRx errors": -2 (timeout) and -5 (checksum). Is this something to be concerned about? There have been times when one of the motors turns off by itself, but that has not been very reproducible. Is there any work being done about making the communications with the BrickPi more robust?

Thanks.

Hey John,
We originally shipped with DEBUG left in, but decided to take it out because of the issues you bring up. Everything seems to be working properly, but some errors are coming across. We haven’t investigated this too deeply, but software seems to operate fine.

If you’re digging into the BrickPi.py and firmware, one reason your motors may be shutting off: there’s a timeout function baked into the whole setup. This was setup as a safety/convenience feature: if you don’t hear from the BRickPi for so many ms, the motors shut down. Could that be the problem with intermittent issues you’re seeing?

Thanks for the feedback. I have now had a chance to work with the board for a bit more, and it does seem to be working well despite the very frequent errors. I am aware of the timeout and agree that it is a desirable feature, but I am not sure it was the cause of what I was seeing. However I implemented a ‘keep alive’ call that makes sure that the timeout does not occur (as long as my program is running), and I have not seen any other problems with the motors cutting out prematurely.

On a separate note, I would dearly love to be able to program the Arduino chips directly, but it seems like that may be difficult. I see from the schematic that there is a FTDI programming header (although it is not clear where that is located on the board). Can that be used to upload new programs to the Arduinos, or is ISP programming really the only option?

Thanks.

John, that’s great news!

Yes, you can use the FTDI header to program the BrickPi firmware. The only thing you will need to be aware of is the jumper for slecting the correct microcontroller as seen on our schematic. Otherwise, it will definitely work.

Yes, I saw the jumper on the schematic, but it is not clear where it is located on the board (or for that matter where the FTDI interface is located). I can make some guesses, but it would be nice if I could find a diagram of the board which labels the various connectors. Does such a diagram exist?

Thanks.

Hey John, how does this look? Is this the information you’re looking for?

That works. Thanks much.