Невозможно создать экземпляр объекта SLIPSerial, используемого в классах OSC/SLIPSerial для Arduino
Эй, я пытаюсь протестировать библиотеку CMAT/OSC для Arduino и просто хочу встать и запустить отправку сообщений OSC в кодировке SLIP. Я был в состоянии наблюдать типичный последовательный монитор при отправке сообщений OSC таким образом, но я не могу получить пример кода для компиляции:
#include <SLIPEncodedSerial.h>
#include <OSCData.h>
#include <OSCBundle.h>
#include <OSCBoards.h>
#include <OSCTiming.h>
#include <OSCMessage.h>
#include <OSCMatch.h>
#include <SLIPEncodedUSBSerial.h>
SLIPEncodedUSBSerial SLIPSerial( thisBoardsSerialUSB );
// SLIPEncodedSerial SLIPSerial(Serial);
void setup() {
//begin SLIPSerial just like Serial
SLIPSerial.begin(9600); // set this as high as you can reliably run on your platform
}
void loop(){
//the message wants an OSC address as first argument
OSCMessage msg("/address");
msg.add("Hello World\n");
;
SLIPSerial.beginPacket();
msg.send(SLIPSerial); // send the bytes to the SLIP stream
SLIPSerial.endPacket(); // mark the end of the OSC Packet
msg.empty(); // free space occupied by message
delay(20);
}
Кроме того, это ошибка вывода, которую я вижу:
error: 'SLIPEncodedUSBSerial' does not name a type; did you mean 'SLIPEncodedUSBSerial_h'?
10 | SLIPEncodedUSBSerial SLIPSerial( thisBoardsSerialUSB );
| ^~~~~~~~~~~~~~~~~~~~
| SLIPEncodedUSBSerial_h
exit status 1
'SLIPEncodedUSBSerial' does not name a type; did you mean 'SLIPEncodedUSBSerial_h'?
Может ли кто-нибудь внести ясность в то, что такое "This Boardsserialusb" и "Serial" в этом контексте? Я думал, что конструкторы SLIPEncodedSerial / SLIPEncodedUSBSerial просто берут ссылку. Это может быть тривиально, но я не уверен, как правильно создать экземпляр этих классов в среде Arduino IDE.
Ваше здоровье!
@d.bonbon, 👍1
Обсуждение0
Смотрите также:
- Float печатается только 2 десятичных знака после запятой
- Почему запуск последовательного монитора перезапускает скетч?
- Чтение из Serial
- Связь последовательного порта Digispark
- Как получить правильный последовательный порт?
- Arduino IDE «Инструменты> Последовательный порт» неактивен (Ubuntu)
- Как установить последовательные драйверы FTDI на Mac?
- как отправить данные в Adafruit Bluefruit Feather (32u4) через Bluetooth?
Для какой платы вы составляете список?, @Majenko
`thisBoardsSerialUSB " - это просто заполнитель для любого последовательного соединения USB для вашей платы. У некоторых он называется "Серийный", у некоторых - "USBSerial". Это зависит от вас, чтобы вставить правильную вещь., @Majenko
существует
#if (defined(TEENSYDUINO) && defined(USB_SERIAL)) || (!defined(TEENSYDUINO) && defined(__AVR_ATmega32U4__)) || defined(__SAM3X8E__) || (defined(_USB) && defined(_USE_USB_FOR_SERIAL_)) || defined(_SAMD21_) || (defined(__PIC32MX__) || defined(__PIC32MZ__))
, @Juraj@Majenko Ну ладно! Я вчитался в пример кода слишком буквально! плата, которую я хотел бы использовать, - это Adafruit Metro M0 Express, который использует чип ATSAMD21G18 (ARM Cortex M0+), @d.bonbon
SAMD21 должен работать:
|| defined(_SAMD21_)
, @Juraj@Juraj Да, я тоже изначально так думал! Я обнаружил странную причуду с установкой библиотеки через предоставленный менеджер библиотек в arduino IDE: он вытащил устаревшую версию файлов .cpp & .h. Вытягивание из самого репо git и ссылка на "Serial" в качестве аргумента конструктора исправили ситуацию!, @d.bonbon