Skip to main content

Device Testing

Community hardware testing is the practical path to supporting more MIDI controllers. Desktop and the CLI check both LED output and pad input, then write a small JSON report suitable for a GitHub issue.

Desktop Test​

  1. Disconnect Codex conversations and stop Demo/Show. Disconnect MIDI in Settings > Devices > MIDI controllers; leave the USB cable attached.
  2. Select the exact Profile, Input, and Output, and confirm those ports belong to your controller. Start Hardware test.
  3. Compare each light pattern with the preview and choose Matches or Does not match. Then press the requested action buttons and Scene selectors on the controller. Each input check has 15 seconds; Skip check records a failure.
  4. Export report saves JSON through the native file picker. Nothing is uploaded.

The Launchpad diagram locates the controls. All 21 checks must pass. Test presses never reach agents. Leaving the MIDI settings, losing the controller, connecting a conversation, or starting playback cancels the test and releases its ports. An unresponsive interface is cancelled after 30 seconds.

What the Report Contains​

The report includes only:

  • Pad-Lattice and profile versions;
  • profile ID and status;
  • MIDI input and output port names;
  • operating system, kernel release, and Python version;
  • yes/no visual checks;
  • action and selector input results.

It does not contain prompts, Codex session IDs, working directories, filesystem paths, model output, or free-form terminal content. Read the JSON before attaching it, as you should with any diagnostic artifact.

Launchpad Mk3 Profiles​

The bundled Mini Mk3 and Pro Mk3 profiles are experimental. Connect the device directly over USB, stop software that may own its MIDI ports, and inspect detection:

pad-lattice ports
pad-lattice devices
pad-lattice profile show novation/launchpad/mini-mk3
pad-lattice profile show novation/launchpad/pro-mk3

Run the test:

pad-lattice profile test novation/launchpad/mini-mk3 \
--report mini-mk3-report.json

The test enters Programmer mode, asks you to confirm the idle mark, seven steady state glyphs, and overflow warning, then requests each action and all eight agent selectors in turn. It clears the surface and returns the device to Live mode on exit, including most failure paths.

The Pro Mk3 mapping follows Novation's official Programmer's Reference Guide. It selects the device's MIDI interface, not its DAW or DIN interface. Run the same test with novation/launchpad/pro-mk3 and a pro-mk3-report.json output to validate the mapping on real hardware.

Use explicit ports if several names match:

pad-lattice profile test novation/launchpad/mini-mk3 \
--input "LPMiniMK3 MIDI" \
--output "LPMiniMK3 MIDI" \
--report mini-mk3-report.json

Test a Local Profile​

Validate and exercise an uninstalled JSON file:

pad-lattice profile validate ./my-controller.json
pad-lattice profile test \
--profile-file ./my-controller.json \
--report my-controller-report.json

Submit Results​

Open the repository's Device profile validation issue form. Attach the JSON report and state the exact controller model and firmware version. A screenshot or video is welcome but not required.

A complete passing physical report makes an experimental built-in profile eligible for supported status. A failed report is equally useful: include what you observed and retain the generated report so note, mode, or port matching can be corrected without guessing.

Safety​

  • Disconnect photosensitive lighting or other MIDI-controlled equipment from the selected output port.
  • Confirm the exact input and output when several devices are attached.
  • For the CLI test, stop Desktop, the daemon, or demo first; only one process can own a MIDI port.
  • Use Stop test in Desktop or Ctrl-C in the terminal. The test attempts profile shutdown and port closure before exiting.