Hallo, ich habe eine Frage bzw Fehlermeldung zur Funktion der LED in der CUL Firmware.
Ich habe mir einen nanoCUL gebaut der eigentlich auch tadellos funktioniert. Da ich die Dinge gerne blinken sehe, habe ich dem CUL eine helle LED spendiert, die mir eigentlich Funkaktivität anzeigen soll.
Die LED funktioniert eigentlich auch, ich kann sie per 'l02' zum blinken bringen. 'l00' und 'l01' funktionieren aber nicht wie erwartet, d.h. mit 'l00' wird die LED weder dauerhaft ausgeschaltet, noch wird mit 'l01' der Empfang von Daten signalisiert.
Stattdessen wird die LED scheinbar willkürlich manchmal einfach an- bzw ausgeschaltet.
Ich habe dann ein bisschen im Quellcode gestöbert und werde nicht so richtig schlau aus der beabsichtigten Implemetation.
- In Datei "fncollection.c" wird der gewünschte Mode zwar ausgewertet, anschliessend die LED hart an- bzw ausgeschaltet und der Modus in der Variablen "led_mode" gespeichert, aber diese Variable wird ausser für das sekündliche Blinken in "clock.h" nie mehr ausgewertet.
- Sende- und Empfangsaktivität soll vermutlich in den verschiedenen "rf_..."-Dateien, zB in "rf_send" bzw "rf_receive" angezeigt werden. Hierzu wird dabei jeweils am Anfang einer Routine die LED mit dem Makro "LED_ON()" an- und am Ende der Routine mit "LED_OFF()" wieder abgeschaltet. Da aber das Program vermutlich extrem schnell durch die jeweiligen Routinen durchrauscht, dürfte dieses Einschalten der LED allenfalls wenige microsekunden dauern und damit nicht warnehmbar sein.
- In der Datei serial.c gibt es ausserdem einen Aufruf von "LED_TOGGLE()", der die LED unabhängig vom gewünschten Modus bei jedem Datenempfang an der seriellen Schnittstelle einmal umschaltet, was das erwähnte scheinbar willkürliche Verhalten der LED erklärt. (in a-culfw allerdings auskommentiert)
Sehe ich das richtig, dass die Modi l00 und l01 gar nicht wie ursprünglich beabsichtigt funktionieren können oder habe ich irgendetwas übersehen?
Jan