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;
}
Esempio n. 5
0
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;
}
Esempio n. 14
0
void LGPSClass::setMode(gpsModeEnum mode){
    remoteCall(gpsSetMode, (void*)&mode);  
}
Esempio n. 15
0
void LGPSClass::powerOff(void){
	remoteCall(gpsPowerOff, (void*)NULL);
}
Esempio n. 16
0
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);
}