Commit Graph

147 Commits

Author SHA1 Message Date
Mikayla Fischler
1c819779c7 #69 config file validation 2022-06-05 15:09:02 -04:00
Mikayla Fischler
81345f5325 #71 validate frame data types 2022-06-05 13:22:36 -04:00
Mikayla Fischler
f0c97e8b70 #65 safe concat where appropriate 2022-06-05 11:16:25 -04:00
Mikayla Fischler
3bb95eb441 #64 util code cleanup 2022-05-31 16:09:06 -04:00
Mikayla Fischler
1705d8993e #64 plc code cleanup 2022-05-31 14:14:17 -04:00
Mikayla Fischler
ff5b163c1d ppm patch to support multiple return value functions, changed lack of modem to emit fatal error 2022-05-29 14:26:40 -04:00
Mikayla Fischler
78ddd4d782 #58 fixed bug with KEEP_ALIVE being sent as a LINK_REQ due to wrong protocol 2022-05-26 17:49:43 -04:00
Mikayla Fischler
a93f0a4452 #57 updates per safety pass, fixed plc_sys fields staying nil on degraded start, fixed repeated SCRAM messages when unlinked 2022-05-22 17:57:24 -04:00
Mikayla Fischler
26c6010ce0 #56 pcall threads and restart on crash (unless shutting down) 2022-05-21 13:56:14 -04:00
Mikayla Fischler
44d30ae583 #48 only log every 20 PPM faults (per function) 2022-05-19 10:35:56 -04:00
Mikayla Fischler
6a168c884d #23 device version reporting 2022-05-19 10:21:04 -04:00
Mikayla Fischler
dd553125d6 #54 don't trip RPS fault on terminate as it ends up being redundant with shutdown sequence 2022-05-19 09:19:51 -04:00
Mikayla Fischler
d3a926b25a fixed require issues caused by using bootloader 2022-05-14 13:32:42 -04:00
Mikayla Fischler
5ad14205f3 #47 not going to do file level diagnostic disables 2022-05-11 12:01:18 -04:00
Mikayla Fischler
02541184bd bootloader 2022-05-11 11:31:02 -04:00
Mikayla Fischler
faac421b63 #47 reactor plc docs and bugfixes 2022-05-10 21:49:40 -04:00
Mikayla Fischler
e3a4ed5363 catch nil cases, supervisor use loop clock 2022-05-10 17:08:38 -04:00
Mikayla Fischler
6e1ece8183 watchdog cleanup and loop clock object 2022-05-10 13:06:13 -04:00
Mikayla Fischler
168341db39 code cleanup and bugfixes 2022-05-10 12:01:56 -04:00
Mikayla Fischler
25558df22d RTU/PLC code cleanup, #46 changed KEEP_ALIVE to scada message type and use it for the RTU too 2022-05-09 15:00:16 -04:00
Mikayla Fischler
b7e5ced2e8 PLC bugfixes 2022-05-06 09:10:50 -04:00
Mikayla Fischler
83fa41bbd0 #45 burn rate ramping is optional now 2022-05-05 16:00:49 -04:00
Mikayla Fischler
89be79192f #44 RPS optimizations, manual trip, RPS handles all reactor state control 2022-05-05 13:14:14 -04:00
Mikayla Fischler
c4df8eabf9 #43 rename ISS to RPS 2022-05-05 11:55:04 -04:00
Mikayla Fischler
b575899d46 #33 lua module/require architecture changeover 2022-05-04 13:37:01 -04:00
Mikayla Fischler
8b7ef47aad removed references to alarms and now sends status on shutdown 2022-05-04 10:00:21 -04:00
Mikayla Fischler
fe5059dd51 debug print 2022-05-03 17:21:34 -04:00
Mikayla Fischler
25c6b311f5 clear status cache when connection is lost/reset, allow requesting of full status 2022-05-03 17:10:42 -04:00
Mikayla Fischler
c76200b0e3 shared global types 2022-05-03 10:44:18 -04:00
Mikayla Fischler
574b85e177 PLC bugfixes and #37 optimized status packets and structure packets 2022-05-02 17:40:00 -04:00
Mikayla Fischler
5ce3f84dfa #41 PLC connection closing 2022-05-02 12:06:04 -04:00
Mikayla Fischler
479194b589 ISS alarm status packet adjustments 2022-05-01 13:26:02 -04:00
Mikayla Fischler
3fe47f99a9 PLC bugfix 2022-04-30 13:44:28 -04:00
Mikayla Fischler
aeda38fa01 #17 set burn rate right away if within range, reset last setpoint on SCRAM 2022-04-30 03:03:34 -04:00
Mikayla Fischler
10aa34a8e8 #17 PLC ramp burn rate to setpoint 2022-04-29 22:27:54 -04:00
Mikayla Fischler
e1135eac01 log init parameters in config files 2022-04-29 13:36:00 -04:00
Mikayla Fischler
c805b6e0c5 log init function to set path and write mode 2022-04-29 13:32:37 -04:00
Mikayla Fischler
3587352219 log exit notices as info messages not warnings 2022-04-29 13:20:56 -04:00
Mikayla Fischler
e833176c65 #40 RTU sequence number verification 2022-04-29 10:19:05 -04:00
Mikayla Fischler
07e9101ac7 PLC modem disconnect bugfix 2022-04-29 09:25:08 -04:00
Mikayla Fischler
4d5cbcf475 PLC comms packet length checks 2022-04-29 09:07:29 -04:00
Mikayla Fischler
67ec8fbd91 rx and tx threads for PLC comms to maintain quick comms and #36 only feed watchdog on valid sequence numbers 2022-04-28 22:36:45 -04:00
Mikayla Fischler
aff166e27d added util adaptive_delay to replace repeated code 2022-04-27 19:06:01 -04:00
Mikayla Fischler
7f0f423450 PLC bugfixes/optimizations, removed some debug prints 2022-04-27 18:49:54 -04:00
Mikayla Fischler
fe3b8e6f88 fixed up worker loop delay logic 2022-04-27 17:59:25 -04:00
Mikayla Fischler
46a27a3f3a check shutdown flag in worker loops so they don't lock up the exit process 2022-04-27 16:38:41 -04:00
Mikayla Fischler
82726520b8 that was a stack not a queue, nice 2022-04-27 16:24:28 -04:00
Mikayla Fischler
146e0bf569 protected sleep call 2022-04-27 15:56:55 -04:00
Mikayla Fischler
67a93016c0 threaded RTU/PLC bugfixes 2022-04-27 15:52:34 -04:00
Mikayla Fischler
14377e7348 don't run PLC comms thread if not networked 2022-04-27 15:01:10 -04:00
Mikayla Fischler
71be6aca1a cleanup and last_update bugfix for comms thread 2022-04-27 12:43:32 -04:00
Mikayla Fischler
ccf06956f9 fixed another typo 2022-04-27 12:37:28 -04:00
Mikayla Fischler
1ba5c7f828 fixed PLC mqueue typo and removed unused mq_main 2022-04-27 12:27:15 -04:00
Mikayla Fischler
68011d6734 #32 new threaded PLC code 2022-04-27 12:21:10 -04:00
Mikayla Fischler
f7f723829c #7 work on PLC session comms, bugfixes with comms, general supervisor bugfixes 2022-04-25 21:00:50 -04:00
Mikayla Fischler
19a4b3c0ef ticked up versions 2022-04-25 15:50:24 -04:00
Mikayla Fischler
3ef2902829 apparently I forgot how to spell receive a few more times 2022-04-25 15:49:04 -04:00
Mikayla Fischler
b861d3f668 removed debug print 2022-04-25 15:46:32 -04:00
Mikayla Fischler
e119c11204 removed debug print 2022-04-25 15:44:28 -04:00
Mikayla Fischler
0fc49d312d #32 parallel reactor PLC code 2022-04-25 11:40:53 -04:00
Mikayla Fischler
c46a7b2486 added time functions to util, also task_wait 2022-04-25 10:36:47 -04:00
Mikayla Fischler
1744527a41 ISS cleanup 2022-04-25 10:34:41 -04:00
Mikayla Fischler
74168707c6 PLC clock timing fix 2022-04-24 13:21:55 -04:00
Mikayla Fischler
86b0d155fa #31 PPM cannot assume that we will get a fault on failure, apparently sometimes we will only get a nil return so the system can no longer check ACCESS_OK, now each device has its own fault tracking 2022-04-24 12:04:31 -04:00
Mikayla Fischler
416255f41a PLC check sequence numbers, corrected trip time to ms 2022-04-23 21:10:25 -04:00
Mikayla Fischler
3285f829f6 updated version for using epoch() 2022-04-23 11:54:52 -04:00
Mikayla Fischler
812d10f374 use epoch() instead of time() 2022-04-23 11:54:09 -04:00
Mikayla Fischler
b25d95eeb7 #30 PLC comms code updated for new comms design 2022-04-22 21:39:03 -04:00
Mikayla Fischler
17d0213d58 RTU/PPM bugfixes 2022-04-22 10:58:18 -04:00
Mikayla Fischler
f7c11febe5 check if interface exists before trying to get its device or type 2022-04-22 10:21:15 -04:00
Mikayla Fischler
b10a8d9479 send ISS status automatically along with PLC status 2022-04-21 12:40:21 -04:00
Mikayla Fischler
0c132f6e43 todo comment format 2022-04-21 10:44:43 -04:00
Mikayla Fischler
4842f9cb0d moved packet constructors and fixes to comms namespace references in plc comms code 2022-04-21 10:26:02 -04:00
Mikayla Fischler
b89724ad59 version updates 2022-04-18 10:49:05 -04:00
Mikayla Fischler
6a5e0243be catch terminations that are caught by PPM 2022-04-18 10:31:24 -04:00
Mikayla Fischler
2a21d7d0be #14, #15 ppm access fault handling, report modbus exceptions, handle ppm faults in PLC/RTU code 2022-04-17 21:12:25 -04:00
Mikayla Fischler
28b1c03e03 upped version 2022-04-07 11:45:01 -04:00
Mikayla Fischler
b085baf91b #12 specifically get wireless modems 2022-04-07 11:44:17 -04:00
Mikayla Fischler
03f9284f30 #13 ISS tolerant of failed PPM calls, added comments 2022-04-07 11:12:41 -04:00
Mikayla Fischler
7e7e98ff6b #11 standalone de-asserts SCRAM and resets ISS before check, added prints to ISS, fixed non-networked mode related bugs, cleaned up ISS check call in startup 2022-04-05 17:58:23 -04:00
Mikayla Fischler
ba1dd1b50e #4 PLC degraded start and reconnects appear to be working now, fixed prints, and bugfixes to PPM 2022-04-05 17:29:27 -04:00
Mikayla Fischler
c47f45ea46 fixed bad function references in ISS 2022-04-05 17:25:56 -04:00
Mikayla Fischler
f24b214229 fixed bugs and removed goto as lua 5.1 does not have goto 2022-04-05 16:09:29 -04:00
Mikayla Fischler
dbf7377c02 #11 configurable 'networked' setting for PLCs that allows for standalone ISS-only mode 2022-04-05 15:56:48 -04:00
Mikayla Fischler
13b0fcf65f PLC state code cleanup and bugfixes 2022-04-05 09:41:06 -04:00
Mikayla Fischler
02763c9cb3 #4 PLC peripheral disconnect handling and small bugfixes/cleanup 2022-04-03 12:08:22 -04:00
Mikayla Fischler
34fc625602 #5 finished implementing PLC packet handler, bugfixes 2022-04-02 14:43:36 -04:00
Mikayla Fischler
ed997d53e1 #6 PLC retry SCRAM until reactor confirms unpowered 2022-04-02 11:46:14 -04:00
Mikayla Fischler
a77946ce2c #1 PLC does not shut down if failed link, repeatedly tries to maintain link as part of main loop 2022-04-02 11:22:44 -04:00
Mikayla Fischler
36fb4587a1 consistent packet constructors/receiving 2022-04-02 08:28:43 -04:00
Mikayla Fischler
5eaeb50000 broke up comms file, setup base coordinator code 2022-03-25 12:17:46 -04:00
Mikayla Fischler
2ee503946c plc cleanup, removed old code 2022-03-25 11:50:03 -04:00
Mikayla Fischler
17874c4658 cleanup/improvements to PLC comms 2022-03-14 14:19:21 -04:00
Mikayla Fischler
ac4ca3e56e reactor plc utilizes ppm and is now changed to use pullEventRaw 2022-03-10 14:23:14 -05:00
Mikayla Fischler
ffca88845b work on PLC comms 2022-01-22 14:26:25 -05:00
Mikayla Fischler
b3a2cfabc6 reactor plc reorganization and some comms updates 2022-01-14 16:33:09 -05:00
Mikayla Fischler
3b492ead92 changed to SCADA terminology, changed RCaSS to reactor PLC, maybe changed other things 2022-01-13 10:06:55 -05:00