Add example generation
This commit is contained in:
parent
a08cf6a682
commit
8ad659de76
|
@ -1,6 +1,7 @@
|
||||||
#include <eismultiplexer.h>
|
#include <eismultiplexer.h>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <set>
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "triggerwidget.h"
|
#include "triggerwidget.h"
|
||||||
|
@ -114,17 +115,47 @@ void MainWindow::enumerateDevices()
|
||||||
ui->statusbar->showMessage("Ready");
|
ui->statusbar->showMessage("Ready");
|
||||||
|
|
||||||
free(serials);
|
free(serials);
|
||||||
|
generateExample();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::generateExample()
|
void MainWindow::generateExample()
|
||||||
{
|
{
|
||||||
QString example =
|
QString example =
|
||||||
"import eismultiplexer\n\n"
|
"# This is an example script to show you how\n# to drive eismultiplexer using the python api\n"
|
||||||
"from time import sleep";
|
"import eismultiplexer as multi\n"
|
||||||
|
"from time import sleep\n\n"
|
||||||
|
"# First initalize the device(s)\n";
|
||||||
|
|
||||||
for (const auto& channel : channels)
|
std::set<uint16_t> serials;
|
||||||
|
for (size_t i = 0; i < channels.size(); ++i)
|
||||||
|
serials.insert(channels[i]->getDeviceSerial());
|
||||||
|
|
||||||
|
size_t i = 0;
|
||||||
|
for (uint16_t serial : serials)
|
||||||
{
|
{
|
||||||
example.append(QString("eismultiplexer"));
|
example.append(QString("multiplexer_") + QString::number(i) + " multi.Multiplexer(serial=" + QString::number(serial) + ")\n");
|
||||||
|
++i;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
example.append("\nprint('\\nListing the nummber of channels per unit')\n");
|
||||||
|
for (size_t i = 0; i < serials.size(); ++i)
|
||||||
|
{
|
||||||
|
QString printLine = "print(f'Found unit with serial number {" + QString::number(channels[i]->getDeviceSerial()) + "} and {multiplexer_" + QString::number(i) + ".getChannelCount()} channels')\n";
|
||||||
|
example.append(printLine);
|
||||||
|
}
|
||||||
|
|
||||||
|
example.append("\nprint('Connecting the first and second channel on the first unit')\n");
|
||||||
|
example.append("multiplexer_0.connectChannel(multi.Channel.A)\n");
|
||||||
|
example.append("multiplexer_0.connectChannel(multi.Channel.B)\n\n");
|
||||||
|
example.append("print('Waiting for half a second for something to happen')\n");
|
||||||
|
example.append("sleep(0.5)\n\n");
|
||||||
|
example.append("print('Disconnect first channel')\n");
|
||||||
|
example.append("multiplexer_0.disconnectChannel(multi.Channel.A)\n\n");
|
||||||
|
example.append("print('Waiting up to 5000 milliseconds for a trigger')\n");
|
||||||
|
example.append("multiplexer_0.setTriggerState(0, multi.TriggerState.INPUT)\n");
|
||||||
|
example.append("multiplexer_0.waitTrigger(0, multi.TriggerState.HIGHLEVEL, 5000)\n\n");
|
||||||
|
example.append("print('Disconnecting all channels')\n");
|
||||||
|
example.append("multiplexer_0.clear()\n");
|
||||||
|
codeEditor.setText(example);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue