mirror of
https://github.com/MikaylaFischler/cc-mek-scada.git
synced 2025-09-17 12:41:11 +00:00
Page:
Project Files
Pages
Alarms
Alternative Installation Strategies
Annunciator Panels
Characters
Color Accessibility
Configurator Tools
Coordinator Configurator
Coordinator Legacy Config
Coordinator
Design and Regulatory References
FAQ and Common Problems
Glossary
High Rate Calculation
Home
Known Issues
Legacy Config
Legacy Coordinator Settings File
Main View Screen
Mekanism API Notes
Networking
Operating Procedure
PPM
Pocket
Process Control Closed Loop Controller
Project Files
Quickstart
RSIO
RTU Gateway Configurator
RTU Gateway Legacy Config
RTU Gateway
Reactor PLC Configurator
Reactor PLC Legacy Config
Reactor PLC
Reactor Temperature Calculation
Status Messages
Supervisor Configurator
Supervisor Legacy Config
Supervisor
System Setup
System Views
Threading
Unit View Screens
Valve and Flow Screen
Waste Setup
No results
14
Project Files
Mikayla edited this page 2023-12-15 10:05:20 -05:00
Table of Contents
Project Directory Layout and File Overviews
Last Updated for v1.8.5-beta
cc-mek-scada/ = ComputerCraft Mekanism SCADA system
├── coordinator/ = coordinator application
│ ├── session/ = coordinator device sessions
│ │ ├── apisessions.lua - session manager for API
│ │ └── pocket.lua - pocket API session
│ ├── ui/ = coordinator UI definitions
│ │ ├── components/ = coordinator UI componenets
│ │ │ ├── boiler.lua - boiler display for overview
│ │ │ ├── imatrix.lua - induction matrix display on main screen
│ │ │ ├── pkt_entry.lua - pocket computer entry on front panel connections list
│ │ │ ├── processctl.lua - process control interface on main screen
│ │ │ ├── reactor.lua - reactor display for overview
│ │ │ ├── turbine.lua - turbine display for overview
│ │ │ ├── unit_detail.lua - unit detail display on unit monitors
│ │ │ ├── unit_flow.lua - unit display on flow monitor
│ │ │ └── unit_overview.lua - unit overview on primary monitor
│ │ ├── layout/ = monitor UI layout files
│ │ │ ├── flow_view.lua - flow monitor display
│ │ │ ├── front_panel.lua - coordinator front panel UI
│ │ │ ├── main_view.lua - main screen on primary monitor
│ │ │ └── unit_view.lua - unit screens on unit monitors
│ │ ├── dialog.lua - functions for terminal dialogs
│ │ ├── pgi.lua - protected graphics interface for managing list elements
│ │ └── style.lua - styling constants for coordinator UI
│ ├── config.lua - coordinator configuration file
│ ├── coordinator.lua - coordinator core functions: comms, monitor configuration, dmesg helpers
│ ├── iocontrol.lua - I/O data and PSIL for unit & facility statuses and build
│ ├── process.lua - process control functions and settings access
│ ├── renderer.lua - GUI renderer control
│ ├── sounder.lua - speaker sounder tone generation and control
│ └── startup.lua - main coordinator application
├── graphics/ = graphics library
│ ├── elements/ = all graphics elements
│ │ ├── animations/ = animated elements
│ │ │ └── waiting.lua - loading spinning animation
│ │ ├── controls/ = control elements
│ │ │ ├── app.lua - app icon button
│ │ │ ├── checkbox.lua - basic checkbox/selectbox
│ │ │ ├── hazard_button.lua - button with hazard pattern around it
│ │ │ ├── multi_button.lua - multi-choice button
│ │ │ ├── push_button.lua - push button, single press then releases
│ │ │ ├── radio_2d.lua - multi-choice matrix layout radio button
│ │ │ ├── radio_button.lua - multi-choice vertical layout radio button
│ │ │ ├── sidebar.lua - sidebar vertical tab selector
│ │ │ ├── spinbox_numeric.lua - fixed-point number spinbox input
│ │ │ ├── switch_button.lua - switch button, single press toggles state
│ │ │ └── tabbar.lua - horizontal tab selector
│ │ ├── form/ = user input form fields
│ │ │ ├── number_field.lua - numeric form field input
│ │ │ └── text_field.lua - text form field input
│ │ ├── indicators/ = indicator elements
│ │ │ ├── alight.lua - alarm light indicator (quad-state)
│ │ │ ├── coremap.lua - reactor core map
│ │ │ ├── data.lua - numerical data indicator w/ labels & units
│ │ │ ├── hbar.lua - horizontal percentage bar
│ │ │ ├── icon.lua - single character indicator w/ color
│ │ │ ├── led.lua - tiny rectangle 'LED' indicator (on/off)
│ │ │ ├── ledpair.lua - tiny rectangle 'LED' indicator (tri-state)
│ │ │ ├── ledrgb.lua - tiny rectangle 'LED' indicator (n-state)
│ │ │ ├── light.lua - square light indicator (on/off)
│ │ │ ├── power.lua - numerical indicator for power (auto-scaled units)
│ │ │ ├── rad.lua - numerical indicator for radiation (auto-scaled units)
│ │ │ ├── state.lua - text + color state indicator
│ │ │ ├── trilight.lua - square light indicator (tri-state)
│ │ │ └── vbar.lua - vertical percentage bar
│ │ ├── colormap.lua - color map (for testing, shows all colors in a row)
│ │ ├── displaybox.lua - container element used as the root of the element tree, uses a window object as parent
│ │ ├── div.lua - container element, uses a normal element as its parent
│ │ ├── listbox.lua - scrolling listbox
│ │ ├── multipane.lua - multi-pane, to be used with a tab control to show multiple views in the same place
│ │ ├── pipenet.lua - pipe network, used on main screen (as an example)
│ │ ├── rectangle.lua - container element with an optional boarder, uses a normal element as its parent
│ │ ├── textbox.lua - text box, supports text alignment and wrapping
│ │ └── tiling.lua - alternating tiling pattern element
│ ├── core.lua - core graphics utilities
│ ├── element.lua - base "class" of all graphics elements
│ ├── events.lua - mouse/keyboard event handling
│ └── flasher.lua - handler for flashing indicators
├── lockbox/ = select lua-lockbox files
├── pocket/ = pocket computer application
│ ├── ui/ = pocket UI definitions
│ │ ├── components/ = pocket UI componenets
│ │ │ └── conn_waiting.lua - connection waiting spinners
│ │ ├── pages/ = pocket tabbed pages
│ │ │ ├── boiler_page.lua - boiler tab page
│ │ │ ├── home_page.lua - home tab page
│ │ │ ├── reactor_page.lua - reactor tab page
│ │ │ ├── turbine_page.lua - turbine tab page
│ │ │ └── unit_page.lua - unit overview tab page
│ │ ├── main.lua - main UI display
│ │ └── style.lua - styling constants for pocket UI
│ ├── config.lua - pocket configuration file
│ ├── iocontrol.lua - pocket I/O (PSIL and data)
│ ├── pocket.lua - pocket core functions: comms
│ ├── renderer.lua - GUI renderer control
│ └── startup.lua - main pocket application
├── reactor-plc/ = reactor PLC application
│ ├── panel/ = reactor PLC front panel
│ │ ├── front_panel.lua - reactor PLC front panel UI
│ │ └── style.lua - styling constants for PLC UI
│ ├── configure.lua - reactor PLC configurator function
│ ├── databus.lua - front panel PSIL
│ ├── plc.lua - reactor PLC core functions: RPS and comms
│ ├── renderer.lua - GUI renderer control
│ ├── startup.lua - reactor PLC startup application
│ └── threads.lua - reactor PLC runtime "threads" (co-routines, main app)
├── rtu/ = RTU gateway application
│ ├── dev/ = RTU interfaces
│ │ ├── boilerv_rtu.lua - boiler [valve] RTU interface
│ │ ├── dynamicv_rtu.lua - dynamic tank [valve] RTU interface
│ │ ├── envd_rtu.lua - environment detector RTU interface
│ │ ├── imatrix_rtu.lua - induction matrix RTU interface
│ │ ├── redstone_rtu.lua - redstone RTU interface
│ │ ├── sna_rtu.lua - solar neutron activator RTU interface
│ │ ├── sps_rtu.lua - supercritical phase shifter RTU interface
│ │ └── turbinev_rtu.lua - turbine [valve] RTU interface
│ ├── panel/ = RTU gateway front panel
│ │ ├── front_panel.lua - RTU gateway front panel UI
│ │ └── style.lua - styling constants for RTU gateway UI
│ ├── configure.lua - RTU gateway configurator function
│ ├── databus.lua - front panel PSIL
│ ├── modbus.lua - MODBUS comms protocol and I/O control handling
│ ├── renderer.lua - GUI renderer control
│ ├── rtu.lua - RTU gateway core functions: comms and RTU unit init
│ ├── startup.lua - RTU gateway startup application
│ └── threads.lua - RTU gateway runtime "threads" (co-routines, main app)
├── scada-common/ = common and system files
│ ├── audio.lua - alarm audio signals and control code
│ ├── comms.lua - system communications protocol and packet constructors
│ ├── constants.lua - system-wide constants, safety thresholds, and conversion factors
│ ├── crash.lua - crash message handling
│ ├── log.lua - system logging
│ ├── mqueue.lua - message queue object
│ ├── network.lua - network interface abstraction and cryptography
│ ├── ppm.lua - PPM - protected peripheral manager
│ ├── psil.lua - PSIL - publisher-subscriber interface layer
│ ├── rsio.lua - redstone I/O mappings and helper functions
│ ├── tcd.lua - TCD - timer callback dispatcher (call functions after a delay)
│ ├── types.lua - common data types and constructors
│ └── util.lua - system utility functions (prints, math, strings, clock & watchdog timers, etc)
├── supervisor/ = supervisor application
│ ├── panel/ = supervisor front panel
│ │ ├── components/ = front panel UI componenets
│ │ │ ├── pdg_entry.lua - pocket diagnostics list entry
│ │ │ └── rtu_entry.lua - RTU list entry
│ │ ├── front_panel.lua - supervisor front panel UI
│ │ ├── pgi.lua - protected graphics interface for managing list elements
│ │ └── style.lua - styling constants for supervisor UI
│ ├── session/ = supervisor device sessions
│ │ ├── rtu/ = RTU session individual unit handlers
│ │ │ ├── boilerv.lua - boiler [valve] unit handler
│ │ │ ├── dynamicv.lua - dynamic tank [valve] unit handler
│ │ │ ├── envd.lua - environement detector unit handler
│ │ │ ├── imatrix.lua - induction matrix unit handler
│ │ │ ├── qtypes.lua - RTU gateway queue data types
│ │ │ ├── redstone.lua - redstone unit handler
│ │ │ ├── sna.lua - solar neutron activator unit handler
│ │ │ ├── sps.lua - supercritical phase shifter unit handler
│ │ │ ├── turbinev.lua - turbine [valve] unit handler
│ │ │ ├── txnctrl.lua - MODBUS transaction control handler
│ │ │ └── unit_session.lua - RTU unit session generic base class
│ │ ├── coordinator.lua - coordinator session handler
│ │ ├── plc.lua - PLC session handler
│ │ ├── pocket.lua - pocket diagnostics session handler
│ │ ├── rsctl.lua - redstone RTU session I/O controller
│ │ ├── rtu.lua - RTU gateway session handler
│ │ ├── svqtypes.lua - supervisor session queue types
│ │ └── svsessions.lua - supervisor session manager
│ ├── config.lua - supervisor configuration file
│ ├── databus.lua - front panel PSIL
│ ├── facility.lua - SCADA core facility management
│ ├── renderer.lua - GUI renderer control
│ ├── startup.lua - main supervisor application
│ ├── supervisor.lua - supervisor core functions: comms
│ ├── unit.lua - SCADA core reactor unit management
│ └── unitlogic.lua - reactor unit management functions (unit.lua would otherwise exceed 1000 lines)
├── ccmsi.lua - cc-mek-scada installer
├── configure.lua - configurator loader program (bootstrap program to open app configurator)
├── initenv.lua - application environment initialization (for subdirectories)
└── startup.lua - core startup program ("bootloader")
- User Manual
- Computer Applications
- Notable System Components
- Notes
- Investigations
- References & Resources
- Legacy
If you need help beyond this wiki, open a support discussion or ask on Discord! If you prefer videos, they can be found on my YouTube channel.