Skip to content

Commit b50ec36

Browse files
authored
Merge pull request #114 from squazaryu/fix/issue-105-tumospectrum-compare-button
fix(signals): expose TumoSpectrum comparison action
2 parents 2f792fa + fb6146e commit b50ec36

7 files changed

Lines changed: 25 additions & 16 deletions

File tree

ReadMe.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ you find a tumoflip-specific issue, report it in this repository:
2525
## Current Build
2626

2727
- Base: Unleashed 089 with selected upstream dev updates
28-
- Firmware version: `t-dev-089-037-051`
28+
- Firmware version: `t-dev-089-037-052`
2929
- Firmware origin/fork: `tumoflip`
3030
- Firmware API: `88.0`
3131
- Target: Flipper Zero F7
3232
- Release channel: `dev experimental line`
33-
- Release package: `flipper-z-f7-update-t-dev-089-037-051.tgz`
33+
- Release package: `flipper-z-f7-update-t-dev-089-037-052.tgz`
3434
- Flash profile: JS Runner / MJS runtime excluded to preserve internal flash headroom.
3535

3636
API `88.0` is a deliberate breaking migration. External FAP/FAL binaries built
@@ -56,7 +56,7 @@ t-dev-<unleashed>-<build>-<iteration>
5656
- `t-dev`: Tumoflip development build prefix for unstable builds.
5757
- `089`: upstream Unleashed base version.
5858
- `037`: tumoflip internal build version.
59-
- `051`: development iteration inside the tumoflip internal build version.
59+
- `052`: development iteration inside the tumoflip internal build version.
6060

6161
`main` should only receive builds that are stable enough to publish as tagged
6262
releases. Active firmware work lands on `dev` first. When the Unleashed base
@@ -96,7 +96,7 @@ The four-page post-update splash screen is generated automatically from
9696
## tumoflip Changes
9797

9898
- Rebranded firmware origin to `tumoflip` and distribution/version suffix to
99-
`t-dev-089-037-051`.
99+
`t-dev-089-037-052`.
100100
- Added custom Desktop main menu styles inspired by Momentum-style layouts.
101101
- Added `RX Mode: AUTO/DUAL` and a direct Read-screen toggle to the system
102102
Sub-GHz app. With an external CC1101 connected, both radios decode
@@ -195,7 +195,7 @@ identity.
195195

196196
| Area | Unleashed | tumoflip |
197197
| --- | --- | --- |
198-
| Firmware identity | Reports itself as Unleashed. | Reports `firmware_version: t-dev-089-037-051` and `firmware_origin_fork: tumoflip`. |
198+
| Firmware identity | Reports itself as Unleashed. | Reports `firmware_version: t-dev-089-037-052` and `firmware_origin_fork: tumoflip`. |
199199
| Desktop layouts | Uses the default Unleashed Desktop style set. | Adds custom main menu styles, including Wii, DSi, Vertical, and Wii Vertical variants. |
200200
| Dummy Mode | Included and reachable from Desktop shortcuts. | Removed from firmware and removed from shortcuts. |
201201
| Short-Up quick menu | Includes the standard quick actions, including Dummy Mode in the original layout. | Replaces the removed Dummy Mode shortcut with Settings. |
@@ -208,7 +208,7 @@ identity.
208208
| Sub-GHz hopping | Frequency hopping only. | Adds preset and combined hopping plus an adaptive scan dwell, signal hold, post-signal grace period, and bounded hold time to system Sub-GHz. |
209209
| NFC additions | Uses the Unleashed 089 NFC feature set. | Shows captured MIFARE Ultralight/NTAG PWD and PACK and adds the Bambu Lab filament spool parser. |
210210
| User apps | External/local apps are not part of the base repository. | Vendors selected local apps into `applications_user` so the firmware builds reproducibly. |
211-
| Build metadata | Uses upstream build metadata conventions. | Uses `t-dev-089-037-051` for the installed firmware version and release artifact suffix, while keeping `tumoflip` as the fork origin. |
211+
| Build metadata | Uses upstream build metadata conventions. | Uses `t-dev-089-037-052` for the installed firmware version and release artifact suffix, while keeping `tumoflip` as the fork origin. |
212212

213213
## Notes on Custom UI
214214

@@ -393,7 +393,7 @@ Stable `main` update packages and `dev` prereleases are published on
393393
[GitHub Releases](https://github.com/squazaryu/tumoflip/releases). The currently
394394
selected branch build uses this artifact name:
395395

396-
- `flipper-z-f7-update-t-dev-089-037-051.tgz`
396+
- `flipper-z-f7-update-t-dev-089-037-052.tgz`
397397

398398
Before flashing, make a backup of important data:
399399

@@ -415,7 +415,7 @@ python3 tools/tumoflip/validate_release.py --write-manifest
415415
The update package is produced under:
416416

417417
```text
418-
dist/f7-C/flipper-z-f7-update-t-dev-089-037-051.tgz
418+
dist/f7-C/flipper-z-f7-update-t-dev-089-037-052.tgz
419419
```
420420

421421
## Upstream

applications_user/signal_workbench/application.fam

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ App(
1212
fap_icon_assets="icons",
1313
fap_category="Module One/Signals",
1414
fap_dist_path="apps/Module One/Signals/signal_workbench.fap",
15-
fap_version="1.0.1",
15+
fap_version="1.0.2",
1616
fap_author="squazaryu/tumoflip",
1717
fap_weburl="https://github.com/squazaryu/tumoflip",
1818
fap_description="Read-only signal research workspace with strict Sub-GHz, Infrared and TumoScope parsers, timing analysis, comparison, notebook reports and Companion visualization.",

applications_user/signal_workbench/signal_workbench.c

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ static void tumospectrum_draw_comparison(Canvas* canvas, const TumoSpectrumApp*
208208
canvas_set_font(canvas, FontSecondary);
209209
if(!app->comparison.compatible) {
210210
canvas_draw_str(canvas, 2, 29, "No compatible comparison");
211-
canvas_draw_str(canvas, 2, 41, "Actions > Compare capture");
211+
canvas_draw_str(canvas, 2, 41, "Select second RAW");
212212
return;
213213
}
214214
snprintf(
@@ -258,16 +258,19 @@ static void tumospectrum_result_draw(Canvas* canvas, void* context) {
258258
tumospectrum_draw_comparison(canvas, app);
259259
}
260260

261+
const bool compare_page =
262+
tumospectrum_type_has_timings(capture->type) && model->page == 3U;
261263
elements_button_left(canvas, "Prev");
262264
elements_button_center(canvas, capture->status == TumoSpectrumStatusOk ? "Actions" : "Menu");
263-
elements_button_right(canvas, "Next");
265+
elements_button_right(canvas, compare_page ? "Compare" : "Next");
264266
}
265267

266268
static uint8_t tumospectrum_page_count(const TumoSpectrumCapture* capture) {
267-
return tumospectrum_type_has_timings(capture->type) ? 4U : 2U;
269+
return tumospectrum_type_has_timings(capture->type) ? 4U : 1U;
268270
}
269271

270272
static void tumospectrum_build_actions(TumoSpectrumApp* app);
273+
static void tumospectrum_compare_capture(TumoSpectrumApp* app);
271274

272275
static bool tumospectrum_result_input(InputEvent* event, void* context) {
273276
TumoSpectrumApp* app = context;
@@ -276,6 +279,10 @@ static bool tumospectrum_result_input(InputEvent* event, void* context) {
276279
if(event->key == InputKeyLeft) {
277280
app->result_page = app->result_page == 0U ? page_count - 1U : app->result_page - 1U;
278281
} else if(event->key == InputKeyRight) {
282+
if(tumospectrum_type_has_timings(app->capture.type) && app->result_page == 3U) {
283+
tumospectrum_compare_capture(app);
284+
return true;
285+
}
279286
app->result_page = (uint8_t)((app->result_page + 1U) % page_count);
280287
} else if(event->key == InputKeyOk) {
281288
if(app->capture.status == TumoSpectrumStatusOk) {

applications_user/signal_workbench/tumospectrum_types.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
#include <stddef.h>
55
#include <stdint.h>
66

7-
#define TUMOSPECTRUM_APP_VERSION "1.0.1"
7+
#define TUMOSPECTRUM_APP_VERSION "1.0.2"
88
#define TUMOSPECTRUM_PATH_SIZE 192U
99
#define TUMOSPECTRUM_LABEL_SIZE 48U
1010
#define TUMOSPECTRUM_NOTE_SIZE 96U
2 Bytes
Loading

fbt_options.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
# Suffix to add to files when building distribution
1818
# If OS environment has DIST_SUFFIX set, it will be used instead
19-
DIST_SUFFIX = "t-dev-089-037-051"
19+
DIST_SUFFIX = "t-dev-089-037-052"
2020

2121
# Post-update slideshow shown by the updater package
2222
UPDATE_SPLASH = "tumoflip_update"

tools/tumoflip/test_signal_workbench.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def setUpClass(cls) -> None:
3434
def test_app_migrates_in_place_without_duplicate_fap(self) -> None:
3535
self.assertIn('appid="signal_workbench"', self.manifest)
3636
self.assertIn('name="TumoSpectrum"', self.manifest)
37-
self.assertIn('fap_version="1.0.1"', self.manifest)
37+
self.assertIn('fap_version="1.0.2"', self.manifest)
3838
self.assertIn('fap_category="Module One/Signals"', self.manifest)
3939
self.assertIn(
4040
'fap_dist_path="apps/Module One/Signals/signal_workbench.fap"', self.manifest
@@ -81,7 +81,9 @@ def test_product_ui_uses_real_controls_and_stock_handoff(self) -> None:
8181
'"Send to Companion"',
8282
'elements_button_left(canvas, "Prev")',
8383
'elements_button_center(canvas, capture->status == TumoSpectrumStatusOk ? "Actions" : "Menu")',
84-
'elements_button_right(canvas, "Next")',
84+
'elements_button_right(canvas, compare_page ? "Compare" : "Next")',
85+
'tumospectrum_compare_capture(app);',
86+
'return tumospectrum_type_has_timings(capture->type) ? 4U : 1U;',
8587
"dialog_file_browser_show",
8688
"I_sub1_10px",
8789
"I_ir_10px",

0 commit comments

Comments
 (0)