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 ui_wakeup(void) { backlight_start_pwm(); adc_enable(&LIGHT_SENSOR_ADC_MODULE); led_power_on(); }