-
Notifications
You must be signed in to change notification settings - Fork 2
Customization
The goal is to make this programming optional. Short of programming, what sorts of things can we report / configure.
Simple idea: report the state of all digital inputs and ADCs, let a reply set all outputs.
Of course that won't really work - there are issues like how often to report, how to control which bidirectional pin is an input or an output, the inefficiency of sending all readings, which pullup resistors get enabled, etc.
There's also the question of how we implement this: Do we treat the configuration as data for our own custom logic engine, do we compile the rules to a scripting language like Lua and interpret that, or do we compile the rules to a small decision-making block of raw machine code and call into that?
- Digital Inputs
Configure rising or falling wakeup triggers Configure if a trigger is transmitted or counted Configure pullup resistors - these cost power if a signal is held against Configure periodic polling of closed circuits by activating pullup to see if they are open again
-
Digital Outputs
Enable a pin as an output Set a timeout when an output goes to a "safe" value if there has been no update Set an output state, with a timeout when it will revert to safe
-
Analog inputs
Configure polling frequency Configure filter (number for readings averaged, or higher order?) Configure absolute reporting thresholds Configure delta/percentage thersholds
-
Mode outputs
Change a "mode" of other settings, for example put something in fast-polling ore more sensitive reporting mode?
- Chronological Mode changes
As above, but mode is triggered by time. Use TTN to try to keep the time reasonably close
-
GPS NMEA UART PARSER
-
HX711 scale sensor reader
Needs a clock output which may need a voltage boost. Needs a > 2.6v supply, has low sleep current.
- SPI/I2C peripherals???