Files
ATM10_CC_Codes/README.md
T

107 lines
4.8 KiB
Markdown

# ATM10 CC Control System
Modulares CC:Tweaked-Steuerungssystem fuer die ATM10-Megabase.
## Zielbild
- zentrale Leitwarte fuer Status, Energie, Alarme und Sektor-Hauptschalter
- lokale Sektorcontroller fuer Create, Mekanism, Greenhouse und spaetere Mods
- Sicherheitslogik bleibt immer im jeweiligen Sektor
- versionierte Installation und Updates ueber Gitea
## Installation auf einem CC-Computer
```lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/install.lua install.lua
install
```
Der Installer ist momentan ein Bootstrap. Hardwaretreiber und konkrete Anlagenlogik
werden ergaenzt, sobald die Peripherie- und Methodennamen der gebauten Anlagen feststehen.
## Einfache Create-Boiler-Anzeige
Fuer die erste Kraftwerksanzeige werden ein Monitor sowie pro Boiler ein Block Reader aus
Advanced Peripherals benoetigt. Mindestens ein weiterer Block Reader zeigt auf das Create-
Speedometer oder Stressometer der gemeinsamen Hauptwelle. Alle Reader und der Monitor werden
ueber Wired Modems mit dem Computer verbunden. Installation und Start:
```lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_boiler_display.lua create_boiler_display.lua
create_boiler_display
```
Das Programm liest Online-Status und Heizmodus jedes Boilers ueber dessen Block Reader.
Drehzahl, Kapazitaet, Verbrauch und Auslastung liest es aus den Netzwerkdaten des Gauge-Readers.
Die Monitoraufloesung wird automatisch erkannt und die groesste passende Textskalierung gewaehlt.
Ein Boiler ohne Wasserversorgung oder angeschlossene Engine wird als IDLE angezeigt, selbst wenn
eine Campfire- oder Blaze-Burner-Waermequelle erkannt wird.
### Clutch-Teststeuerung
Die linke Seite des Computers ist als Redstone-Ausgang fuer die Test-Clutch konfiguriert.
Zwischen Ausgang und Clutch sitzt eine Redstone-Fackel als Fail-safe-Inverter: Ausgang `ON`
bedeutet `PRODUCTION: RUNNING`; Ausgang `OFF`, Programmabbruch oder Computerneustart bedeutet
`PRODUCTION: STOPPED`. Die Verbindung kann direkt oder ueber Create Redstone Links erfolgen.
Der gewuenschte Zustand wird nach jeder Touch-Bedienung in `create_boiler_state.txt` gespeichert.
Beim naechsten Programmstart wird er wiederhergestellt. Fuer automatischen Start nach einem
Computer- oder Weltneustart kann das Startprogramm als `startup.lua` installiert werden:
```lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_boiler_startup.lua startup.lua
reboot
```
Waehrend der Computer aus ist, bleibt die Hardware durch den Fackel-Inverter abgeschaltet. Erst
nach erfolgreichem Programmstart wird ein zuvor gespeicherter RUNNING-Zustand wieder aktiviert.
Die Boiler werden nicht anhand wechselnder Peripheral-Namen, sondern fest ueber ihre
Controller-Koordinaten `11266/64/10810`, `11260/64/10810` und `11254/64/10810` zugeordnet.
Fehlt ein Reader, bleibt dadurch exakt die betroffene Boiler-Zeile auf `MISSING / NO READER`.
Jeder Block Reader muss direkt auf den Controller-Tank seines Boiler-Multiblocks zeigen.
## Andesite-Alloy-Produktion
Der erste lokale Create-Produktionscontroller ueberwacht einen Zink-Nugget-Vault, einen
Andesite-Alloy-Vault und die per Clutch getrennte Maschinenwelle. Die beiden Vaults muessen
jeweils direkt ueber einen aktivierten Wired Modem Full Block als Inventory-Peripheral mit dem
Computer verbunden sein. Ein Advanced-Peripherals Block Reader zeigt auf das Stressometer der
Maschinenwelle. Der Redstone-Ausgang `left` steuert die Clutch in der aktuellen Installation
direkt: Redstone `ON` stoppt die Welle und Redstone `OFF` gibt sie frei. Die Polaritaet ist im
Programm ueber `OUTPUT_LEVEL_WHEN_RUNNING` konfigurierbar.
Installation und erster Start:
```lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_andesite_display.lua create_andesite_display.lua
create_andesite_display
```
Der Controller erkennt die Vaults anhand von `create:zinc_nugget` und
`create:andesite_alloy` und speichert ihre Peripheral-Namen. Die Freigabe wird ebenfalls
gespeichert. Fehlendes Zink, ein voller Ausgang, fehlende Vault-Daten oder eine ueberlastete
Welle schalten die Maschinenwelle ab; nach Behebung wird eine weiterhin freigegebene Anlage
automatisch fortgesetzt. Fuer den automatischen Start:
```lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_andesite_startup.lua startup.lua
reboot
```
## Struktur
```text
core/ Laufzeit, Netzwerk, Protokoll, Logging, Updates
drivers/ Adapter fuer Redstone und Mod-Peripherie
roles/ Zentrale und Sektorcontroller
ui/ Monitore, Widgets und Alarmdarstellung
config/ Konfigurationsvorlagen
docs/ Architektur- und Protokolldokumentation
```
## Sicherheitsprinzip
Die Zentrale fordert nur einen Zielzustand an. Lokale Controller fuehren sichere
Start-/Stoppsequenzen aus und bestaetigen den tatsaechlichen Zustand.