I already implemented the analog input functionality in the IO module. This should be refactored to IO_analog or something to that effect so that we can now add an IO_digital module.
This module should be a lot more simple, since all it has to do define ISRs which will update the appropriate variable in the module struct based on the corresponding physical IO. We could also explore adding debouncing here eventually, but lets focus on confirming that the PCB works. Also, the hardware debouncing I added to the PCB should be sufficient (hopefully).
Would be nice to keep in mind modularity of this. Ideally, this structure should be as abstracted as possible so that we can make this a common module that multiple ECUs (ideally even with different chips) should be able to leverage it.
relates to #5
I already implemented the analog input functionality in the
IO
module. This should be refactored toIO_analog
or something to that effect so that we can now add anIO_digital
module.This module should be a lot more simple, since all it has to do define ISRs which will update the appropriate variable in the module struct based on the corresponding physical IO. We could also explore adding debouncing here eventually, but lets focus on confirming that the PCB works. Also, the hardware debouncing I added to the PCB should be sufficient (hopefully).
Would be nice to keep in mind modularity of this. Ideally, this structure should be as abstracted as possible so that we can make this a common module that multiple ECUs (ideally even with different chips) should be able to leverage it.