Exemple #1
0
int main(){
    Board_init();
    Serial_init();
    Timer_init();
    Xbee_init(XBEE_UART_ID);
    printf("Xbee Test 2\n");
    while(1){
        Xbee_runSM();
        //if(!UART_isTransmitEmpty(UART1_ID));
        //printf("%d\t",Mavlink_returnACKStatus(messageName_start_rescue));
        if(!UART_isReceiveEmpty(UART1_ID)){
            Serial_getChar();
            Mavlink_send_start_rescue(UART2_ID, TRUE, 0xFF, 0x34FD, 0xAB54);
            Timer_new(TIMER_TIMEOUT, DELAY_TIMEOUT);
            printf("\nSENT\n");
        }
        else if(Timer_isActive(TIMER_TIMEOUT) != TRUE && Mavlink_returnACKStatus(messageName_start_rescue) == ACK_STATUS_WAIT){
        //else if(Timer_isActive(TIMER_TIMEOUT) != TRUE){
            Mavlink_editACKStatus(messageName_start_rescue, ACK_STATUS_DEAD);
            printf("ACK DEAD\n");
        }
        else if(Mavlink_returnACKStatus(messageName_start_rescue) == ACK_STATUS_DEAD){
            Mavlink_send_start_rescue(UART2_ID, TRUE, 0xFF, 0x34FD, 0xAB54);
            Timer_new(TIMER_TIMEOUT, DELAY_TIMEOUT);
        }
        else if(Mavlink_returnACKStatus(messageName_start_rescue) == ACK_STATUS_RECIEVED){
            Mavlink_editACKStatus(messageName_start_rescue, ACK_STATUS_NO_ACK);
            printf("GPS SENT AND ACKOWLEGED\n");
        } 
    }
}
Exemple #2
0
int main(void)
{

    Board_init();
    UART_init(UART2_ID,9600);
    printf("\r\nUno Serial Test Harness\r\nAfter this Message the terminal should mirror anything you type.\r\n");
    unsigned char ch = 0;
    int x;
    while (1) {
        if (UART_isTransmitEmpty(UART1_ID) == TRUE){
            if (UART_isReceiveEmpty(UART1_ID) == FALSE){
                ch = UART_getChar(UART1_ID);
                UART_putChar(UART1_ID, ch);
                printf("  Through UART2: ");
                UART_putChar(UART2_ID, ch);
                x = 1024;
                while(--x){
                    if(UART_isReceiveEmpty(UART2_ID) ==FALSE)
                        break;
                }
                if(UART_isReceiveEmpty(UART2_ID) == FALSE){
                    printf("%c\n", UART_getChar(UART2_ID));
                } else{
                    printf("FAILED\n");
                }
                //DELAY(1000)
            }
        }
    }
    return 0;
}
Exemple #3
0
int main(){
    Board_init();
    Board_configure(USE_TIMER);
    DELAY(10);
    DBPRINT("Starting XBee...\n");
    if (Xbee_init(XBEE_UART_ID) != SUCCESS) {
        DBPRINT("Failed XBee init.\n");
        return FAILURE;
    }
    DBPRINT("XBee initialized.\n");
    DELAY(STARTUP_DELAY);

    Timer_new(TIMER_TEST, PRINT_DELAY);
    unsigned long int sent = 0;
    unsigned long int got = 0;
    while(1){
        Xbee_runSM();
        if (Timer_isExpired(TIMER_TEST)) {
            //dbprint("XBee: Sent=%ld, Got=%ld\n", ++sent, got);
            Mavlink_sendRequestOrigin();
            Timer_new(TIMER_TEST, PRINT_DELAY);
        }
        if (Mavlink_hasNewMessage()) {
            ++got;
        }
    }

    return SUCCESS;
}
Exemple #4
0
int main(void) {
// Initialize the UART,Timers, and I2C1v
    Board_init();
    Serial_init();
    Encoder_init();
    float angle;
    while(1){
        if(Encoder_isLockPressed() || Encoder_isZeroPressed()){
            Encoder_runSM();
//            if(useZeroAngle){
//                angle = Encoder_getAverageAngle();
//                while(!Serial_isTransmitEmpty());
//                printf("Angle: %.2f\n", angle);
//            }
//            else
//                zeroAngle = Encoder_getZeroAngle();
//
//            useZeroAngle = FALSE;
//            zeroFlag = FALSE;
        }
        
    }

    return (SUCCESS);
}
Exemple #5
0
int main(void) {
    unsigned int i, j;
    Board_init();
    PWM_init(PWM_PORTX11 | PWM_PORTY04 | PWM_PORTY10 | PWM_PORTY12 | PWM_PORTZ06, FIRST_PERIOD);


    printf("Uno PWM Test Harness\r\n");
    printf("Ramping PWM from %d-%d%% in 10%% steps at %d with a delay between\r\n", MIN_RAMP, MAX_RAMP, FIRST_PERIOD);
    unsigned char ch = 0;
    for (j = MIN_RAMP; j <= MAX_RAMP; j += 100) {
        PWM_setDutyCycle(PWM_PORTX11, j);
        PWM_setDutyCycle(PWM_PORTY04, j + 20);
        PWM_setDutyCycle(PWM_PORTY10, j + 40);
        PWM_setDutyCycle(PWM_PORTY12, j + 60);
        PWM_setDutyCycle(PWM_PORTZ06, j + 80);
        printf("Outputting %d%% Duty Cycle\r\n", j / 10);
        DELAY(10000);
    }
    printf("Setting Period to %d and repeating ramp\r\n", SECOND_PERIOD);
    PWM_end();
    PWM_init(PWM_PORTX11 | PWM_PORTY04 | PWM_PORTY10 | PWM_PORTY12 | PWM_PORTZ06, SECOND_PERIOD);
    for (j = MIN_RAMP; j <= MAX_RAMP; j += 100) {
        PWM_setDutyCycle(PWM_PORTX11, j);
        PWM_setDutyCycle(PWM_PORTY04, j + 20);
        PWM_setDutyCycle(PWM_PORTY10, j + 40);
        PWM_setDutyCycle(PWM_PORTY12, j + 60);
        PWM_setDutyCycle(PWM_PORTZ06, j + 80);
        printf("Outputting %d%% Duty Cycle\r\n", j / 10);
        DELAY(10000);
    }
    PWM_end();
    return 0;
}
int initialize(){
	Board_init(&board);
	if (displayMode == GUI){
		int initializationError = GUI_init();
		if (initializationError){
			return initializationError;
		}
	}
	state = SETTINGS;
	maxRecursionDepth = 1;	
	player1 = WHITE;
	turn = player1;
	first = WHITE;
	gameMode = TWO_PLAYERS_MODE;
	PieceCounter_setToMax(counter);
	movesOfSelectedPiece = NULL;
	isInCheck = 0;
	gameEnded = 0;
	settingInvalidPiece = 0;
	kingIsMissing = 0;
	modifyingPiece = '_';
	time_t t;
	srand((unsigned) time(&t)); // initializing random number generator
	return 0;
}
Exemple #7
0
void set_up(){
     // Stop WDT
     WDT_A_hold(WDT_A_BASE);

     // Basic GPIO initialization
     Board_init();
     Clock_init();

     // Set up LCD
     lcd_init();

     print_string(22,30,"*WELCOME*");
     Delay();

     //Buttons S1 S2
	 switch_init();

	 //PORTD=0xFF;
	 //adc 6.6 pin
	 adc_init();
	 //DDRC=0XFF;

	 eeprom_address=0x0000;
	 AdcThreshold=eeprom_read_byte(eeprom_address);
	 eeprom_address++;
	 dcval=eeprom_read_byte(eeprom_address);
	 eeprom_address++;
	 fourier_offset=eeprom_read_byte(eeprom_address);
	 eeprom_address=0x10;
	 FThreshold=eeprom_read_byte(eeprom_address);

	 //usart_init();
	 //pwm_init();

}
Exemple #8
0
int main(void) {
    //initializations
    Board_init();
    Board_configure(USE_SERIAL | USE_LCD | USE_TIMER);
    Interface_init();
    //I2C_init(I2C_ID, I2C_CLOCK_FREQ);

    dbprint("Interface online.\n");
    DELAY(STARTUP_DELAY);

    Timer_new(TIMER_TEST, DEBUG_PRINT_DELAY);
    //cycle and check if buttons are pressed, if so, turn light on for 3 seconds
    while(1) {
#ifdef DO_STUFF
        //check to see which button is pressed
        if(Timer_isExpired(TIMER_TEST)) {
            LCD_setPosition(0,0);
            dbprint("Ok=%d, C=%d, R=%d, S=%x,\n Reset=%x, SS=%x\n",
                Interface_isOkPressed(), Interface_isCancelPressed(),
                Interface_isRescuePressed(), Interface_isStopPressed(),
                Interface_isResetPressed(), Interface_isSetStationPressed());
            Timer_new(TIMER_TEST, DEBUG_PRINT_DELAY);
        }
        Interface_runSM();
#endif
    }

    return SUCCESS;
}
Exemple #9
0
int main(void){
// Initialize the UART,Timers, and I2C1
    int count = 0;
    Board_init();
    Timer_init();
    Serial_init();
    Thermal_init();
    while(1){
        if(count == 0){
            readChipTemp();
            calculateChipTemp();
        }
        count++;
        if(count >= 16){
            count = 0;
        }
        readPixelValue();
        readCPixelValue();
        calculateIRTemp();
        int i;
        for(i = 0; i <= 63; ++i){
        while(!Serial_isTransmitEmpty());
            printf("V_ir[%d]: %.2f\n",i,finalPixelTempF[i]);
        }
    }
}
Exemple #10
0
/*
 *  ======== main ========
 */
int main()
{
    /* initialize all device/board specific peripherals */
    Board_init();

    Task_Params taskParams;

    System_printf("Startup\n");
    System_flush();

    /* initialize taskParams to the defaults */
    Task_Params_init(&taskParams);

    taskParams.priority = Task_numPriorities - 1;
    taskParams.stackSize = 0x800;

    /* Set the task name */
    taskParams.instance->name = (xdc_String)"hello";

    /* Create the task */
    Task_create(hello_task, &taskParams, NULL);

    /* does not return */
    BIOS_start();

    return (0); /* should never get here, but just in case ... */
}
Exemple #11
0
int main(void) {
    //initializations
    Board_init();
    Board_configure(USE_SERIAL | USE_LCD | USE_TIMER);
    Interface_init();
    //I2C_init(I2C_ID, I2C_CLOCK_FREQ);

    DELAY(10);
    dbprint("Interface online.\n");

    DELAY(STARTUP_DELAY);
    enum {
        CANCEL  = 1,
        OK,
        STOP,
        RESCUE,
        SETSTATION,
        IDLE,
        RESET
    } state;

    //cycle and check if buttons are pressed, if so, turn light on for 3 seconds
    while(1) {
        //check to see which button is pressed
        if(Interface_isCancelPressed() && state != CANCEL){
            state = CANCEL;
            LCD_setPosition(0,0);
            dbprint("Cancel.\n");
        }else if(Interface_isOkPressed()  && state != OK){
            state = OK;
            LCD_setPosition(0,0);
            dbprint("Ok.\n");
        }else if(Interface_isStopPressed() && state != STOP){
            state = STOP;
            LCD_setPosition(0,0);
            dbprint("Stop.\n");
        }else if(Interface_isRescuePressed() && state != RESCUE){
            state = RESCUE;
            LCD_setPosition(0,0);
            dbprint("Rescue.\n");
        }else if(Interface_isSetStationPressed() && state != SETSTATION){
            state = SETSTATION;
            LCD_setPosition(0,0);
            dbprint("Set station.\n");
        }else if(Interface_isResetPressed() && state != RESET){
            state = RESET;
            LCD_setPosition(0,0);
            dbprint("Reset.\n");
        }else{
            // Nothing
        }

        Interface_runSM();
    }

    return SUCCESS;
}
Exemple #12
0
int main(void) {
// Initialize the UART,Timers, and I2C1v
    Board_init();
    Board_configure(USE_SERIAL | USE_LCD | USE_TIMER);
    dbprint("Starting encoders...\n");
    I2C_init(I2C_ID, I2C_CLOCK_FREQ);
    Encoder_init();
    Interface_init();
    Timer_new(TIMER_TEST, PRINT_DELAY );
    while (!Timer_isExpired(TIMER_TEST)) {
        Encoder_runSM();
    }

    // Not working?
    //Encoder_setZeroPitch();
    //Encoder_setZeroYaw();

    dbprint("Encoders initialized.\n");
    DELAY(STARTUP_DELAY)
    Timer_new(TIMER_TEST, PRINT_DELAY );

    bool clearedCalibrateMessage = TRUE;
    Timer_new(TIMER_TEST2,CALIBRATE_HOLD_DELAY);
    //Interface_waitLightOnTimer(CALIBRATE_HOLD_DELAY);
    Interface_waitLightOnTimer(CALIBRATE_HOLD_DELAY);

    LCD_setPosition(0,0);
    dbprint("Encoders:\n");
    while(1) {
        if (Timer_isExpired(TIMER_TEST)) {
            LCD_setPosition(1,0);
            dbprint(" P=%.1f,\n Y=%.1f\n",Encoder_getPitch(), Encoder_getYaw());

            Timer_new(TIMER_TEST, PRINT_DELAY );
        }
        if (Interface_isOkPressed() && Timer_isExpired(TIMER_TEST2)) {
            Encoder_setZeroPitch();
            Encoder_setZeroYaw();
            LCD_setPosition(3,0);
            dbprint("Zeroed encoders.\n");
            clearedCalibrateMessage = FALSE;
            Interface_waitLightOnTimer(CALIBRATE_HOLD_DELAY);
            Interface_readyLightOff();
            Timer_new(TIMER_TEST2,CALIBRATE_HOLD_DELAY);
        }
        if (Timer_isExpired(TIMER_TEST2) && !clearedCalibrateMessage) {
            clearedCalibrateMessage = TRUE;
            LCD_setPosition(3,0);
            dbprint("                     ");
            Interface_readyLightOn();
        }
        Encoder_runSM();
        Interface_runSM();
    }

    return (SUCCESS);
}
Exemple #13
0
int main(void)
{
    Board_init();
    Serial_initSM();
    printf("\r\nUno Serial Test Harness\r\nAfter this Message the terminal should mirror anything you type.\r\n");

    while (1) {
        Serial_runSM();
    }

    return 0;
}
void resetToDefaults(){
	Board_init(&board); 
	first = WHITE; 
	gameMode = TWO_PLAYERS_MODE; 
	maxRecursionDepth = 1; 
	player1 = WHITE;
	turn = first;
	isInCheck = 0; 
	gameEnded = 0; 
	chosePromotionMove = 0;
	modifyingPiece = '_';	
}
Exemple #15
0
int main(void)
{
    Board_init();
    Serial_init();
    LCD_init();
    Timer_init();
    printf("Testing the LCD display.\nYou should see: Hello World!\n");

    LCD_writeString("Hello World!\nLine2\nLine3\nLine4\n");
    Timer_new(TIMER_TEST,WRITE_DELAY);
    while (!Timer_isExpired(TIMER_TEST)) {
        asm("nop");
    }
    printf("Overwriting line 1\n");
    LCD_writeString("Testing overtop line1.\n");

    Timer_new(TIMER_TEST,WRITE_DELAY);
    while (!Timer_isExpired(TIMER_TEST)) {
        asm("nop");
    }
    printf("Clearing Display\n");
    LCD_clearDisplay();

    Timer_new(TIMER_TEST,WRITE_DELAY);
    while (!Timer_isExpired(TIMER_TEST)) {
        asm("nop");
    }
    LCD_writeString("Here.we.go\n");
    LCD_writeString("CLEARED!\n");
    LCD_writeString("CLEARED2!\n");
    LCD_writeString("CLEARED3!\n");

    Timer_new(TIMER_TEST,WRITE_DELAY);
    while (!Timer_isExpired(TIMER_TEST)) {
        asm("nop");
    }

    LCD_clearDisplay();
    
    LCD_writeString("N:        E:        \n");
    char tmp[10];
    LCD_setPosition(0,3);
    sprintf(tmp,"%.2f",12.5f);
    LCD_writeString(tmp);
    
    LCD_setPosition(0,13);
    sprintf(tmp,"%.2f",-0.32f);
    LCD_writeString(tmp);

    return SUCCESS;
}
Exemple #16
0
int main(){
    //Initializations
    Board_init();
    Serial_init();
    Timer_init();
    if (Drive_init() != SUCCESS) {
        printf("Failed to initialize drive module.\n");
    }
    I2C_init(TILT_COMPASS_I2C_ID, I2C_CLOCK_FREQ);
    if (TiltCompass_init() != SUCCESS) {
        printf("Failed to initialize tilt compass module.\n");
    }
    ENABLE_OUT_TRIS = OUTPUT;

    while (1) {
        printf("Driving north at full speed.\n");
        Timer_new(TIMER_TEST, COMMAND_DELAY);
        Drive_forwardHeading(100, 0);

        while(!Timer_isExpired(TIMER_TEST)) {
            //wait for finish
            DELAY(1);
            Drive_runSM();
            TiltCompass_runSM();
        }
        Drive_stop();
        Drive_runSM();
        TiltCompass_runSM();

        printf("Driving south at full speed.\n");
        Timer_new(TIMER_TEST, COMMAND_DELAY);
        Drive_forwardHeading(100, 180);

        while(!Timer_isExpired(TIMER_TEST)) {
            //wait for finish
            DELAY(1);
            Drive_runSM();
            TiltCompass_runSM();
        }
        
        Drive_stop();
        Drive_runSM();
        TiltCompass_runSM();
        delayMillisecond(COMMAND_DELAY);
        printf("Waiting for retry...\n");

    }

    return SUCCESS;
}
Exemple #17
0
int main(){
    //Initializations
    Board_init();
    Serial_init();
    Timer_init();
    Drive_init();
    ENABLE_OUT_TRIS = OUTPUT;  
    ENABLE_OUT_LAT = MICRO;

#ifdef RECIEVE_CONTROL
    ENABLE_OUT_LAT = RECIEVER;
    while(1){
        asm("nop");
    }
#endif

    printf("State machine test harness.\n\n");

    // Test forward state
    printf("Forward state. Driving at 5, 10, 20, 40, 60, 80, 100, 125 \%.\n");
    uint8_t speed[] = {5, 10, 20, 40, 60, 80, 100, 125};
    int i, len = sizeof(speed);
    delayMillisecond(STATE_DELAY);
    for (i = 0; i < len; i++) {
        Drive_forward(speed[i]);
        delayMillisecond(STATE_DELAY);
    }
    Drive_stop();
    delayMillisecond(STATE_DELAY);

    setRudder(STOP_PULSE);
    delayMillisecond(STATE_DELAY);


    // Forward with heading
    printf("Track state. Driving at 5, 10, 25, 50, 100 \% at 0 deg north.\n");
    uint8_t speed2[] = {5, 10, 25, 50, 100};
    len = sizeof(speed2);
    delayMillisecond(STATE_DELAY);
    for (i = 0; i < len; i++) {
        Drive_forwardHeading(speed2[i], 0);
        delayMillisecond(STATE_DELAY);
    }
    Drive_stop();

    printf("Finished state machine test.\n\n");


    return SUCCESS;
}
Exemple #18
0
int main(void) {
// Initialize the UART,Timers, and I2C1v
    Board_init();
    Serial_init();
    I2C_init(MAGNETOMETER_I2C_ID, I2C_CLOCK_FREQ);
    Magnetometer_init();
    while(1){
        Magnetometer_runSM();
        while(!Serial_isTransmitEmpty());
        printf("Angle: %.1f\n", Magnetometer_getDegree());
    }

    return (SUCCESS);
}
Exemple #19
0
int main(void) {
// Initialize the UART,Timers, and I2C1v
    Board_init();
    Board_configure(USE_SERIAL | USE_LCD | USE_TIMER);
    dbprint("Check encoder addr\n");
    I2C_init(ENCODER_I2C_ID, I2C_CLOCK_FREQ);
    uint8_t pitchAddress = readDevice(SLAVE_PITCH_READ_ADDRESS,
            SLAVE_PITCH_WRITE_ADDRESS, READ_DIAGNOSTIC_ADDRESS);
    uint8_t yawAddress = readDevice(SLAVE_YAW_READ_ADDRESS,
            SLAVE_YAW_WRITE_ADDRESS, READ_DIAGNOSTIC_ADDRESS);
    dbprint("Pitch=0x%X\nYaw=0x%X\n",pitchAddress, yawAddress);

    return SUCCESS;
}
Exemple #20
0
int main(void)
{
    Board_init();
    Serial_init();
    printf("\r\nUno Serial Test Harness\r\nAfter this Message the terminal should mirror anything you type.\r\n");

    unsigned char ch = 0;
    while (1) {
        if (Serial_isTransmitEmpty() == TRUE)
            if (Serial_isReceiveEmpty() == FALSE)
                Serial_putChar(Serial_getChar());
    }

    return 0;
}
Exemple #21
0
int main(){
    //Initializations
    Board_init();
    Serial_init();
    Timer_init();
    Drive_init();
    ENABLE_OUT_TRIS = OUTPUT;
    ENABLE_OUT_LAT = MICRO;
setLeftMotor(100);
    setRightMotor(100);
    while (1)
        asm("nop");
    
    return SUCCESS;
}
Exemple #22
0
/**********************************************************************
 * Function: init
 * @return None.
 * @remark Initializes the boat's master state machine and all modules.
 * @author David Goodman
 * @date 2013.04.24
 **********************************************************************/
static void Watchdog_init(void) {
    Board_init();
    Board_configure(USE_SERIAL | USE_TIMER);
    //Board_configure(USE_LCD | USE_TIMER);
    DELAY(10);

    // I2C bus
    //I2C_init(I2C_BUS_ID, I2C_CLOCK_FREQ);

    #ifdef USE_XBEE
    Xbee_init(XBEE_UART_ID);
    #endif

    #ifdef USE_LOGGER
    Logger_init();
    #endif
}
Exemple #23
0
void SysInit(void)
{
    WDTCTL = WDTPW | WDTHOLD;	  // Stop watchdog timer
	Board_init();                 // Basic GPIO initialization
	SetVCore(3);                  // Set Vcore to accomodate for max. allowed system speed
	LFXT_Start(XT1DRIVE_0);       // Use 32.768kHz XTAL as reference, ACLK: SELA = 000, DIVA = 000
	Init_FLL_Settle(25000, 762);  // Set system clock to max (25MHz)

    LcdInit();
    LcdClear();
    //display_rect();
    AD9954Init();

    P4SEL = 0x00;
    P4DIR = 0x00;
    P4REN = 0xff;
}
Exemple #24
0
int main() {
    ENABLE_OUT_TRIS = OUTPUT;            //Set Enable output pin to be an output, fed to the AND gates
    ENABLE_OUT_LAT = MICRO;             //Initialize control to that of Microcontroller
    Board_init();
    Serial_init();
    Timer_init();
    Drive_init();
    I2C_init(I2C_BUS_ID, I2C_CLOCK_FREQ);
    TiltCompass_init();
    printf("Boat initialized.\n");

    Drive_stop();
    DELAY(5);
#ifdef MOTOR_TEST
    Drive_pivot(0);
#endif

#ifdef RUDDER_TEST
   Drive_forwardHeading(0.0, desiredHeading);
#endif
   int i = 0;
   int velocity[] = {1600, 1600, 1600, 1600, 1600};
   velocityPulse = velocity[i];
    Timer_new(TIMER_TEST,FINISH_DELAY);
    while (1) {
        if (Timer_isExpired(TIMER_TEST))
        {
            i++;
            if (i == 5){
                i = 0;
            }
            velocityPulse = velocity[i];
           printf("CURRENT VELOCITY: %d\n\n",velocityPulse);
            Timer_new(TIMER_TEST,FINISH_DELAY);

        }
         
        Drive_runSM();
        TiltCompass_runSM();
    }

    Drive_stop();

    return SUCCESS;
}
Exemple #25
0
int main(void) {
// Initialize the UART,Timers, and I2C1v
    Board_init();
    Board_configure(USE_SERIAL | USE_LCD | USE_TIMER);
    dbprint("Starting encoders...\n");
    I2C_init(ENCODER_I2C_ID, I2C_CLOCK_FREQ);
    if (Encoder_init() != SUCCESS) {
        dbprint("Failed init. encoder\n");
        return FAILURE;
    }
    Timer_new(TIMER_TEST, PRINT_DELAY );
    while (!Timer_isExpired(TIMER_TEST)) {
        Encoder_runSM();
    }

    // Not working?
    //Encoder_setZeroPitch();
    //Encoder_setZeroYaw();

    dbprint("Encoders initialized.\n");
    DELAY(STARTUP_DELAY);
    Timer_new(TIMER_TEST, PRINT_DELAY );


    LCD_setPosition(0,0);
    dbprint("Encoders:\n");
    while(1){
        if (Timer_isExpired(TIMER_TEST)) {
            LCD_setPosition(1,0);
            dbprint(" P=%.1f,\n Y=%.1f\n",Encoder_getPitch(), Encoder_getYaw());
            /*dbprint("Encoders:\n P=%d,\n Y=%d\n",
                readDevice(SLAVE_PITCH_READ_ADDRESS,SLAVE_PITCH_WRITE_ADDRESS),
                readDevice(SLAVE_YAW_READ_ADDRESS,SLAVE_YAW_WRITE_ADDRESS));*/
            /*dbprint("Encoders:\n P=%.1f,\n Y=%.1f\n",
                readDevice(SLAVE_PITCH_READ_ADDRESS,SLAVE_PITCH_WRITE_ADDRESS) * DEGREE_PER_NUMBER,
                readDevice(SLAVE_YAW_READ_ADDRESS,SLAVE_YAW_WRITE_ADDRESS) * DEGREE_PER_NUMBER);*/

            
            Timer_new(TIMER_TEST, PRINT_DELAY );
        }
        Encoder_runSM();
    }

    return (SUCCESS);
}
Exemple #26
0
/**
 * Function: initMasterSM
 * @return None.
 * @remark Initializes the master state machine for the command canter.
 * @author David Goodman
 * @date 2013.03.10  */
void initMasterSM() {
    Board_init();
    Serial_init();
    Timer_init();

    // CC buttons
    LOCK_BUTTON_TRIS = 1;
    ZERO_BUTTON_TRIS = 1;

    Encoder_init();

    #ifdef USE_XBEE
    Xbee_init();
    #endif

    #ifdef USE_NAVIGATION
    Navigation_init();
    #endif

    #ifdef USE_ENCODERS
    I2C_init(I2C_BUS_ID, I2C_CLOCK_FREQ);
    #endif


    #ifdef USE_ACCELEROMETER
    //printf("Initializing accelerometer...\n");
    if (Accelerometer_init() != SUCCESS) {
        printf("Failed to initialize the accelerometer.\n");
        //return;
    }
    //printf("Initialized the accelerometer.\n");

    // Configure ports as outputs
    LED_N_TRIS = OUTPUT;
    LED_S_TRIS = OUTPUT;
    LED_E_TRIS = OUTPUT;
    LED_W_TRIS = OUTPUT;


    Timer_new(TIMER_ACCELEROMETER, LED_DELAY );
    #endif
}
Exemple #27
0
/*-----------------------------------------------------------*/
static void prvSetupHardware( void )
{
    taskDISABLE_INTERRUPTS();

    /* Disable the watchdog. */
    WDTCTL = WDTPW + WDTHOLD;

    //halBoardInit();
    Board_init();

    // Set Vcore to accomodate for max. allowed system speed
    SetVCore(3);

    // Use 32.768kHz XTAL as reference
    LFXT_Start(XT1DRIVE_0);

    // Set system clock to max (25MHz)
    Init_FLL_Settle(25000, 762);

    SFRIFG1 = 0;
    SFRIE1 |= OFIE;

    //LFXT_Start( XT1DRIVE_0 );
    //hal430SetSystemClock( configCPU_CLOCK_HZ, configLFXT_CLOCK_HZ );

    //halButtonsInit( BUTTON_ALL );
    Buttons_init(BUTTON_ALL);
    //halButtonsInterruptEnable( BUTTON_SELECT );
    Buttons_interruptEnable(BUTTON_S2);

    /* Initialise the LCD, but note that the backlight is not used as the
    library function uses timer A0 to modulate the backlight, and this file
    defines	vApplicationSetupTimerInterrupt() to also use timer A0 to generate
    the tick interrupt.  If the backlight is required, then change either the
    halLCD library or vApplicationSetupTimerInterrupt() to use a different
    timer.  Timer A1 is used for the run time stats time base6. */
    //halLcdInit();
    //halLcdSetContrast( 100 );
    //halLcdClearScreen();

    //halLcdPrintLine( " www.FreeRTOS.org", 0,  OVERWRITE_TEXT );
}
Exemple #28
0
int main(void) {
    //initializations
    Board_init();
    Serial_init();
    Timer_init();
    LCD_init();
    Interface_init();
    
    printf("INITIALIZATIONS COMPLETE\n");
    LCD_writeString("Interface online.\n");

    Timer_new(TIMER_TEST, 100);
    while (1) {
        if (Timer_isExpired(TIMER_TEST)) {
            printf("%X -- C:%X F:%X\n",Interface_isOkPressed(), buttonCount.okay, buttonPressed.flag.okay);
            Timer_new(TIMER_TEST, 100);
        }
        Interface_runSM();
    }
}
Exemple #29
0
Fichier : Atlas.c Projet : ddeo/sdp
/**********************************************************************
 * Function: initializeAtlas
 * @return None.
 * @remark Initializes the boat's master state machine and all modules.
 * @author David Goodman
 * @date 2013.04.24  
 **********************************************************************/
static void initializeAtlas() {
    Board_init();
    Serial_init();
    Timer_init();

    #ifdef USE_DRIVE
    Drive_init();
    #endif

    // I2C bus
    I2C_init(I2C_BUS_ID, I2C_CLOCK_FREQ);

    #ifdef USE_TILTCOMPASS
    TiltCompass_init();
    #endif

    #ifdef USE_GPS
    GPS_init();
    #endif

    #ifdef USE_NAVIGATION
    Navigation_init();

    #endif

    #ifdef USE_OVERRIDE
    Override_init();
    #endif

    #ifdef USE_BAROMETER
    Barometer_init();
    Timer_new(TIMER_BAROMETER_SEND, BAROMETER_SEND_DELAY);
    #endif
        
    // Start calibrating before use
    startSetOriginSM();

    Timer_new(TIMER_HEARTBEAT, HEARTBEAT_SEND_DELAY);

    Mavlink_sendStatus(MAVLINK_STATUS_ONLINE);
}
Exemple #30
0
int main(){
    Board_init();
    Serial_init();
    printf("Welcome to Xbee Test1\n");
    printf("UART INIT\n");
    Timer_init();

    printf("Timers Init\n");
    if(Xbee_init(XBEE_UART_ID) == FAILURE){
        printf("Xbee Failed to initilize\n");
        return FAILURE;
    }
    printf("XBEE Initialized\n");

// Master sends packets and listens for responses
    #ifdef XBEE_1
    Mavlink_send_Test_data(XBEE_UART_ID, 1);
    Timer_new(TIMER_TIMEOUT, DELAY_TIMEOUT);
    Timer_new(TIMER_STATUS, DELAY_STATUS);
    while(1){
        Xbee_runSM();
        //lost a packet, report it, and restart
        if(Timer_isActive(TIMER_TIMEOUT) != TRUE){
            Mavlink_send_Test_data(XBEE_UART_ID, 1);
            count_lost++;
            Timer_new(TIMER_TIMEOUT, DELAY_TIMEOUT);
            printf("lost_packet: %d\n", get_time());
        }
        //Printout the status
        if(Timer_isActive(TIMER_STATUS) != TRUE){
            Timer_new(TIMER_STATUS, DELAY_STATUS);
            printf("Status: %d,%d [Recieved,Lost] TIME: %d\n", count_recieved, count_lost, get_time());
        }

    }
    #else
    while(1){
        Xbee_runSM();
    }
    #endif
}