Contact nicknames: TouchPrefsStore nick blob (48 x 38 B), display-only lookups (contactShownName, threadShownName, senderShownName), Contact options > Nickname on the shared text prompt (an empty OK clears it). Control panel restyled in the launcher's tile language, with a Battery saver tile; keyboard tooltips (navSetTip), an amber cursor and touch long-press tooltips (the T-Deck touch read hid them on every poll). T-LoRa Pager: M/C/A/S on Home, H/S tap and hold, Backspace = Back, N = jump to new, held Enter = long press, per-tab focus memory, Power off confirm; LVGL -O2 and IRAM, INT-gated keyboard, idle yield, status-bar setter guards, instant tabs; PagerGps (u-blox software standby for rests, GPS rail cut when off), panel sleep, amp off at boot, power-off parks the radio (NSS held), GPS, panel and keyboard light. Fixes: the DM duplicate check keys on the attempt and a path reset clears it, the direct timeout masks the packed path byte, web remote hops (#636); changelog over http (#638); Lua SDK send budgets and duplicate guard (#606); GPS speed note (#613, CAP_GPS_BAUD_AUTO); emoji chat icon (#640); default wallpaper (#626). Heltec V4: Tetris, 2048 and Breakout unseeded and the built-in Lua stripped of comments (identical bytecode), 27 KB freed; the baked language table is pinned to beta_92's files (scripts/build/lang-pin-beta92) so it still fits. Translations: 39 new keys in 14 languages, language store v24. Site: theme, dark mode, aurora and guide refresh, SDK send limits, nicknames. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
102 lines
3.7 KiB
JSON
102 lines
3.7 KiB
JSON
{
|
|
"apps": [
|
|
{
|
|
"id": "monitor",
|
|
"name": "RF Monitor",
|
|
"ver": "1.3",
|
|
"desc": "Scrollable: RSSI/noise chart with dBm axis, link margin, RX rate, radio params, heard feed."
|
|
},
|
|
{
|
|
"id": "airtime",
|
|
"name": "Airtime",
|
|
"ver": "1.5",
|
|
"desc": "Utilization bars with a % axis, rx/tx split, duty ceiling, budget. Reset button top-right. Keeps a Home widget with the channel load while it runs."
|
|
},
|
|
{
|
|
"id": "snake",
|
|
"name": "Snake",
|
|
"ver": "1.0",
|
|
"desc": "The classic, in Lua. Swipe to steer."
|
|
},
|
|
{
|
|
"id": "tetris",
|
|
"name": "Tetris",
|
|
"ver": "1.0",
|
|
"desc": "The classic falling-block puzzle. Swipe left/right to move, up to rotate, down to hard-drop. Contributed by samuelcoustet.",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "protreck",
|
|
"name": "ProTreck",
|
|
"ver": "1.0",
|
|
"desc": "Outdoor watch: sunrise/sunset + moon phase (ASTRO), chronometer with laps (CHRONO), countdown timer with alarm (TIMER), altimeter with trend graph (ALTI). Swipe left/right to switch modes. Contributed by samuelcoustet.",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "sdktest",
|
|
"name": "SDK Test",
|
|
"ver": "1.7",
|
|
"desc": "Developer tool. Checks the extended Lua SDK on this board: capabilities, clock, battery, GPS, private file access, audio API, read-only SD listing, crypto against published RFC vectors, channel discovery, and buttons that TRANSMIT test messages.",
|
|
"requires": "sdk_ext"
|
|
},
|
|
{
|
|
"id": "2048",
|
|
"name": "2048",
|
|
"ver": "1.2",
|
|
"desc": "The classic sliding-tile puzzle. Swipe to move, tap to restart. Keeps your best score. Contributed by pisti87.",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "wardrive",
|
|
"name": "Wardrive",
|
|
"ver": "1.2",
|
|
"desc": "LoRa coverage survey. Probes every 20s and logs each reply with GPS position, altitude and BOTH link directions (how well you heard them, how well they heard you) to a CSV, then plots the run back on the map so you can check coverage before driving it again. Reference app for wada.mesh.discover.",
|
|
"requires": "sdk_ext"
|
|
},
|
|
{
|
|
"id": "nearby",
|
|
"name": "Nearby",
|
|
"ver": "1.0",
|
|
"desc": "Your contacts on a real map, sorted by distance, with bearing and a live frame counter. Reference app for wada.map, wada.ui.list, wada.geo and app.on_packet.",
|
|
"requires": "sdk_ext"
|
|
},
|
|
{
|
|
"id": "gpscompass",
|
|
"name": "GPS Compass",
|
|
"ver": "1.0",
|
|
"desc": "Compass rose: magnetometer or GPS course, live fix, bearing to contacts",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "sdscan",
|
|
"name": "SD Scan",
|
|
"ver": "1.1",
|
|
"desc": "Finds and removes Windows malware on the SD card, like the M9 worm.",
|
|
"requires": "sd",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "tripodometer",
|
|
"name": "Trip Odometer",
|
|
"ver": "1.0",
|
|
"desc": "GPS trip computer: distance, time, speed, altitude. Start/Stop to track, Reset to clear. Saves your trip across restarts. Contributed by samuelcoustet.",
|
|
"requires": "gps",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "breakout",
|
|
"name": "Breakout",
|
|
"ver": "1.0",
|
|
"desc": "Classic brick-breaker. Swipe left/right to move the paddle, swipe up to launch the ball. Clear all bricks to advance levels. Contributed by samuelcoustet.",
|
|
"seed": false
|
|
},
|
|
{
|
|
"id": "ping",
|
|
"name": "Ping",
|
|
"ver": "1.0",
|
|
"desc": "Send a mesh DM ping to any contact and measure round-trip time. Includes your GPS position so both sides see distance and bearing. Auto-replies to incoming pings. Contributed by samuelcoustet.",
|
|
"requires": "sdk_ext"
|
|
}
|
|
]
|
|
}
|