//*****************************************************************************
//
// Initializes the switch task.
//
//*****************************************************************************
unsigned long
AccelerometerTaskInit(void)
{
 //   volatile unsigned char foo = 28;

    RGBInit(1);
    RGBIntensitySet(0.3f);

    //
    // Turn on the Green LED
    //
    g_ucColorsIndx = 0;
    g_ulColors[g_ucColorsIndx] = 0x8000;
    RGBColorSet(g_ulColors);
    RGBDisable();


    //////////////
    g_pAccelerometerQueue = xQueueCreate(ACCELEROMETER_QUEUE_SIZE, ACCELEROMETER_ITEM_SIZE);

    I2CSetup(I2C0BASEADDR, 40000);

    if (((I2CRegRead(I2C0BASEADDR, SLAVEID, DEVID)) & 0xE5) == 0)
    {
        while (1);
    }

    I2CRegWrite(I2C0BASEADDR, SLAVEID, THRESH_FF, 0x06);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, TIME_FF, 0x15);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_MAP, 0x00);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, POWER_CTL, 0x08);
    simple_delay();

    I2CRegWrite(I2C0BASEADDR, SLAVEID, INT_ENABLE, 0x04);
    simple_delay();

    if(xTaskCreate(AccelerometerTask, (signed portCHAR *)"Acclerometer",
                   ACCELEROMETERTASKSTACKSIZE, NULL, tskIDLE_PRIORITY +
                   PRIORITY_ACCELEROMETER_TASK, NULL) != pdTRUE)
    {
        return(1);
    }

    //
    // Success.
    //
    return(0);
}
Example #2
0
int pigSetup ()
{
    if ((fd = I2CSetup (0x54)) < 0)
        return fd ;

// Setup the chip - initialise all 18 LEDs to off

//wiringPiI2CWriteReg8 (fd, 0x17, 0) ;		// Reset
    writeI2CRegister (fd, 0x00, 1) ;		// Not Shutdown
    writeI2CRegister (fd, 0x13, 0x3F) ;	// Enable LEDs  0- 5
    writeI2CRegister (fd, 0x14, 0x3F) ;	// Enable LEDs  6-11
    writeI2CRegister (fd, 0x15, 0x3F) ;	// Enable LEDs 12-17
    writeI2CRegister (fd, 0x16, 0x00) ;	// Update

    return fd ;
}
Example #3
0
// program setup
void setup() {
    Serial.begin(115200);
    pinSetup();
    sensorSetup();
    I2CSetup();
    USBsetup();
    driveSetup();
    disp.addEventListener(Events::EV_TIME_1000, timeHandler1000);
    //disp.addEventListener(Events::EV_TIME_1000, usbSoftwareTestHandler);
    disp.addEventListener(Events::EV_TIME_1000, IRSensorHandler);
    //disp.addEventListener(Events::EV_TIME_1000, I2CSensorDataHandler);
    disp.addEventListener(Events::EV_TIME_500, timeHandler500);
    //disp.addEventListener(Events::EV_TIME_100, timeHandler100);
    //disp.addEventListener(Events::EV_ANALOG0, analogHandler);
    disp.addEventListener(Events::EV_SERIAL, USBReadHandler);
}
Example #4
0
static void PeripheralsSetup(void)
{
    I2CSetup();
}
Example #5
0
int main(void){
    
    InitDevice();
    setup_Interrupt();
    CANSetup();
    I2CSetup();
    
    heartBeatCounter = 0;
    FIRST_SEND = 1;
    I2C_FLAG = 0;
    
    CHIP_ALIVE_DIODE = 1;
    HEARTBEAT_DIODE = 0;
    ERROR_DIODE = 0;
    
    
    #ifdef TEST_RFID
    while(1){
        
        int start_condition = multiToSingle();
        
        if(start_condition == 1){
            singleToBit();
            int start = findStart();
            bitToCode(start);
        
        }
        Delay(10);
    }
    #endif
    
    
    
    while(1){
         
        
        if(ECAN_Receive()){
            FIRST_SEND = 0;
            HEARTBEAT_DIODE = 1;
            i2c_reg_map[REC_BATTERYSTATUS0] = MAP_REC_BATTERYSTATUS0;
            i2c_reg_map[REC_BATTERYSTATUS1] = MAP_REC_BATTERYSTATUS1;
            i2c_reg_map[REC_BATTERYSTATUS2] = 0;//not used
            i2c_reg_map[REC_BATTERYSTATUS3] = 0;//not used
            i2c_reg_map[REC_VELOCITY] = MAP_REC_VELOCITY;
            i2c_reg_map[REC_HEARTBEAT] = temp_D2;//always one (heartbeat)
            
            i2c_reg_map[6] = temp_D6;
            i2c_reg_map[7] = temp_D7;
            
            heartBeatCounter = 0;

        }
        
        if(heartBeatCounter > 35){
            //danger
            i2c_reg_map[2] = 0;
        }

        
        if(I2C_FLAG){
            I2C_FLAG = 0;
            zipCAN();
            ECAN_Transmit(0x32,0xC0, 0x02,
                    MAP_BITDATA,//zipped data
                    i2c_reg_map[SEND_ACCELERATOR],
                    i2c_reg_map[10],//dummy values
                    i2c_reg_map[11],//dummy values
                    i2c_reg_map[12],//dummy values
                    i2c_reg_map[13],//dummy values
                    i2c_reg_map[14],//dummy values
                    i2c_reg_map[15]);//dummy values
            

        }
        
      

      //checkRFID();

      Delay(ONE_MS * 5);
    }
    

    return 0;
}
Example #6
0
int main(void) {

	ROM_FPUEnable();
	ROM_FPULazyStackingEnable();

	ROM_SysCtlClockSet(
	SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
	SysTickPeriodSet(SysCtlClockGet() / TICKFREQ); //tickfreq in Hz
	SysTickIntEnable();
	SysTickEnable();
#ifdef DEBUG
	InitConsole();
#endif
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART4);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART3);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART1);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);

	ROM_IntMasterEnable();

	ROM_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,
	GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3);

	GPIOPinConfigure(GPIO_PC6_U3RX);
	GPIOPinConfigure(GPIO_PC7_U3TX);
	GPIOPinConfigure(GPIO_PB0_U1RX);
	GPIOPinConfigure(GPIO_PB1_U1TX);

	ROM_GPIOPinTypeUART(GPIO_PORTC_BASE,
	GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7);
	ROM_GPIOPinTypeUART(GPIO_PORTB_BASE, GPIO_PIN_0 | GPIO_PIN_1);
	ROM_UARTFIFOEnable(UART1_BASE);
	ROM_UARTFIFOEnable(UART3_BASE);

	ROM_UARTConfigSetExpClk(UART3_BASE, ROM_SysCtlClockGet(), 115200,
			(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
			UART_CONFIG_PAR_NONE));
	ROM_UARTConfigSetExpClk(UART1_BASE, ROM_SysCtlClockGet(), 38400,
			(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
			UART_CONFIG_PAR_NONE));

	ROM_IntEnable(INT_UART1);
	ROM_UARTIntEnable(UART1_BASE, UART_INT_RX | UART_INT_RT); // ONLY recieve inturrupt

	ROM_IntEnable(INT_UART3);
	ROM_UARTIntEnable(UART3_BASE, UART_INT_RX | UART_INT_RT); // ONLY recieve inturrupt

	I2CSetup(I2C0_MASTER_BASE, true);

	setupServos();
	UARTprintf("init");
	nrf24l01p_init(3);
	nrf24l01p_setRADDR((uint8_t *) "Boat");
	nrf24l01p_setPayLoad(DATA_BUFFER_MAX);
	nrf24l01p_setChannel(1);
	nrf24l01p_config();
	nrf24l01p_setTADDR((uint8_t *) "Base");

//	nrf24l01p_send((unsigned char *) &"Init");
	GPIOPortIntRegister(GPIO_PORTA_BASE, portAIntHandler);
	GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_5, GPIO_FALLING_EDGE);
	GPIOPinIntEnable(GPIO_PORTA_BASE, GPIO_PIN_5);
	unsigned char p = 0;
	nrf24l01p_readRegister(0x00, &p, 1);
	UARTprintf("   ");

	while (1) {

		sortGPSSentence();
	}
}