Commit Graph

16 Commits

Author SHA1 Message Date
Joshua Boniface 0ddb346bfb Fix powersw functions to match their names 2017-03-31 05:04:50 +00:00
Joshua Boniface f20a9ca37b Change statepipe read method 2017-03-31 05:03:39 +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 6e2283f8d6 Fix case statements to match new help text 2017-03-31 04:45:49 +00:00
Joshua Boniface 91c03fec6d Fix read from bmcd_statepipe 2017-03-31 04:45:08 +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
Joshua Boniface 3f631a0a8d Add additional sleep to reset 2017-03-30 01:11:43 -04:00
Joshua M. Boniface 8e3abfbf78 Update bmc.sh 2017-03-28 01:20:19 -04:00
Joshua M. Boniface 18cba2eb14 Update bmc.sh 2017-03-17 11:21:10 -04:00
Joshua M. Boniface 347c65dd1a Added bmc.sh shell
This "shell" written in BASH provides the basic functionality of the Raspberry Pi BMC, making use of the WiringPi `gpio` command and `sudo` to allow privileged execution of certain functions by a non-root user.
2017-03-17 11:20:21 -04:00
Joshua M. Boniface 7c1f6ddedb Initial commit 2017-03-17 11:16:19 -04:00