Commit Graph

185 Commits

Author SHA1 Message Date
Mikayla Fischler
a843c8eb79 fixes and cleanup 2023-04-19 23:00:27 -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
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
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
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
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