| | ###### |
---|
| | # LEAVE THESE IMPORTS! |
---|
| | ###### |
---|
| | import functions |
---|
| | import random |
---|
| | from textual.widgets import Log |
---|
| | |
---|
| | ###### |
---|
| | # config values (you can edit these to fit your environment and use case) |
---|
| | ###### |
---|
| | |
---|
| | # Serial port settings |
---|
| | SERIAL_PORT = "/dev/ttyUSB0" |
---|
| | BAUD_RATE = 115200 |
---|
| | |
---|
| | LENGTH = 10 |
---|
| | REPEAT = 5 |
---|
| | DELAY = 100 |
---|
| | |
---|
| | ### |
---|
| | # ^ = pullup, v = pulldown |
---|
| | ### |
---|
| | triggers = [ |
---|
| | ["^", True], #0 |
---|
| | ["-", False], #1 |
---|
| | ["v", True], #2 |
---|
| | ["-", False], #3 |
---|
| | ["-", False], #4 |
---|
| | ["-", False], #5 |
---|
| | ["-", False], #6 |
---|
| | ["-", False], #7 |
---|
| | ] |
---|
| | |
---|
| | ### |
---|
| | # name, enabled, string to match in output, function to run |
---|
| | # if string is blank ("") doesnt show toggle, just run button |
---|
| | ### |
---|
| | conditions = [ |
---|
| | ["No01", False, "WillNeverMatch01", ""], |
---|
| | ["No02", False, "WillNeverMatch02", ""], |
---|
| | ["Heigh", False, "", "get_scroll_height"], |
---|
| | ["AllTg", False, "", "toggle_all"], |
---|
| | ["Trigr", False, "", "change_all_triggers"], |
---|
| | ["Value", False, "", "random_values"], |
---|
| | ['9600', False, '', 'change_baud_9600'], |
---|
| | ['11520', False, '', 'change_baud_115200'], |
---|
| | ] |
---|
| | |
---|
| | ###### |
---|
| | # Custom functions for conditions to trigger |
---|
| | ###### |
---|
| | |
---|
| | def get_scroll_height(): |
---|
| | if functions.app_instance: |
---|
| | text_widget = functions.app_instance.query_one(".scrollable_log", Log) # Find the scrollable text area |
---|
| | height = text_widget.scrollable_content_region.height # Get its height |
---|
| | # Ensure the text is a string and append it to the Log widget |
---|
| | random_number = random.randint(1, 100) |
---|
| | new_text = f"[CONDITION] Scrollable height: {height} and Random Number: {random_number}" |
---|
| | functions.add_text(new_text) |
---|
| | functions.log_message(new_text) # Log the value |
---|
| | else: |
---|
| | functions.log_message("App instance not set!") # Debugging in case it's called too early |
---|
| | |
---|
| | def toggle_all(): |
---|
| | TriggersStatus = functions.get_trigger_value(0) |
---|
| | if TriggersStatus is True: |
---|
| | for i in range(8): |
---|
| | functions.set_trigger_value(i, False) |
---|
| | for i in range( len(conditions) ): |
---|
| | functions.set_condition_value(i, False) |
---|
| | else: |
---|
| | for i in range(8): |
---|
| | functions.set_trigger_value(i, True) |
---|
| | for i in range( len(conditions) ): |
---|
| | functions.set_condition_value(i, True) |
---|
| | |
---|
| | def change_all_triggers(): |
---|
| | for i in range(8): |
---|
| | current_symbol = functions.get_trigger_string(i) |
---|
| | cycle = ["^", "v", "-"] |
---|
| | next_symbol = cycle[(cycle.index(current_symbol) + 1) % len(cycle)] |
---|
| | functions.set_trigger_string(i, next_symbol) |
---|
| | |
---|
| | def random_values(): |
---|
| | functions.glitching_switch(False) |
---|
| | |
---|
| | OrigLen = functions.get_config_value("length") |
---|
| | OrigRep = functions.get_config_value("repeat") |
---|
| | OrigDel = functions.get_config_value("delay") |
---|
| | |
---|
| | NewLen = random.randint(1, 100) |
---|
| | NewRep = random.randint(1, 100) |
---|
| | NewDel = random.randint(1, 100) |
---|
| | |
---|
| | functions.set_config_value("length", NewLen) |
---|
| | functions.set_config_value("repeat", NewRep) |
---|
| | functions.set_config_value("delay", NewDel) |
---|
| | |
---|
| | functions.add_text(f"[UPDATED] length ({OrigLen} -> {NewLen}), repeat ({OrigRep} -> {NewRep}), delay ({OrigDel} -> {NewDel})") |
---|
| | |
---|
| | def change_baud_9600(): |
---|
| | functions.change_baudrate(9600) |
---|
| | functions.set_uart_switch() |
---|
| | |
---|
| | def change_baud_115200(): |
---|
| | functions.change_baudrate(115200) |
---|
| | functions.set_uart_switch(False) |
---|
| | |