example 'cl-repl': simple edit mode for uLisp (Arduino) connected to USB

This commit is contained in:
pls.153 2024-05-07 12:31:32 +02:00
parent 9aba49287c
commit ff27767747
10 changed files with 186 additions and 12 deletions

View file

@ -6,6 +6,10 @@
#include <QNetworkInterface>
#include <QHostAddress>
#ifdef Q_OS_LINUX
#include "usb/usb.h"
#endif
#ifdef PLUGIN
#include <ecl_fun_plugin.h>
#else
@ -335,4 +339,29 @@ QVariant QT::localIp() {
return QVariant();
}
// USB
#ifdef Q_OS_LINUX
QVariant QT::connectUsb() {
if (usb == nullptr) {
usb = new USB();
if (usb->connect2()) {
connect(usb, &USB::receivingDone,
[](const QByteArray& data) {
ecl_fun("ed:received-from-ulisp", QString::fromUtf8(data));
});
return true;
}
}
return QVariant();
}
QVariant QT::sendToUlisp(const QVariant &vData) {
if (usb != nullptr) {
usb->write2(vData.toByteArray());
}
return QVariant();
}
#endif
QT_END_NAMESPACE