mirror of
https://github.com/torlando-tech/pyxis.git
synced 2026-08-15 07:09:50 +00:00
e7efdf68c040c51c98cb711908326d93a1a8c6d5
Boot was 48.5s end-to-end on this hardware: 92% of that was two synchronous waits — gps_sync (15s) and wifi_connect (30s). Both have async paths already (gps.encode is fed in loop(); the periodic status check sets up TCP when WL_CONNECTED appears post-boot), so blocking at boot wasn't actually load-bearing. Drop both waits to brief opportunistic checks (500ms / 1s) and let the main loop pick up async events. Three follow-on changes were needed to keep functionality: - Extract on_wifi_connected() (NTP + OTA + UDP logging setup) from setup_wifi so the post-boot WL_CONNECTED transition in loop() can run it. Idempotent via _wifi_post_connect_done. - Add periodic GPS-time-sync retry in loop() — every 30s while unsynced, attempt a fast (timeout=0) sync_time_from_gps. The cheap path returns immediately when TinyGPSPlus already holds a valid date+time. - Defer LVGL task start until AFTER setup_ui_manager. Previously the LVGL task started immediately after lv_init and refreshed its empty default screen on top of the boot splash, causing a visible flash to black before the first real UI frame painted. With the start moved to after the UIManager has built screens and configured the active one, the splash stays on-screen until the first real frame. Net: boot drops from ~48s to ~3-5s. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Pyxis
An LXMF and LXST client firmware for T-Deck, built on a highly modified fork of microReticulum
Very much WIP, don't expect stability :)
Features
Reticulum transport over:
- RNode-compatible LoRa
- AutoInterface (local wifi)
- TCP Client
- BLE Interface (barely working if at all)
Other features:
- GPS-synced time
- One really annoying beep when you get a new message (user toggle)
- View the announce stream
- Choose a propagation node (and sync with it) (fixed in v0.2.1)
- Set auto announce timer
- Light up keyboard (user toggle)
Will crash in about 5 minutes of normal use (sorry)I had 5d uptime on v0.2.0 with BLE disabled- Make LXST voice calls (codec2 only, quality sounds horrible coming out the other end in Columba, needs work)
Why "Pyxis"
Pyxis, latin for "compass," is a constellation in the southern sky depicting a mariner's compass. Small but essential, the compass ensures every message finds its destination - even when the path is uncertain.
Languages
C++
47.2%
C
41.4%
Python
9.8%
mupad
0.9%
JavaScript
0.6%