Commit Graph

318 Commits

Author SHA1 Message Date
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
ba8bfb6e14 #101 fixed averages and display them 2023-02-03 21:05:21 -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
41838ee340 #102 #20 #19 #21 work in progress on auto control, added control loop, started auto scram checks, implemented limiting and balancing, re-organized for priority groups 2023-01-03 16:50:31 -05:00
Mikayla Fischler
6fe257d1d7 #138 fixed bug with dmesg output resetting to default if log file is recycled 2022-12-18 14:11:25 -05:00
Mikayla Fischler
ca2983506e #24 coordinator/supervisor setting process groups and unit burn rate limits 2022-12-18 13:56:04 -05:00
Mikayla Fischler
6517f78c1c #129 induction matrix view 2022-12-10 15:44:11 -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
52603e3579 #131 first pass of unit status text 2022-12-06 23:39:35 -05:00
Mikayla Fischler
4030fdc5c9 #77 alarm sounder 2022-12-04 13:59:10 -05:00
Mikayla Fischler
e1d7c7b1c0 #134 #104 redstone RTU integration with supervisor unit, waste routing implemented, changed how redstone I/O works (again, should be good now), modbus fixes 2022-11-30 23:31:14 -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
83cf645da4 #107, #121 RTU build changes, formed handling 2022-11-11 14:59:53 -05:00
Mikayla Fischler
bc63a06b09 someone had PFE in an induction matrix so now i've gotta support some bigger numbers in the power format 2022-11-10 12:00:23 -05:00
Mikayla Fischler
806b217d58 #100 interactive reactor controls (start, scram, reset) 2022-11-06 18:41:52 -05:00
Mikayla Fischler
1828920873 #110, #114 no longer use mekanism energy helper functions as those are event consuming 2022-11-02 17:00:33 -04:00
Mikayla Fischler
c620310e51 #113 power formatting on turbine energy in main overview 2022-11-02 14:47:18 -04:00
Mikayla Fischler
004c960e4d #106 fixes to reactor isFormed support 2022-10-25 23:45:59 -04:00
Mikayla Fischler
57bac57e3f adjusted TCD unserviced call delay 2022-10-25 13:30:41 -04:00
Mikayla Fischler
b2be3ef5fc #106 reactor formed support and remounting 2022-10-25 13:29:57 -04:00
Mikayla Fischler
a02fb6f691 #110 periodically call unserviced TCD callbacks 2022-10-23 12:21:17 -04:00
Mikayla Fischler
307bf6e2c8 added util timer functions, tweaks to flasher and some debug prints for #110 2022-10-23 01:41:02 -04:00
Mikayla Fischler
d202a49011 #108 resolved TCD race condition 2022-10-21 15:15:56 -04:00
Mikayla Fischler
93286174d4 some sneaky semicolons 2022-10-20 13:59:35 -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
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
6f3405949d #88 hold on rendering unit detail view until we get a status, added waiting animation 2022-09-10 10:42:56 -04:00
Mikayla Fischler
350370a084 notify subscriber right away if there is already a value present 2022-09-08 12:19:19 -04:00
Mikayla Fischler
17fce01ff5 added rps_trip_cause type 2022-09-03 13:10:09 -04:00
Mikayla Fischler
d38e5ca5ec #86 send builds and statuses periodically 2022-08-28 12:57:36 -04:00
Mikayla Fischler
7f011369c4 util pad function 2022-08-16 11:22:06 -04:00
Mikayla Fischler
1afafba501 wrap os.pullEventRaw to have return types 2022-07-19 15:18:11 -04:00
Mikayla Fischler
41cc6b9acc support for craftos-pc env by supporting modems instead of wireless modems for comms 2022-07-19 14:02:20 -04:00
Mikayla Fischler
2aedc015c8 correctly find mek 10.1+ fission reactors 2022-07-17 15:05:27 -04:00
Mikayla Fischler
ea17ba41fe #74 supervisor-coordinator comms establish 2022-07-07 00:34:42 -04:00
Mikayla Fischler
1444008479 #74 comms establish on boot 2022-07-05 23:48:01 -04:00
Mikayla Fischler
409e8083a7 dmesg working status animation 2022-07-05 23:47:13 -04:00
Mikayla Fischler
ed0982a832 handle nil tag color 2022-07-05 11:18:07 -04:00
Mikayla Fischler
e54d5b3d85 #74 coordinator comms and work on database 2022-06-25 13:39:47 -04:00
Mikayla Fischler
cf6f0e3153 publisher-subscriber interconnect layer 2022-06-25 13:38:31 -04:00
Mikayla Fischler
5a3897572d fixed bug with single word strings in strwrap 2022-06-18 02:15:03 -04:00
Mikayla Fischler
b628472d81 #74 work on coordinator comms 2022-06-15 15:35:34 -04:00
Mikayla Fischler
dc867095fd util spaces function 2022-06-11 12:20:49 -04:00
Mikayla Fischler
1dad4bcf77 util string wrap function 2022-06-08 18:48:20 -04:00
Mikayla Fischler
d8bbe4b459 #63 added indicator icon/light, added util.strrep string repeater 2022-06-08 17:16:53 -04:00
Mikayla Fischler
254e85f3ed timer callback dispatcher 2022-06-08 14:47:45 -04:00
Mikayla Fischler
285026c1fa docs cleanup 2022-06-06 15:40:08 -04:00
Mikayla Fischler
8b307ea030 alias for color type and added read() to globals 2022-06-05 23:24:18 -04:00
Mikayla Fischler
b75d482f4a use is_int in validator 2022-06-05 16:54:34 -04:00
Mikayla Fischler
0bc0decbf2 util.is_int 2022-06-05 16:51:38 -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
fc7b83a18a #28 #66 #59 new RTUs 2022-06-04 10:49:36 -04:00
Mikayla Fischler
3bb95eb441 #64 util code cleanup 2022-05-31 16:09:06 -04:00
Mikayla Fischler
ccc5220ca8 util round and trinary 2022-05-31 15:55:40 -04:00
Mikayla Fischler
309ba06f8a #51 crypto system 2022-05-29 15:05:57 -04:00
Mikayla Fischler
e65a1bf6e1 #61 monitor configuration and init, render engine started, dmesg changes, ppm monitor listing changes 2022-05-29 14:34:09 -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
4d16d64cdc log bugfix 2022-05-27 18:17:52 -04:00
Mikayla Fischler
6df0a1d149 #9 MODBUS test code; fixed rtu, modbus, redstone_rtu, and rsio bugs 2022-05-27 18:10:06 -04:00
Mikayla Fischler
51111f707f more descriptive comments 2022-05-26 19:37:19 -04:00
Mikayla Fischler
7d7eecaa5e log use strval 2022-05-25 23:24:15 -04:00
Mikayla Fischler
4d7d3be93b power related utility functions put under util table 2022-05-24 22:58:42 -04:00
Mikayla Fischler
0cf81040fb moved string value to util and added sprtinf, adjusted prints to use tostring to prevent concatentation errors on some types 2022-05-24 22:48:31 -04:00
Mikayla Fischler
9fb6b7a880 #9 rsio test code, fixes per test results 2022-05-23 17:36:54 -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
3b16d783d3 fixed bug with RSIO channel valid check 2022-05-21 13:55:22 -04:00
Mikayla Fischler
3f4fb63029 #52 basic reactor unit object 2022-05-21 12:24:43 -04:00
Mikayla Fischler
44d30ae583 #48 only log every 20 PPM faults (per function) 2022-05-19 10:35:56 -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
62d5490dc8 #53 RTU redstone parse checks 2022-05-18 14:30:48 -04:00
Mikayla Fischler
136b09d7f2 util filter table 2022-05-16 17:11:46 -04:00
Mikayla Fischler
bdd8af1873 dmesg logging 2022-05-16 12:50:51 -04:00
Mikayla Fischler
530a40b0aa changed DISCONNECT constant value to -1 to not conflict with redstone values 2022-05-16 11:52:03 -04:00
Mikayla Fischler
4834dbf781 changed redstone I/O capabilities, added analog read/write scaling functions 2022-05-16 10:38:47 -04:00
Mikayla Fischler
94931ef5a2 #8 bugfixes, redstone RTU session 2022-05-14 20:27:06 -04:00
Mikayla Fischler
282d3fcd99 added queue_data class 2022-05-13 12:23:01 -04:00
Mikayla Fischler
bf0e92d6e4 refactoring 2022-05-13 11:08:22 -04:00
Mikayla Fischler
c53ddf1638 renamed RTU_ADVERT_TYPES to RTU_UNIT_TYPES 2022-05-13 10:27:57 -04:00
Mikayla Fischler
13fcf265b7 updated types, added dumping mode and rtu_advertisement 2022-05-13 09:38:32 -04:00
Mikayla Fischler
8b43c81fc0 class definition in only comments 2022-05-13 09:38:10 -04:00
Mikayla Fischler
e624dd431b tank_fluid and coordinate table types 2022-05-12 15:37:42 -04:00
Mikayla Fischler
bced8bf566 #47 packet frames 2022-05-10 21:51:04 -04:00
Mikayla Fischler
3c688bfafa #47 scada-common doc comments 2022-05-10 17:06:27 -04:00
Mikayla Fischler
6e1ece8183 watchdog cleanup and loop clock object 2022-05-10 13:06:13 -04:00
Mikayla Fischler
d7e38d6393 supression of warnings, added lua diagnostics global list 2022-05-10 11:41:49 -04:00
Mikayla Fischler
cd0d7aa5a3 cleanup/fixes of scada common code 2022-05-10 11:35:52 -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
469ee29b5a cleanup of rtu comms 2022-05-09 09:34:26 -04:00
Mikayla Fischler
96e535fdc4 global scope optimizations 2022-05-07 13:39:12 -04:00
Mikayla Fischler
4aab75b842 rsio optimizations 2022-05-06 11:11:53 -04:00
Mikayla Fischler
17a46ae642 mqueue optimizations 2022-05-06 10:53:12 -04:00
Mikayla Fischler
d0b2820160 logging optimizations 2022-05-06 10:48:46 -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
1cb5a0789e #27 mekanism 10.1+ RTU support 2022-05-04 11:23:45 -04:00
Mikayla Fischler
635c70cffd moved MODBUS file thanks to utilizing types file 2022-05-03 11:28:29 -04:00
Mikayla Fischler
dc1c1db5e6 MODBUS bugfixes, utilize new types file 2022-05-03 11:27:40 -04:00
Mikayla Fischler
c76200b0e3 shared global types 2022-05-03 10:44:18 -04:00
Mikayla Fischler
1ac4de65a9 added close to valid scada types and fixed length checks for packet decoders 2022-05-02 17:34:24 -04:00
Mikayla Fischler
c19a58380c fixed cancel not being exposed for watchdog functions 2022-05-02 17:33:54 -04:00
Mikayla Fischler
b280201446 #41 cancel session watchdog timer 2022-05-02 11:44:10 -04:00
Mikayla Fischler
76c81395b7 #41 close session connections 2022-05-02 11:42:24 -04:00
Mikayla Fischler
cd46c69a66 defined push_data to be implemented 2022-05-01 15:35:07 -04:00
Mikayla Fischler
c805b6e0c5 log init function to set path and write mode 2022-04-29 13:32:37 -04:00
Mikayla Fischler
84e7ad43bc #39 RTU unit threads 2022-04-29 13:19:01 -04:00
Mikayla Fischler
aff166e27d added util adaptive_delay to replace repeated code 2022-04-27 19:06:01 -04:00
Mikayla Fischler
f067da31b4 #38 handle out of space when logging 2022-04-27 18:43:07 -04:00
Mikayla Fischler
82726520b8 that was a stack not a queue, nice 2022-04-27 16:24:28 -04:00
Mikayla Fischler
d40937b467 this was supposed to be in that pr merge oops 2022-04-27 16:06:30 -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
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
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
812d10f374 use epoch() instead of time() 2022-04-23 11:54:09 -04:00
Mikayla Fischler
912011bfed #30 modbus comms changes 2022-04-22 20:21:28 -04:00
Mikayla Fischler
78a1073e2a #30 comms rework 2022-04-22 15:43:25 -04:00
Mikayla Fischler
6daf6df2d0 active-backup supervisor setups are no longer planned 2022-04-22 11:15:16 -04:00
Mikayla Fischler
1bf0d352a1 supervisor sessions work in progress 2022-04-22 11:07:59 -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
6a5e0243be catch terminations that are caught by PPM 2022-04-18 10:31:24 -04:00
Mikayla Fischler
377cf8e6fc scope fixes, load comms api, debug prints 2022-04-18 09:35:08 -04:00
Mikayla Fischler
7d9a664d38 rsio bugfixes 2022-04-18 00:11:23 -04:00
Mikayla Fischler
a6e1134dc3 changed modbus init function name, fixed bugs with RTU startup, improved PPM debug prints 2022-04-18 00:10:47 -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
b085baf91b #12 specifically get wireless modems 2022-04-07 11:44:17 -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
895750ea14 print, println, println_ts 2022-04-05 17:28:19 -04:00
Mikayla Fischler
5b32f83890 writeLine has newline of course.. 2022-04-05 16:08:55 -04:00
Mikayla Fischler
02763c9cb3 #4 PLC peripheral disconnect handling and small bugfixes/cleanup 2022-04-03 12:08:22 -04:00
Mikayla Fischler
7c2d89e70f allow suppressing of PPM errors 2022-04-02 11:45:43 -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
be73b17d46 RTU linking and requesting advertisement 2022-03-23 16:17:58 -04:00
Mikayla Fischler
60674ec95c RTU startup code and comms 2022-03-23 15:41:08 -04:00
Mikayla Fischler
74ae57324b redstone I/O rework 2022-03-23 15:36:14 -04:00
Mikayla Fischler
1e23a2fd67 work on RTU startup and comms 2022-03-15 12:02:31 -04:00
Mikayla Fischler
5642e3283d fixes to modbus_packet() 2022-03-15 11:58:52 -04:00
Mikayla Fischler
6e1e4c4685 ppm includes get_type function now 2022-03-15 11:58:22 -04:00
Mikayla Fischler
a9d4458103 redstone I/O constants defined, digital I/O functions with active high/low mappings added 2022-03-15 11:58:08 -04:00
Mikayla Fischler
17874c4658 cleanup/improvements to PLC comms 2022-03-14 14:19:21 -04:00
Mikayla Fischler
5cff346cb5 ppm function renames, edited log messages, and changed protected calls to return true if function has no return 2022-03-10 14:21:03 -05:00
Mikayla Fischler
a0b2c1f3e2 changed ppm to not wrap under ppm() function 2022-03-10 14:12:07 -05:00
Mikayla Fischler
ea84563bb4 added protected peripheral manager and file system logger 2022-03-10 14:09:21 -05:00
Mikayla Fischler
3c67ee08a8 redstone RTU I/O 2022-02-08 15:42:06 -05:00
Mikayla Fischler
8429cbfd6e scada alarms 2022-01-25 13:51:43 -05:00
Mikayla Fischler
14cb7f96fc supervisor comms init 2022-01-22 14:47:54 -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
018b228976 some comms cleanup and added wrapper for generic packet 2022-01-14 16:32:20 -05:00
Mikayla Fischler
00a81ab4f0 modbus comms implementation 2022-01-14 12:42:11 -05:00
Mikayla Fischler
4dfdb218e2 SCADA supervisor code started 2022-01-13 10:23:38 -05:00
Mikayla Fischler
78cbb9e67d RTU object and started modbus 2022-01-13 10:12:44 -05:00
Mikayla Fischler
c78db71b14 comms and util files 2022-01-13 10:11:42 -05:00