/** Configures the board hardware and chip peripherals for the demo's functionality. */ void SetupHardware(void) { /* Disable watchdog if enabled by bootloader/fuses */ MCUSR &= ~(1 << WDRF); wdt_disable(); sei(); /* Disable clock division */ clock_prescale_set(clock_div_1); /* Hardware Initialization */ USB_Init(); led_init(); //motor_init(); //gp2y_init(); //cc2dxx_init(); sensor_board_init(); //mma8435q_init(); //led_set(0,0,100); //if (cc3000_init()){ // led_set(0,100,0); //} else { // led_set(100,0,0); //} /*sensor_board_init(); power_init(); mq135_init(); iaqengine_init(); wifi_init(); sensor_board_on(true); */ }
void board_init(void) { ioport_configure_pin(LED0_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED1_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED2_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED3_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW | IOPORT_INV_ENABLED); ioport_configure_pin(GPIO_PUSH_BUTTON_0, IOPORT_DIR_INPUT | IOPORT_LEVEL | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_1, IOPORT_DIR_INPUT | IOPORT_LEVEL | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_2, IOPORT_DIR_INPUT | IOPORT_LEVEL | IOPORT_PULL_UP); #ifdef CONF_BOARD_C12832A1Z ioport_configure_pin(NHD_C12832A1Z_SPI_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(NHD_C12832A1Z_SPI_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(NHD_C12832A1Z_CSN, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(NHD_C12832A1Z_REGISTER_SELECT, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(NHD_C12832A1Z_RESETN, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(NHD_C12832A1Z_BACKLIGHT, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif #ifdef CONF_BOARD_AT45DBX ioport_configure_pin(AT45DBX_MASTER_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(AT45DBX_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); #endif #ifdef CONF_BOARD_ENABLE_MXT143E_XPLAINED ioport_configure_pin(MXT143E_XPLAINED_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_CHG, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_DC, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #ifndef MXT143E_XPLAINED_BACKLIGHT_DISABLE ioport_configure_pin(MXT143E_XPLAINED_BACKLIGHT, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif ioport_configure_pin(MXT143E_XPLAINED_LCD_RESET, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif #ifdef CONF_BOARD_ENABLE_AC_PINS ioport_configure_pin(IOPORT_CREATE_PIN(PORTA, 0), IOPORT_DIR_INPUT); ioport_configure_pin(IOPORT_CREATE_PIN(PORTA, 2), IOPORT_DIR_INPUT); ioport_configure_pin(IOPORT_CREATE_PIN(PORTB, 1), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTC0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 2), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTD0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTD, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTD, 2), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTE0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTE, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTE, 2), IOPORT_DIR_INPUT); #endif #if defined (SENSORS_XPLAINED_BOARD) /* Configure the Xplained Sensor extension board, if any, after * the platform Xplained board has configured basic clock settings, * GPIO pin mapping, interrupt controller options, etc. */ sensor_board_init (); #endif #ifdef CONF_BOARD_AT86RFX ioport_configure_pin(AT86RFX_SPI_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT86RFX_SPI_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT86RFX_SPI_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(AT86RFX_SPI_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); /* Initialize TRX_RST and SLP_TR as GPIO. */ ioport_configure_pin(AT86RFX_RST_PIN, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT86RFX_SLP_PIN, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); #endif }
void board_init(void) { ioport_configure_pin(LED0_GPIO, IOPORT_DIR_OUTPUT|IOPORT_INIT_LOW|IOPORT_INV_ENABLED); ioport_configure_pin(LED1_GPIO, IOPORT_DIR_OUTPUT|IOPORT_INIT_LOW|IOPORT_INV_ENABLED); ioport_configure_pin(LED2_GPIO, IOPORT_DIR_OUTPUT|IOPORT_INIT_LOW|IOPORT_INV_ENABLED); ioport_configure_pin(LED3_GPIO, IOPORT_DIR_OUTPUT|IOPORT_INIT_LOW|IOPORT_INV_ENABLED); ioport_configure_pin(BACKLIGHT_GPIO, IOPORT_DIR_OUTPUT|IOPORT_INIT_LOW); ioport_configure_pin(LED_POWER, IOPORT_DIR_OUTPUT|IOPORT_INIT_HIGH); ioport_configure_pin(GPIO_PUSH_BUTTON_0, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_1, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_2, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_3, IOPORT_DIR_INPUT | IOPORT_PULL_UP); #ifdef CONF_BOARD_AT45DBX ioport_configure_pin(AT45DBX_MASTER_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(AT45DBX_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); // Setting PORT_USART0_bm to one will move the pin location // of USARTC0 (in mode SPI) from Px[3:0] to Px[7:4]. PORTC.REMAP |= PORT_USART0_bm; #endif #ifdef CONF_BOARD_LIGHT_SENSOR ioport_configure_pin(LIGHT_SENSOR_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); #endif #ifdef CONF_BOARD_TEMPERATURE_SENSOR ioport_configure_pin(TEMPERATURE_SENSOR_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); #endif #ifdef CONF_BOARD_POTENTIOMETER_SENSOR ioport_configure_pin(POTENTIOMETER_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); #endif #ifdef CONF_BOARD_ENABLE_MXT143E_XPLAINED ioport_configure_pin(MXT143E_XPLAINED_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_CHG, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_DC, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #ifndef MXT143E_XPLAINED_BACKLIGHT_DISABLE ioport_configure_pin(MXT143E_XPLAINED_BACKLIGHT, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif ioport_configure_pin(MXT143E_XPLAINED_LCD_RESET, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); // Setting PORT_USART0_bm to one will move the pin location // of USARTC0 (in mode SPI) from Px[3:0] to Px[7:4]. PORTC.REMAP |= PORT_USART0_bm; #endif #ifdef CONF_BOARD_LCD_BACKLIGHT_PWM backlight_start_pwm(); #endif #ifdef CONF_BOARD_ENABLE_USARTC0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 2), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTE0 /* Note: this will disable touch buttons 2 and 3 as they share the same * physical pins at the USART E module. */ ioport_configure_pin(IOPORT_CREATE_PIN(PORTE, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTE, 2), IOPORT_DIR_INPUT); #endif #if defined (SENSORS_XPLAINED_BOARD) /* Configure the Xplained Sensor extension board, if any, after * the platform Xplained board has configured basic clock settings, * GPIO pin mapping, interrupt controller options, etc. */ sensor_board_init (); #endif }
void board_init (void) { gpio_configure_pin(LED0_GPIO, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(LED1_GPIO, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(LED2_GPIO, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(LED3_GPIO, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(GPIO_PUSH_BUTTON_0, (GPIO_DIR_INPUT | GPIO_PULL_UP)); #if defined(CONF_BOARD_TWI) /* TWI Master GPIO pin configuration. */ const gpio_map_t TWI_GPIO_MAP = { {TWIMS0_TWD_PIN, TWIMS0_TWD_FUNCTION }, {TWIMS0_TWCK_PIN, TWIMS0_TWCK_FUNCTION } }; gpio_enable_module(TWI_GPIO_MAP, sizeof(TWI_GPIO_MAP) / sizeof(TWI_GPIO_MAP[0])); #endif #if defined(CONF_BOARD_COM_PORT) /* USART GPIO pin configuration. */ static const gpio_map_t COMPORT_GPIO_MAP = { {USART_RXD_PIN, USART_RXD_FUNCTION }, {USART_TXD_PIN, USART_TXD_FUNCTION } }; gpio_enable_module(COMPORT_GPIO_MAP, sizeof(COMPORT_GPIO_MAP) / sizeof(COMPORT_GPIO_MAP[0])); #endif #if defined(CONF_BOARD_ENABLE_MXT143E_XPLAINED) /* MXT143E GPIO pin configuration. */ static const gpio_map_t MXT143E_GPIO_MAP = { {MXT143E_XPLAINED_SCK, MXT143E_XPLAINED_SCK_FUNCTION }, {MXT143E_XPLAINED_MOSI, MXT143E_XPLAINED_MOSI_FUNCTION }, {MXT143E_XPLAINED_MISO, MXT143E_XPLAINED_MISO_FUNCTION }, }; gpio_enable_module(MXT143E_GPIO_MAP, sizeof(MXT143E_GPIO_MAP) / sizeof(MXT143E_GPIO_MAP[0])); gpio_configure_pin(MXT143E_XPLAINED_CS, GPIO_DIR_OUTPUT | GPIO_INIT_HIGH); gpio_configure_pin(MXT143E_XPLAINED_CHG, GPIO_DIR_INPUT); gpio_configure_pin(MXT143E_XPLAINED_DC, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); #ifndef MXT143E_XPLAINED_BACKLIGHT_DISABLE gpio_configure_pin(MXT143E_XPLAINED_BACKLIGHT, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); #endif gpio_configure_pin(MXT143E_XPLAINED_LCD_RESET, GPIO_DIR_OUTPUT | GPIO_INIT_LOW); #endif #if defined(SENSORS_XPLAINED_BOARD) /* Configure the Xplained Sensor extension board, if any, after * the platform Xplained board has configured basic clock settings, * GPIO pin mapping, interrupt controller options, etc. */ sensor_board_init(); #endif #if defined (CONF_BOARD_AT45DBX) static const gpio_map_t AT45DBX_SPI_GPIO_MAP = { {AT45DBX_SPI_SCK_PIN, AT45DBX_SPI_SCK_FUNCTION }, {AT45DBX_SPI_MISO_PIN, AT45DBX_SPI_MISO_FUNCTION}, {AT45DBX_SPI_MOSI_PIN, AT45DBX_SPI_MOSI_FUNCTION}, # define AT45DBX_ENABLE_NPCS_PIN(NPCS, unused) \ {AT45DBX_SPI_NPCS##NPCS##_PIN, AT45DBX_SPI_NPCS##NPCS##_FUNCTION}, MREPEAT(AT45DBX_MEM_CNT, AT45DBX_ENABLE_NPCS_PIN, ~) # undef AT45DBX_ENABLE_NPCS_PIN };
void board_init(void) { ioport_configure_pin(LED0_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED1_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED2_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED3_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED4_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED5_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED6_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(LED7_GPIO, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(GPIO_PUSH_BUTTON_0, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_1, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_2, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_3, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_4, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_5, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_6, IOPORT_DIR_INPUT | IOPORT_PULL_UP); ioport_configure_pin(GPIO_PUSH_BUTTON_7, IOPORT_DIR_INPUT | IOPORT_PULL_UP); #ifdef CONF_BOARD_AT45DBX #warning Check that the DataFlash AT45DB is mounted on your board ioport_configure_pin(AT45DBX_MASTER_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(AT45DBX_MASTER_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(AT45DBX_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); #endif #ifdef CONF_BOARD_ENABLE_MXT143E_XPLAINED ioport_configure_pin(MXT143E_XPLAINED_SCK, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MOSI, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_MISO, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_CS, IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(MXT143E_XPLAINED_CHG, IOPORT_DIR_INPUT); ioport_configure_pin(MXT143E_XPLAINED_DC, IOPORT_DIR_OUTPUT); #ifndef MXT143E_XPLAINED_BACKLIGHT_DISABLE ioport_configure_pin(MXT143E_XPLAINED_BACKLIGHT, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif ioport_configure_pin(MXT143E_XPLAINED_LCD_RESET, IOPORT_DIR_OUTPUT | IOPORT_INIT_LOW); #endif #ifdef CONF_BOARD_ENABLE_AC_PINS ioport_configure_pin(IOPORT_CREATE_PIN(PORTA, 0), IOPORT_DIR_INPUT); ioport_configure_pin(IOPORT_CREATE_PIN(PORTA, 2), IOPORT_DIR_INPUT); ioport_configure_pin(IOPORT_CREATE_PIN(PORTB, 1), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_LIGHT_SENSOR ioport_configure_pin(LIGHT_SENSOR_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); #endif #ifdef CONF_BOARD_ENABLE_TEMPERATURE_SENSOR ioport_configure_pin(TEMPERATURE_SENSOR_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); ioport_configure_pin(TEMPERATURE_SENSOR_ENABLE_PIN, IOPORT_DIR_OUTPUT | (TEMPERATURE_SENSOR_ENABLE_LEVEL ? IOPORT_INIT_HIGH : IOPORT_INIT_LOW)); #endif #ifdef CONF_BOARD_ENABLE_SPEAKER ioport_configure_pin(SPEAKER_SIGNAL_PIN, IOPORT_DIR_INPUT | IOPORT_INPUT_DISABLE); ioport_configure_pin(SPEAKER_ENABLE_PIN, IOPORT_DIR_OUTPUT | (SPEAKER_ENABLE_LEVEL ? IOPORT_INIT_HIGH : IOPORT_INIT_LOW)); #endif #ifdef CONF_BOARD_ENABLE_USARTC0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTC, 2), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTD0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTD, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTD, 2), IOPORT_DIR_INPUT); #endif #ifdef CONF_BOARD_ENABLE_USARTF0 ioport_configure_pin(IOPORT_CREATE_PIN(PORTF, 3), IOPORT_DIR_OUTPUT | IOPORT_INIT_HIGH); ioport_configure_pin(IOPORT_CREATE_PIN(PORTF, 2), IOPORT_DIR_INPUT); #endif #if defined (SENSORS_XPLAINED_BOARD) /* Configure the Xplained Sensor extension board, if any, after * the platform Xplained board has configured basic clock settings, * GPIO pin mapping, interrupt controller options, etc. */ sensor_board_init (); #elif EXT_BOARD == SECURITY_XPLAINED // Only ATSHA204 I2C devices are supported. security_board_init(); #endif }