Updated micronec.py for possible ProgramChooser use

This commit is contained in:
BlueFox 2024-03-09 19:05:08 +00:00
parent 14bfd886ad
commit 40ddb2b7f2

View File

@ -32,18 +32,27 @@ COUNTER_NUMBER = 2 # how many counters do you want?
COUNTER_NAMES = ["Counter 1", "Counter 2"] # names of the counters (MUST contain names for all counters)
COUNTER_PINS = {0:2,1:3} # which pins to listen on (form {<COUNTER NUMBER STARTING FROM 0>:<GPIO PIN>}) (there MAY be doubles, you MAY not give pins for all counters)
# initialize the lcd display with GPIO pins 0 and 1 for data on i2c channel 0
_i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
lcd = I2C_LCD(_i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
# initialize the counter array (class managing all the counters)
counterArray = CounterArray(COUNTER_NUMBER, COUNTER_NAMES)
# initialize the welcome screen
ws = WelcomeScreen(lcd)
# initialize the counter screen (display counter values on lcd)
cs = CounterScreen(lcd, counterArray)
# Real program
ws.show_welcome(WELCOME_CYCLES) # show welcome/startup message
cs.show_screen() # DON'T REMOVE; show counter screen one time, may take up to 15s
counterArray.register_listener(COUNTER_PINS, cs.show_screen) # register the listeners on the given pins
# RUN micronec if it is the main program (not imported)
def run(): # for possible ProgramChooser use
# initialize the lcd display with GPIO pins 0 and 1 for data on i2c channel 0
_i2c = I2C(0, sda=Pin(0), scl=Pin(1), freq=400000)
lcd = I2C_LCD(_i2c, I2C_ADDR, I2C_NUM_ROWS, I2C_NUM_COLS)
# initialize the counter array (class managing all the counters)
counterArray = CounterArray(COUNTER_NUMBER, COUNTER_NAMES)
# initialize the welcome screen
ws = WelcomeScreen(lcd)
# initialize the counter screen (display counter values on lcd)
cs = CounterScreen(lcd, counterArray)
# Real program
ws.show_welcome(WELCOME_CYCLES) # show welcome/startup message
cs.show_screen() # DON'T REMOVE; show counter screen one time, may take up to 15s
counterArray.register_listener(COUNTER_PINS, cs.show_screen) # register the listeners on the given pins
while True:
pass
if __name__ == "__main__":
run()