2024-03-15 12:31:34 +08:00
|
|
|
|
#include "DataHandle.h"
|
|
|
|
|
#include <iostream>
|
|
|
|
|
#include <typeinfo>
|
|
|
|
|
|
|
|
|
|
DataHandle::DataHandle()
|
|
|
|
|
: m_dataCallBack(nullptr)
|
|
|
|
|
, m_streamServer(nullptr){
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DataHandle::~DataHandle() {
|
2024-03-22 11:28:06 +08:00
|
|
|
|
m_streamServer->Stop();
|
|
|
|
|
if (m_streamServer){
|
|
|
|
|
delete m_streamServer;
|
|
|
|
|
m_streamServer = nullptr;
|
|
|
|
|
}
|
2024-03-15 12:31:34 +08:00
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DataHandle::Init() {
|
2024-03-22 11:28:06 +08:00
|
|
|
|
m_config = ConfigManager::GetInstance();
|
|
|
|
|
m_config->PreInit();
|
|
|
|
|
m_config->Init();
|
|
|
|
|
|
|
|
|
|
m_streamServer = new StreamServer(m_config->GetMachine());
|
2024-03-15 12:31:34 +08:00
|
|
|
|
|
|
|
|
|
//测试线程
|
2024-03-22 11:28:06 +08:00
|
|
|
|
m_testTd = std::thread ([this] {
|
2024-03-15 12:31:34 +08:00
|
|
|
|
static float i = 10.12540f;
|
2024-03-22 11:28:06 +08:00
|
|
|
|
while (1) {
|
2024-03-15 12:31:34 +08:00
|
|
|
|
WriteData* wd = new WriteData();
|
|
|
|
|
wd->dataType = RESPOND;
|
|
|
|
|
wd->strValue = std::to_string(i);
|
|
|
|
|
wd->nameKey = "hello";
|
|
|
|
|
wd->result = true;
|
|
|
|
|
wd->valueType = iFLOAT;
|
|
|
|
|
if (m_streamServer->GetClient())
|
|
|
|
|
m_streamServer->GetClient()->SetPushMsg(wd);
|
|
|
|
|
std::this_thread::sleep_for(std::chrono::seconds(1));
|
|
|
|
|
}
|
2024-03-22 11:28:06 +08:00
|
|
|
|
});
|
|
|
|
|
m_testTd.detach();
|
2024-03-15 12:31:34 +08:00
|
|
|
|
|
|
|
|
|
m_streamServer->SetCallBackFunc(this, &DataHandle::DataCallBackProc);
|
2024-03-22 11:28:06 +08:00
|
|
|
|
m_streamServer->Init();
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DataHandle::Run() {
|
2024-03-15 12:31:34 +08:00
|
|
|
|
m_streamServer->Run();
|
|
|
|
|
}
|
|
|
|
|
|
2024-03-22 11:28:06 +08:00
|
|
|
|
void DataHandle::Stop() {
|
|
|
|
|
m_streamServer->Stop();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2024-03-15 12:31:34 +08:00
|
|
|
|
void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg) {
|
|
|
|
|
DataHandle* p = (DataHandle*)pthis;
|
|
|
|
|
|
|
|
|
|
switch (msg.dataType) {
|
|
|
|
|
case GET:
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case SET: break;
|
|
|
|
|
case LOAD: break; //载入
|
|
|
|
|
case LOADOUT: break; //载出
|
|
|
|
|
case SUPPLYAXLEAFTER: break; //供粉轴后移
|
|
|
|
|
case SUPPLYAXLEFRONT: break; //供粉轴前移
|
|
|
|
|
case SUPPLYAXLEAFTERCONT: break; //供粉轴后移连续
|
|
|
|
|
case SUPPLYAXLEFRONTCONT: break; //供粉轴前移连续
|
|
|
|
|
case PAVEAXLEFRONT: break; // 铺粉臂前移
|
|
|
|
|
case PAVEAXLEFRONTCONT: break; //铺粉臂前移连续
|
|
|
|
|
case PAVEAXLEAFTER: break; //铺粉臂后移
|
|
|
|
|
case PAVEAXLEAFTERCONT: break; //铺粉臂后移连续
|
|
|
|
|
case PAVEAXLECLEAR: break; //铺粉臂清零
|
|
|
|
|
case PRINTAXLEUP: break; //成型缸上升
|
|
|
|
|
case PRINTAXLEUPCONT: break; //成型缸连续上升
|
|
|
|
|
case PRINTAXLEDOWN: break; //成型缸下降
|
|
|
|
|
case PRINTAXLEDOWNCONT: break; //成型缸连续下降
|
|
|
|
|
case PRINTAXLECLEAR: break; //成型缸清零
|
|
|
|
|
case TRANSFERAXIELEFT: break; //移栽轴左移
|
|
|
|
|
case TRANSFERAXIELEFTCONT: break; //移栽轴连续左移
|
|
|
|
|
case TRANSFERAXIERIGHT: break; //移栽轴右移
|
|
|
|
|
case TRANSFERAXIERIGHTCONT: break; //移栽轴连续右移
|
|
|
|
|
case TRANSFERAXIECLEAR: break; //移栽轴清零
|
|
|
|
|
default: break;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|