mirror of
https://github.com/adrigongv23/G26---Telemetry-Software.git
synced 2026-08-25 11:33:17 +02:00
fix(sd): resolver conflicto de pines SPI con CAN y crear archivo de sesion por arranque
La SD usaba VSPI por defecto (SCK=18, MISO=19, MOSI=23, CS=5), y el pin MOSI (GPIO23) coincidía físicamente con el RX del CAN, por lo que ambos periféricos competían por el mismo pin y la SD no funcionaba de forma fiable. Se migra la SD a un bus SPI propio (HSPI) con los pines validados por esquemático de la PCB (CS=25, MOSI=26, SCK=27, MISO=14), que no colisionan con ningún pin usado por el CAN. Se baja además la velocidad de reloj SPI de 20 MHz a 1 MHz mediante SdSpiConfig, necesario por la integridad de señal del cableado/PCB actual. Se añade también la creación de un archivo de sesión nuevo en cada arranque (G26-1.csv, G26-2.csv, ...) usando O_EXCL para no sobrescribir nunca sesiones anteriores, evitando que distintas ejecuciones compartan el mismo archivo con timestamps solapados.
This commit is contained in:
parent
72dc48807d
commit
ad23f59ba4
5 changed files with 49 additions and 29 deletions
|
|
@ -1,8 +1,8 @@
|
|||
#ifndef CAN_HPP
|
||||
#define CAN_HPP
|
||||
|
||||
#define RX_PIN 13
|
||||
#define TX_PIN 38
|
||||
#define RX_PIN 23
|
||||
#define TX_PIN 22
|
||||
#define POLLING_RATE_MS 1000
|
||||
#define TRANSMIT_RATE_MS 1000
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,11 @@ public:
|
|||
|
||||
// Estructura de datos
|
||||
struct CarState {
|
||||
int ect = 0; // Temperatura (IMPORTANTE POR AHORA). Luego habría que añadir aquí todas las variables que se vallan a guardar.
|
||||
int ect = 0;
|
||||
int rpm = 0;
|
||||
int tps = 0;
|
||||
double vbatt = 0;
|
||||
|
||||
};
|
||||
|
||||
// Configuración SD
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue