
Architecture
Table with used queues between tasks:
| Queue | Type | Size (bytes) | Tasks |
|---|---|---|---|
| Sensor_Queue | struct sensor |
8 | StartAquisition Task → TouchGFX |
| Termination_Resistor | uint8_t |
1 | TouchGFX ↔ Default Task |
| Sampling_size | uint8_t |
1 | TouchGFX → Start_aquisition |
| Bitrate | uint8_t |
1 | Can_sampling → TouchGFX |
| CAN_fill_level_queue | uint32_t |
1 | Can_sampling → TouchGFX |
| pin1 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin3 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin6 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin7 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin8 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin9 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin11 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin12 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin13 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin14 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin15 | uint8_t |
1 | TouchGFX ↔ Default Task |
| pin16 | uint8_t |
1 | TouchGFX ↔ Default Task |
Custom struct
struct sensor{ float voltage; float current; }
This task is responsible for the relay board actuation using i2c, and comunication with the UI for the buttons using te queues named pinX

Default Task
This task will do the aquisition from the current sensor and will also read the system voltage

Aquisition Task