Skip to content

Add San Morse 1.0#1083

Open
sanjorgek wants to merge 1 commit into
flipperdevices:mainfrom
sanjorgek:san_morse_1.0
Open

Add San Morse 1.0#1083
sanjorgek wants to merge 1 commit into
flipperdevices:mainfrom
sanjorgek:san_morse_1.0

Conversation

@sanjorgek

Copy link
Copy Markdown

Application Submission

San Morse 1.0 — a Morse code trainer designed for learning while you write, instead of requiring you to know the codes beforehand.

  • Interactive Morse decision tree on screen; the OK button works as a telegraph key (quick release = dot, hold = dash), with pause-based letter commit and a visible countdown. Numbers and signs live on level 5 of the tree, with automatic zoom.
  • Text to Morse: type a text and play it back with sound, LED and vibration, highlighting the current character/symbol, with live adjustable speed.
  • English / Spanish interface.
  • Persistent settings: language, volume, tone, vibration, LED, WPM speed and key timings.

Source: https://github.com/sanjorgek/san-morse-flipper

Extra Requirements

None — uses only the built-in speaker, LED, vibration and SD card (settings file).

Author Checklist (Fill this out)

  • I've read the contribution guidelines and my PR follows them
  • I own the code I'm submitting or have code owner's permission to submit it
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have validated the manifest file(s) with python3 tools/bundle.py --nolint applications/CATEGORY/APPID/manifest.yml bundle.zip

AI usage disclosure (Fill this out):

  • Partially AI assisted (clarify below which code was AI assisted and briefly explain what it does).

  • Fully AI generated (explain what all the generated code does in moderate detail).

  • The app was written with Claude Code under my direction and tested on real hardware (Flipper Zero, official firmware 1.4.3). The code consists of: a Morse lookup table and the dichotomic tree stored as a binary-heap array (morse.c); a custom View that renders the tree with windowed zoom and handles OK press/release timing as a telegraph key, with a 50 ms timer for pause-based letter/space commit (san_morse.c); a playback worker thread that converts text to dot/dash timings (PARIS standard) and drives speaker/LED/vibration (player.c); persistent settings stored as a versioned blob on the SD card (settings.c); and a static string table for the English/Spanish UI (i18n.c). The manifest was validated with tools/bundle.py including the full lint/build step.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant