Hallo, jetzt will ich doch auch mal etwas zurückgeben! In mehreren Projekten verwende ich eine Art Cron als einfache Umsetzung für wiederkehrende Tätigkeiten, oder als Timeout. Da ich nun unterschiedlich und mehrere Versionen habe, habe ich beschlossen da mal aufzuräumen und eine eigene lib zu machen, die ich dann nur includen muss. Ich hab heute morgen ein wenig Dokumentiert und makefiles gerade gezogen. Aber hey, ich bin garantiert nicht der beste Coder und würde mich über Feedback freuen. Projekt liegt hier: https://github.com/petershaw/AVR-Crontab Ich danke für die Aufmerksamkeit.
Hallo Peter, du ahnst aber, daß die cron-Callbacks mit gesperrten INT's laufen. Das ist gut, wenn man mit volatile auf dem Kriegsfuß steht, aber sorgt nicht dafür, daß andere INT's allzuschnell reagieren. Oder man stellt klar, daß die Callback wie ein INT- Händler auszuführen sind:kurz und knapp!
Hi Bastler, ja das ist mir bewusst. Bisher noch kein Problem gewesen, aber das könnte man mal für Version 2 Andenken. Problem dabei ist nur das man an den Mainloop kommen muss, oder dort dem Entwickler zumindest befehlen muss, das er eine Funktion im cron aufruft und alle jobs dort erstmal in einer Queue oder Buffer liegen. Zudem müsste man dann beide Versionen anbieten und zeitgleich eine Prio einführen, da der Ruf aus dem Loop dann wieder ungenauer währe. Mal eine andere Frage dazu. Ich erzeuge nun zwei libs, eine für avr und die andere für x86_64 da die Cunit tests bei mit auch auf die cron.h zugreifen müssen, aber auf dem Mac laufen. Die x86_64 lib bekomme ich super eingebunden mit " -force_load "../lib/libavrcron_x68_64.a" Aber der avr-gcc, bzw avr-ar sträubt sich noch massiv: vr-gcc -I ./lib -g -mmcu=atmega328p -Os -lavrcron -DF_CPU=20000000UL -fpack-struct -fshort-enums -funsigned-bitfields -funsigned-char -Wall -Wstrict-prototypes -Wa,-ahlms=./build/src/device/deviceconfig.lst -c src/device/deviceconfig.c -o ./build/src/device/deviceconfig.o src/device/deviceconfig.c:24:18: fatal error: cron.h: No such file or directory compilation terminated. Weißt du wie man das macht? Danke.
Ah vergiss meine Frage. Ich muss die Header Datei natürlich auch zur Verfügung stellen. Es war spät gestern... :-)
sieht sehr interessant aus! aber was ist es genau für leute die nicht wissen was crontab etc . heißt.. is das eine art scheduler? eine funktion zu einer gewissen zeit starten? wie ein RTOS nur ohne soviel overhead? mfg
Das trifft es ziemlich genau. Bin gerade unterwegs, wenn du fragen hast nur her damit! Unterhalte mich später gern darüber. :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.