Skip to content

MIDIRX registration added to midi_send interface#343

Merged
SukuWc merged 16 commits intomainfrom
SUKU-midirx
Apr 28, 2026
Merged

MIDIRX registration added to midi_send interface#343
SukuWc merged 16 commits intomainfrom
SUKU-midirx

Conversation

@SukuWc
Copy link
Copy Markdown
Member

@SukuWc SukuWc commented Apr 21, 2026

Testing MIDIRX functionality

Testing RTM (sync) messages.

  • Set up the DAW to send midi tempo messages to Grid
  • Setup grid to listen to RTM messages
  • Start playback in DAW and exemine debug messages in Grid Edtior
self.rtmrx_cb = function(self, t)
  if t == 0xF8 then
    print("clock")
  else
    print("unknown")
  end
end

Expected messages:

[0,0] unknown (<--- this is the playback start message)
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock
[0,0] clock

Typical RTM values sent by MIDI devices:
0xFA=Start, 0xFB=Continue, 0xFC=Stop, 0xF8=Clock, 0xFE=Active Sensing, 0xFF=Reset.

Deprecated interfaces

Non functional legacy midirx_enabled and midirx_sync interface are now removed

Midi RX gating

Received midi channel voice, sysex and RTM messages can be gated separately to allow the user to only enable what is actually used.
By default midi channel voice messages are allowed to be transported and handled by midirx_cb, all other types are disabled by default.

grxm(rx_type, mode_bm) --minified version available currently in editor
rx_mode(rx_type, mode_bm) --human version available in next exitor release

rx_type is an integer with valid values of 0: MIDIVOICE, 1: MIDISYSEX, 2: MIDIRTM
mode is a bitmap with the following valid combinations:

Decimal 0: Binary 0b00: don't forward from USB and don't handle in Lua CB
Decimal 1: Binary 0b01: don't forward from USB, but handle in Lua CB
Decimal 2: Binary 0b10: forward from USB but don't handle in Lua CB
Decimal 3: Binary 0b11: do forward from USB and handle in Lua CB

@Greg-Orca
Copy link
Copy Markdown
Contributor

Greg-Orca commented Apr 23, 2026

Ableton sends this when I put the playheads to other positions. This messages is the Playhead positions. One message is one playhead position
Screenshot 2026-04-23 at 15 40 44

@Greg-Orca
Copy link
Copy Markdown
Contributor

14bit midi, we need to check the msb value and use that for the led value and multiply it

Screenshot 2026-04-23 at 15 33 14 Screenshot 2026-04-23 at 15 32 52

@Greg-Orca Greg-Orca moved this from QA in progress to In Progress in Editor Roadmap Apr 27, 2026
@SukuWc
Copy link
Copy Markdown
Member Author

SukuWc commented Apr 27, 2026

event rx?

SukuWc and others added 4 commits April 28, 2026 08:34
- Move grxm() calls and decode result tables from grid_lua_start_vm into init.lua
- Add rx_type and rx_feat global tables as named constants for grxm() calls
- Add grid_hwcfg_module_has_lcd() and ghaslcd() Lua API
- Gate EVENTVIEW handling on ghaslcd() in init.lua
- Add rx mode gating to grid_decode_eventview_to_ui
- Zero-initialize rx_mode array with memset in grid_sys_init

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@SukuWc SukuWc merged commit a3cbe23 into main Apr 28, 2026
7 checks passed
@github-project-automation github-project-automation Bot moved this from Todo to Done in Firmware Roadmap Apr 28, 2026
@Greg-Orca Greg-Orca moved this from In Progress to Done in Editor Roadmap Apr 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done
Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants