avr: added docu
This commit is contained in:
48
avr/devices/all/README
Normal file
48
avr/devices/all/README
Normal file
@@ -0,0 +1,48 @@
|
||||
|
||||
Functions
|
||||
|
||||
AqHome knows these driver/module/app functions:
|
||||
- INIT: initialize the driver
|
||||
- RUN: called on every loop
|
||||
- MSGRECEIVED: called whenever a message has been received
|
||||
- EVERY100MS: called every 100ms (the system timer tick)
|
||||
- EVERY1S: called every second
|
||||
- EVERY1M: called every minute
|
||||
- EVERY1H: called every hour
|
||||
- EVERY1D: called every day
|
||||
|
||||
|
||||
Modules and Apps
|
||||
|
||||
Modules are lowlevel drivers for specific hardware (like for the environment
|
||||
sensor SI7021).
|
||||
|
||||
Apps on the other hand are kind of sub-programs running in parallel on the
|
||||
microprocessor. E.g. there are apps for networking, motion-activated-light, statistics
|
||||
reporting and sensor value reporting.
|
||||
|
||||
|
||||
Modules
|
||||
|
||||
If your driver/module implements those functions they need to be added
|
||||
to the appropriate files:
|
||||
- include instructions to the file "modules_include.asm"
|
||||
- calls to INIT function to "modules_init.asm"
|
||||
- calls to RUN function to "modules_run.asm"
|
||||
- calls to MSGRECEIVED function to "modules_msg.asm"
|
||||
- calls to EVERY100MS function to "modules_100ms.asm"
|
||||
- calls to EVERY1S function to "modules_1s.asm"
|
||||
- calls to EVERY1M function to "modules_1m.asm"
|
||||
- calls to EVERY1H function to "modules_1h.asm"
|
||||
- calls to EVERY1D function to "modules_1d.asm"
|
||||
|
||||
Only implemented routine calls need to be added, e.g. if a driver doesn't need
|
||||
the RUN functionality it doesn't need to be implemented.
|
||||
|
||||
|
||||
Apps
|
||||
|
||||
The same rules apply to apps. The only difference is the prefix of the files calls and
|
||||
include directives need to be added (using "apps_xxx.asm" instead of "modules_xxx.asm").
|
||||
|
||||
|
||||
Reference in New Issue
Block a user