I am installing blue LEDs on our eVOLVER for optogenetic applications. To do this, I added a light variable to the conf.yml on the RPI and updated the Arduino handling a PWM in SA slot 8. I was able to get control from commands sent over the DPU; however, I am running into a problem someone described on here previously where the lights do not turn off with a zero sent.
Using the TLC test, I can turn off the entire RIGHT_PWM which will blink the array of LEDs, but cannot get individual LEDs to turn off. There are still a few differences in the coding of how the left vs the right PWM are handled beyond the pin assignments. It seems like this may be something that could be resolved through the software libraries but I have extremely limited knowledge of Arduino.
I did testing Friday and I believe I turned off the eVOLVER while server_test.py was going. After that, it started throwing errors and there seemed to be some difficulty in contacting the eVOLVER at the end of day. After returning today, I was not able to connect to the RPI through the electron shell or script. After trying to access by ssh it worked, and for whatever reason, conf.yml had the IP address noted as 192.168.1.27 instead of 192.168.1.2. Additionally, the formatting on the light variable was different. I updated the IP and connectivity to the DPU is restored, but I have not been able to get ANY commands working properly, whether scripted, sent through the desktop Electron GUI, or directly through the eVOLVER touchscreen.
I have attached the conf.yml in case there is something here. As you can see below, it is receiving the commands (I put some stir in at 15 and others at zero), but it is not acting on them. I reuploaded the relevant code for each Arduino to no avail.
acknowledge_char: a
broadcast_timing: 20
calibration: calibration.json
calibrations_directory: calibrations
data_response_char: b
device: evolver-config.json
echo_response_char: e
evolver_ip: 192.168.1.2
experimental_params:
light:
fields_expected_incoming: 17
fields_expected_outgoing: 17
recurring: false
value: ['4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095']
lxml:
fields_expected_incoming: 17
fields_expected_outgoing: 17
recurring: false
value: ['4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095', '4095']
od_135: {fields_expected_incoming: 17, fields_expected_outgoing: 2, recurring: true,
value: '1000'}
od_90: {fields_expected_incoming: 17, fields_expected_outgoing: 2, recurring: true,
value: '1000'}
od_led:
fields_expected_incoming: 17
fields_expected_outgoing: 17
recurring: true
value: ['2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500', '2500']
pump:
fields_expected_incoming: 49
fields_expected_outgoing: 49
recurring: false
value: ['2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2', '2',
'2', '2', --, --, --, --, --, --, --, --, --, --, --, --, --, --, --, --, --,
--, --, --, --, --, --, --, --, --, --, --, --, --, --, --]
stir:
fields_expected_incoming: 17
fields_expected_outgoing: 17
recurring: true
value: ['15', '15', '15', '0', '15', '15', '15', '0', '15', '15', '15', '0', '0',
'0', '0', '0']
temp:
fields_expected_incoming: 17
fields_expected_outgoing: 17
recurring: true
value: ['2200', '2192', '2191', '2194', '2184', '2183', '2182', '2188', '2202',
'2187', '2195', '2199', '2202', '2193', '2190', '2200']
fitted_data_directory: fittedCal
immediate_command_char: i
num_sleeves: 16
od_calibration_directory: od
port: 8081
raw_data_directory: rawCal
recurring_command_char: r
serial_baudrate: 9600
serial_end_incoming: end
serial_end_outgoing: _!
serial_port: /dev/ttyAMA0
serial_timeout: 0.3
temp_calibration_directory: temp
The server log is just an endless stream of “restarting supervisord”