# 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.2 nutzt einen gemeinsamen Metall-Planner fuer Asurine -> Zinc und Crimsite -> Iron. Im AUTO-Modus haelt der erste Keep-Stock-Regler kleine Cogwheels, grosse Cogwheels und Iron Nuggets auf jeweils 64 Stueck. Mixer-, Casing- und Precision-Rezepte sind ueber blätterbare Rezeptseiten erreichbar. Seit V1.3 erzeugt der Scheduler fehlende Zwischenprodukte als persistente Vorauftraege. Beispielsweise wartet ein Andesite-Casing-Auftrag automatisch auf fehlendes Andesite Alloy. `presse:1` bis `presse:6` bilden einen gemeinsamen Pool fuer Gold-, Iron-, Copper-, Brass-, Zinc- und Steel-Plates. Precision Mechanisms verwenden in ATM10 `alltheores:gold_plate`. Ihre lokalen Deployer-, Chute- und Vault-Puffer werden durch Factory Gauges versorgt; der globale Keep-Stock fuellt verbrauchte Cogwheels und Iron Nuggets parallel wieder auf. V1.3.2 synchronisiert Vorauftrag und Hauptauftrag explizit: Das erzeugte Material wird erst freigegeben, nachdem der Vorauftrag seine Ankunft registriert hat. So kann ein nachfolgender Auftrag den neuen Bestand nicht mehr im selben Tick wegnehmen und dadurch einen falschen Retry oder Fehler ausloesen. V1.4 bindet die Advanced-Peripherals-ME-Bridge als geschuetzten Fallback ein. Vorhandener Create-Bestand und Create-eigene Produktionsketten haben weiterhin Vorrang. Nur externe, im Create-Netz fehlende Rohstoffe werden in exakt der fehlenden Menge aus dem ME in `sophisticatedstorage:chest_0` exportiert. Diese erste Stufe startet bewusst noch kein ME-Autocrafting. V1.5 ergaenzt Ore-/Tag-Substitution fuer vereinheitlichte Materialien. Ingots, Nuggets, Plates, Dusts, Gears, Rods und Clumps werden ueber ihre gemeinsamen `c:`-Tags erkannt. Dadurch sind beispielsweise `create:brass_ingot` und `alltheores:brass_ingot` fuer Lagerzaehlung, Create-Versand und ME-Export gleichwertig. Eindeutige Create-Bauteile verwenden weiterhin exakte IDs. ## 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.