forked from iarv/contact
Compare commits
8 Commits
fix-startu
...
reinitiali
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
088d13c88b | ||
|
|
c83ccea4ef | ||
|
|
d7f0bee54c | ||
|
|
fb60773ae6 | ||
|
|
47ab0a5b9a | ||
|
|
989c3cf44e | ||
|
|
71aeae4f92 | ||
|
|
34cd21b323 |
11
main.py
11
main.py
@@ -3,7 +3,7 @@
|
|||||||
'''
|
'''
|
||||||
Contact - A Console UI for Meshtastic by http://github.com/pdxlocations
|
Contact - A Console UI for Meshtastic by http://github.com/pdxlocations
|
||||||
Powered by Meshtastic.org
|
Powered by Meshtastic.org
|
||||||
V 1.2.0
|
V 1.2.1
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import curses
|
import curses
|
||||||
@@ -17,7 +17,9 @@ from utilities.arg_parser import setup_parser
|
|||||||
from utilities.interfaces import initialize_interface
|
from utilities.interfaces import initialize_interface
|
||||||
from message_handlers.rx_handler import on_receive
|
from message_handlers.rx_handler import on_receive
|
||||||
from ui.curses_ui import main_ui, draw_splash
|
from ui.curses_ui import main_ui, draw_splash
|
||||||
|
from input_handlers import get_list_input
|
||||||
from utilities.utils import get_channels, get_node_list, get_nodeNum
|
from utilities.utils import get_channels, get_node_list, get_nodeNum
|
||||||
|
from settings import set_region
|
||||||
from db_handler import init_nodedb, load_messages_from_db
|
from db_handler import init_nodedb, load_messages_from_db
|
||||||
import default_config as config
|
import default_config as config
|
||||||
import globals
|
import globals
|
||||||
@@ -50,6 +52,12 @@ def main(stdscr):
|
|||||||
logging.info("Initializing interface %s", args)
|
logging.info("Initializing interface %s", args)
|
||||||
with globals.lock:
|
with globals.lock:
|
||||||
globals.interface = initialize_interface(args)
|
globals.interface = initialize_interface(args)
|
||||||
|
if globals.interface.localNode.localConfig.lora.region == 0:
|
||||||
|
confirmation = get_list_input("Your region is UNSET. Set it now?", "Yes", ["Yes", "No"])
|
||||||
|
if confirmation == "Yes":
|
||||||
|
set_region()
|
||||||
|
globals.interface.close()
|
||||||
|
globals.interface = initialize_interface(args)
|
||||||
logging.info("Interface initialized")
|
logging.info("Interface initialized")
|
||||||
globals.myNodeNum = get_nodeNum()
|
globals.myNodeNum = get_nodeNum()
|
||||||
globals.channel_list = get_channels()
|
globals.channel_list = get_channels()
|
||||||
@@ -58,6 +66,7 @@ def main(stdscr):
|
|||||||
init_nodedb()
|
init_nodedb()
|
||||||
load_messages_from_db()
|
load_messages_from_db()
|
||||||
logging.info("Starting main UI")
|
logging.info("Starting main UI")
|
||||||
|
|
||||||
main_ui(stdscr)
|
main_ui(stdscr)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error("An error occurred: %s", e)
|
logging.error("An error occurred: %s", e)
|
||||||
|
|||||||
20
settings.py
20
settings.py
@@ -9,6 +9,7 @@ from ui.menus import generate_menu_from_protobuf
|
|||||||
from ui.colors import setup_colors, get_color
|
from ui.colors import setup_colors, get_color
|
||||||
from utilities.arg_parser import setup_parser
|
from utilities.arg_parser import setup_parser
|
||||||
from utilities.interfaces import initialize_interface
|
from utilities.interfaces import initialize_interface
|
||||||
|
from ui.dialog import dialog
|
||||||
from user_config import json_editor
|
from user_config import json_editor
|
||||||
import globals
|
import globals
|
||||||
|
|
||||||
@@ -348,6 +349,25 @@ def settings_menu(stdscr, interface):
|
|||||||
menu_win.refresh()
|
menu_win.refresh()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
def set_region():
|
||||||
|
node = globals.interface.getNode('^local')
|
||||||
|
device_config = node.localConfig
|
||||||
|
lora_descriptor = device_config.lora.DESCRIPTOR
|
||||||
|
|
||||||
|
# Get the enum mapping of region names to their numerical values
|
||||||
|
region_enum = lora_descriptor.fields_by_name["region"].enum_type
|
||||||
|
region_name_to_number = {v.name: v.number for v in region_enum.values}
|
||||||
|
|
||||||
|
regions = list(region_name_to_number.keys())
|
||||||
|
|
||||||
|
new_region_name = get_list_input('Select your region:', 'UNSET', regions)
|
||||||
|
|
||||||
|
# Convert region name to corresponding enum number
|
||||||
|
new_region_number = region_name_to_number.get(new_region_name, 0) # Default to 0 if not found
|
||||||
|
|
||||||
|
node.localConfig.lora.region = new_region_number
|
||||||
|
node.writeConfig("lora")
|
||||||
|
|
||||||
|
|
||||||
def main(stdscr):
|
def main(stdscr):
|
||||||
logging.basicConfig( # Run `tail -f client.log` in another terminal to view live
|
logging.basicConfig( # Run `tail -f client.log` in another terminal to view live
|
||||||
|
|||||||
@@ -422,7 +422,7 @@ def draw_node_list():
|
|||||||
# nodes_pad = curses.newpad(1, 1)
|
# nodes_pad = curses.newpad(1, 1)
|
||||||
nodes_pad = curses.newpad(1, 1)
|
nodes_pad = curses.newpad(1, 1)
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
nodes_pad.erase()
|
nodes_pad.erase()
|
||||||
box_width = nodes_win.getmaxyx()[1]
|
box_width = nodes_win.getmaxyx()[1]
|
||||||
|
|||||||
Reference in New Issue
Block a user