Commit Graph

274 Commits

Author SHA1 Message Date
Mikayla Fischler
43e708aa0d #219 bugfixes with renderer exit handling 2023-04-21 23:43:28 -04:00
Mikayla
783c4936cc #213 strict sequence verification 2023-04-21 21:10:15 +00:00
Mikayla
e1da8b59d3 #219 properly close out GUI on error on pocket and coordinator 2023-04-21 18:53:28 +00:00
Mikayla Fischler
419ca2e6ef #220 close ui on crash 2023-04-20 21:19:16 -04:00
Mikayla Fischler
5db517cedc #217 close log files on exit (including crash) 2023-04-20 21:00:10 -04:00
Mikayla Fischler
e9788abde7 #219 fixed PLC renderer crash handling 2023-04-20 20:47:14 -04:00
Mikayla Fischler
d143015cc7 #183 RTU front panel 2023-04-20 20:40:28 -04:00
Mikayla
f6fe99a5fd
Merge branch 'devel' into 193-pocket-main-application 2023-04-19 23:01:10 -04:00
Mikayla Fischler
a843c8eb79 fixes and cleanup 2023-04-19 23:00:27 -04:00
Mikayla Fischler
eca303e289 #208 ui cleanup for indicating emergency coolant status 2023-04-19 21:21:19 -04:00
Mikayla
2371a75130 #214 log level cleanup 2023-04-19 13:30:17 +00:00
Mikayla
fee54db43e #203 removed log message on failed structure send, lowered some other log levels to debug 2023-04-18 22:01:35 +00:00
Mikayla
46607dd690 #208 indicate emergency coolant control on PLC front panel 2023-04-18 15:28:46 +00:00
Mikayla
c987d14d8d
added Luacheck GitHub action (#210)
* added shields.io elements
* #209 luacheck action
* #209 cleanup to pass luacheck
* added check statuses to readme
2023-04-12 16:02:29 -04:00
Mikayla Fischler
3ae39b2455 #204 replaced util.strwrap implementation with cc.strings.wrap 2023-04-11 23:53:42 -04:00
Mikayla Fischler
b325992a0d disabled emergency coolant example config 2023-04-09 18:10:20 -04:00
Mikayla Fischler
d624690b6b comment/indentation fixes 2023-04-08 22:00:51 -04:00
Mikayla Fischler
527f3446a1 Merge branch 'devel' of github.com:MikaylaFischler/cc-mek-scada into front-panels 2023-04-08 21:51:34 -04:00
Mikayla Fischler
27a697c27e #182 added scram/reset buttons to PLC front panel 2023-04-08 21:35:44 -04:00
Mikayla Fischler
67872a1053 updated graphics touch events to be mouse events 2023-04-08 21:33:54 -04:00
Mikayla Fischler
4aad591d3a #182 linked up PLC front panel indicators, cleaned up panel display and added flashing to RPS trip 2023-04-08 16:49:54 -04:00
Mikayla Fischler
9bc4f0f7a6 #182 WIP work on PLC PSIL 2023-04-08 00:38:46 -04:00
Mikayla Fischler
ccc0aa18ff #181 independent emergency coolant valve control 2023-04-07 08:05:14 -04:00
Mikayla Fischler
6ea530635f #182 WIP PLC front panel 2023-04-06 22:10:33 -04:00
Mikayla Fischler
9eddab2c23 #188 refactored RPS dmg_high to high_dmg 2023-03-04 22:32:13 -05:00
Mikayla Fischler
83dc1064f7 #188 refactored RPS no_cool to low_cool 2023-03-04 22:19:53 -05:00
Mikayla Fischler
c9f1bddb36 #188 refactored RPS dmg_crit to dmg_high 2023-03-04 21:55:40 -05:00
Mikayla Fischler
0e5113918c #186 improved sv config validation, changed waste high thresholds, fixed monitored max burn not showing as active, fixed redstone R_ENABLE and U_ALARM, changed RPS high waste trip to 95% 2023-03-04 01:37:15 -05:00
Mikayla Fischler
523d478739 changed trip time warning to 750ms 2023-02-26 14:49:16 -05:00
Mikayla Fischler
446fff04da #118 PLC RPS fuel check fixed 2023-02-25 12:07:25 -05:00
Mikayla Fischler
4f285cf2b5 #118 safety/constants common file 2023-02-25 02:25:35 -05:00
Mikayla Fischler
79494f0587 #118 RTU/PLC code cleanup 2023-02-21 23:50:43 -05:00
Mikayla Fischler
ce0198f389 #118 PLC code cleanup 2023-02-21 16:57:33 -05:00
Mikayla Fischler
424097973d #118 refactored RTU unit types 2023-02-21 12:27:16 -05:00
Mikayla Fischler
7c64a66dd3 #118 refactored rps_status_t 2023-02-21 11:29:04 -05:00
Mikayla Fischler
6e0dde3f30 #118 refactoring of comms types 2023-02-21 11:05:57 -05:00
Mikayla Fischler
34cac6a8b8 #118 cleanup started of scada-common 2023-02-21 10:31:05 -05:00
Mikayla Fischler
e2d2a0f1dc #172 fixed bug with full builds not being sent 2023-02-20 14:50:20 -05:00
Mikayla Fischler
8df67245c5 #171 unit auto SCRAM and improvements to emergency coolant control 2023-02-20 12:08:51 -05:00
Mikayla Fischler
5e65ca636e #164 reporting comms version mismatches 2023-02-15 19:59:58 -05:00
Mikayla Fischler
fdf75350c0 #146 increased minimum timeout 2023-02-13 12:29:59 -05:00
Mikayla Fischler
9784b4e165 #146 increased timeout times and added to config files 2023-02-13 12:27:22 -05:00
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
33695b2ed6 #74 #86 removed redundant overridden field (use rps_tripped) 2022-09-08 14:49:01 -04:00
Mikayla Fischler
0f6b3fdd98 fixed incorrect comment 2022-09-07 10:25:48 -04:00
Mikayla Fischler
4359cc3e63 formatting 2022-09-05 16:21:59 -04:00
Mikayla Fischler
17fce01ff5 added rps_trip_cause type 2022-09-03 13:10:09 -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
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