//***************************************************************************** // // 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); }
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 ; }
// 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); }
static void PeripheralsSetup(void) { I2CSetup(); }
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; }
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(); } }