202 lines
5.1 KiB
C++
202 lines
5.1 KiB
C++
#include "cdutils_k.h"
|
|
#include "cdutils_x.h"
|
|
#include "cdutils_c.h"
|
|
#include "cdutils_core.h"
|
|
#include "cdtest.h"
|
|
#include "pip.h"
|
|
#include "k_description.h"
|
|
|
|
using namespace CDUtils;
|
|
|
|
class Core : public PIObject
|
|
{
|
|
PIOBJECT(Core)
|
|
public:
|
|
Core() {
|
|
CDCore::instance()->initApp();
|
|
// piCout << "testCore";
|
|
CONNECTU(&timer, tickEvent, this, timerDone);
|
|
CONNECTU(&X, received, this, xrecv);
|
|
CONNECTU(&C, received, this, crecv);
|
|
t = 0.;
|
|
}
|
|
|
|
void load() {
|
|
rf.open("k.dat", PIIODevice::ReadWrite);
|
|
K.read(&rf);
|
|
rf.close();
|
|
}
|
|
|
|
void save() {
|
|
rf.open("k_out.txt", PIIODevice::ReadWrite);
|
|
rf.resize(0);
|
|
K.write(&rf);
|
|
rf.close();
|
|
// rf.open("k_out.txt", PIIODevice::ReadWrite);
|
|
// K.read(&rf);
|
|
// rf.close();
|
|
// rf.open("k_out2.txt", PIIODevice::ReadWrite);
|
|
// rf.resize(0);
|
|
// K.write(&rf);
|
|
// rf.close();
|
|
// rf.open("k_out2.txt", PIIODevice::ReadWrite);
|
|
// K.read(&rf);
|
|
// rf.close();
|
|
// rf.open("k_out3.txt", PIIODevice::ReadWrite);
|
|
// rf.resize(0);
|
|
// K.write(&rf);
|
|
// rf.close();
|
|
}
|
|
|
|
void test() {
|
|
X.lock();
|
|
X[KD::Frequency] = 100;
|
|
X.section(KD::Spectrometer)[KD::Temperature_default] = sin(t);
|
|
t += 0.01;
|
|
X.unlock();
|
|
/*piCout << "count" << K.count();
|
|
piCout << K[First];
|
|
piCout << K[Second];*/
|
|
}
|
|
|
|
EVENT_HANDLER(void, ksend) {piCout << "sended k";}
|
|
EVENT_HANDLER(void, crecv) {
|
|
piCout << "received c";
|
|
C.connect(C.section(KD::Logs).section(KD::Spec).section(KD::Formats)[KD::Binary], this, HANDLER(cmd));
|
|
C.autoConnect(this);
|
|
}
|
|
EVENT_HANDLER(void, xrecv) {
|
|
piCout << "received x";
|
|
if (!timer.isRunning()) timer.start(10);
|
|
X.start();
|
|
}
|
|
EVENT_HANDLER(void, timerDone) {test();}
|
|
EVENT_HANDLER(void, cmd) {piCout << "command cmd";}
|
|
EVENT_HANDLER(void, c_Pause) {piCout << "command pause";}
|
|
EVENT_HANDLER(void, c_Spectrometer_Connection) {piCout << "command spec_conn";}
|
|
|
|
private:
|
|
PIFile rf;
|
|
PITimer timer;
|
|
double t;
|
|
};
|
|
|
|
|
|
#include "piscreen.h"
|
|
#include "piscreentiles.h"
|
|
PIScreen screen(false);
|
|
int main(int argc, char *argv[]) {
|
|
// PIString s;
|
|
// s = "df a)))(a(ttt){a(b(c)})d)e( d dws ) sds(()fads(fdas()))fda))))fdasf((((jhvw";
|
|
// piCout << s;
|
|
// piCout << s.inBrackets('(', ')');
|
|
// piCout << s.cutLeft(s.find('(')).takeRange('(', ')');
|
|
// piCout << s;
|
|
// piCout << "exit";
|
|
// s = "test";
|
|
// PIByteArray ba = s.toByteArray();
|
|
// piCout << PIString(ba);
|
|
// piCout << PIString(ba.toHex());
|
|
// piCout << PIString(ba.fromHex(PIString(ba.toHex())));
|
|
// PIByteArray ba = s.toByteArray();
|
|
// piCout << PIString(ba);
|
|
// piCout << PIString(ba.convertToBase64());
|
|
// piCout << PIString(ba.convertFromBase64());
|
|
// s = "dGVzdA==";
|
|
// ba = s.toByteArray();
|
|
// piCout << PIString(ba);
|
|
// piCout << PIString(ba.convertFromBase64());
|
|
// return 0;
|
|
// int i = 0;
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = "";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = " ";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = " ";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = " s ";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = "f s ";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// s = " kjdfsnfv;kjsfd ";
|
|
// piCout << i++ << "!" << s << "!";
|
|
// piCout << i << "!" << s.trimmed() << "!";
|
|
// piCout << i << "!" << s.trim() << "!";
|
|
// return 0;
|
|
// PIEthernet eth;
|
|
// eth.send("127.0.0.1:16102", PIByteArray("data\n", 5));
|
|
// eth.send("127.0.0.1:26102", PIByteArray("data\n", 5));
|
|
// eth.send("127.0.0.1:36102", PIByteArray("data\n", 5));
|
|
/*PIString s; = "[k]\n\
|
|
1.f = 120+3 #s comment\n\
|
|
1.v = 123\n\
|
|
2.f = 2 #s comm\n\
|
|
2.v = 1\n\
|
|
4.f = -6/10 #s mment\n\
|
|
4.v = -0.6\n\
|
|
[s.10.k]\n\
|
|
5.f = 2*2*2\n\
|
|
5.v = 8 #s 88\n\
|
|
[s.10.s.50.k]\n\
|
|
100.f = 2*2*2\n\
|
|
100.v = 8 #s 88\n\
|
|
[s.11.k]\n\
|
|
3.f = 1\n\
|
|
3.v = 1 #s 88 \n\
|
|
4.f = 0\n\
|
|
4.v = 0 #s 88 \n\
|
|
6.f = 0\n\
|
|
6.v = 0 #s 881 \n\
|
|
[]\n";
|
|
PIIOString ios(&s);
|
|
CDUtils::K.read(&ios);
|
|
|
|
s.clear();
|
|
PIIOString iosw(&s);
|
|
CDUtils::K.write(&iosw);
|
|
piCout << s;*/
|
|
// piCout << K.count();
|
|
// PIFile rf("1.txt", PIIODevice::ReadWrite);
|
|
// K.read(&rf);
|
|
|
|
// PIFile f;
|
|
// f.open("SH_base.h", PIIODevice::ReadOnly);
|
|
// CDUtils::K.update(&f);
|
|
|
|
// PIFile wf("2.txt", PIIODevice::ReadWrite);
|
|
// CDUtils::K.write(&wf);
|
|
//PIIOString iosw(&s);
|
|
//piCout << s;
|
|
//piMSleep(1000);
|
|
//CDUtils::Core::instance()->test();
|
|
//return 0;
|
|
// piCout << "init";
|
|
screen.rootTile()->addTile(new TilePICout());
|
|
screen.enableExitCapture('q');
|
|
// piMSleep(3000);
|
|
screen.start();
|
|
piCout << "start";
|
|
Core core;
|
|
core.load();
|
|
// core.save();
|
|
// K.send();
|
|
|
|
|
|
screen.waitForFinish();
|
|
return 0;
|
|
}
|
|
|