#Power Distribution Large LED Control Script v1 # by SemlerPDX Sept2023 #As seen in my Power Station Quick Clip video: # https://youtu.be/s45vYXD6dSI define CableAnalyzer 1036015121 define Button 491845673 define MediumLED -53151617 define LargeLED -1949054743 sb LargeLED Mode 2 sb LargeLED Color 6 alias ThisBut r10 alias ThisMax r11 alias ThisLED r12 alias AvgTotal r13 alias AvgCount r14 alias x r15 define ThisNet HASH("Cable Analyzer MAIN OUT") #Clear the stack move sp 0 define STACK 500 push 0 brlt sp STACK -1 #can use clr in latest version #Initialize Stack to contain Averages move sp 0 move AvgTotal 0 move AvgCount 0 start: sb MediumLED Color 6 #REQUIRED! move ThisLED HASH("LED Total Power Min") lbn r0 LargeLED ThisLED Setting Maximum beqzal r0 setMinDisplay yield move ThisLED HASH("LED Total Power Avg") add sp sp 1 pop x sub AvgTotal AvgTotal x lbn x CableAnalyzer ThisNet PowerActual Maximum push x add AvgTotal AvgTotal x max AvgCount AvgCount sp brlt sp STACK 2 move sp 0 div x AvgTotal AvgCount sbn LargeLED ThisLED Setting x jal setDisplaysMinMax j start setDisplaysMinMax: move ThisBut HASH("Button Total Power Max") move ThisLED HASH("LED Total Power Max") lbn r1 Button ThisBut Setting Maximum bgtz r1 resetThisDisplay move ThisMax HASH("LED Power Station Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 0 r1 move ThisMax HASH("LED Greenhouse Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 r0 r1 move ThisMax HASH("LED Workshop Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 r0 r1 move ThisMax HASH("LED Mining Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 r0 r1 move ThisMax HASH("LED Furnace Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 r0 r1 move ThisMax HASH("LED Spaceport Max") lbn r1 MediumLED ThisMax Setting Maximum add r0 r0 r1 lbn r1 LargeLED ThisLED Setting Maximum bge r1 r0 setDisplaysMin #bypass if max is greater #Set new Maximum to Power Consumption Display sbn LargeLED ThisLED Setting r0 setDisplaysMin: move ThisBut HASH("Button Total Power Min") move ThisLED HASH("LED Total Power Min") lbn r1 Button ThisBut Setting Maximum bgtz r1 resetThisDisplay lbn r0 CableAnalyzer ThisNet PowerActual Maximum lbn r1 LargeLED ThisLED Setting Maximum select r1 r1 r1 r0 ble r1 r0 ra #bypass if min is already lesser #Set new Minimum to Power Consumption Display sbn LargeLED ThisLED Setting r0 j ra resetThisDisplay: sbn LargeLED ThisLED Color 1 sbn LargeLED ThisLED Setting 0 sleep 2 j start setMinDisplay: lbn r0 CableAnalyzer ThisNet PowerActual Maximum sbn LargeLED ThisLED Setting r0 j ra