Etape 7 : liaison UART SCI-A 57600 8N1 validee sur cible
Emission $T,...*XX et reception $C,...*XX conformes a docs/ESP32-UART.md. Trame mesuree a 129 caracteres, checksum XOR verifie independamment. Corrections trouvees au bring-up sur materiel : - StartCpuTimer0() manquant : ConfigCpuTimer() laisse le timer arrete, donc le tick d'emission ne se produisait jamais et rien ne partait sur la ligne. - Suppression de "%f" dans sprintf. Sur C28x le support flottant de printf passe par du long double 64 bits emule (frexpl/scalbnl/L$$DIV) : le CPU partait a PC=0 des le premier envoi. Formatage decimal manuel a la place, comme le prevoyait deja PROMPT §7 etape 7. - RXFFIENA n'etait pas arme dans SCIFFRX : aucune interruption de reception. - Recuperation de SCIRXST.RXERROR. Un FE/OE/PE/BRKDT le latche et bloque le recepteur jusqu'a un SW RESET du SCI ; sans ca une seule perturbation arretait la reception definitivement (constate : RXERROR+FE+BRKDT latches). - Formatage borne : clamp des valeurs (NaN et saturation) puis snprintf avec la capacite restante. Un champ qui ne tient pas est abandonne entierement, ce que le protocole autorise, plutot que de deborder s_tx_frame. - Emission non bloquante : send_telemetry() ne fait que mettre en attente, uart_link_service_tx() pousse au plus une FIFO (4 octets) puis rend la main. L'ancienne version monopolisait 22 ms par trame, incompatible avec la priorite donnee a la boucle de regulation. Plan memoire (F2802x_generic_flash.cmd) : - les 4 secteurs flash du F28027 sont declares (32K mots au lieu de 8K) - .ebss bascule en RAML0 : il etait colle juste apres .stack, donc tout debordement de pile ecrasait silencieusement les globales - pile portee a 1024 mots, seule dans RAMM1 LED : polarite reelle confirmee active-haut (cathode commune a la masse, anodes pilotees par GPIO12/GPIO33 a travers 1k) -> LED_ACTIVE_LOW = 0. Repond au point ouvert §9.2 du PROMPT. safety_init() reste desactive dans main.c : bring-up isole LED+UART, a reactiver quand l'etage de puissance sera cable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
16
.theia/launch.json
Normal file
16
.theia/launch.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "TMS320F28027-dualboost",
|
||||
"type": "ccs-debug",
|
||||
"request": "launch",
|
||||
"projectInfo": {
|
||||
"name": "TMS320F28027-dualboost",
|
||||
"resourceId": "/TMS320F28027-dualboost"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user