Intermediate commit so that I can move some files back to where they came from.
Intermediate commit to allow renaming.
Intermediate commit to allow renaming.
Pull the RoboOne hardware access functions out into a project of their own, ditto utility functions used to communicate with the state machine.  This all so that HW can be controlled from the state machine and events can be sent to the state machine.  Also make all projects reference each other properly so that a clean re-build works correctly.
Removed RoboOneShared again and instead made the things in there (which are actually all related to the state machine) a library of RoboOneStateMachine.  Rationalised state machine headers to merge state_machine_interface.h into state_machine_server.h.
Oops, this file wasn't archived.
Tidied up Eclipse project files so as to produce no warnings and tidied make file
Big change to how the hardware is driven.  The OneWireServer was a good idea for chip-level API but the problem is that there is some functionality above that, specifically shadowing the states of the output pins, that also needs to be centralised.  Hence I've now moved the API such that RoboOneHardware is a server, no longer using OneWireServer.  Also, both the RoboOneHardware project and the RoboOneStateMachine projects build an executable server and a library client that can be built into any exe that needs to communicate with the server.  This needs a load of debugging...
Update OneWireServer to have a client library (in the same was as the other servers).  Minor edits to the swathe of new code after review.  Minor update to state machine diagram.
New HW server now debugged, added more debug features so that I could do so.  Now need to get the detection of 12V power working properly and the toggle feature to work reliably.