Max For Live Not Patch не обновляет данные на дисплее Arduino

Недавно я работал над проектом с Arduino, где я в основном пытаюсь подключить небольшой дисплей к Arduino, чтобы обновить имя ручки с привязкой к MIDI в Ableton Live.

Например, предположим, что я привязываю ручку к посылу реверберации на дорожке, на дисплее должна отображаться A-Reverb. Это работает сегодня, но работает только тогда, когда я впервые открываю проект Ableton и впервые сопоставляю ручку. Не обновляется, когда я выбираю новый вариант.

Вот установка, которую я использую сейчас:

  • Arduino - с поворотным энкодером и OLED-дисплеем
  • Безволосый MIDI - для преобразования последовательного соединения от Arduino в MIDI CC # сообщения, которые Live может читать.
  • Ableton Live 11 с Max For Live 8. Именно здесь запускается патч.

Для Max Patch я использую версию Yehezkel Raz's One, которую я купил и позже модифицировал. Причина, по которой я упоминаю об этом, заключается в том, что в этом патче уже проработана часть обновления имени, поэтому теоретически я должен иметь возможность отправлять эти данные по последовательному каналу на Arduino.

Из уважения к работе Иехезкеля я не буду прикреплять снимок экрана всего патча, но приложу часть, которую я модифицировал для отправки данных на Arduino, вы можете увидеть это здесь.

Вот что я пробовал до сих пор:

  1. Подтверждено, что скорость передачи данных для Hairless MIDI, Arduino и Max Patch идентична.
  2. Попытка запустить Hairless MIDI только после запуска Ableton
  3. Попытка включить Arduino, не открывая Arduino IDE, чтобы не было последовательных конфликтов.

Вот что, я думаю, может быть проблемой, но я не знаю, как ее исправить:

  • Часть логики в моем коде Arduino полагается на то, что Serial.available() истинно, чтобы отправлять данные на экран. Я думаю, что, возможно, последовательное соединение доступно только вначале, когда ручка отображается.

Я знаю, что это было много информации, но если у кого-то есть идеи о том, как я могу заставить это работать, я был бы очень признателен!


person gml3ff    schedule 28.04.2021    source источник


Ответы (1)


Хорошо, я понял это сам; в основном то, что происходило, было то, что мой код ожидал перевода строки, чтобы обновить вывод на дисплее. Я понял, что могу отправить перевод строки через последовательное соединение, отправив значение 10, которое в основном завершит строку при ее отправке в Arduino.

Каждый раз, когда значение ручки обновляется, она запускает кнопку, которая отправляет значение 10 обратно в Arduino.

Я приложил снимок экрана с изменениями, которые я внес на случай, если это поможет кому-то еще:

максимальное количество патчей

person gml3ff    schedule 28.04.2021