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:
Alejandro Guerrero 2026-07-21 20:02:00 +02:00
parent 72dc48807d
commit ad23f59ba4
5 changed files with 49 additions and 29 deletions

View file

@ -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