diff --git a/avr/README b/avr/README index 450d88d..86bf75a 100644 --- a/avr/README +++ b/avr/README @@ -1,24 +1,39 @@ -AqHome Node Operating System -============================ +AqHome Node Operating System (AqOS4Avr) +======================================= This is a very simple operating system for AVR nodes using ATtiny and ATmega MCUs. It doesn't use administration objects in RAM, it just defines some routine calls which have to be added into the system to add new drivers and modules. +Without any modules/drivers included the base system uses: +- <500 words of FLASH (<1KB) +- 6 bytes of SDRAM -The following routine types are defined: +With full AqHome network stack (including address assignment protocol): +- about 1700 words of FLASH +- <300 bytes SDRAM (including network buffers) -Function Description required add to file -INIT init module/app yes modules_init.asm or apps_init.asm -RUN called from the main loop no modules_run.asm or apps_run.asm -MSGRECVD called when new messages arrive no modules_msg.asm or apps_msg.asm -EVERY100MS called every 100 millisecs (system timer tick) no modules_100ms.asm or apps_100ms.asm -EVERY1S called every second no modules_1s.asm or apps_1s.asm -EVERY1M called every minute no modules_1m.asm or apps_1m.asm -EVERY1H called every hour no modules_1h.asm or apps_1h.asm -EVERY1D called every day no modules_1d.asm or apps_1d.asm + +The following system routine types are defined: + +Function I Description I required I add to file +-----------+-------------------------------------------------+----------+---------------------------------- +INIT I init module/app I yes I modules_init.asm or apps_init.asm +RUN I called from the main loop I no I modules_run.asm or apps_run.asm +MSGRECVD I called when new messages arrive I no I modules_msg.asm or apps_msg.asm +EVERY100MS I called every 100 millisecs (system timer tick) I no I modules_100ms.asm or apps_100ms.asm + + +If the CLOCK module is enable the following routines are also available: + +Function I Description I required I add to file +----------+------------------------------------------------+-----------+---------------------------------- +EVERY1S I called every second I no I modules_1s.asm or apps_1s.asm +EVERY1M I called every minute I no I modules_1m.asm or apps_1m.asm +EVERY1H I called every hour I no I modules_1h.asm or apps_1h.asm +EVERY1D I called every day I no I modules_1d.asm or apps_1d.asm Not all modules implement all those functions. Some modules only need to be called