Jeremy Tan [Mon, 14 Oct 2013 07:42:04 +0000 (15:42 +0800)]
fix some crap
Jeremy Tan [Sun, 13 Oct 2013 15:29:21 +0000 (23:29 +0800)]
Fix id bounds check for actuator + update graph code
I dunno, graph code seems to work... too tired to continue.
Jeremy Tan [Sun, 13 Oct 2013 12:52:39 +0000 (20:52 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sun, 13 Oct 2013 12:52:07 +0000 (20:52 +0800)]
Rename help/data file + fix the sidebar width
Sam Moore [Sat, 12 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Sat, 12 Oct 2013 14:52:48 +0000 (22:52 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
Sam Moore [Sat, 12 Oct 2013 14:48:57 +0000 (22:48 +0800)]
Add dedicated page for graphing stuff
Needs work. Would probably make professional web developers cry.
Can plot things. Can set time ranges to plot. Can plot things vs other things.
Seems to work.
The Actuator data needs to include 2 points every time it changes so that the
fact that it is stepping discretely instead of linearly changing is apparent.
Also data to plot can probably be updated rather than recreated every time.
(Unless the variables to plot are changed).
Lastly, it would be good if things maintained their colours.
Someone *cough* should make the radio boxes and check boxes suitably stylish.
Jeremy Tan [Sat, 12 Oct 2013 14:13:33 +0000 (22:13 +0800)]
Remove old lock/release cases from control.c + hopefully silence warnings on 64 bit compilers for True_Stub
Those lock/release cases were a login loophole, woops...
=================================================================
control.c:61:11: warning: variable 'desired_mode' is used uninitialized whenever
'if' condition is true [-Wsometimes-uninitialized]
else if (!strcmp(action, "release")) {
^~~~~~~~~~~~~~~~~~~~~~~~~~
control.c:77:6: note: uninitialized use occurs here
if (desired_mode == CONTROL_START) {
^~~~~~~~~~~~
control.c:61:7: note: remove the 'if' if its condition is always false
else if (!strcmp(action, "release")) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
control.c:38:2: note: variable 'desired_mode' is declared here
ControlModes desired_mode;
^
====================================================================
Why, thank you clang :P
Jeremy Tan [Sat, 12 Oct 2013 13:50:41 +0000 (21:50 +0800)]
@brief, not @purpose
Jeremy Tan [Sat, 12 Oct 2013 13:24:43 +0000 (21:24 +0800)]
Minor formatting changes to justin's webpages.
Ah, the wonder that is netbeans :P
Okay, so notepad++ is pretty good to, and doesn't use 300mb of ram...
Jeremy Tan [Sat, 12 Oct 2013 12:36:31 +0000 (20:36 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Sat, 12 Oct 2013 12:36:11 +0000 (05:36 -0700)]
Merge pull request #57 from justinjessada/master
Added data download page and help page (plus dummy files)
Jeremy Tan [Sat, 12 Oct 2013 12:25:38 +0000 (20:25 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Justin Kruger [Sat, 12 Oct 2013 11:17:39 +0000 (19:17 +0800)]
Formatting changes
Justin Kruger [Sat, 12 Oct 2013 11:13:25 +0000 (19:13 +0800)]
Merge remote-tracking branch 'upstream/master'
Justin Kruger [Sat, 12 Oct 2013 11:12:12 +0000 (19:12 +0800)]
Added data download page and help page (plus test files)
Help page is basically complete and just links to the wiki. Data
download page is kind of working, depends how/where we're actually going
to store experiment data. Folder of dummy files in "current" is just for
testing the download functionality.
Sam Moore [Fri, 11 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Thu, 10 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
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).
Jeremy Tan [Wed, 9 Oct 2013 05:05:53 +0000 (13:05 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Wed, 9 Oct 2013 05:05:08 +0000 (13:05 +0800)]
image fix for bbb
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
UCC git Repository :: git.ucc.asn.au