Generic I/O interface. Basic control system.
Pre-releaseWith the v0.0.2-alpha release, sensd
moves one step closer to becoming usable in a real-world scenario.
This release demonstrates a proof-of-concept control system via an observer design pattern. Subscribers are notified of events generated through the input polling process. A dedicated PublisherInstance
serves as a bridge and a layer of indirection between inputs and outputs. Likewise, a builder object has been created for initializing and associating subscriber instances with publishers.
Additionally, generalized input and output interfaces have been created. These types should pave the way for interfacing with concrete GPIO devices. Logs are now tightly coupled to generic device interfaces via Deferred
wrapping and are able to be serialized in a much more coherent way: each device has it's own log versus a universal log.
As this is a proof-of-concept and continues to be a pre-relsease:
- Input devices only return a dummy value: a way to dynamically read GPIO or execute an arbitrary function. This will probably be implemented via closures or macros.
- Output devices are not fully implemented:
GenericOutput
has not been tested nor implemented. - Control system is not fully implemented: The implemented subscribers are only proof-of-concept (print to stdout) and do not execute any real functionality.
- Poor error handling and design pattern coupling has not been fully tested: Forthcoming releases will have integration testing and comprehensive error handling.