FIVE TWELVE FLASHLIGHT — MAC 1.2.0
Evaluation build • macOS 13 Ventura or later

Choose Apple-Silicon for a Mac with an Apple M-series chip, or Intel for an Intel Mac. Apple menu > About This Mac shows which you have.

Extract the ZIP in Finder, then drag Five Twelve Flashlight.app into Applications. The runtime and USB library are included; no Python, Node, or terminal commands are needed to use the app.

This evaluation build has an ad-hoc signature only. It is NOT Developer ID signed or notarized. macOS may block it. Follow Apple's guidance for opening a trusted evaluation app: https://support.apple.com/102445 . If macOS reports the app damaged, stop and send that exact message to the developer. Do not disable system security settings.

UPDATING FROM 1.1
Quit the old app first, extract this ZIP, and replace the app in Applications. This update does not alter the firmware or erase settings stored in the flashlight.

NEW IN 1.2
Type or paste the DMX address and press Enter to save. Battery calibration also accepts keyboard entry and Enter. Intensity and CCT have numeric fields alongside the sliders. During a test, valid edits update the output; clearing a field or entering an invalid value stops the local test. Press Start test to resume after correcting it. USB port names can be typed or selected from suggestions; leave blank for auto detection. On-screen keypads remain available under expandable headings.

The Five Twelve logo appears in the header and app icon. Fisherman is used only for display headings, with readable system text for settings and cream, teal, and coral accents from the logo.

GET CONNECTED
1. Connect one powered flashlight with a USB data cable.
2. Close the Arduino Serial Monitor or any other programmer using that USB port.
3. Open the app. Leave Auto detect selected and press Connect.
4. If needed, press Refresh and select the flashlight's /dev/cu.usbmodem... port.
5. Confirm the displayed flashlight identity before saving settings.

CONTROLS
Address: 1–511, reserving two DMX channels (intensity and CCT).
CRMX: shows pairing, radio activity, DMX reception and reported packet delivery quality. This is not an RSSI measurement. Unlink asks for confirmation. Start new linking at the CRMX transmitter.
Battery: displays calibrated voltage, not an estimated battery percentage. Calibration takes a measured battery voltage in millivolts, from 8000 to 13000 mV.
Local test: intensity and CCT, with a short firmware lease. Stop, changing pages, minimizing or quitting releases the test; USB loss allows the firmware lease to expire.
Device: tail-switch mode and battery calibration/reset.
Demo: select Demo, then Connect. Its banner stays visible. All changes are simulated until you turn Demo off and connect the real flashlight.

If a command times out, reconnect and check the current saved setting before retrying. A lost acknowledgment does not prove that a write failed.

VALIDATION STATUS
Six automated test groups passed, including communication with the actual XIAO firmware compiled with simulated hardware. The .app bundles contain the Mac runtime and native USB library. Keyboard controls and layout were also checked in headless Chromium with the production controller in Demo mode. Mac launch, real USB, sleep/wake, disconnect behavior, and Apple signature validation still require testing on a Mac. This is an evaluation handoff, not a fully validated customer release.

Before general client distribution, the developer must test the physical device on both supported Mac architectures, then rebuild with Developer ID signing and Apple notarization. No firmware update is included or performed by this app.
