Tonight was a good night. XBee / Teensy configuration problem solved. Multiple coordinator problem…kind of figured out. Code convergence for vest / hat / tower solved.
I’m looking at a vest and a tower running in front of me and changing the patterns through the iPhone. Pretty cool. Here is a picture of the Tower breadboard. Bright red LED is the XBee power and you can see the LED’s dangling down at the bottom. The Teensy is the dark board on the upper right, you can see the white micro USB plugged into it.
Teensy has been working great. I’ve had to work around the makefile build / upload issue but I think we’re through that. PJRC says that they will have a 3.0 command line interface available soon. I’ll wait for now. The upload GUI tool is sufficient for now (rebuild and press the button). The issue with the XBee configuration code was that I was getting a MODEM_STATUS_RESPONSE from the network association. I had to add an extra getResponse() call to get it off the queue. My thought is that it’s due to the extra hardware serial on the Teensy and that it’s listening to everything from the radio on power up which is not what the Arduino is able to do.
As for the XBee extra coordinator, I’m having some trouble. I have a working coordinator. I want a couple of more for the other test beds. The problem is that the 16bit PAN ID is being set differently as is the 802. channel. I can reset things through AT commands but it’s not ideal and I really like the idea of not having to configure so much manually. The PANID was very convenient as a network identifier and it worked flawlessly until now. I’ll have to research this bit a bit more.
I’ve been having discussions with Randy about how to do better at synchronizing the computers to have better pattern coordination. It’s a difficult problem because there are messaging latencies in the XBee network that are not stable themselves. We came up with a couple of mechanisms to sync clocks but they all involve walking around to the members and performing either a tethered sync or a rapid fire messaging challenge. I think it’s going to be OK but we’ll need to write up the code.
One thing that I needed to do in order to help keep things in sync is to get everyone working at the same frame rate. This was easy enough to do in the Arduino code but I needed to read up on the Teensy ARM timer interrupt setups.
As part of the mock up process I needed to get the XBee hooked up to the Teensy. The latest release of the Arduino IDE from PJRC has an updated XBee library that I needed to use. I keep forgetting to update the firmware of the XBee (I lent Elan a radio and configured it to his needs, I needed to reconfigure it to mine). The big issue was API=2 and the Router API firmware. It’s working great now except that my XBee configuration code is not working. The AT commands aren’t able to be processed correctly so I can’t determine the BAUD rate or the PANID for the radio programmatically. That’s the next issue to address. The good news is that I’m able to control the tower LEDs from the iPhone through the Teensy!
I spent an hour today looking at designs for bases. I have the 4 post base physically mocked up and thought that a 3 post base would be interesting too. I’m concerned with the centering ability for the 3 post but that will have to be mocked up to see.
Over the last couple of weeks, we worked through some iterations of what a logo for the project could look like. What do you think?