Files
ATM10_CC_Codes/README.md
T

159 lines
7.0 KiB
Markdown

# ATM10 CC Control System
Modulares CC:Tweaked-Steuerungssystem fuer die ATM10-Megabase.
## Create Factory Scheduler V1
`create_factory_scheduler.lua` ist der persistente Nachfolger des Logistiktests.
Der funktionierende `create_factory_test.lua` bleibt als Rueckfallstand erhalten.
```lua
delete create_factory_scheduler.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_scheduler.lua create_factory_scheduler.lua
create_factory_scheduler
```
Neue normale Module und Rezepte werden oben in der Tabelle `RECIPES` registriert.
Die Scheduler-Logik muss dafuer nicht veraendert werden. Mehrstufige oder zufaellige
Produktionsketten erhalten einen benannten Planner; V1 enthaelt den Planner fuer
Asurine -> Zinc Clumps/Nuggets -> gewaschene Zinc Nuggets.
## Create-Fabrik: Peripherie erkennen
Das rein lesende Diagnoseprogramm herunterladen und starten:
```lua
delete create_factory_debug.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_debug.lua create_factory_debug.lua
create_factory_debug
```
Es erzeugt auf dem CC-Computer die Datei `factory_peripheral_debug.txt`. Darin
stehen alle verbundenen Peripherien, Methoden, Frogport-Adressen sowie abrufbare
Paket-, Inventar- und Stock-Ticker-Daten. Das Programm versendet keine Pakete und
veraendert keine Redstone-Ausgaenge.
### Erster Logistik-Funktionstest
Nach erfolgreicher Erkennung kann der Monitor-Testcontroller installiert werden:
```lua
delete create_factory_test.lua
wget https://git.peli-server.de/Dystroyer8/ATM10_CC_Codes/raw/branch/main/create_factory_test.lua create_factory_test.lua
create_factory_test
```
Der Controller zeigt automatisch alle Items des Stock-Ticker-Netzes auf
durchblaetterbaren Lagerseiten und bietet doppelt zu bestaetigende
Testbestellungen fuer `crushing`, `saw:1` und `saw:2`. Pro Verarbeitungslinie
bleibt nur ein Auftrag aktiv, bis sein Ergebnis im Lager erkannt wurde. Er
steuert noch keine Clutches oder sonstigen Redstone-Ausgaenge.
Als erster generischer Fan-Prozess ist `fan:washing` enthalten. Der Testauftrag
verarbeitet 64 vereinheitlichte Zinc Clumps zu mindestens 576 Zinc Nuggets; das
zufaellige Gunpowder-Nebenprodukt erscheint automatisch in der Lagerliste.
## 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 geschaltete Produktionsanlage. Die beiden Vaults muessen
jeweils direkt ueber einen aktivierten Wired Modem Full Block als Inventory-Peripheral mit dem
Computer verbunden sein. Der Redstone-Ausgang `left` steuert die Clutch ueber einen Fail-safe-Inverter:
Redstone `ON` schaltet die Fackel aus und gibt die Welle frei; bei Redstone `OFF`, Programmabbruch
oder Computer-Ausfall stoppt die Fackel die Welle.
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 oder fehlende Vault-Daten schalten die
Produktionsanlage ab; nach Behebung wird eine weiterhin freigegebene Anlage automatisch
fortgesetzt. Globale RPM-, Kapazitaets- und Stresswerte gehoeren in den spaeteren Create-
Serverraum, da ein Stressometer immer das gesamte zusammenhaengende kinetische Netzwerk misst.
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.