Example #1
0
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();
}
Example #3
0
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());
        }
    }
}
Example #4
0
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();
}
Example #5
0
void LEDBar::displayCounter(uint16_t displayVal)
{
    setCmdMode();
    sendLED(displayVal);
    latchData();
}
Example #6
0
void LEDBar::setSingleBar(uint8_t barnum)
{
    setCmdMode();
    sendLED(0x01 << barnum);
    latchData();
}