forked from jbrusey/cogent-house
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
137 lines (93 loc) · 4.94 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
Version 1.0
--------------
* Initial Release
Version 1.1
-------------
Mostly changes to get the code running nicely on the PI
.. WARNING:
This has a pretty signifiacnt change. While the original version of the code
checks for a KeyboardInterupt (SIGINT) before shutting down (and running the
appropriate cleanup code) This may not allways be caught (due to pythons
handling of threads and signals)
The reason for this is the TinyOS.Watcher module (called by tinyos.moteIF) which
does a reasonably nifty trick to ensure that SIGINT is captured correctly and
kills the child thread. (see
http://code.activestate.com/recipes/496735-workaround-for-missed-sigint-in-multithreaded-prog/?in=user-2523263
for the rationale behind this)
However, this code acutally kills the child (with sigkill) so any code to handle
cleanup is not called in all cases, but only when the GIL is executing the child
rather than parent thread. This means that in many cases the watcher catches
the SIGINT and kills the child, without allowing cleanup code to be executed.
To ensure that the SIGINT gets passed to the baselogger, we need to modify part of the TOS Libraries.
In <tinyos>/support/sdk/python/tinyos/utils/Watcher.py modify the line to ensure that the SIGINT is passed to the child::
#os.kill(self.child, signal.SIGKILL)
os.kill(self.child, signal.SIGINT)
* Created sysvinit scripts for the ch-sf and ch-base modules
Version 1.1.1
-------------
Merged Database / Alembic code with the webinterface
* Removed the "create from scratch revision" as I have no idea why this exists. Added the create_webinterface_db script that does the same job in a somewhat more sensible way.
* Added a initialize_cogent_db script to create and populate the initial database
* Modified setup.py to install setup scripts in {prefix}/share/cogent-house/...
* Added default nodetypes (Alembic Revision 1f9a02a1b28) to populate data
* Fuck knows what was happeing with with Alembic, "start from scratch" revision. Removed it and gone back to doing things in a sensible way.
* Updated initialise DB script to ensure the most current Alembic version (ie head) is inserted into the DB.
Version 1.1.2
---------------
Update database to take account of Clustered version.
.. NOTE:
The clustered version has the strange "start from scratch" revision. If / when we merge clustered and standard this will have to be resolved
.. WARNING:
For some reason the unique id's for sensor types were modified in mercurial revisions 586c28147430, 21e95e1f54d1 etc. this is very bad thing(TM).
I have added a new alembic revision <...> to makes sure that unique ID's are always unique and don't refer to different things in different versions of the code.
Version 1.1.3
---------------
Merge Models with base webinterface and fix unittests
* Add index to Reading
* Sequence No / RSSI to Nodestate
* dict() method added to meta.py
* update populate data with the "new" constants for SensorTypeId
* Merge "fixed" alembic scripts
* Added unittests for models based of those in webinterface
* Made the unitests for the RestPusher somewhat more sane
* Added setup.cfg file for unittests via nose
* Setup repository for default and release branches
Version 1.1.4
----------------
* Updated push script to merge node locations
* Removed transaction extension codez from models/meta
* Added Black Bulb to sensor / node types
Version 1.1.4a
----------------
Intermediate testing relsase for debianisation
* Added synchronise.conf to MANIFEST.in so it is included in the source distribution
* Added alembic to the MANIFEST.in
* Removed Calibration from setup.py
* Added pushStatus and Server tables from webinterface
* Put matplotlib / scipy back in the depends
* Updated ch-base / ch-sf to run on pi and modified setup to put them in /etc/init.d/
* Removed install of ch-base.conf to /etc/init/ as this causes issues with debian install
* Removed dependency of python-daemon
* Updated setup.py to include package data flag is turned on
Version 1.1.5
---------------
* Added a function to the pushscript section that allows merging of databases
* Created config files in /etc/cogent-house/pushscript/
Version 1.1.6
--------------
* Various Upstream changes (JB)
* Removed dependency on Scipy from Setup.py
* Updated setup.py to ensure flash-node script is included in install
* Removed WSN Check from Cron
* Fixed path issues in /etc/init.d/ch-base and /etc/init.d/ch-sf where epected tinyos path was different on production and developemnt systems.
* Split the RPC check in rest pusher into a seperate module
* Fixed manifest file so only .py files are added to alembic folder
* Moved flash-node script to scripts directoy
Version 1.1.7
---------------
* Fix issue 59 with baselogger.
* Added code to push script to transfer version number during update
* Added Jitter value (5 mins) to runpush cron job to ease some load on server
Version 1.1.8 (Not released)
---------------
* Added automated reporting