Commit Graph

158 Commits

Author SHA1 Message Date
Mikayla Fischler
44d5cec1f8 #19 decent rate PID gains, fixed blade counting and added checks, bugfix with PLC reconnects not being in auto mode, logging cleanups 2023-02-09 22:52:10 -05:00
Mikayla Fischler
37f7319494 #154 increased auto burn rate precision 2023-02-08 20:26:13 -05:00
Mikayla Fischler
07ee792163 #153 facility alarm acknowledge button 2023-02-07 18:44:34 -05:00
Mikayla Fischler
6c09772a74 #76 added trusted connection ranges for modem messages 2023-02-07 17:31:22 -05:00
Mikayla Fischler
1d3a1672c8 #102 #21 auto control loop with induction matrix and unit alarm checks and handling 2023-02-07 00:32:50 -05:00
Mikayla Fischler
b5c70b0d37 fixed process controller assuming ramp complete if burn rate setpoint was identical to setpoint before process control start 2023-02-04 13:47:00 -05:00
Mikayla Fischler
eb8aab175f #148 okay turns out that variable was important, ramping now works as intended, correctly 2023-02-02 22:51:21 -05:00
Mikayla Fischler
5721231ffd #148 fixed burn rate ramping again for real this time 2023-02-02 22:04:26 -05:00
Mikayla Fischler
846f9685ad #148 fixed burn rate ramping, adjusted auto burn rate ramping 2023-02-02 20:17:23 -05:00
Mikayla Fischler
e9562a140c #143 #103 #101 #102 work in progress auto control, added coordinator controls, save/auto load configuration, auto enable/disable on reactor PLC for auto control (untested) 2023-01-26 18:26:26 -05:00
Mikayla Fischler
03f0216d51 #130 facility data object, some code cleanup, comms protocol changed from 1.0.1 to 1.1.0 2022-12-10 13:58:17 -05:00
Mikayla Fischler
2a99d1d385 #136 send rps trip cause with status, moved rps is_tripped to rps status from main status, increased plc status send rate to 2 Hz 2022-12-07 12:59:21 -05:00
Mikayla Fischler
d4ae18eee7 #10 #133 alarm system logic and display, change to comms to support alarm actions, get_x get_y to graphics elements, bugfixes to coord establish and rtu establish, flashing trilight and alarm light indicators 2022-11-26 16:18:31 -05:00
Mikayla Fischler
9761228b8e #124 debug stack trace on error 2022-11-13 15:56:27 -05:00
Mikayla Fischler
e679b5a25a #122 versioned comms protocol with unified establish protocol 2022-11-13 14:13:30 -05:00
Mikayla Fischler
1a01bec7e4 #123 RTU startup without devices, fixed repeat RTU advert handling, added PPM virtual devices, fixed log out of space detection, updated RTU type conversion functions in comms 2022-11-12 01:35:31 -05:00
Mikayla Fischler
af57c3b1fc automatic reactor scram functionality for future use 2022-11-11 16:15:44 -05:00
Mikayla Fischler
c221ffa129 #81 handle force disabled 2022-11-11 15:45:46 -05:00
Mikayla Fischler
aaab34f1a8 #115, #116 multiple bugfixes with reactor PLC code 2022-11-05 12:44:40 -04:00
Mikayla Fischler
004c960e4d #106 fixes to reactor isFormed support 2022-10-25 23:45:59 -04:00
Mikayla Fischler
b2be3ef5fc #106 reactor formed support and remounting 2022-10-25 13:29:57 -04:00
Mikayla Fischler
2f55ad76f2 round burn rate to prevent weird floating point issues, added debug prints 2022-10-20 13:27:33 -04:00
Mikayla Fischler
573c263548 same ppm fault check as with scram for enabling an enabled reactor 2022-10-07 10:29:25 -04:00
Mikayla Fischler
1b553ad495 #83 additional reactor structure fields, bugfix to rps alarm on sv, removed spam-prone rps error messages 2022-09-30 17:33:35 -04:00
Mikayla Fischler
7a90ea7e4e #87 check if the reactor is active on startup/reconnect before scram'ing, rps now ignores scram errors if the error is due to the reactor being inactive 2022-09-29 11:02:03 -04:00
Mikayla Fischler
4f7775ccb6 check for table type before checking length, added power conversion/formatting helpers 2022-09-22 21:31:07 -04:00
Mikayla Fischler
50be7f9ca2 #97 fixed issue where traffic on other channels gets processed if channels are left open 2022-09-22 20:42:06 -04:00
Mikayla Fischler
36557fc345 code cleanup, type hints, bugfixes, and #98 removal of support for mek 10.0 RTU peripherals 2022-09-21 15:53:51 -04:00
Mikayla Fischler
1afafba501 wrap os.pullEventRaw to have return types 2022-07-19 15:18:11 -04:00
Mikayla Fischler
2aedc015c8 correctly find mek 10.1+ fission reactors 2022-07-17 15:05:27 -04:00
Mikayla Fischler
88bf4d5653 #80 mek 10.1+ support for reactor plc 2022-07-15 09:58:04 -04:00
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
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
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
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
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
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
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
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
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
0fc49d312d #32 parallel reactor PLC code 2022-04-25 11:40:53 -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
3285f829f6 updated version for using epoch() 2022-04-23 11:54:52 -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
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
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
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