示例#1
0
void Client::send_rotate() {
	_vars[0].i = me->id;
	_vars[1].f = me->angle;
	send_cmd( NW_CMD_ROTATE);
}	
static int32_t nt35510_init(struct lcd_spec *self)
{
	Send_data send_cmd = self->info.mcu->ops->send_cmd;
	Send_data send_data = self->info.mcu->ops->send_data;

	LCD_PRINT("nt35510_init===\n");	

	mdelay(200);

	//Power setting sequence
	send_cmd(0xF000);
	send_data(0x55);
	send_cmd(0xF001);
	send_data(0xAA);	
	send_cmd(0xF002);
	send_data(0x52);
	send_cmd(0xF003);
	send_data(0x08);
	send_cmd(0xF004);
	send_data(0x01);
	
	send_cmd(0xB000);
	send_data(0x09);
	send_cmd(0xB001);
	send_data(0x09);
	send_cmd(0xB002);
	send_data(0x09);
	
	send_cmd(0xB600);
	send_data(0x34);
	send_cmd(0xB601);
	send_data(0x34);	
	send_cmd(0xB602);
	send_data(0x34);
	
	send_cmd(0xB100);
	send_data(0x09);
	send_cmd(0xB101);
	send_data(0x09);	
	send_cmd(0xB102);
	send_data(0x09);
	
	send_cmd(0xB700);
	send_data(0x24);
	send_cmd(0xB701);
	send_data(0x24);	
	send_cmd(0xB702);
	send_data(0x24);
	
	send_cmd(0xB300);
	send_data(0x05);
	send_cmd(0xB301);
	send_data(0x05);	
	send_cmd(0xB302);
	send_data(0x05);
	
	send_cmd(0xB900);
	send_data(0x24);
	send_cmd(0xB901);
	send_data(0x24);	
	send_cmd(0xB902);
	send_data(0x24);
	
	send_cmd(0xBF00);
	send_data(0x01);
	
	send_cmd(0xB500);
	send_data(0x0B);
	send_cmd(0xB501);
	send_data(0x0B);	
	send_cmd(0xB502);
	send_data(0x0B);
	
	send_cmd(0xBA00);
	send_data(0x24);
	send_cmd(0xBA01);
	send_data(0x24);	
	send_cmd(0xBA02);
	send_data(0x24);
	
	send_cmd(0xBC00);
	send_data(0x00);
	send_cmd(0xBC01);
	send_data(0xA3);	
	send_cmd(0xBC02);
	send_data(0x00);
	
	send_cmd(0xBD00);
	send_data(0x00);
	send_cmd(0xBD01);
	send_data(0xA3);	
	send_cmd(0xBD02);
	send_data(0x00);
	
	mdelay(120);

	//Display parameter setting
	send_cmd(0xF000);
	send_data(0x55);
	send_cmd(0xF001);
	send_data(0xAA);	
	send_cmd(0xF002);
	send_data(0x52);
	send_cmd(0xF003);
	send_data(0x08);
	send_cmd(0xF004);
	send_data(0x00);
	
	send_cmd(0xB000);
	send_data(0x00);
	
	send_cmd(0xB600);
	send_data(0x0A);
	
	send_cmd(0xB700);
	send_data(0x00);
	send_cmd(0xB701);
	send_data(0x00);
	
	send_cmd(0xB800);
	send_data(0x01);
	send_cmd(0xB801);
	send_data(0x05);
	send_cmd(0xB802);
	send_data(0x05);
	send_cmd(0xB803);
	send_data(0x05);
	
	send_cmd(0xBA00);
	send_data(0x01);
	
	send_cmd(0xBC00);
	send_data(0x00);
	send_cmd(0xBc01);
	send_data(0x00);
	send_cmd(0xBC02);
	send_data(0x00);
	
	send_cmd(0xBD00);
	send_data(0x01);
	send_cmd(0xBD01);
	send_data(0x84);	
	send_cmd(0xBD02);
	send_data(0x07);
	send_cmd(0xBD03);
	send_data(0x31);
	send_cmd(0xBD04);
	send_data(0x00);
	
	send_cmd(0xBE00);
	send_data(0x01);
	send_cmd(0xBE01);
	send_data(0x84);	
	send_cmd(0xBE02);
	send_data(0x07);
	send_cmd(0xBE03);
	send_data(0x31);
	send_cmd(0xBE04);
	send_data(0x00);
	
	send_cmd(0xBF00);
	send_data(0x01);
	send_cmd(0xBF01);
	send_data(0x84);	
	send_cmd(0xBF02);
	send_data(0x07);
	send_cmd(0xBF03);
	send_data(0x31);
	send_cmd(0xBF04);
	send_data(0x00);
	
	send_cmd(0xCC00);
	send_data(0x03);
	send_cmd(0xCC01);
	send_data(0x00);	
	send_cmd(0xCC02);
	send_data(0x00);
	
	send_cmd(0xB101);
	send_data(0x03);

	send_cmd(0x3500);
	send_data(0x00);
	
	send_cmd(0x3600);
	send_data(0xD6);//(0x00);->0x01->0x11
	
	send_cmd(0x3A00);
	send_data(0x05);
	
	send_cmd(0x2C00);

	//Gamma setting R+
	send_cmd(0xD100);
	send_data(0x00);
	send_cmd(0xD101);
	send_data(0x37);	
	send_cmd(0xD102);
	send_data(0x00);
	send_cmd(0xD103);
	send_data(0x51);
	send_cmd(0xD104);
	send_data(0x00);
	send_cmd(0xD105);
	send_data(0x71);
	send_cmd(0xD106);
	send_data(0x00);	
	send_cmd(0xD107);
	send_data(0x96);
	send_cmd(0xD108);
	send_data(0x00);
	send_cmd(0xD109);
	send_data(0xAA);
	send_cmd(0xD10A);
	send_data(0x00);
	send_cmd(0xD10B);
	send_data(0xC9);	
	send_cmd(0xD10C);
	send_data(0x00);
	send_cmd(0xD10D);
	send_data(0xE4);
	send_cmd(0xD10E);
	send_data(0x01);
	send_cmd(0xD10F);
	send_data(0x1C);
	send_cmd(0xD110);
	send_data(0x01);
	send_cmd(0xD111);
	send_data(0x3C);	
	send_cmd(0xD112);
	send_data(0x01);
	send_cmd(0xD113);
	send_data(0x80);
	send_cmd(0xD114);
	send_data(0x01);
	send_cmd(0xD115);
	send_data(0xB5);
	send_cmd(0xD116);
	send_data(0x02);	
	send_cmd(0xD117);
	send_data(0x02);
	send_cmd(0xD118);
	send_data(0x02);
	send_cmd(0xD119);
	send_data(0x48);
	send_cmd(0xD11A);
	send_data(0x02);
	send_cmd(0xD11B);
	send_data(0x4A);	
	send_cmd(0xD11C);
	send_data(0x02);
	send_cmd(0xD11D);
	send_data(0x83);
	send_cmd(0xD11E);
	send_data(0x02);
	send_cmd(0xD11F);
	send_data(0xC5);
	
	send_cmd(0xD120);
	send_data(0x02);
	send_cmd(0xD121);
	send_data(0xE8);	
	send_cmd(0xD122);
	send_data(0x03);
	send_cmd(0xD123);
	send_data(0x14);
	send_cmd(0xD124);
	send_data(0x03);
	send_cmd(0xD125);
	send_data(0x32);
	send_cmd(0xD126);
	send_data(0x03);	
	send_cmd(0xD127);
	send_data(0x5D);
	send_cmd(0xD128);
	send_data(0x03);
	send_cmd(0xD129);
	send_data(0x73);
	send_cmd(0xD12A);
	send_data(0x03);
	send_cmd(0xD12B);
	send_data(0x91);	
	send_cmd(0xD12C);
	send_data(0x03);
	send_cmd(0xD12D);
	send_data(0xA0);
	send_cmd(0xD12E);
	send_data(0x03);
	send_cmd(0xD12F);
	send_data(0xBF);
	
	send_cmd(0xD130);
	send_data(0x03);
	send_cmd(0xD131);
	send_data(0xCF);	
	send_cmd(0xD132);
	send_data(0x03);
	send_cmd(0xD133);
	send_data(0xDF);

	//Gamma setting G+
	send_cmd(0xD200);
	send_data(0x00);
	send_cmd(0xD201);
	send_data(0x37);	
	send_cmd(0xD202);
	send_data(0x00);
	send_cmd(0xD203);
	send_data(0x51);
	send_cmd(0xD204);
	send_data(0x00);
	send_cmd(0xD205);
	send_data(0x71);
	send_cmd(0xD206);
	send_data(0x00);	
	send_cmd(0xD207);
	send_data(0x96);
	send_cmd(0xD208);
	send_data(0x00);
	send_cmd(0xD209);
	send_data(0xAA);
	send_cmd(0xD20A);
	send_data(0x00);
	send_cmd(0xD20B);
	send_data(0xC9);	
	send_cmd(0xD20C);
	send_data(0x00);
	send_cmd(0xD20D);
	send_data(0xE4);
	send_cmd(0xD20E);
	send_data(0x01);
	send_cmd(0xD20F);
	send_data(0x1C);
	
	send_cmd(0xD210);
	send_data(0x01);
	send_cmd(0xD211);
	send_data(0x3C);	
	send_cmd(0xD212);
	send_data(0x01);
	send_cmd(0xD213);
	send_data(0x80);
	send_cmd(0xD214);
	send_data(0x01);
	send_cmd(0xD215);
	send_data(0xB5);
	send_cmd(0xD216);
	send_data(0x02);	
	send_cmd(0xD217);
	send_data(0x02);
	send_cmd(0xD218);
	send_data(0x02);
	send_cmd(0xD219);
	send_data(0x48);
	send_cmd(0xD21A);
	send_data(0x02);
	send_cmd(0xD21B);
	send_data(0x4A);	
	send_cmd(0xD21C);
	send_data(0x02);
	send_cmd(0xD21D);
	send_data(0x83);
	send_cmd(0xD21E);
	send_data(0x02);
	send_cmd(0xD21F);
	send_data(0xC5);
	
	send_cmd(0xD220);
	send_data(0x02);
	send_cmd(0xD221);
	send_data(0xE8);	
	send_cmd(0xD222);
	send_data(0x03);
	send_cmd(0xD223);
	send_data(0x14);
	send_cmd(0xD224);
	send_data(0x03);
	send_cmd(0xD225);
	send_data(0x32);
	send_cmd(0xD226);
	send_data(0x03);	
	send_cmd(0xD227);
	send_data(0x5D);
	send_cmd(0xD228);
	send_data(0x03);
	send_cmd(0xD229);
	send_data(0x73);
	send_cmd(0xD22A);
	send_data(0x03);
	send_cmd(0xD22B);
	send_data(0x91);	
	send_cmd(0xD22C);
	send_data(0x03);
	send_cmd(0xD22D);
	send_data(0xA0);
	send_cmd(0xD22E);
	send_data(0x03);
	send_cmd(0xD22F);
	send_data(0xBF);
	
	send_cmd(0xD230);
	send_data(0x03);
	send_cmd(0xD231);
	send_data(0xCF);	
	send_cmd(0xD232);
	send_data(0x03);
	send_cmd(0xD233);
	send_data(0xDF);

	//Gamma setting B+
	send_cmd(0xD300);
	send_data(0x00);
	send_cmd(0xD301);
	send_data(0x37);	
	send_cmd(0xD302);
	send_data(0x00);
	send_cmd(0xD303);
	send_data(0x51);
	send_cmd(0xD304);
	send_data(0x00);
	send_cmd(0xD305);
	send_data(0x71);
	send_cmd(0xD306);
	send_data(0x00);	
	send_cmd(0xD307);
	send_data(0x96);
	send_cmd(0xD308);
	send_data(0x00);
	send_cmd(0xD309);
	send_data(0xAA);
	send_cmd(0xD30A);
	send_data(0x00);
	send_cmd(0xD30B);
	send_data(0xC9);	
	send_cmd(0xD30C);
	send_data(0x00);
	send_cmd(0xD30D);
	send_data(0xE4);
	send_cmd(0xD30E);
	send_data(0x01);
	send_cmd(0xD30F);
	send_data(0x1C);

	send_cmd(0xD310);
	send_data(0x01);
	send_cmd(0xD311);
	send_data(0x3C);	
	send_cmd(0xD312);
	send_data(0x01);
	send_cmd(0xD313);
	send_data(0x80);
	send_cmd(0xD314);
	send_data(0x01);
	send_cmd(0xD315);
	send_data(0xB5);
	send_cmd(0xD316);
	send_data(0x02);	
	send_cmd(0xD317);
	send_data(0x02);
	send_cmd(0xD318);
	send_data(0x02);
	send_cmd(0xD319);
	send_data(0x48);
	send_cmd(0xD31A);
	send_data(0x02);
	send_cmd(0xD31B);
	send_data(0x4A);	
	send_cmd(0xD31C);
	send_data(0x02);
	send_cmd(0xD31D);
	send_data(0x83);
	send_cmd(0xD31E);
	send_data(0x02);
	send_cmd(0xD31F);
	send_data(0xC5);

	send_cmd(0xD320);
	send_data(0x02);
	send_cmd(0xD321);
	send_data(0xE8);	
	send_cmd(0xD322);
	send_data(0x03);
	send_cmd(0xD323);
	send_data(0x14);
	send_cmd(0xD324);
	send_data(0x03);
	send_cmd(0xD325);
	send_data(0x32);
	send_cmd(0xD326);
	send_data(0x03);	
	send_cmd(0xD327);
	send_data(0x5D);
	send_cmd(0xD328);
	send_data(0x03);
	send_cmd(0xD329);
	send_data(0x73);
	send_cmd(0xD32A);
	send_data(0x03);
	send_cmd(0xD32B);
	send_data(0x91);	
	send_cmd(0xD32C);
	send_data(0x03);
	send_cmd(0xD32D);
	send_data(0xA0);
	send_cmd(0xD32E);
	send_data(0x03);
	send_cmd(0xD32F);
	send_data(0xBF);

	send_cmd(0xD330);
	send_data(0x03);
	send_cmd(0xD331);
	send_data(0xCF);	
	send_cmd(0xD332);
	send_data(0x03);
	send_cmd(0xD333);
	send_data(0xDF);	

	//Gamma setting R-
	send_cmd(0xD400);
	send_data(0x00);
	send_cmd(0xD401);
	send_data(0x37);	
	send_cmd(0xD402);
	send_data(0x00);
	send_cmd(0xD403);
	send_data(0x51);
	send_cmd(0xD404);
	send_data(0x00);
	send_cmd(0xD405);
	send_data(0x71);
	send_cmd(0xD406);
	send_data(0x00);	
	send_cmd(0xD407);
	send_data(0x96);
	send_cmd(0xD408);
	send_data(0x00);
	send_cmd(0xD409);
	send_data(0xAA);
	send_cmd(0xD40A);
	send_data(0x00);
	send_cmd(0xD40B);
	send_data(0xC9);	
	send_cmd(0xD40C);
	send_data(0x00);
	send_cmd(0xD40D);
	send_data(0xE4);
	send_cmd(0xD40E);
	send_data(0x01);
	send_cmd(0xD40F);
	send_data(0x1C);
	
	send_cmd(0xD410);
	send_data(0x01);
	send_cmd(0xD411);
	send_data(0x3C);	
	send_cmd(0xD412);
	send_data(0x01);
	send_cmd(0xD413);
	send_data(0x80);
	send_cmd(0xD414);
	send_data(0x01);
	send_cmd(0xD415);
	send_data(0xB5);
	send_cmd(0xD416);
	send_data(0x02);	
	send_cmd(0xD417);
	send_data(0x02);
	send_cmd(0xD418);
	send_data(0x02);
	send_cmd(0xD419);
	send_data(0x48);
	send_cmd(0xD41A);
	send_data(0x02);
	send_cmd(0xD41B);
	send_data(0x4A);	
	send_cmd(0xD41C);
	send_data(0x02);
	send_cmd(0xD41D);
	send_data(0x83);
	send_cmd(0xD41E);
	send_data(0x02);
	send_cmd(0xD41F);
	send_data(0xC5);
	
	send_cmd(0xD420);
	send_data(0x02);
	send_cmd(0xD421);
	send_data(0xE8);	
	send_cmd(0xD422);
	send_data(0x03);
	send_cmd(0xD423);
	send_data(0x14);
	send_cmd(0xD424);
	send_data(0x03);
	send_cmd(0xD425);
	send_data(0x32);
	send_cmd(0xD426);
	send_data(0x03);	
	send_cmd(0xD427);
	send_data(0x5D);
	send_cmd(0xD428);
	send_data(0x03);
	send_cmd(0xD429);
	send_data(0x73);
	send_cmd(0xD42A);
	send_data(0x03);
	send_cmd(0xD42B);
	send_data(0x91);	
	send_cmd(0xD42C);
	send_data(0x03);
	send_cmd(0xD42D);
	send_data(0xA0);
	send_cmd(0xD42E);
	send_data(0x03);
	send_cmd(0xD42F);
	send_data(0xBF);
	
	send_cmd(0xD430);
	send_data(0x03);
	send_cmd(0xD431);
	send_data(0xCF);	
	send_cmd(0xD432);
	send_data(0x03);
	send_cmd(0xD433);
	send_data(0xDF);

	//Gamma setting G-
	send_cmd(0xD500);
	send_data(0x00);
	send_cmd(0xD501);
	send_data(0x37);	
	send_cmd(0xD502);
	send_data(0x00);
	send_cmd(0xD503);
	send_data(0x51);
	send_cmd(0xD504);
	send_data(0x00);
	send_cmd(0xD505);
	send_data(0x71);
	send_cmd(0xD506);
	send_data(0x00);	
	send_cmd(0xD507);
	send_data(0x96);
	send_cmd(0xD508);
	send_data(0x00);
	send_cmd(0xD509);
	send_data(0xAA);
	send_cmd(0xD50A);
	send_data(0x00);
	send_cmd(0xD50B);
	send_data(0xC9);	
	send_cmd(0xD50C);
	send_data(0x00);
	send_cmd(0xD50D);
	send_data(0xE4);
	send_cmd(0xD50E);
	send_data(0x01);
	send_cmd(0xD50F);
	send_data(0x1C);
	
	send_cmd(0xD510);
	send_data(0x01);
	send_cmd(0xD511);
	send_data(0x3C);	
	send_cmd(0xD512);
	send_data(0x01);
	send_cmd(0xD513);
	send_data(0x80);
	send_cmd(0xD514);
	send_data(0x01);
	send_cmd(0xD515);
	send_data(0xB5);
	send_cmd(0xD516);
	send_data(0x02);	
	send_cmd(0xD517);
	send_data(0x02);
	send_cmd(0xD518);
	send_data(0x02);
	send_cmd(0xD519);
	send_data(0x48);
	send_cmd(0xD51A);
	send_data(0x02);
	send_cmd(0xD51B);
	send_data(0x4A);	
	send_cmd(0xD51C);
	send_data(0x02);
	send_cmd(0xD51D);
	send_data(0x83);
	send_cmd(0xD51E);
	send_data(0x02);
	send_cmd(0xD51F);
	send_data(0xC5);
	
	send_cmd(0xD520);
	send_data(0x02);
	send_cmd(0xD521);
	send_data(0xE8);	
	send_cmd(0xD522);
	send_data(0x03);
	send_cmd(0xD523);
	send_data(0x14);
	send_cmd(0xD524);
	send_data(0x03);
	send_cmd(0xD525);
	send_data(0x32);
	send_cmd(0xD526);
	send_data(0x03);	
	send_cmd(0xD527);
	send_data(0x5D);
	send_cmd(0xD528);
	send_data(0x03);
	send_cmd(0xD529);
	send_data(0x73);
	send_cmd(0xD52A);
	send_data(0x03);
	send_cmd(0xD52B);
	send_data(0x91);	
	send_cmd(0xD52C);
	send_data(0x03);
	send_cmd(0xD52D);
	send_data(0xA0);
	send_cmd(0xD52E);
	send_data(0x03);
	send_cmd(0xD52F);
	send_data(0xBF);
	
	send_cmd(0xD530);
	send_data(0x03);
	send_cmd(0xD531);
	send_data(0xCF);	
	send_cmd(0xD532);
	send_data(0x03);
	send_cmd(0xD533);
	send_data(0xDF);

	//Gamma setting B-
	send_cmd(0xD600);
	send_data(0x00);
	send_cmd(0xD601);
	send_data(0x37);	
	send_cmd(0xD602);
	send_data(0x00);
	send_cmd(0xD603);
	send_data(0x51);
	send_cmd(0xD604);
	send_data(0x00);
	send_cmd(0xD605);
	send_data(0x71);
	send_cmd(0xD606);
	send_data(0x00);	
	send_cmd(0xD607);
	send_data(0x96);
	send_cmd(0xD608);
	send_data(0x00);
	send_cmd(0xD609);
	send_data(0xAA);
	send_cmd(0xD60A);
	send_data(0x00);
	send_cmd(0xD60B);
	send_data(0xC9);	
	send_cmd(0xD60C);
	send_data(0x00);
	send_cmd(0xD60D);
	send_data(0xE4);
	send_cmd(0xD60E);
	send_data(0x01);
	send_cmd(0xD60F);
	send_data(0x1C);
	
	send_cmd(0xD610);
	send_data(0x01);
	send_cmd(0xD611);
	send_data(0x3C);	
	send_cmd(0xD612);
	send_data(0x01);
	send_cmd(0xD613);
	send_data(0x80);
	send_cmd(0xD614);
	send_data(0x01);
	send_cmd(0xD615);
	send_data(0xB5);
	send_cmd(0xD616);
	send_data(0x02);	
	send_cmd(0xD617);
	send_data(0x02);
	send_cmd(0xD618);
	send_data(0x02);
	send_cmd(0xD619);
	send_data(0x48);
	send_cmd(0xD61A);
	send_data(0x02);
	send_cmd(0xD61B);
	send_data(0x4A);	
	send_cmd(0xD61C);
	send_data(0x02);
	send_cmd(0xD61D);
	send_data(0x83);
	send_cmd(0xD61E);
	send_data(0x02);
	send_cmd(0xD61F);
	send_data(0xC5);
	
	send_cmd(0xD620);
	send_data(0x02);
	send_cmd(0xD621);
	send_data(0xE8);	
	send_cmd(0xD622);
	send_data(0x03);
	send_cmd(0xD623);
	send_data(0x14);
	send_cmd(0xD624);
	send_data(0x03);
	send_cmd(0xD625);
	send_data(0x32);
	send_cmd(0xD626);
	send_data(0x03);	
	send_cmd(0xD627);
	send_data(0x5D);
	send_cmd(0xD628);
	send_data(0x03);
	send_cmd(0xD629);
	send_data(0x73);
	send_cmd(0xD62A);
	send_data(0x03);
	send_cmd(0xD62B);
	send_data(0x91);	
	send_cmd(0xD62C);
	send_data(0x03);
	send_cmd(0xD62D);
	send_data(0xA0);
	send_cmd(0xD62E);
	send_data(0x03);
	send_cmd(0xD62F);
	send_data(0xBF);
	
	send_cmd(0xD630);
	send_data(0x03);
	send_cmd(0xD631);
	send_data(0xCF);	
	send_cmd(0xD632);
	send_data(0x03);
	send_cmd(0xD633);
	send_data(0xDF);
	
	send_cmd(0x1100); // (DISPON)
	mdelay(100); // 100ms
	
	send_cmd(0x2900); // (DISPON)
	mdelay(100);
	
	return 0;
}
示例#3
0
static void sync_error_callback(DictionaryResult dict_error, AppMessageResult app_message_error, void *context) {
	APP_LOG(APP_LOG_LEVEL_DEBUG, "App Message Sync Error: %d", app_message_error);
	if (app_message_error == 64) {send_cmd();}
}
示例#4
0
void ultimate2_cmd_serv_privmsg(char *source, char *dest, char *msg)
{
    send_cmd(source, "PRIVMSG $%s :%s", dest, msg);
}
示例#5
0
void ultimate2_cmd_ping(char *server)
{
    send_cmd(ServerName, "PING %s :%s", ServerName, server);
}
示例#6
0
/* SQUIT */
void ultimate2_cmd_squit(char *servname, char *message)
{
    send_cmd(NULL, "SQUIT %s :%s", servname, message);
}
示例#7
0
void ultimate2_cmd_privmsg(char *source, char *dest, char *buf)
{
    send_cmd(source, "PRIVMSG %s :%s", dest, buf);
}
示例#8
0
static void select_long_click_handler(ClickRecognizerRef recognizer, void *context) {
	send_cmd(WATCH_KEY_PRESSED, WATCH_KEY_HELD_SELECT);
}
示例#9
0
static void down_long_click_handler(ClickRecognizerRef recognizer, void *context) {
	send_cmd(WATCH_KEY_PRESSED, WATCH_KEY_HELD_DOWN);
}
示例#10
0
static void
client_version_cb (hashlist_t * v, CONNECTION * con)
{
    ASSERT (validate_connection (con));
    send_cmd (con, MSG_CLIENT_VERSION_STATS, "\"%s\" %d", v->key, v->count);
}
示例#11
0
static void up_single_click_handler(ClickRecognizerRef recognizer, void *context) {
	send_cmd(WATCH_KEY_PRESSED, WATCH_KEY_PRESSED_UP);
}
示例#12
0
void SzbaseProt::on_param_changed( const std::string& pname )
{
    if( sub_params.count( pname ) )
		send_cmd( new NotifySnd( get_client_param_name (pname )) );
}
示例#13
0
void Client::send_quit() {
	_vars[0].i = me->id;
	send_cmd(NW_CMD_QUIT);
}
示例#14
0
void Client::send_shield() {
	_vars[0].i = me->id;
	_vars[1].f = me->shield_angle;
	_vars[2].c = me->full_shield;
	send_cmd( NW_CMD_SHIELD);
}	
示例#15
0
/* PONG */
void ultimate2_cmd_pong(char *servname, char *who)
{
    send_cmd(servname, "PONG %s", who);
}
示例#16
0
int wait_packets(int sd)
{
	int flags;
	int ret;
	int recv_len;
	int len;
	int err;
	fd_set rfds;
	struct nlmsgerr *nl_err;
	struct timeval tv;
	struct nlattr *na;
	struct msgtemplate msg;
	char *http_data;
	struct sample_http_info *http_info;
	long xxxx = 0;
	long errcnt = 0;

	unsigned int query_id = 0;
	char url[MAX_URL_LEN] = {0};
	int sec_flag = 0x0f0f;

#ifdef FIRST_SEND
	printf("%s, first send for test !!!\n", __FUNCTION__);
	err = send_cmd(sd, nl_family_id, SAMPLE_NETLINK_CMD_SECURITY_QUERY,
			SAMPLE_NETLINK_ATTR_SECURITY_FLAG, (void*)&sec_flag,
			sizeof(int), NLM_F_REQUEST);
	if (err < 0) {
		printf("Error sending result (%d:%s)\n",
				errno, strerror(errno));
		return -1;
	}
#endif

	flags = fcntl(sd, F_GETFL);
	fcntl(sd, F_SETFL, flags | O_NONBLOCK);

	err = 0;
	do {
		FD_ZERO(&rfds);
		FD_SET(sd, &rfds);

		/* Monitoring, no timeout */
		ret = select(sd+1, &rfds, NULL, NULL, NULL);

		if (ret < 0) {
			if (errno == EINTR)
				continue;
			perror("select()");
			err = ret;
			break;
		} else if (ret == 0) {
			printf("No answer within %lu seconds.\n", tv.tv_sec);
			err = -ETIMEDOUT;
			break;
		}
		if (!FD_ISSET(sd, &rfds))
			continue;

		printf("\n\n========================================\n\n");
		recv_len = recv(nl_sd, &msg, sizeof(msg), 0);
		if (recv_len < 0) {
			printf("nonfatal reply error: errno %d\n", recv_len);
			err = errno;
			errcnt++;
			printf("fail cnt %d\n", errcnt);
			/* TODO check why failed with high pressure. overwrite on rcv buffer? */
			// break;
		}
#ifdef __DEBUG_MSG__
		if (msg.n.nlmsg_type == NLMSG_ERROR ||
				!NLMSG_OK((&msg.n), recv_len)) {
			nl_err = NLMSG_DATA(&msg);
			printf("fatal reply error,  errno %d\n", nl_err->error);
			err = nl_err->error;
			break;
		}
#endif
		recv_len = GENLMSG_PAYLOAD(&msg.n);
		na = (struct nlattr *) GENLMSG_DATA(&msg);

		printf("%s, recv genl msg, cmd=%d\n", __FUNCTION__, msg.g.cmd);
		print_timestamp();
		len = 0;
		while (len < recv_len) {
			len += NLA_ALIGN(na->nla_len);
			switch (na->nla_type) {
				case SAMPLE_NETLINK_TYPE_SEC_QID:
					{
						query_id = *(unsigned int *)NLA_DATA(na);
						printf("HTTP query id:%d\n", query_id);
					}
					break;
				case SAMPLE_NETLINK_TYPE_HTTP_INFO:
					http_info = (struct http_info *)NLA_DATA(na);
#ifdef __DEBUG_MSG__
					printf("%08x(%u) --> %08x(%u)\n",
							ntohl(http_info->sip), ntohs(http_info->sport),
							ntohl(http_info->dip), ntohs(http_info->dport));
#endif
					break;
				case SAMPLE_NETLINK_TYPE_HTTP_DATA:
					http_data = NLA_DATA(na);
#ifdef __DEBUG_MSG__
					printf("Http data len:%d\n", len);
					printf("Http data[%d]:%s\n", len, http_data);
#endif
					if (SAMPLE_NETLINK_CMD_SECURITY_QUERY == msg.g.cmd) {
						/* parse REQUEST */
						memset((void*)url, 0, sizeof(url));
						if (parse_http_request(http_data, len, url)) {
							printf("%s, parse http request error, skip this query!!!\n", __FUNCTION__);
							break;
						}

						/* query security center */
						char *mac="78:1D:BA:32:11:06";
						char *ip = "201.201.201.201";
						//sec_flag = send_pkg_by_udp(url, url, mac, ip);
						// 2 means evil url
						if (2 == sec_flag) {
							sec_flag = 1;
						} else {
							sec_flag = 0;
						}

						/* send response */
						err = send_security_response(sd, nl_family_id, SAMPLE_NETLINK_CMD_SECURITY_QUERY,
								NLM_F_REQUEST, (void*)&sec_flag, (void*)&query_id);
						if (err < 0) {
							printf("Error sending result (%d:%s)\n",
									errno, strerror(errno));
							return -1;
						}
						printf("%s, send query flag=%d, query_id=%d\n", __FUNCTION__, sec_flag, query_id);
						print_timestamp();
					}
					break;
				default:
					printf("Unknown nla_type %d\n", na->nla_type);
					break;
			}
			na = (struct nlattr *) (GENLMSG_DATA(&msg) + len);
		}
		xxxx++;
		if (xxxx % 100 == 0)
			printf("Get message %d\n", xxxx);


	} while (1);

	/* restore previous attributes */
	fcntl(sd, F_SETFL, flags);
	return err;
}
示例#17
0
/* GLOBOPS */
void ultimate2_cmd_global(char *source, char *buf)
{
    send_cmd(source, "GLOBOPS :%s", buf);
}
示例#18
0
void ultimate2_cmd_stats(char *sender, const char *letter, char *server)
{
    send_cmd(sender, "STATS %s %s", letter, server);
}
示例#19
0
void ultimate2_cmd_notice(char *source, char *dest, char *buf)
{
    send_cmd(source, "NOTICE %s :%s", dest, buf);
}
示例#20
0
void ultimate2_cmd_version(char *server)
{
    send_cmd(s_StatServ, "VERSION %s", server);
}
示例#21
0
void ultimate2_cmd_serv_notice(char *source, char *dest, char *msg)
{
    send_cmd(source, "NOTICE $%s :%s", dest, msg);
}
示例#22
0
void ultimate2_cmd_motd(char *sender, char *server)
{
    send_cmd(sender, "MOTD %s", server);
}
示例#23
0
void ultimate2_cmd_mode(char *source, char *dest, char *buf)
{
    send_cmd(source, "MODE %s %s", dest, buf);
}
示例#24
0
void ultimate2_cmd_join(char *user, char *channel, time_t chantime)
{
    alog(LOG_PROTOCOL, "User %s joins %s at %ld", user, channel,
         (long int) chantime);
    send_cmd(user, "JOIN %s", channel);
}
示例#25
0
void ultimate2_cmd_ctcp(char *source, char *dest, char *buf)
{
    send_cmd(source, "NOTICE %s :\1%s \1", dest, buf);
}
示例#26
0
/* PASS */
void ultimate2_cmd_pass(char *pass)
{
    send_cmd(NULL, "PASS :%s", pass);
}
示例#27
0
void resort_select_single_click_handler(ClickRecognizerRef recognizer, void *context) {
	// For Select Feature - Select Resort and show data
	send_cmd();
	window_stack_push(window, true);
}
示例#28
0
/* SERVER name hop descript */
void ultimate2_cmd_server(char *servname, int hop, char *descript)
{
    send_cmd(NULL, "SERVER %s %d :%s", servname, hop, descript);
}
示例#29
0
static void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);
	static int row_height = 22;
	int it = 2;
	const int button_bar_width = 20;
	const int text_layer_width = 144 - button_bar_width;
	
	//Set up Window Action Bar
	up_arrow_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_UP_ARROW);
	down_arrow_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_DOWN_ARROW);
	settings_icon = gbitmap_create_with_resource(RESOURCE_ID_ICON_SETTINGS);
	window_action_bar = action_bar_layer_create();
	action_bar_layer_add_to_window(window_action_bar, window);
	action_bar_layer_set_background_color(window_action_bar, GColorBlack);
	action_bar_layer_set_click_config_provider(window_action_bar, click_config_provider);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_UP, up_arrow_icon);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_DOWN, down_arrow_icon);
	action_bar_layer_set_icon(window_action_bar, BUTTON_ID_SELECT, settings_icon);

	// Area Name Layer	
	area_name_layer = text_layer_create(GRect(0, -2, text_layer_width, 48));
	text_layer_set_text_color(area_name_layer, GColorWhite);
	text_layer_set_background_color(area_name_layer, GColorClear);
	text_layer_set_font(area_name_layer, fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD));
	text_layer_set_text_alignment(area_name_layer, GTextAlignmentCenter);
	text_layer_set_overflow_mode(area_name_layer, GTextOverflowModeWordWrap);
	layer_add_child(window_layer, text_layer_get_layer(area_name_layer));
	
	// Weather Description Layer
	weather_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(weather_layer, GColorWhite);
	text_layer_set_background_color(weather_layer, GColorClear);
	text_layer_set_font(weather_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(weather_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(weather_layer));
	
	// Snowfall Layer	
	snowfall_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(snowfall_layer, GColorWhite);
	text_layer_set_background_color(snowfall_layer, GColorClear);
	text_layer_set_font(snowfall_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(snowfall_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(snowfall_layer));
	
	// Temperature Layer
	temps_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(temps_layer, GColorWhite);
	text_layer_set_background_color(temps_layer, GColorClear);
	text_layer_set_font(temps_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(temps_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(temps_layer));
	
	// Wind Layer	
	wind_layer = text_layer_create(GRect(0, it++ * row_height, text_layer_width, row_height));
	text_layer_set_text_color(wind_layer, GColorWhite);
	text_layer_set_background_color(wind_layer, GColorClear);
	text_layer_set_font(wind_layer, fonts_get_system_font(FONT_KEY_GOTHIC_18));
	text_layer_set_text_alignment(wind_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(wind_layer));
	
	// Update Time Layer
	update_layer = text_layer_create(GRect(0, it++ * row_height + 4, text_layer_width, row_height));
	text_layer_set_text_color(update_layer, GColorWhite);
	text_layer_set_background_color(update_layer, GColorClear);
	text_layer_set_font(update_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14_BOLD));
	text_layer_set_text_alignment(update_layer, GTextAlignmentCenter);
	layer_add_child(window_layer, text_layer_get_layer(update_layer));
	
	Tuplet initial_values[] = {
		TupletInteger(INDEX_KEY, (uint8_t) 0),
		TupletCString(AREA_NAME_KEY, "Loading..."),
		TupletCString(WEATHER_DESC_KEY, "Loading..."),
		TupletCString(WIND_KEY, "Wind: --- @ -- ---"),
		TupletCString(AREA_TEMPS_KEY, "Temp(--): -- to --"),
		TupletCString(AREA_SNOWFALL_KEY, "Snow(24h): --   "),
		TupletCString(UPDATE_TIME_KEY, "Updated @ --:--"),
		TupletInteger(UNITS_KEY, (uint8_t) 0),
	};
	
	app_sync_init(&sync, sync_buffer, sizeof(sync_buffer), initial_values, ARRAY_LENGTH(initial_values),
				  sync_tuple_changed_callback, sync_error_callback, NULL);
	
	send_cmd();
}
示例#30
0
void Client::send_fire() {
	_vars[0].i = me->id;
	_vars[1].c = me->fire;
	send_cmd( NW_CMD_FIRE);
}