|
Re: i2c output
I'm expecting a rules update on this one on Friday.
The problem with the way the rules are written is that while the I2C pins are technically digital IO, they are both an input and output for the hardware connected to it (like an I2C sensor). Therefore, I2C is permissable under <R67B> but not under <R66E>. However, under <R66G> the digital side car is an "approved electronic device" which would seem to allow it. That's why we asked the question.
As for a work around, it appears that I2C is interfaced through the FPGA, which makes sense since you need to asynchronously push data into registers to get it to work. On the old PIC18 based RC, tapping the right combination of pins on the relay outputs gave you access to I2C. So, I agree it seems kind of odd to not give us access to it this year.
Bitbanging the GPIO ports for I2C could prove problematic. However, have a look at WPILib\ChipObject\tSPI.h, which implements SPI. That allows channel selection. So, building around that may yet provide a serial interface bus that is within the rules. But, it also makes any notion of using LEGO NXT sensors (that's what the phone jack looking thing on the DSC is) impossible.
-Jeff Erickson, FRC 41
|