mirror of https://github.com/EspoTek/Labrador.git
A few new functions in librademo. Fixed the digital output.
This commit is contained in:
parent
55eec0aa6d
commit
ebab7f8370
|
@ -73,7 +73,7 @@ void MainWindow::on_pushButton_4_clicked()
|
||||||
void MainWindow::on_pushButton_5_clicked()
|
void MainWindow::on_pushButton_5_clicked()
|
||||||
{
|
{
|
||||||
|
|
||||||
QVector<double> yaxis = QVector<double>::fromStdVector(*(librador_get_iso_data(75000, 1, 750000, 0)));
|
QVector<double> yaxis = QVector<double>::fromStdVector(*(librador_get_iso_data(75000, 1, 1500, 0)));
|
||||||
|
|
||||||
qDebug() << yaxis;
|
qDebug() << yaxis;
|
||||||
|
|
||||||
|
@ -97,3 +97,38 @@ void MainWindow::on_pushButton_6_clicked()
|
||||||
{
|
{
|
||||||
qDebug() << librador_reset_usb();
|
qDebug() << librador_reset_usb();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_pushButton_7_clicked()
|
||||||
|
{
|
||||||
|
qDebug() << librador_get_device_firmware_version();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_pushButton_8_clicked()
|
||||||
|
{
|
||||||
|
qDebug() << librador_get_device_firmware_variant();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_pushButton_9_clicked()
|
||||||
|
{
|
||||||
|
qDebug() << librador_set_power_supply_voltage(ui->powerSupplySpinBox->value());
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_checkBox_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
qDebug() << librador_set_digital_out(1, arg1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_checkBox_2_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
qDebug() << librador_set_digital_out(2, arg1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_checkBox_3_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
qDebug() << librador_set_digital_out(3, arg1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MainWindow::on_checkBox_4_stateChanged(int arg1)
|
||||||
|
{
|
||||||
|
qDebug() << librador_set_digital_out(4, arg1);
|
||||||
|
}
|
||||||
|
|
|
@ -29,6 +29,20 @@ private slots:
|
||||||
|
|
||||||
void on_pushButton_6_clicked();
|
void on_pushButton_6_clicked();
|
||||||
|
|
||||||
|
void on_pushButton_7_clicked();
|
||||||
|
|
||||||
|
void on_pushButton_8_clicked();
|
||||||
|
|
||||||
|
void on_pushButton_9_clicked();
|
||||||
|
|
||||||
|
void on_checkBox_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_checkBox_2_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_checkBox_3_stateChanged(int arg1);
|
||||||
|
|
||||||
|
void on_checkBox_4_stateChanged(int arg1);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::MainWindow *ui;
|
Ui::MainWindow *ui;
|
||||||
};
|
};
|
||||||
|
|
|
@ -52,6 +52,69 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Get Firmware Version</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>Get Firmware Variant</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButton_9">
|
||||||
|
<property name="text">
|
||||||
|
<string>Send Power Supply Voltage</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QDoubleSpinBox" name="powerSupplySpinBox">
|
||||||
|
<property name="minimum">
|
||||||
|
<double>5.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>12.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox">
|
||||||
|
<property name="text">
|
||||||
|
<string>Digital Out 1</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Digital Out 2</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Digital Out 3</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBox_4">
|
||||||
|
<property name="text">
|
||||||
|
<string>Digital Out 4</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="pushButton_5">
|
<widget class="QPushButton" name="pushButton_5">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
|
|
@ -21,8 +21,8 @@ QT_BEGIN_MOC_NAMESPACE
|
||||||
QT_WARNING_PUSH
|
QT_WARNING_PUSH
|
||||||
QT_WARNING_DISABLE_DEPRECATED
|
QT_WARNING_DISABLE_DEPRECATED
|
||||||
struct qt_meta_stringdata_MainWindow_t {
|
struct qt_meta_stringdata_MainWindow_t {
|
||||||
QByteArrayData data[8];
|
QByteArrayData data[16];
|
||||||
char stringdata0[154];
|
char stringdata0[337];
|
||||||
};
|
};
|
||||||
#define QT_MOC_LITERAL(idx, ofs, len) \
|
#define QT_MOC_LITERAL(idx, ofs, len) \
|
||||||
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
Q_STATIC_BYTE_ARRAY_DATA_HEADER_INITIALIZER_WITH_OFFSET(len, \
|
||||||
|
@ -38,13 +38,26 @@ QT_MOC_LITERAL(3, 34, 23), // "on_pushButton_2_clicked"
|
||||||
QT_MOC_LITERAL(4, 58, 23), // "on_pushButton_3_clicked"
|
QT_MOC_LITERAL(4, 58, 23), // "on_pushButton_3_clicked"
|
||||||
QT_MOC_LITERAL(5, 82, 23), // "on_pushButton_4_clicked"
|
QT_MOC_LITERAL(5, 82, 23), // "on_pushButton_4_clicked"
|
||||||
QT_MOC_LITERAL(6, 106, 23), // "on_pushButton_5_clicked"
|
QT_MOC_LITERAL(6, 106, 23), // "on_pushButton_5_clicked"
|
||||||
QT_MOC_LITERAL(7, 130, 23) // "on_pushButton_6_clicked"
|
QT_MOC_LITERAL(7, 130, 23), // "on_pushButton_6_clicked"
|
||||||
|
QT_MOC_LITERAL(8, 154, 23), // "on_pushButton_7_clicked"
|
||||||
|
QT_MOC_LITERAL(9, 178, 23), // "on_pushButton_8_clicked"
|
||||||
|
QT_MOC_LITERAL(10, 202, 23), // "on_pushButton_9_clicked"
|
||||||
|
QT_MOC_LITERAL(11, 226, 24), // "on_checkBox_stateChanged"
|
||||||
|
QT_MOC_LITERAL(12, 251, 4), // "arg1"
|
||||||
|
QT_MOC_LITERAL(13, 256, 26), // "on_checkBox_2_stateChanged"
|
||||||
|
QT_MOC_LITERAL(14, 283, 26), // "on_checkBox_3_stateChanged"
|
||||||
|
QT_MOC_LITERAL(15, 310, 26) // "on_checkBox_4_stateChanged"
|
||||||
|
|
||||||
},
|
},
|
||||||
"MainWindow\0on_pushButton_clicked\0\0"
|
"MainWindow\0on_pushButton_clicked\0\0"
|
||||||
"on_pushButton_2_clicked\0on_pushButton_3_clicked\0"
|
"on_pushButton_2_clicked\0on_pushButton_3_clicked\0"
|
||||||
"on_pushButton_4_clicked\0on_pushButton_5_clicked\0"
|
"on_pushButton_4_clicked\0on_pushButton_5_clicked\0"
|
||||||
"on_pushButton_6_clicked"
|
"on_pushButton_6_clicked\0on_pushButton_7_clicked\0"
|
||||||
|
"on_pushButton_8_clicked\0on_pushButton_9_clicked\0"
|
||||||
|
"on_checkBox_stateChanged\0arg1\0"
|
||||||
|
"on_checkBox_2_stateChanged\0"
|
||||||
|
"on_checkBox_3_stateChanged\0"
|
||||||
|
"on_checkBox_4_stateChanged"
|
||||||
};
|
};
|
||||||
#undef QT_MOC_LITERAL
|
#undef QT_MOC_LITERAL
|
||||||
|
|
||||||
|
@ -54,7 +67,7 @@ static const uint qt_meta_data_MainWindow[] = {
|
||||||
7, // revision
|
7, // revision
|
||||||
0, // classname
|
0, // classname
|
||||||
0, 0, // classinfo
|
0, 0, // classinfo
|
||||||
6, 14, // methods
|
13, 14, // methods
|
||||||
0, 0, // properties
|
0, 0, // properties
|
||||||
0, 0, // enums/sets
|
0, 0, // enums/sets
|
||||||
0, 0, // constructors
|
0, 0, // constructors
|
||||||
|
@ -62,12 +75,19 @@ static const uint qt_meta_data_MainWindow[] = {
|
||||||
0, // signalCount
|
0, // signalCount
|
||||||
|
|
||||||
// slots: name, argc, parameters, tag, flags
|
// slots: name, argc, parameters, tag, flags
|
||||||
1, 0, 44, 2, 0x08 /* Private */,
|
1, 0, 79, 2, 0x08 /* Private */,
|
||||||
3, 0, 45, 2, 0x08 /* Private */,
|
3, 0, 80, 2, 0x08 /* Private */,
|
||||||
4, 0, 46, 2, 0x08 /* Private */,
|
4, 0, 81, 2, 0x08 /* Private */,
|
||||||
5, 0, 47, 2, 0x08 /* Private */,
|
5, 0, 82, 2, 0x08 /* Private */,
|
||||||
6, 0, 48, 2, 0x08 /* Private */,
|
6, 0, 83, 2, 0x08 /* Private */,
|
||||||
7, 0, 49, 2, 0x08 /* Private */,
|
7, 0, 84, 2, 0x08 /* Private */,
|
||||||
|
8, 0, 85, 2, 0x08 /* Private */,
|
||||||
|
9, 0, 86, 2, 0x08 /* Private */,
|
||||||
|
10, 0, 87, 2, 0x08 /* Private */,
|
||||||
|
11, 1, 88, 2, 0x08 /* Private */,
|
||||||
|
13, 1, 91, 2, 0x08 /* Private */,
|
||||||
|
14, 1, 94, 2, 0x08 /* Private */,
|
||||||
|
15, 1, 97, 2, 0x08 /* Private */,
|
||||||
|
|
||||||
// slots: parameters
|
// slots: parameters
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
|
@ -76,6 +96,13 @@ static const uint qt_meta_data_MainWindow[] = {
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
QMetaType::Void,
|
QMetaType::Void,
|
||||||
|
QMetaType::Void,
|
||||||
|
QMetaType::Void,
|
||||||
|
QMetaType::Void,
|
||||||
|
QMetaType::Void, QMetaType::Int, 12,
|
||||||
|
QMetaType::Void, QMetaType::Int, 12,
|
||||||
|
QMetaType::Void, QMetaType::Int, 12,
|
||||||
|
QMetaType::Void, QMetaType::Int, 12,
|
||||||
|
|
||||||
0 // eod
|
0 // eod
|
||||||
};
|
};
|
||||||
|
@ -92,10 +119,16 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id,
|
||||||
case 3: _t->on_pushButton_4_clicked(); break;
|
case 3: _t->on_pushButton_4_clicked(); break;
|
||||||
case 4: _t->on_pushButton_5_clicked(); break;
|
case 4: _t->on_pushButton_5_clicked(); break;
|
||||||
case 5: _t->on_pushButton_6_clicked(); break;
|
case 5: _t->on_pushButton_6_clicked(); break;
|
||||||
|
case 6: _t->on_pushButton_7_clicked(); break;
|
||||||
|
case 7: _t->on_pushButton_8_clicked(); break;
|
||||||
|
case 8: _t->on_pushButton_9_clicked(); break;
|
||||||
|
case 9: _t->on_checkBox_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||||
|
case 10: _t->on_checkBox_2_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||||
|
case 11: _t->on_checkBox_3_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||||
|
case 12: _t->on_checkBox_4_stateChanged((*reinterpret_cast< int(*)>(_a[1]))); break;
|
||||||
default: ;
|
default: ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Q_UNUSED(_a);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const QMetaObject MainWindow::staticMetaObject = {
|
const QMetaObject MainWindow::staticMetaObject = {
|
||||||
|
@ -123,13 +156,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
|
||||||
if (_id < 0)
|
if (_id < 0)
|
||||||
return _id;
|
return _id;
|
||||||
if (_c == QMetaObject::InvokeMetaMethod) {
|
if (_c == QMetaObject::InvokeMetaMethod) {
|
||||||
if (_id < 6)
|
if (_id < 13)
|
||||||
qt_static_metacall(this, _c, _id, _a);
|
qt_static_metacall(this, _c, _id, _a);
|
||||||
_id -= 6;
|
_id -= 13;
|
||||||
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
} else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
|
||||||
if (_id < 6)
|
if (_id < 13)
|
||||||
*reinterpret_cast<int*>(_a[0]) = -1;
|
*reinterpret_cast<int*>(_a[0]) = -1;
|
||||||
_id -= 6;
|
_id -= 13;
|
||||||
}
|
}
|
||||||
return _id;
|
return _id;
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,6 +13,8 @@
|
||||||
#include <QtWidgets/QAction>
|
#include <QtWidgets/QAction>
|
||||||
#include <QtWidgets/QApplication>
|
#include <QtWidgets/QApplication>
|
||||||
#include <QtWidgets/QButtonGroup>
|
#include <QtWidgets/QButtonGroup>
|
||||||
|
#include <QtWidgets/QCheckBox>
|
||||||
|
#include <QtWidgets/QDoubleSpinBox>
|
||||||
#include <QtWidgets/QHBoxLayout>
|
#include <QtWidgets/QHBoxLayout>
|
||||||
#include <QtWidgets/QHeaderView>
|
#include <QtWidgets/QHeaderView>
|
||||||
#include <QtWidgets/QMainWindow>
|
#include <QtWidgets/QMainWindow>
|
||||||
|
@ -37,6 +39,15 @@ public:
|
||||||
QPushButton *pushButton_3;
|
QPushButton *pushButton_3;
|
||||||
QPushButton *pushButton_6;
|
QPushButton *pushButton_6;
|
||||||
QPushButton *pushButton_4;
|
QPushButton *pushButton_4;
|
||||||
|
QPushButton *pushButton_7;
|
||||||
|
QPushButton *pushButton_8;
|
||||||
|
QHBoxLayout *horizontalLayout_3;
|
||||||
|
QPushButton *pushButton_9;
|
||||||
|
QDoubleSpinBox *powerSupplySpinBox;
|
||||||
|
QCheckBox *checkBox;
|
||||||
|
QCheckBox *checkBox_2;
|
||||||
|
QCheckBox *checkBox_3;
|
||||||
|
QCheckBox *checkBox_4;
|
||||||
QPushButton *pushButton_5;
|
QPushButton *pushButton_5;
|
||||||
QCustomPlot *widget;
|
QCustomPlot *widget;
|
||||||
QMenuBar *menuBar;
|
QMenuBar *menuBar;
|
||||||
|
@ -82,6 +93,54 @@ public:
|
||||||
|
|
||||||
verticalLayout->addWidget(pushButton_4);
|
verticalLayout->addWidget(pushButton_4);
|
||||||
|
|
||||||
|
pushButton_7 = new QPushButton(centralWidget);
|
||||||
|
pushButton_7->setObjectName(QStringLiteral("pushButton_7"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(pushButton_7);
|
||||||
|
|
||||||
|
pushButton_8 = new QPushButton(centralWidget);
|
||||||
|
pushButton_8->setObjectName(QStringLiteral("pushButton_8"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(pushButton_8);
|
||||||
|
|
||||||
|
horizontalLayout_3 = new QHBoxLayout();
|
||||||
|
horizontalLayout_3->setSpacing(6);
|
||||||
|
horizontalLayout_3->setObjectName(QStringLiteral("horizontalLayout_3"));
|
||||||
|
pushButton_9 = new QPushButton(centralWidget);
|
||||||
|
pushButton_9->setObjectName(QStringLiteral("pushButton_9"));
|
||||||
|
|
||||||
|
horizontalLayout_3->addWidget(pushButton_9);
|
||||||
|
|
||||||
|
powerSupplySpinBox = new QDoubleSpinBox(centralWidget);
|
||||||
|
powerSupplySpinBox->setObjectName(QStringLiteral("powerSupplySpinBox"));
|
||||||
|
powerSupplySpinBox->setMinimum(5);
|
||||||
|
powerSupplySpinBox->setMaximum(12);
|
||||||
|
|
||||||
|
horizontalLayout_3->addWidget(powerSupplySpinBox);
|
||||||
|
|
||||||
|
|
||||||
|
verticalLayout->addLayout(horizontalLayout_3);
|
||||||
|
|
||||||
|
checkBox = new QCheckBox(centralWidget);
|
||||||
|
checkBox->setObjectName(QStringLiteral("checkBox"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(checkBox);
|
||||||
|
|
||||||
|
checkBox_2 = new QCheckBox(centralWidget);
|
||||||
|
checkBox_2->setObjectName(QStringLiteral("checkBox_2"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(checkBox_2);
|
||||||
|
|
||||||
|
checkBox_3 = new QCheckBox(centralWidget);
|
||||||
|
checkBox_3->setObjectName(QStringLiteral("checkBox_3"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(checkBox_3);
|
||||||
|
|
||||||
|
checkBox_4 = new QCheckBox(centralWidget);
|
||||||
|
checkBox_4->setObjectName(QStringLiteral("checkBox_4"));
|
||||||
|
|
||||||
|
verticalLayout->addWidget(checkBox_4);
|
||||||
|
|
||||||
pushButton_5 = new QPushButton(centralWidget);
|
pushButton_5 = new QPushButton(centralWidget);
|
||||||
pushButton_5->setObjectName(QStringLiteral("pushButton_5"));
|
pushButton_5->setObjectName(QStringLiteral("pushButton_5"));
|
||||||
|
|
||||||
|
@ -120,6 +179,13 @@ public:
|
||||||
pushButton_3->setText(QApplication::translate("MainWindow", "Setup USB", nullptr));
|
pushButton_3->setText(QApplication::translate("MainWindow", "Setup USB", nullptr));
|
||||||
pushButton_6->setText(QApplication::translate("MainWindow", "Reset USB", nullptr));
|
pushButton_6->setText(QApplication::translate("MainWindow", "Reset USB", nullptr));
|
||||||
pushButton_4->setText(QApplication::translate("MainWindow", "avrDebug()", nullptr));
|
pushButton_4->setText(QApplication::translate("MainWindow", "avrDebug()", nullptr));
|
||||||
|
pushButton_7->setText(QApplication::translate("MainWindow", "Get Firmware Version", nullptr));
|
||||||
|
pushButton_8->setText(QApplication::translate("MainWindow", "Get Firmware Variant", nullptr));
|
||||||
|
pushButton_9->setText(QApplication::translate("MainWindow", "Send Power Supply Voltage", nullptr));
|
||||||
|
checkBox->setText(QApplication::translate("MainWindow", "Digital Out 1", nullptr));
|
||||||
|
checkBox_2->setText(QApplication::translate("MainWindow", "Digital Out 2", nullptr));
|
||||||
|
checkBox_3->setText(QApplication::translate("MainWindow", "Digital Out 3", nullptr));
|
||||||
|
checkBox_4->setText(QApplication::translate("MainWindow", "Digital Out 4", nullptr));
|
||||||
pushButton_5->setText(QApplication::translate("MainWindow", "Get Scope Data", nullptr));
|
pushButton_5->setText(QApplication::translate("MainWindow", "Get Scope Data", nullptr));
|
||||||
} // retranslateUi
|
} // retranslateUi
|
||||||
|
|
||||||
|
|
|
@ -99,6 +99,10 @@ int librador_set_oscilloscope_gain(double gain){
|
||||||
int librador_set_digital_out(int channel, bool state_on){
|
int librador_set_digital_out(int channel, bool state_on){
|
||||||
CHECK_API_INITIALISED
|
CHECK_API_INITIALISED
|
||||||
static uint8_t channelStates[4] = {0, 0, 0, 0};
|
static uint8_t channelStates[4] = {0, 0, 0, 0};
|
||||||
|
channel--;
|
||||||
|
if((channel < 0) || (channel > 3)){
|
||||||
|
return -1000; //Invalid Channel
|
||||||
|
}
|
||||||
channelStates[channel] = state_on ? 1 : 0;
|
channelStates[channel] = state_on ? 1 : 0;
|
||||||
|
|
||||||
return internal_librador_object->usb_driver->set_digital_state((channelStates [0] | channelStates[1] << 1 | channelStates[2] << 2 | channelStates[3] << 3));
|
return internal_librador_object->usb_driver->set_digital_state((channelStates [0] | channelStates[1] << 1 | channelStates[2] << 2 | channelStates[3] << 3));
|
||||||
|
@ -119,7 +123,7 @@ uint16_t librador_get_device_firmware_version(){
|
||||||
return internal_librador_object->usb_driver->get_firmware_version();
|
return internal_librador_object->usb_driver->get_firmware_version();
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t librador_get_device_firmware_variand(){
|
uint8_t librador_get_device_firmware_variant(){
|
||||||
CHECK_API_INITIALISED
|
CHECK_API_INITIALISED
|
||||||
return internal_librador_object->usb_driver->get_firmware_variant();
|
return internal_librador_object->usb_driver->get_firmware_variant();
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,18 +47,18 @@ o1buffer *internal_o1_buffer;
|
||||||
static void LIBUSB_CALL isoCallback(struct libusb_transfer * transfer){
|
static void LIBUSB_CALL isoCallback(struct libusb_transfer * transfer){
|
||||||
|
|
||||||
//Thread mutex??
|
//Thread mutex??
|
||||||
printf("Copy the data...\n");
|
//printf("Copy the data...\n");
|
||||||
for(int i=0;i<transfer->num_iso_packets;i++){
|
for(int i=0;i<transfer->num_iso_packets;i++){
|
||||||
unsigned char *packetPointer = libusb_get_iso_packet_buffer_simple(transfer, i);
|
unsigned char *packetPointer = libusb_get_iso_packet_buffer_simple(transfer, i);
|
||||||
if(transfer->actual_length){
|
if(transfer->actual_length){
|
||||||
printf("Expected length is %d\n", transfer->length);
|
//printf("Expected length is %d\n", transfer->length);
|
||||||
printf("Actual length is %d\n", transfer->actual_length);
|
//printf("Actual length is %d\n", transfer->actual_length);
|
||||||
printf("\n");
|
//printf("\n");
|
||||||
}
|
}
|
||||||
//TODO: a switch statement here to handle all the modes.
|
//TODO: a switch statement here to handle all the modes.
|
||||||
internal_o1_buffer->addVector(packetPointer, 375);
|
internal_o1_buffer->addVector(packetPointer, 375);
|
||||||
}
|
}
|
||||||
printf("Re-arm the endpoint...\n");
|
//printf("Re-arm the endpoint...\n");
|
||||||
if(usb_iso_needs_rearming()){
|
if(usb_iso_needs_rearming()){
|
||||||
int error = libusb_submit_transfer(transfer);
|
int error = libusb_submit_transfer(transfer);
|
||||||
if(error){
|
if(error){
|
||||||
|
@ -80,7 +80,7 @@ void usb_polling_function(libusb_context *ctx){
|
||||||
tv.tv_sec = 1;
|
tv.tv_sec = 1;
|
||||||
tv.tv_usec = 0;//ISO_PACKETS_PER_CTX*4000;
|
tv.tv_usec = 0;//ISO_PACKETS_PER_CTX*4000;
|
||||||
while(!safe_to_exit_thread()){
|
while(!safe_to_exit_thread()){
|
||||||
printf("usb_polling_function begin loop\n");
|
//printf("usb_polling_function begin loop\n");
|
||||||
if(libusb_event_handling_ok(ctx)){
|
if(libusb_event_handling_ok(ctx)){
|
||||||
libusb_handle_events_timeout(ctx, &tv);
|
libusb_handle_events_timeout(ctx, &tv);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue