Personal tasks of this week:
Task: Setting up the Raspi-PCB interface
Definition: To communicate between the raspi and the PCB, an interface is needed. Namely, the raspi needs to be able to configure the PCB by controlling switches and digipots on the board, as well as give an input voltage and read an output voltage. Performing these operations will require establishing communication protocols using I2C, SPI, and GPIO.
Completion: I was able to verify that the library CircuitPython works for I2C, SPI, and GPIO by testing with the raspi and the arduino. I am now writing the interface between the Raspi and PCB, using our schematic made by Andrew. I currently have the part for controlling the analog switch and reading the ADC completed.
Next Steps:
Create the remaining interface, including controlling the digipots and writing the high level functions that performs circuit calibration, as well as the process of giving the PCB inputs and configuring it, wait for it to converge, then reading the outputs for a LP.
Overall progress assessment:
The remaining work is on finishing the interface and testing the whole system once the PCB arrives. Slightly behind schedule as the PCB is expected to arrive next week, and it is hard to test the correctness of the interface without it.