Merge pull request #54 from Callum-/master

Dilatometer
Update gui. Add modified version of Justin's system diagram
Merge pull request #55 from jtanx/master

Update gui. Add modified version of Justin's system diagram
Add navigation menu
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Automatic commit of irc logs
change sbd + header
re-enable strain graph on control page
Merge pull request #56 from jtanx/master

update gui (update system diagram + header)
Automatic commit of irc logs
Automatic commit of irc logs
Various changes

Bug fix in Sensor_CheckData (incorrect format ordering caused segfault if a bad value was found)
Added in UWA LDAP auth to parameters file (commented out)

Presumably someone else edited stream.c and didn't commit (Jeremy?)
Add flot plot to styles

Apparently it's not needed, but whatever
Merge branch 'master' of https://github.com/szmoore/MCTX3420

ARGH
Make it actually compile...

Whoops.

Um, the fatal error on the strain gauges occurs after a couple of seconds.
Need to think more carefully about that.
MAJOR refactoring of Sensors code

Will probably get in trouble for this...

Abstracted out the threaded sensor control logic from the actual initialisation/reading/cleanup of sensors.
Adding a new sensor to the program still isn't just a one line process, but it's a lot more general than before.

Added test sensors for the strain gauges, total CPU usage (because that seemed interesting)

Went a bit insane with power and added a "Piped" sensor type which lets people run external programs for the sensors :S
(As long as it prints doubles to stdout and is unbuffered it will work).
Make Piped work better

Really, please never use Piped, I'm just having fun with it.
Automatic commit of irc logs
Merge branch 'master' of github:szmoore/MCTX3420
Refactor Actuators

Done fairly similar to Sensors now. Included the LED test and a new test that just writes to a file.
`tail -f` the file and change the control to see how Actuator_Loop automagically does its job.

New features / Notes:
 - ActuatorControl is a simple step increase (not just a single value) which Actuator_Loop automatically follows
   - That required very small changes :)
 - Control_Handler no longer checks for key (since that's passed as a cookie)
   - Will want to look at preventing different users from stopping an experiment in progress (by preventing them from logging in entirely?)
   - Will probably want to look at implementing "admin" and "regular" users, or at least providing the basis for it in the server
 - Can change sensor sampling rate through api
   - May want to look at implementing an "average over time period" to reduce the load on the client
     - eg: Sensor records at a sampling rate << 1s, but only records a DataPoint (average) every second
 - Actuators have a Sanity Check function; do something similar for Sensors?
   - Will want to look at safety stuff more carefully, since at the moment things just call "Fatal"
     - This should in turn call "Cleanup" which should in turn deinitialise any active Sensors/Actuators
     - Perhaps we need "Fatal" and "Reset" to give different return codes, and then ./run.sh will restart depending on the return code

Looking at getting values plotted against values (instead of time).
  - For each time stamp on the dependent variable, take the independent variable with time stamps between it and the next, then average
    - Seems reasonable, not sure whether to do in server or client though, will write something to test the algorithm first.

Things are getting there, but still a lot to do.

I just realised I temporarily uncommented security in fastcgi.c
... It's a good thing the system still hasn't been deployed, because I can't be bothered changing it back at the moment.