示例#1
0
文件: main.c 项目: jkarras/octoroach
int main(void) {

    WordVal src_addr_init = {SRC_ADDR};
    WordVal src_pan_id_init = {SRC_PAN_ID};
    WordVal dst_addr_init = {DST_ADDR};

    SetupClock();
    SwitchClocks();
    SetupPorts();
    batSetup();

    swatchSetup();
    radioInit(src_addr_init, src_pan_id_init, RXPQ_MAX_SIZE, TXPQ_MAX_SIZE);
	radioSetChannel(MY_CHAN); //Set to my channel
    macSetDestAddr(dst_addr_init);

    dfmemSetup();
	unsigned char memsize;
	memsize = dfmemGetChipSize();
    xlSetup();
    gyroSetup();
    mcSetup();
    cmdSetup();
    //senSetup();
	adcSetup();
    pidSetup();
    steeringSetup();
	
    //radioReadTrxId(id);

    LED_RED = 1;
    LED_BLUE = 0;
	LED_YELLOW = 0;

	//while(1);

    if(phyGetState() == 0x16)  { LED_GREEN = 1; }

    //print("Ready");	

	//readDFMemBySample(5);

    while(1) {
     	cmdHandleRadioRxBuffer();

		//Simple idle ; reduces idle current to 70 mA
        // TODO (abuchan, apullin, fgb) : Idle() causes unexpected behavior
		//if(radioIsRxQueueEmpty()){
		//	Idle();
		//}

    }
}
示例#2
0
void rgltrSetup(float ts) {

    is_ready = 0;
    reg_state = REG_OFF;
        
    mcSetup();  // Set up motor driver
    
    yawPid = ctrlCreatePidParams(ts);
    if(yawPid == NULL) { return; }
    pitchPid = ctrlCreatePidParams(ts);
    if(pitchPid == NULL) { return; }
    rollPid = ctrlCreatePidParams(ts);
    if(rollPid == NULL) { return; }

    yawRateFilter = NULL;
    pitchRateFilter = NULL;
    rollRateFilter = NULL;

    is_ready = 1;
}
示例#3
0
int main (void)
{
    unsigned int i;

    /* Initialization */
    SetupClock();
    SetupPorts();
    batSetup();
    cmdSetup();
    mcSetup();
    SetupADC();
    SwitchClocks();
    sclockSetup();

    radioInit(TXPQ_MAX_SIZE, RXPQ_MAX_SIZE);
    radioSetChannel(MY_CHAN);
    radioSetSrcPanID(PAN_ID);
    radioSetSrcAddr(SRC_ADDR);

    dfmemSetup();
    camSetup();
    cambuffSetup();
    gyroSetup();

    cmdResetSettings();

    for (i = 0; i < 6; i++)
    {
        LED_GREEN  = ~LED_GREEN;  delay_ms(50);
        LED_RED    = ~LED_RED;    delay_ms(50);
        LED_ORANGE = ~LED_ORANGE; delay_ms(50);
    }
    LED_GREEN = 0; LED_RED = 0; LED_ORANGE = 0;

    /* Program */
    while (1)
    {
        cmdHandleRadioRxBuffer();
        radioProcess();
    }
}