Description
The I2C messenger module translates messages between Bpod's standard serial bus for modules (UART / RS-485) and the I2C bus using a level-translating I2C bus repeater IC. The device can simply relay bytes, or it can store a library of 256 messages each up to 16 bytes long, which can be addressed to different slaves on the I2C bus. In message mode, each loaded message is assigned an index, and its transmission can be triggered with low latency from the state machine during a trial. The device can communicate in I2C standard mode (100kb/s) or fast mode (400kb/s). A MATLAB object allows configuration of the module, programming of its message library, and test-transmission of stored messages. The device can be powered by a compatible Bpod state machine, and has a jumper to select the I2C bus voltage (3.3V or 5V). A future firmware update will allow the device to screen for incoming messages by polling specific slaves, and pass extracted behavior event codes back to the state machine.