void Pilot::resetControl() { sendThruster(0,1,0); sendThruster(0,2,0); sendThruster(0,3,0); sendThruster(0,4,0); sendThruster(0,5,0); sendThruster(0,6,0); sendLED(0,1,0); sendLED(0,2,0); }
int setLedNum(int n) { if(n<0 || n >10){ printf("n = [0, 10]\n"); return -1; } send16bitData(CmdMode); sendLED(pow(2,n)-1); // 2^n-1 latchData(); }
void Pilot::manualControl(rapidjson::Document* doc,int uid) { const rapidjson::Value& pArgs = (*doc)["args"]; if(pArgs.IsArray() == false)return; if(!strcmp("cancelControl",(*doc)["name"].GetString())) { //printf("Cancel uid=%d Control\n",uid); cancelIdControl(uid); } else if(pArgs[rapidjson::SizeType(0)].IsInt()) { int s = pArgs[rapidjson::SizeType(0)].GetInt(); if(!strcmp("thro",(*doc)["name"].GetString())) { //printf("thro control power=%d\n",s); sendThruster(uid,1,s); sendThruster(uid,2,s); } else if(!strcmp("yaw",(*doc)["name"].GetString())) { //printf("yaw control power=%d\n",s); sendThruster(uid,1,s); sendThruster(uid,2,-s); } else if(!strcmp("led",(*doc)["name"].GetString())&&pArgs[rapidjson::SizeType(1)].IsInt()) { //printf("led control id=%d power=%d\n",s,pArgs[rapidjson::SizeType(1)].GetInt()); sendLED(uid,s,pArgs[rapidjson::SizeType(1)].GetInt()); } } }
void LEDBar::displayStack(uint16_t displayVal, bool direction) { mapped = map(displayVal, mapLow, mapHigh, 0, 10); if (direction == 0) { switch (mapped) { case 0: output = 0; break; case 1: output = 512; break; case 2: output = 768; break; case 3: output = 896; break; case 4: output = 960; break; case 5: output = 992; break; //green to red case 6: output = 1008; break; case 7: output = 1016; break; case 8: output = 1020; break; case 9: output = 1022; break; case 10: output = 1023; break; } } else { switch (mapped) { case 0: output = 0; break; case 1: output = 1; break; case 2: output = 3; break; case 3: output = 7; break; case 4: output = 15; break; case 5: output = 31; break; //red to green case 6: output = 63; break; case 7: output = 127; break; case 8: output = 255; break; case 9: output = 511; break; case 10: output = 1023; break; } } setCmdMode(); sendLED(output); latchData(); }
void LEDBar::displayCounter(uint16_t displayVal) { setCmdMode(); sendLED(displayVal); latchData(); }
void LEDBar::setSingleBar(uint8_t barnum) { setCmdMode(); sendLED(0x01 << barnum); latchData(); }