Matrix OS Developer Documentation

website·Indexed 32 days ago

https://matrix.203.io

Developer documentation for Matrix OS, featuring the Application C++ API. Includes references for UI components like UIButton, utility classes such as MidiPort, and core types including Point, Color, Dimension, and MidiPacket. Covers versions 3.0, 3.1, 3.2, and 4.0.

Tokens
276.9K
Snippets
1.6K
Records
2.5K
Agent score
50%

What's inside Matrix OS

  1. Overview of Non-Volatile Storage (NVS) API

    The Non-Volatile Storage (NVS) API allows developers to store and retrieve variables in the device's non-volatile memory, making it suitable for configuration settings, calibration data, and other persistent variables. For most simple use cases, it is recommended to use the SavedVar macro instead of the NVS API directly. Direct use of the NVS API is preferred when storing large amounts of data (e.g., full configuration layouts) to avoid frequent small writes.
  2. Overview of the UIComponent base class

    The UIComponent class serves as the base class for building UI elements in Matrix OS 3.2. It provides the core interface for rendering, event handling, and state management. Developers should not instantiate UIComponent directly; instead, they should use existing components that inherit from it (such as UIButton) or create custom components by inheriting from UIComponent.
  3. Overview of the Matrix OS Python REPL

    The Python app for Matrix OS 3.2 provides an interactive Python REPL (Read-Eval-Print Loop) environment using the PikaPython interpreter. It allows developers to write and execute code in real-time to control LEDs, read keypad input, send MIDI, and use HID functions. Variables and functions remain in memory throughout the session.
  4. Overview of the Timer class in Matrix OS

    The Timer class provides utilities for tracking time intervals and managing event-driven timing mechanisms with millisecond accuracy. It is a software timer; for higher precision or interrupt-driven timing, use FreeRTOS timers or device-specific hardware timers. The header is located at os/framework/Timer.h.
  5. Overview of the Matrix OS UI Framework

    The UI framework for Matrix OS 2.6 provides a set of classes and utilities to create interactive graphical user interfaces (GUIs). It supports layered rendering, customizable update rates, and an event-driven design for handling key events. The framework manages the rendering and interaction of modular UI components, and includes pre-made utilities such as color pickers and number selectors.
  6. Overview of Matrix OS MIDI System

    The Matrix OS MIDI system allows developers to send and receive MIDI messages, including System Exclusive (SysEx) messages, across registered MIDI ports or multiple ports simultaneously. It also supports the creation of virtual ports on a thread for inter-application communication. The API is defined in os/MatrixOS.h and implemented in os/system/MIDI.cpp.
  7. Overview of Matrix OS MIDI System

    The Matrix OS MIDI system allows applications to send and receive MIDI messages, including System Exclusive (SysEx) messages, across registered MIDI ports or multiple ports simultaneously. It also supports the creation of virtual ports on a thread for inter-application communication. The API is defined in OS/MatrixOS.h and implemented in OS/MIDI/MIDI.cpp.
  8. Overview of the Matrix OS UI Framework

    The UI framework for Matrix OS 3.0 provides a set of classes and utilities to create interactive graphical user interfaces (GUIs). It supports layered rendering, custom key event handling, and a modular setup using function hooks. The framework manages the rendering and interaction of added UI components. Header: os/ui/UI.h, Implementation: os/ui/UI.cpp.
  9. Overview of Matrix OS HID API

    The HID namespace provides APIs for controlling Human Interface Device (HID) peripherals such as keyboards, mice, and gamepads, as well as Raw HID communication.

    Key characteristics:

    • USB Only: Only USB HID is supported; Bluetooth HID is not supported.
    • Simplified Routing: Unlike the MIDI system, the HID system does not require port management. Input from all source devices is mixed into a single stream, and outbound messages are sent to all endpoints.
    • Header: The API is defined in os/MatrixOS.h.
  10. Overview of Companion View in Matrix OS

    The Companion App in Matrix OS 2.6 allows users to connect with Bitfocus Companion to enable advanced control over various devices. Integration with Mystrix has been supported since Bitfocus Companion version 3.4.0.