Jeremy Tan [Wed, 23 Oct 2013 12:54:22 +0000 (20:54 +0800)]
temp
Jeremy Tan [Wed, 23 Oct 2013 11:38:02 +0000 (19:38 +0800)]
fix gitignore
Jeremy Tan [Wed, 23 Oct 2013 02:34:02 +0000 (10:34 +0800)]
minor mod
Sam Moore [Tue, 22 Oct 2013 13:36:53 +0000 (21:36 +0800)]
Merge branch 'report' of github:szmoore/MCTX3420 into report
Sam Moore [Tue, 22 Oct 2013 13:36:02 +0000 (21:36 +0800)]
Work on report
Add actuator/sensor thread flow charts.
Add results of thread performance test (best case) of Python and C
Jeremy Tan [Tue, 22 Oct 2013 11:18:03 +0000 (04:18 -0700)]
Merge pull request #63 from jtanx/report
Start report (server/client comms)
Jeremy Tan [Tue, 22 Oct 2013 10:07:07 +0000 (18:07 +0800)]
Start report (server/client comms)
Sam Moore [Tue, 22 Oct 2013 06:28:12 +0000 (14:28 +0800)]
Add chapters and draft outline
Sam Moore [Tue, 22 Oct 2013 05:54:39 +0000 (13:54 +0800)]
Add sensor thread flow chart
Sam Moore [Tue, 22 Oct 2013 03:52:30 +0000 (11:52 +0800)]
Add README's to empty subdirectories
Sam Moore [Tue, 22 Oct 2013 03:50:18 +0000 (11:50 +0800)]
Create Report Template
Sam Moore [Sun, 20 Oct 2013 14:00:14 +0000 (22:00 +0800)]
Add gmail chat log
We should just keep using IRC :P
Sam Moore [Sun, 20 Oct 2013 13:35:12 +0000 (21:35 +0800)]
Begin modifying UserCake
Create admin upload page for uploading / purging users. Incomplete.
Note that this page needs to be secured somehow.
Realised that we probably need to add the UserCake install scripts as well, so we can
customise the database and other things when it is installed.
Modified something in the server too apparently.
I love it when I forget what I actually did...
Sam Moore [Sun, 20 Oct 2013 08:36:01 +0000 (16:36 +0800)]
Modify FastCGI server to use MySQL for auth
Made some general improvements to Login_Handler and how the "auth_uri" is dealt with.
Called strsep, but it's not (that) evil since it doesn't do anything I wouldn't have done with boilerplate anyway.
MySQL for auth tested and appears to work. Using SHA6 instead of md5 (!) hashes.
Sam Moore [Sun, 20 Oct 2013 05:02:54 +0000 (13:02 +0800)]
Add UserCake
We might be able to build on this to make a user management system.
UserCake Version: 2.0.2
http://usercake.com
This commit includes the original UserCake source.
Many files will need to be removed and/or rewritten.
UserCake uses MySQL for storing user information.
There is a C API for interfacing with MySQL. Hopefully that will work.
Sam Moore [Sat, 19 Oct 2013 15:46:08 +0000 (23:46 +0800)]
Fix sensor header
Added averaging to sensors but forgot to commit sensor.h
Got overwritten in previous merge.
Sam Moore [Sat, 19 Oct 2013 15:40:22 +0000 (23:40 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
Conflicts:
server/control.c
Sam Moore [Sat, 19 Oct 2013 15:35:36 +0000 (23:35 +0800)]
Add define for compiling under RTLinux
Tested on amd64; doesn't really improve sampling consistency over vanilla.
But whatever.
Jeremy Tan [Sat, 19 Oct 2013 14:54:04 +0000 (07:54 -0700)]
Merge pull request #59 from jtanx/master
Control updates and stuff
Jeremy Tan [Sat, 19 Oct 2013 14:50:26 +0000 (22:50 +0800)]
Somewhat done control page
Todo: Add in values for sensors
One problem is that we don't distinguish between the
whole 'strain' vs 'explode' experiment, and you can
pretty much set the pressure to whatever you like.
That should probably be changed??
Blegh javascript.
Jeremy Tan [Sat, 19 Oct 2013 13:19:00 +0000 (21:19 +0800)]
Fix another graph bug + some more work on control page
Jeremy Tan [Sat, 19 Oct 2013 07:49:08 +0000 (15:49 +0800)]
add back check
Jeremy Tan [Sat, 19 Oct 2013 07:45:30 +0000 (15:45 +0800)]
Use experiment folders instead of chdir
Sam Moore [Sat, 19 Oct 2013 07:30:11 +0000 (15:30 +0800)]
Increase precision of timestamps
Since we have nanosecond resolution. Theoretically.
Jeremy Tan [Sat, 19 Oct 2013 07:01:33 +0000 (15:01 +0800)]
fix fix fix
Sam Moore [Sat, 19 Oct 2013 06:56:39 +0000 (14:56 +0800)]
Change from usleep and gettimeofday to clock_nanosleep and clock_gettime
Requires -std=gnu99 instead of -std=c99
Jeremy Tan [Sat, 19 Oct 2013 06:51:57 +0000 (14:51 +0800)]
Fix brackets
Jeremy Tan [Sat, 19 Oct 2013 06:49:42 +0000 (14:49 +0800)]
Fix two bugs in mctx.gui.js ++
Jeremy Tan [Sat, 19 Oct 2013 02:38:45 +0000 (10:38 +0800)]
Get most of the stuff down for controls
Sam Moore [Fri, 18 Oct 2013 17:00:08 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Fri, 18 Oct 2013 13:57:49 +0000 (21:57 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Fri, 18 Oct 2013 13:57:10 +0000 (21:57 +0800)]
Sort of make a start on control page
Refactor other stuff in gui
although this will probably be erased anyway
Sam Moore [Fri, 18 Oct 2013 13:37:18 +0000 (21:37 +0800)]
Add python based GUI as proof of concept
Uses matplotlib.pyplot, numpy and requests
Interfaces with existing server API.
Could potentially be expanded using Tkinter or something.
TKinter won't look as pretty as a jQuery GUI though.
Also I have no idea how cookies work with requests.
At the moment you have to disable the login check in fastcgi.c to test this.
Sam Moore [Thu, 17 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Thu, 17 Oct 2013 09:11:17 +0000 (17:11 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Debian User [Thu, 17 Oct 2013 02:04:07 +0000 (10:04 +0800)]
Allow only one camera on at a time.
This fixes a crash if both cameras are activated at once.
Debian User [Thu, 17 Oct 2013 01:58:58 +0000 (09:58 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420
Debian User [Thu, 17 Oct 2013 01:57:58 +0000 (09:57 +0800)]
Modify image capture routine
Sam Moore [Wed, 16 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Tue, 15 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
Sam Moore [Mon, 14 Oct 2013 17:00:07 +0000 (01:00 +0800)]
Automatic commit of irc logs
Jeremy Tan [Mon, 14 Oct 2013 14:37:03 +0000 (22:37 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Sam Moore [Mon, 14 Oct 2013 14:32:02 +0000 (22:32 +0800)]
Work on user based control
Test file shadow (password matches username *cough*) for login purposes.
When a user gains FCGI_LockControl, a directory is created (if it doesn't exist).
Control_Handler will operate from the directory of the currently logged in user.
The user who owns the currently running experiment must match a user who wants to control it.
Alternately an administrator can pass "force"
Consider generalising this to also apply to actuators (since any user can change the actuator control :S).
Also it's horribly messy and terrible and all in the Control_Handler at the moment.
FCGI_Context should probably store a lot of the information that the g_controls structure is storing at the moment? Merge/replace?
Jeremy Tan [Mon, 14 Oct 2013 11:22:09 +0000 (19:22 +0800)]
add crappy download link (not really)
Sam Moore [Mon, 14 Oct 2013 07:48:25 +0000 (15:48 +0800)]
Merge branch 'master' of github:szmoore/MCTX3420
I BROKED IT ALL
Sam Moore [Mon, 14 Oct 2013 07:47:31 +0000 (15:47 +0800)]
Tweak Actuators/Sensors code
Actuators stores an extra data point.
Actuators must be initialised to a value.
Replaced thresholds with a sanity function for sensors.
Jeremy Tan [Mon, 14 Oct 2013 07:43:36 +0000 (15:43 +0800)]
Merge branch 'master' of https://github.com/szmoore/MCTX3420.git
Jeremy Tan [Mon, 14 Oct 2013 07:42:04 +0000 (15:42 +0800)]
fix some crap
Sam Moore [Mon, 14 Oct 2013 06:28:21 +0000 (14:28 +0800)]
Add pressure sensors
Untested on BBB
Sam Moore [Sun, 13 Oct 2013 17:00:06 +0000 (01:00 +0800)]
Automatic commit of irc logs
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.
Callum [Sun, 13 Oct 2013 13:36:37 +0000 (06:36 -0700)]
Merge pull request #58 from Callum-/master
Dilatometer test function
Callum [Sun, 13 Oct 2013 13:22:22 +0000 (21:22 +0800)]
Finished test function
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
Callum [Sun, 13 Oct 2013 11:49:27 +0000 (19:49 +0800)]
Merge remote-tracking branch 'upstream/master'
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
Callum [Fri, 11 Oct 2013 05:26:54 +0000 (13:26 +0800)]
simple test function
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
UCC git Repository :: git.ucc.asn.au