Skip to content

Generic I/O interface. Basic control system.

Pre-release
Pre-release
Compare
Choose a tag to compare
@PoorRican PoorRican released this 16 Feb 23:11
· 195 commits to master since this release
f43d42d

With 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.