void BoardInitPeriph( void ) { GpioInit( &DcDcEnable, DC_DC_EN, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); /* Init the GPIO extender pins */ GpioInit( &IrqMpl3115, IRQ_MPL3115, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &IrqMag3110, IRQ_MAG3110, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &GpsPowerEn, GPS_POWER_ON, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &RadioPushButton, RADIO_PUSH_BUTTON, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &BoardPowerDown, BOARD_POWER_DOWN, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe5, SPARE_IO_EXT_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe6, SPARE_IO_EXT_6, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe7, SPARE_IO_EXT_7, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NIrqSx9500, N_IRQ_SX9500, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Irq1Mma8451, IRQ_1_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Irq2Mma8451, IRQ_2_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &TxEnSx9500, TX_EN_SX9500, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Led1, LED_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led2, LED_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led3, LED_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led4, LED_4, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); // Init Temperature, pressure and altitude sensor MPL3115Init( ); // Init Accelerometer MMA8451Init( ); // Init Magnetometer MAG3110Init( ); // Init SAR SX9500Init( ); // Init GPS GpsInit( ); // Switch LED 1, 2, 3, 4 OFF GpioWrite( &Led1, 1 ); GpioWrite( &Led2, 1 ); GpioWrite( &Led3, 1 ); GpioWrite( &Led4, 1 ); }
void BoardInitPeriph( void ) { Gpio_t ioPin; // Init the GPIO pins GpioInit( &ioPin, IRQ_MPL3115, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, IRQ_MAG3110, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, SPARE_IO_EXT_3, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, SPARE_IO_EXT_4, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, SPARE_IO_EXT_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, SPARE_IO_EXT_6, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, SPARE_IO_EXT_7, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, N_IRQ_SX9500, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, IRQ_1_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, IRQ_2_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &ioPin, TX_EN_SX9500, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Led1, LED_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led2, LED_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led3, LED_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); // Init temperature, pressure and altitude sensor MPL3115Init( ); // Init accelerometer MMA8451Init( ); // Init magnetometer MAG3110Init( ); // Init SAR SX9500Init( ); // Init GPS GpsInit( ); // Switch LED 1, 2, 3 OFF GpioWrite( &Led1, 1 ); GpioWrite( &Led2, 1 ); GpioWrite( &Led3, 1 ); }
void BoardInitPeriph( void ) { /* Init the GPIO extender pins */ GpioInit( &IrqMpl3115, IRQ_MPL3115, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &IrqMag3110, IRQ_MAG3110, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &GpsPowerEn, GPS_POWER_ON, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe3, SPARE_IO_EXT_3, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe4, SPARE_IO_EXT_4, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe5, SPARE_IO_EXT_5, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe6, SPARE_IO_EXT_6, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NcIoe7, SPARE_IO_EXT_7, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &NIrqSx9500, N_IRQ_SX9500, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Irq1Mma8451, IRQ_1_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Irq2Mma8451, IRQ_2_MMA8451, PIN_INPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &TxEnSx9500, TX_EN_SX9500, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 1 ); GpioInit( &Led1, LED_1, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led2, LED_2, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); GpioInit( &Led3, LED_3, PIN_OUTPUT, PIN_PUSH_PULL, PIN_NO_PULL, 0 ); // Init temperature, pressure and altitude sensor MPL3115Init( ); // Init accelerometer MMA8451Init( ); // Init magnetometer MAG3110Init( ); // Init SAR SX9500Init( ); // Init GPS GpsInit( ); // Switch LED 1, 2, 3 OFF GpioWrite( &Led1, 1 ); GpioWrite( &Led2, 1 ); GpioWrite( &Led3, 1 ); }
void SoftwareInit() { // // initialization BlueBird parameters for communication protocol. // InitParams(); ITG3200Init(); #ifdef USE_BMA180_INTERRUPT BMA180Init(); #endif MAG3110Init(); // // Set the priorities of the interrupts. // The following interrupts are used // (listed in priority from highest to lowest): // // QEI-ROLL - The input from the quadrature encoder. // // QEI-PITCH - The input from the quadrature encoder. // // PWM0 - The periodic control loop for the application. // // PWM1 - The periodic control loop for the application. // // UART0 - The UART <-> BBGCS. This must be the same // priority as the PAYLOAD interrupt in order to provide the // required mutual exclusion between the two. // // UART1 - The UART <-> PAYLOAD. This must be the same // priority as the BBGCS interrupt in order to provide the // required mutual exclusion between the two. // // // Set the priorities of the interrupts used by the application. // // // Enable the peripherals used by this example. // IntPrioritySet(INT_I2C0, 0x00); IntPrioritySet(INT_GPIOA, 0x02); IntPrioritySet(INT_GPIOE, 0x40); IntPrioritySet(QEI_PITCH_PHA_INT, 0x60); IntPrioritySet(QEI_ROLL_PHA_INT, 0x60); IntPrioritySet(INT_PWM0, 0x80); IntPrioritySet(INT_PWM1, 0x80); IntPrioritySet(INT_UART0, 0xA0); IntPrioritySet(INT_UART1, 0xA0); // // PITCH_MOTOR is PORTB & J6- PITCH Encoder // // moves gimbal to extreme right and down MotorBrakePositionClean(PITCH_MOTOR); //GeneralPitchRoll(PITCH_MOTOR,A3906_FORWARD,500); //EncoderInitReset(QEI0_BASE,PITCH_MOTOR,A3906_REVERSE); // J6 PITCH Encoder //EncoderInitReset(QEI0_BASE,PITCH_MOTOR,A3906_FORWARD); // J6 PITCH Encoder //EncoderInitReset(QEI0_BASE,PITCH_MOTOR,A3906_REVERSE); // J6 PITCH Encoder // // ROLL_MOTOR is PORTA & J8- ROLL Encoder // // moves gimbal to extreme right and down MotorBrakePositionClean(ROLL_MOTOR); //GeneralPitchRoll(ROLL_MOTOR,A3906_FORWARD,800); //EncoderInitReset(QEI1_BASE,ROLL_MOTOR,A3906_FORWARD); // J8 ROLL Encoder //EncoderInitReset(QEI1_BASE,ROLL_MOTOR,A3906_REVERSE); // J8 ROLL Encoder //EncoderInitReset(QEI1_BASE,ROLL_MOTOR,A3906_FORWARD); // J8 ROLL Encoder #ifdef USE_BMA180_INTERRUPT AHRS_Init(); #endif lastitg = g_ulTickCount; StabilizeInit(); //SetBitMode(); }