Stacked on #585 and merged after it, as the PR asks. Two conflicts, both from the stack base moving: apps.json: unioned by id, so all fourteen apps survive. harness.lua: the additive blocks came from #586. Where both sides edited the same code, #585's is newer and wins: its ping scenarios pass cfg.gps as a FUNCTION, which is what the harness calls (cfg.gps()); #586 still passed the table and would have failed. Taking #586 there would have broken ping. Then restored the two dispatch branches my first resolution dropped. The breakout and tripodometer scenarios existed but nothing ran them, so both apps silently fell through to the gpscompass scenarios and "failed". All five new apps pass their own scenarios, and so do gpscompass and sdscan.
96 lines
3.5 KiB
JSON
96 lines
3.5 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.4",
|
|
"desc": "Utilization bars with a % axis, rx/tx split, duty ceiling, budget. Reset button top-right."
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"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."
|
|
},
|
|
{
|
|
"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"
|
|
}
|
|
]
|
|
}
|