Commit Graph

5 Commits

Author SHA1 Message Date
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 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