boolean LBTServerClass::begin(const uint8_t* buf, const uint8_t* pinCode) { APP_LOG((char*)"LBTServerClass::begin"); _LTaskClass::begin(); LBTServerBeginContext c; c.is_set_pin = false; if(pinCode!= NULL) { int len = strlen((char*)pinCode); if(len > LBT_PIN_CODE_BUFFER_SIZE - 1) { len = LBT_PIN_CODE_BUFFER_SIZE - 1; } c.is_set_pin = true; memcpy(_pincode_buffer, pinCode, len+1); } m_signal_write = vm_signal_init(); m_signal_read = vm_signal_init(); c.name = (void*)buf; c.ptr = this; remoteCall(btServerBegin, &c); return c.result; }
void LDisplayClass::draw_point(uint8_t ulX, uint8_t ulY, uint32_t PCulValue) { point_info_struct data; data.ulX = ulX; data.ulY = ulY; data.PCulValue = PCulValue; remoteCall(lcd_draw_point, &data); }
boolean LBTServerClass::connected(void) { boolean result = true; remoteCall(btServerConnected, &result); return result; }
boolean LBTServerClass::getHostDeviceInfo(LBTDeviceInfo* device_info) { LBTServerGetHostDeviceInfoContext c; c.device_info = device_info; remoteCall(btServerGetHostDeviceInfo, (void*)&c); return c.result; }
bool RpcAdaptor::remoteCall(const QByteArray &method, const QVariant &val0, const QVariant &val1 ) { QList<QVariant> args; if(val0.type()!=QVariant::Invalid) args.append(val0); if(val1.type()!=QVariant::Invalid) args.append(val1); return remoteCall(method, args); }
boolean LBTServerClass::accept(size_t time_out) { LBTServerAcceptContext c; c.time_out = time_out; c.address = NULL; remoteCall(btServerAccept, (void*)&c); return c.result; }
void LDisplayClass::draw_font(uint8_t ulX, uint8_t ulY, const char* str, uint32_t BCulValue, uint32_t FCulValue) { string_info_struct data; data.ulX = ulX; data.ulY = ulY; data.str = (VMCHAR*)str; data.BCulValue = BCulValue; data.FCulValue = FCulValue; remoteCall(lcd_draw_font, &data); }
void LBTServerClass::end(void) { _LTaskClass::stop(); vm_signal_clean(m_signal_write); vm_signal_deinit(m_signal_write); vm_signal_clean(m_signal_read); vm_signal_deinit(m_signal_read); remoteCall(btServerEnd, (void*)NULL); }
void LDisplayClass::draw_fill_rectangle(uint8_t ulX1, uint8_t ulY1, uint8_t ulX2, uint8_t ulY2, uint32_t FCulValue) { fill_info_struct data; data.ulX1 = ulX1; data.ulY1 = ulY1; data.ulX2 = ulX2; data.ulY2 = ulY2; data.FCulValue = FCulValue; remoteCall(lcd_draw_fill_rectangle, &data); }
void LDisplayClass::draw_line(uint8_t ulX1, uint8_t ulY1, uint8_t ulX2, uint8_t ulY2, uint32_t LCulValue) { line_info_struct data; data.ulX1 = ulX1; data.ulY1 = ulY1; data.ulX2 = ulX2; data.ulY2 = ulY2; data.LCulValue = LCulValue; remoteCall(lcd_draw_line, &data); }
void LDisplayClass::draw_number(uint8_t ulX, uint8_t ulY, uint32_t ulData, uint32_t BCulValue, uint32_t FCulValue) { number_info_struct data; data.ulX = ulX; data.ulY = ulY; data.ulData = ulData; data.BCulValue = BCulValue; data.FCulValue = FCulValue; remoteCall(lcd_draw_number, &data); }
boolean LBTServerClass::accept(size_t time_out, const char *MACAddr) { LBTServerAcceptContext c; c.time_out = time_out; LBTAddress addr = {0}; c.address = &addr; if (0 > addrStr2Mac(MACAddr, *(c.address))) return false; remoteCall(btServerAccept, (void*)&c); return c.result; }
size_t LBTServerClass::write(const uint8_t data) { LBTServerReadWriteContext c; c.buf = (void*)&data; c.len = 1; if (!m_post_write) { APP_LOG((char*)"LBTServerClass::write wait"); vm_signal_wait(m_signal_write); // wait for VM_SRV_SPP_EVENT_READY_TO_WRITE APP_LOG((char*)"LBTServerClass::write wait ok"); } vm_signal_clean(m_signal_write); m_post_write = 0; remoteCall(btServerWrite, (void*)&c); m_post_write = 1; return c.lenProcessed; }
void LGPSClass::setMode(gpsModeEnum mode){ remoteCall(gpsSetMode, (void*)&mode); }
void LGPSClass::powerOff(void){ remoteCall(gpsPowerOff, (void*)NULL); }
void LGPSClass::powerOn(gpsTypeEnum type) { begin(); remoteCall(gpsPowerOn, (void*)&type); }
void LDisplayClass::screen_set(uint32_t ulValue) { remoteCall(lcd_screen_set, &ulValue); }
void LDisplayClass::back_light_level(uint8_t ulValue) { remoteCall(lcd_back_light_level, &ulValue); }
void LDisplayClass::draw_updata(void) { remoteCall(lcd_draw_updata, NULL); }
void LDisplayClass::init(void) { remoteCall(lcd_init, NULL); }