#include #include #include #include #include #include "keymonitor.h" #include "uartregsaccess.h" #include "config.h" #include "deviceconfig.h" #include "DisplayCenter.h" #include "MenuComponent.h" int main() { MenuComponent m_menu; m_menu.initmenu(); auto displayCenter = std::shared_ptr(new DisplayCenter()); displayCenter->PutMsg(DisType::Dis_Welcome, 0,ClearScreen::All); displayCenter->PutMsg(DisType::Dis_Idel, 0,ClearScreen::All); auto motorregs = std::shared_ptr(new UartRegsAccess(MOTOR_UART, 921600, 0x07, 0x87)); auto keycall = [&](int keyvalye) { // std::cout << "keycallback keyvalue= " << keyvalye << std::endl; // auto key = (KeyMonitor::HGKey)(keyvalye); // switch (key) // { // case KeyMonitor::HGKey::Key_Enter: // displayCenter->PutMsg(DisType::Dis_Err_AqrImgTimeout, 0); // break; // case KeyMonitor::HGKey::Key_Cancle: // displayCenter->PutMsg(DisType::Dis_Idel, 0); // break; // case KeyMonitor::HGKey::Key_Count: // displayCenter->PutMsg(DisType::Dis_Count_Page, 0); // break; // case KeyMonitor::HGKey::Key_Handle: // displayCenter->PutMsg(DisType::Dis_Err_HandModeJam, 0); // break; // case KeyMonitor::HGKey::Key_DoubleFeed: // displayCenter->PutMsg(DisType::Dis_Err_DoubleFeed, 0); // break; // case KeyMonitor::HGKey::Key_Left: // displayCenter->PutMsg(DisType::Dis_Set_PollPI_Low, 0); // break; // case KeyMonitor::HGKey::Key_Menu: // displayCenter->PutMsg(DisType::Dis_Set_PollPI_Mid, 0); // break; // case KeyMonitor::HGKey::Key_Right: // displayCenter->PutMsg(DisType::Dis_Set_PollPI_High, 0); // break; // case KeyMonitor::HGKey::Key_Clear: // displayCenter->PutMsg(DisType::Dis_Err_PaperScrew, 0); // break; // default: // break; // } printf("keyvalue %d ",keyvalye); m_menu.option(keyvalye); displayCenter->PutMsg(m_menu.getcurtype(),0,ClearScreen::All); motorregs->write(0x6, 128); motorregs->write(0x6, 0); }; KeyMonitor monitor(keycall); while (1) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); } return 0; }