If you’ve not already read the other parts, you should : Part 1 Part 2
As already mentioned we need to do something about power. There are two issues here.
Firstly it seems the BIOS power on AC loss setting isnt quite right with the board I’ve chosen. For some reason the board doesnt always power up, this may be related to the aformentioned hardware issue with the board but it’d be nice to be able to do away with this setting. So first up we have a relay across the ATX power pins. When the board powers up it checks the state of the +5 rail to the board, if its not there after a short delay the atx power input is pulsed to start the board up. We’ll also as mentioned earlier, go play with the standby LED too.
Now the second issue is the power button. Depending on what is going on it needs to do different things. For example if the board is shut down it needs to send an ATX power up and bring the board up. If the board is powered then it needs to send a command to the driver to start the hibernation process. A simple state machine should do this with a flag set to notify the keypad routines that the power button is special.
One final idea, MCE and wondows do ocasionally deadlock. So the thinking is that I may add a ‘watchdog’ The panel controller pings the driver which pings back, if more than X pings go astray in a fixed period of time we will send a hard ATX power down.
Anyway, thats where we are at the moment. The boards were ordered today from OSH Park so we should have more to play with in a couple of weeks.