nim_duilib/examples/proto_debuger/modbus_form.h

65 lines
1.3 KiB
C
Raw Normal View History

2023-01-20 00:17:17 +08:00
#pragma once
// C runtime header
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <fstream>
// base header
#include "base/base.h"
#include "serial_port.h"
// duilib
#include "duilib/UIlib.h"
#include "lua_wraper.h"
#include "global.h"
#include "utils.h"
#define MODBUS_LUA_SCRIPT "modbus_script.lua"
class ModbusMasterForm :
public ui::ChildBox,
LuaBindInterface
{
public:
ModbusMasterForm(ui::Window* window, std::wstring name,
uint32_t baurate, UINT portnum,
uint8_t data_bits,
uint8_t stop_bits,
uint8_t verify,
uint8_t flow_control);
~ModbusMasterForm();
void ShowDataInEdit(const char*) override;
void OnUpdateUart();
LuaDelegate* LuaVM();
/// <20><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><E0B7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1B9A9><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
virtual void Init() override;
void UpdateRecvEdit();
UINT m_portnum;
std::wstring m_name;
uint32_t m_baurate;
uint8_t m_data_bits;
uint8_t m_stop_bits;
uint8_t m_verify;
uint8_t m_flow_contro;
bool m_runing;
std::thread* m_thread_recv;
wstring m_show_recv;
ui::RichEdit* mEditSend;
ui::RichEdit* mEditRecv;
ui::RichEdit* mEditLua;
HWND m_hwnd;
LuaDelegate* mLua;
std::string mLuaScript;
std::ifstream mLuaFile;
std::ofstream mLuaFileEdit;
private:
virtual void HandleMessage(ui::EventArgs& msg);
};