Sam Moore [Thu, 10 Oct 2013 16:14:36 +0000 (00:14 +0800)]
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.
Sam Moore [Thu, 10 Oct 2013 06:41:07 +0000 (14:41 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
Sam Moore [Wed, 9 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Wed, 9 Oct 2013 13:31:45 +0000 (21:31 +0800)]
Make Piped work better
Really, please never use Piped, I'm just having fun with it.
Sam Moore [Wed, 9 Oct 2013 09:34:39 +0000 (17:34 +0800)]
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).
Sam Moore [Wed, 9 Oct 2013 02:14:33 +0000 (10:14 +0800)]
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.
Sam Moore [Wed, 9 Oct 2013 02:07:29 +0000 (10:07 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
ARGH
Sam Moore [Wed, 9 Oct 2013 02:06:58 +0000 (10:06 +0800)]
Add flot plot to styles
Apparently it's not needed, but whatever
Sam Moore [Wed, 9 Oct 2013 02:04:29 +0000 (10:04 +0800)]
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?)
Sam Moore [Tue, 8 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Mon, 7 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Mon, 7 Oct 2013 16:03:18 +0000 (09:03 -0700)]
Merge pull request #56 from jtanx/master
update gui (update system diagram + header)
Jeremy Tan [Mon, 7 Oct 2013 10:42:06 +0000 (18:42 +0800)]
re-enable strain graph on control page
Jeremy Tan [Mon, 7 Oct 2013 08:29:02 +0000 (16:29 +0800)]
change sbd + header
Sam Moore [Sun, 6 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sun, 6 Oct 2013 14:37:42 +0000 (22:37 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sun, 6 Oct 2013 14:00:59 +0000 (22:00 +0800)]
Add navigation menu
Jeremy Tan [Sun, 6 Oct 2013 11:37:35 +0000 (04:37 -0700)]
Merge pull request #55 from jtanx/master
Update gui. Add modified version of Justin's system diagram
Jeremy Tan [Sun, 6 Oct 2013 11:35:41 +0000 (19:35 +0800)]
Update gui. Add modified version of Justin's system diagram
Callum [Sun, 6 Oct 2013 07:34:46 +0000 (00:34 -0700)]
Merge pull request #54 from Callum-/master
Dilatometer
Callum [Sun, 6 Oct 2013 07:32:40 +0000 (15:32 +0800)]
slight changes
Callum [Sun, 6 Oct 2013 07:29:36 +0000 (15:29 +0800)]
Dilatometer stuff. Incomplete.
Jeremy Tan [Sun, 6 Oct 2013 04:53:27 +0000 (12:53 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sun, 6 Oct 2013 04:52:29 +0000 (12:52 +0800)]
*really* remove all refs to unused lut
Jeremy Tan [Sun, 6 Oct 2013 04:01:35 +0000 (21:01 -0700)]
Merge pull request #53 from jtanx/master
Bugfix for pin code
Jeremy Tan [Sun, 6 Oct 2013 03:58:54 +0000 (11:58 +0800)]
Bugfix for pin code and remove unused luts
Sam Moore [Sat, 5 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sat, 5 Oct 2013 11:05:43 +0000 (19:05 +0800)]
Prevent multiple additions of the same pin type
Jeremy Tan [Sat, 5 Oct 2013 10:49:57 +0000 (18:49 +0800)]
Update gui
Sam Moore [Fri, 4 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Fri, 4 Oct 2013 14:18:09 +0000 (22:18 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Fri, 4 Oct 2013 14:17:38 +0000 (22:17 +0800)]
Add user friendly names (right now just usernames)
Jeremy Tan [Fri, 4 Oct 2013 04:00:22 +0000 (21:00 -0700)]
Merge pull request #52 from jtanx/master
Add working login to gui, add install scripts for server-configs
Jeremy Tan [Fri, 4 Oct 2013 01:10:11 +0000 (09:10 +0800)]
Fix login timeout bug & standardize FCGI_*Control functions
Sam Moore [Thu, 3 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Thu, 3 Oct 2013 14:48:07 +0000 (22:48 +0800)]
Ensure control key is not empty before checking for equality.
Jeremy Tan [Thu, 3 Oct 2013 14:33:51 +0000 (22:33 +0800)]
Integrate gui login with server code
Jeremy Tan [Thu, 3 Oct 2013 13:35:05 +0000 (21:35 +0800)]
Auto-redirect if logged in (at login page). Auto-redirect if logged-out.
Jeremy Tan [Thu, 3 Oct 2013 13:15:22 +0000 (21:15 +0800)]
Add logout functionality
Jeremy Tan [Thu, 3 Oct 2013 13:04:01 +0000 (21:04 +0800)]
Add js behind login form
Jeremy Tan [Thu, 3 Oct 2013 12:46:34 +0000 (20:46 +0800)]
Restyle login page
Jeremy Tan [Thu, 3 Oct 2013 06:19:38 +0000 (14:19 +0800)]
Remove misleading bounds check
(1) Length of user is not guaranteed (and in this case definitely < BUFSIZ)
(2) Because of (1), a buffer overflow is possible anyway
(3) Sure, a BUFSIZ limit will prevent an 'infinite' loop, but this may just make it more difficult to track down the buffer overflow.
Sam Moore [Thu, 3 Oct 2013 05:13:50 +0000 (22:13 -0700)]
Merge pull request #49 from RowanHeinrich/patch-5
Create Cover-Rowan
Sam Moore [Thu, 3 Oct 2013 05:13:21 +0000 (22:13 -0700)]
Merge pull request #50 from RowanHeinrich/patch-6
Create comments
Jeremy Tan [Thu, 3 Oct 2013 03:34:55 +0000 (11:34 +0800)]
Make install script for server configs
Jeremy Tan [Thu, 3 Oct 2013 02:52:22 +0000 (10:52 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Sam Moore [Wed, 2 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 1 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 1 Oct 2013 10:28:39 +0000 (18:28 +0800)]
Work on Authentication System(s)
Login_Handler can currently use one of two methods. LDAP, or unix style authentication.
Unix style authentication parses a file formatted like /etc/shadow. Yeah, you can use /etc/shadow... our program is already running as root anyway :S
LDAP style authentication attempts to bind to an LDAP server.
If Authentication is successful, the key generated by FCGI_LockControl is passed to the browser as a cookie.
In the FCGI_Loop function, we check for a valid key in the cookies.
I've tested LDAP using a LDAP server I setup on my laptop.
We may have issues formatting the DN correctly, but other than that it's fine.
Sam Moore [Mon, 30 Sep 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Mon, 30 Sep 2013 10:37:16 +0000 (03:37 -0700)]
Merge pull request #1 from RowanHeinrich/patch-4
Patch 4
Whoa first pull request to my on repo
Sam Moore [Mon, 30 Sep 2013 07:37:05 +0000 (07:37 +0000)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
Sam Moore [Mon, 30 Sep 2013 07:34:42 +0000 (07:34 +0000)]
Commence work on authentication
Sam Moore [Mon, 30 Sep 2013 10:02:28 +0000 (18:02 +0800)]
Add ldap login test program
Looks like this will actually be easier than rolling our own login system.
Jeremy Tan [Mon, 30 Sep 2013 07:25:34 +0000 (00:25 -0700)]
Merge pull request #51 from jtanx/master
Cookie stuff and log path fixed
Jeremy Tan [Mon, 30 Sep 2013 07:24:17 +0000 (15:24 +0800)]
Add cookie stuff
Jeremy Tan [Mon, 30 Sep 2013 06:21:38 +0000 (14:21 +0800)]
fix nginx config to only match the log paths exactly
RowanHeinrich [Mon, 30 Sep 2013 06:08:27 +0000 (14:08 +0800)]
Create comments
RowanHeinrich [Mon, 30 Sep 2013 06:05:45 +0000 (14:05 +0800)]
Create Cover-Rowan
Currently theres no styles or pictures included in this but there will be eventually
RowanHeinrich [Mon, 30 Sep 2013 06:04:14 +0000 (14:04 +0800)]
Create Login-Rowan
only just realised there one in git
Jeremy Tan [Mon, 30 Sep 2013 04:13:02 +0000 (21:13 -0700)]
Merge pull request #48 from jtanx/master
Switch nginx to ssl + small update to pin test page
Jeremy Tan [Mon, 30 Sep 2013 04:11:38 +0000 (12:11 +0800)]
Update nginx to use SSL
Jeremy Tan [Mon, 30 Sep 2013 03:16:20 +0000 (11:16 +0800)]
Only delete logs after 100 years
Jeremy Tan [Mon, 30 Sep 2013 03:12:17 +0000 (11:12 +0800)]
Use logrotate to rotate the logs everytime it starts
Jeremy Tan [Mon, 30 Sep 2013 02:55:45 +0000 (10:55 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Mon, 30 Sep 2013 02:53:56 +0000 (10:53 +0800)]
Ensure error log tries to update even on failure
Sam Moore [Sun, 29 Sep 2013 17:00:11 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sun, 29 Sep 2013 13:30:27 +0000 (21:30 +0800)]
fix buttons
Jeremy Tan [Sun, 29 Sep 2013 12:42:11 +0000 (20:42 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sun, 29 Sep 2013 12:40:16 +0000 (20:40 +0800)]
Fix GPIO limits
Jeremy Tan [Sun, 29 Sep 2013 12:33:34 +0000 (05:33 -0700)]
Merge pull request #47 from jtanx/master
pintest cleanup
Jeremy Tan [Sun, 29 Sep 2013 12:31:32 +0000 (20:31 +0800)]
update pintest sidebar
Jeremy Tan [Sun, 29 Sep 2013 12:11:39 +0000 (20:11 +0800)]
Pin test page cleanup
Jeremy Tan [Sun, 29 Sep 2013 11:22:09 +0000 (04:22 -0700)]
Merge pull request #46 from jtanx/master
gui styles update
Sam Moore [Sun, 29 Sep 2013 17:48:52 +0000 (01:48 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
Merge with Rowan's changes
Sam Moore [Sun, 29 Sep 2013 17:34:21 +0000 (01:34 +0800)]
Add login test program
So... it essentially mimics what /etc/shadow does. This might be easier than LDAP.
I was going to just use debian's login system, but realised some things:
POSIX C has a bunch of helpful functions that essentially parse /etc/passwd and provide a structure with all the relevant fields, like "pw_passwd".
Of course, the "pw_passwd" entry is always empty... because someone realised that storing hashes of passwords in /etc/passwd was not great :P
So /etc/passwd actually has no password information and is world readable, but /etc/shadow has everything (and is root readable only).
There are no wrapper functions for /etc/shadow because... user space programs aren't really meant to run as root.
Essentially linux was designed so that non-root programs can't fuck about with shell accounts. If you want to fuck about with shell accounts
you have to run as root and manually implement the parsing of /etc/shadow.
But I figured there was nothing stopping us from just making our own "shadow" file with hashed passwords.
That way people don't even need shell accounts. Well... the administrator needs to modify the file somehow...
LDAP probably gives more flexibility. It's probably better. Although it's also bloated.
To test the program, use the login "sonic" and the password "HEDGEHOG" (or something else to test failure).
Sam Moore [Sun, 29 Sep 2013 16:00:02 +0000 (00:00 +0800)]
Remove jQuery-UI
My god that's a lot of cruft
Sam Moore [Sun, 29 Sep 2013 15:56:30 +0000 (23:56 +0800)]
Merge branch 'master' of https://github.com/firefields/MCTX3420
Pull James' version of the GUI
Jeremy Tan [Sun, 29 Sep 2013 11:19:04 +0000 (19:19 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Conflicts:
testing/MCTXWeb/public_html/static/style.css
Jeremy Tan [Sun, 29 Sep 2013 11:16:16 +0000 (19:16 +0800)]
Merge Rowan's html code + slightly update styles
Jeremy Tan [Sun, 29 Sep 2013 09:25:30 +0000 (17:25 +0800)]
Update pintest + fix css
Sam Moore [Sun, 29 Sep 2013 09:13:08 +0000 (02:13 -0700)]
Merge pull request #45 from RowanHeinrich/patch-3
Update style.css
Sam Moore [Sun, 29 Sep 2013 09:13:08 +0000 (02:13 -0700)]
Merge pull request #45 from RowanHeinrich/patch-3
Update style.css
Sam Moore [Sun, 29 Sep 2013 16:00:02 +0000 (00:00 +0800)]
Remove jQuery-UI
My god that's a lot of cruft
Sam Moore [Sun, 29 Sep 2013 15:56:30 +0000 (23:56 +0800)]
Merge branch 'master' of https://github.com/firefields/MCTX3420
Pull James' version of the GUI
RowanHeinrich [Sun, 29 Sep 2013 09:10:17 +0000 (17:10 +0800)]
Update style.css
RowanHeinrich [Sun, 29 Sep 2013 09:10:17 +0000 (17:10 +0800)]
Update style.css
Jeremy Tan [Sun, 29 Sep 2013 07:42:18 +0000 (00:42 -0700)]
Merge pull request #44 from jtanx/master
Update gui + stub code for pin stuff on non BBB platforms
Jeremy Tan [Sun, 29 Sep 2013 07:40:34 +0000 (15:40 +0800)]
update gui
Sam Moore [Sat, 28 Sep 2013 17:00:05 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Sat, 28 Sep 2013 05:31:53 +0000 (13:31 +0800)]
Merge branch 'master' of https://github.com/jtanx/MCTX3420.git
Sam Moore [Fri, 27 Sep 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Fri, 27 Sep 2013 13:52:04 +0000 (21:52 +0800)]
crappy hacks to disable pin code on x86 platforms while silencing gcc
Jeremy Tan [Fri, 27 Sep 2013 13:52:04 +0000 (21:52 +0800)]
crappy hacks to disable pin code on x86 platforms while silencing gcc
Jeremy Tan [Fri, 27 Sep 2013 12:08:59 +0000 (20:08 +0800)]
failing to test before committing :3
Jeremy Tan [Fri, 27 Sep 2013 12:08:59 +0000 (20:08 +0800)]
failing to test before committing :3
Jeremy Tan [Fri, 27 Sep 2013 11:47:30 +0000 (19:47 +0800)]
name derp
Jeremy Tan [Fri, 27 Sep 2013 11:47:30 +0000 (19:47 +0800)]
name derp
Jeremy Tan [Fri, 27 Sep 2013 11:39:23 +0000 (19:39 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Fri, 27 Sep 2013 11:39:23 +0000 (19:39 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
UCC git Repository :: git.ucc.asn.au