He hagut de fer uns canvis al CMake del CanOpenNode. Si només us voleu descarregar el main, primer mireu que us quadrin els CMake. El que he fet és accedir als fitxers d'exemple.
Potser en un futur caldrà treure aquests fitxers d'exemple de dins de la carpeta exemples.
L'slave es on es configura l'adressa LSS única per després poder fer l'assignació automàtica dels nodes Hi ha l'inicialització de la memòria volàtil. Això és perquè hi hagi paràmetres del node que es guardin encara que es faci un reset. Quan un node ja està configurat, no entrarà a la parafernalia de reconfigurar-se, sinó que ja tindrà tot a lloc i esperarà el NMT operational command.
- La funció
CO_ESP32_LSS_Run()se executa desde main.c - Configura pins i executa la tascaCO_mainTask - MainTask:
- Crea instància
COdel stack CANopen - S'inicialitza el bus
- S'inicialitza LSS amb una direcció única derivada de la MAC
- S'inicialitza el stack CANopen complet
- Es crea la tasca periòdica
CO_periodicTask
- Crea instància
- PeriodicTask - Logica cíclica del usuari
- Es procesen RPDO i TPDO
- S'envia un contador dummy (versió actual)
- Gestió d'emergències
- Si esta polsat el botó -> es reporta un error CANopen (EMCY)
- Es neteja l'error
- S'actualitza el OD y es mostra