Commit Graph

11 Commits

Author SHA1 Message Date
Joshua Boniface 480df168f1 Add more comments 2017-06-03 03:03:54 -04:00
Joshua Boniface 36fa70fecc Add comments and standard headers for publication 2017-06-03 02:50:32 -04:00
Joshua Boniface 7918441182 Set output of daemon to logfile 2017-03-31 05:59:12 +00:00
Joshua Boniface 0641491285 Change GPIO to BCM numbering; fix bug in setup of channels 2017-03-31 05:26:34 +00:00
Joshua Boniface 0ffe48e080 Change FIFO read/write to text mode; fix bug with `cat` via FIFO open/close around each write 2017-03-31 05:02:18 +00:00
Joshua Boniface 986d7c53bc Add newline to pipe write 2017-03-31 04:40:10 +00:00
Joshua Boniface 9389293ac3 Correct spurious 'input' commands to 'output' 2017-03-31 04:31:28 +00:00
Joshua Boniface 02419ea844 Correct gpio_ variables to ints; correct misspelling of 'gpio' 2017-03-31 04:28:52 +00:00
Joshua Boniface 93140f53af Fix bug where state not actually written to pipe every second (from testing) 2017-03-31 00:11:21 -04:00
Joshua Boniface e56002baf8 Refactor into Python daemon and simplified shell
This commit makes a major change to the organization and operation of the RPi BMC software. The 'shell' (`bmc.sh`) has been greatly simplified,
removing all instances of `wiringpi` GPIO code. The shell communicates with a new Python daemon via a pair of named pipes in `/run/bmcd`.

The Python daemon starts and immediately executes two threads:
1) The first manages reading from `/run/bmcd/bmcd.cmd`, which handles the passing of commands from `bmc.sh`, such as 'powersw_press' or 'locate_on'.
2) The second manages writing the current host state out to `/run/bmcd/bmcd.state`, to be read from `bmc.sh` when needed. It does this every second
   to avoid blocking.

An additional thread with an Event handler manages the flashing power LED for the `locate` functions.
2017-03-31 00:03:52 -04:00
Joshua Boniface a52f8b071f WIP - working on bmcd 2017-03-30 13:00:23 -04:00