void board_userled_initialize(void) { #ifndef CONFIG_ARCH_LEDS /* Configure LED GPIOs for output */ pic32mz_configgpio(GPIO_LED_L); pic32mz_configgpio(GPIO_LED_A); pic32mz_configgpio(GPIO_LED_B); pic32mz_configgpio(GPIO_LED_C); pic32mz_configgpio(GPIO_LED_D); #endif }
FAR struct lcd_dev_s *pic32mz_graphics_setup(unsigned int devno) { FAR struct spi_dev_s *spi; FAR struct lcd_dev_s *dev; /* Configure the OLED GPIOs. This initial configuration is RESET low, * putting the OLED into reset state. */ (void)pic32mz_configgpio(GPIO_SSD1306_RST); /* Wait a bit then release the OLED from the reset state */ up_mdelay(20); pic32mz_gpiowrite(GPIO_SSD1306_RST, true); /* Get the SPI1 port interface */ spi = pic32mz_spibus_initialize(SSD1306_SPI_BUS); if (!spi) { lcderr("ERROR: Failed to initialize SPI port 1\n"); } else { /* Bind the SPI port to the OLED */ dev = ssd1306_initialize(spi, NULL, devno); if (!dev) { lcderr("ERROR: Failed to bind SPI port 1 to OLED %d: %d\n", devno); } else { lcdinfo("Bound SPI port 1 to OLED %d\n", devno); /* And turn the OLED on */ (void)dev->setpower(dev, CONFIG_LCD_MAXPOWER); #if defined(CONFIG_VIDEO_FB) && defined(CONFIG_LCD_FRAMEBUFFER) /* Initialize and register the simulated framebuffer driver */ ret = fb_register(0, 0); if (ret < 0) { syslog(LOG_ERR, "ERROR: fb_register() failed: %d\n", ret); } #endif return dev; } } return NULL; }
void board_button_initialize(void) { int i; /* Configure the GPIO pins as inputs. NOTE that EXTI interrupts are * configured for all pins. */ for (i = 0; i < NUM_BUTTONS; i++) { pic32mz_configgpio(g_buttons[i]); } }