Hi everyone,
we are using the Bpod r2/r2.5 system and want to control 4 additional ports using the port array module. We assembled parts of it ourselves and use a Teensy 4.0. We uploaded the port array module firmware using Ardiuno IDE with the teensyduino add-on. Using the MATLAB class to control the port array module without the state machine, we are able to control the LEDs and can detect poke events without any problems. However, we are not able to open/control the valves. We measured and followed the 3.3V logic signal from the Teensy until it arrives at the valve driver. The valve driver should send an external 12V signal to the valves upon receiving the logic signal from the teensy. But, the 12V somehow do not get transmitted to the valves. We checked the following already:
-the logic from the Teensy arrives at the valve driver (checked with multimeter)
-external 12V power supply is connected and is supplying the right amount of voltage (12V)
-we can measure the 12V at the output side of the valve driver chip (HOWEVER, this is constantly at 12V and we thought that this normally at 0V and should only be 12V once the valves should open? At least, that's the case with the Bpod state machine. This is very confusing to us.)
-two different people assembled 3 port array modules and for all 3 boards, we have the same problem (we soldered the Teensy 4.0, the ethernet cable connectors, and the 12V power supply connector to the port array module board. All other parts, like the valve driver chip, have been soldered by a professional workshop)
-we are sure the valves and ports we use work since they don't have any problem when controlled with the Bpod state machine
We are puzzled why we cannot control the valves. One thing that came into our minds is that the port array module firmware was written for Teensy 3.2 or 3.1. We are using Teensy 4.0. When we tried to upload the firmware with the MATLAB command 'loadBpodFirmware' it says the firmware is not compatible with Teensy 4.0 since it was written for Teensy 3.2. That's why we then used Arduino IDE with teensyduino add-on to upload the port array module firmware. And we think it works that way since we can control the LEDs and detect pokes and additionally we are able to follow the logic signal from the Teensy to the valve driver. The only thing we could think of at the moment is that we might have to change the code of the firmware that specifically controls the valves to make it compatible with the Teensy 4.0. But, we think this is unlikely since, again, we can follow the logic signal from the Teensy to the valve driver.
Any help and/or tips what we could do are very much appreciated! Thanks in advance and my very best,
Lukas