/** * @brief Low level EXT driver initialization. * * @notapi */ void ext_lld_init(void) { #if PLATFORM_EXT_USE_EXT1 /* Driver initialization.*/ extObjectInit(&EXTD1); #endif /* PLATFORM_EXT_USE_EXT1 */ }
/** * @brief Low level EXT driver initialization. * * @notapi */ void ext_lld_init(void) { /* Driver initialization.*/ #if LPC122x_EXT_USE_EXT0 extObjectInit(&EXTD0); EXTD0.gpio = LPC_GPIO0; #endif #if LPC122x_EXT_USE_EXT1 extObjectInit(&EXTD1); EXTD1.gpio = LPC_GPIO1; #endif #if LPC122x_EXT_USE_EXT2 extObjectInit(&EXTD2); EXTD2.gpio = LPC_GPIO2; #endif }
/** * @brief Low level EXT driver initialization. * * @notapi */ void ext_lld_init(void) { /* Driver initialization.*/ extObjectInit(&EXTDA); /* Set PIO base addresses.*/ EXTDA.pio = AT91C_BASE_PIOA; /* Set peripheral IDs.*/ EXTDA.pid = AT91C_ID_PIOA; #if (SAM7_PLATFORM == SAM7X128) || (SAM7_PLATFORM == SAM7X256) || \ (SAM7_PLATFORM == SAM7X512) || (SAM7_PLATFORM == SAM7A3) /* Same for PIOB.*/ extObjectInit(&EXTDB); EXTDB.pio = AT91C_BASE_PIOB; EXTDB.pid = AT91C_ID_PIOB; #endif }
static void initCC3000SpiHw(void) { /* Setup CC3000 SPI pins Chip Select*/ palSetPad(CHIBIOS_CC3000_NSS_PORT, CHIBIOS_CC3000_NSS_PAD); palSetPadMode(CHIBIOS_CC3000_NSS_PORT, CHIBIOS_CC3000_NSS_PAD, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_LOWEST); /* 400 kHz */ /* General SPI pin setting */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_SCK_PAD, PAL_MODE_ALTERNATE(5) | /* SPI SCK */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_MID2); /* 10 MHz */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_MISO_PAD, PAL_MODE_ALTERNATE(5)); /* SPI MISO */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_MOSI_PAD, PAL_MODE_ALTERNATE(5) | /* SPI MOSI */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_MID2); /* 10 MHz */ /* Setup IRQ pin */ palSetPadMode(CHIBIOS_CC3000_IRQ_PORT, CHIBIOS_CC3000_IRQ_PAD, PAL_MODE_INPUT_PULLUP); /* Setup WLAN EN pin. * With the pin low, we sleep here to make sure * CC3000 is off. **/ palClearPad(CHIBIOS_CC3000_WLAN_EN_PORT, CHIBIOS_CC3000_WLAN_EN_PAD); palSetPadMode(CHIBIOS_CC3000_WLAN_EN_PORT, CHIBIOS_CC3000_WLAN_EN_PAD, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_LOWEST); /* 400 kHz */ /* Initialize EXT and SPI drivers */ extObjectInit(&EXTD1); spiObjectInit(&SPID1); }
/** * @brief Low level EXT driver initialization. * * @notapi */ void ext_lld_init(void) { /* Driver initialization.*/ extObjectInit(&EXTD1); }
static void initialiseCC3000(void) { #ifdef STM32L1XX_MD /* SPI Config */ cc3000SpiConfig.end_cb = NULL; cc3000SpiConfig.ssport = CHIBIOS_CC3000_NSS_PORT; cc3000SpiConfig.sspad = CHIBIOS_CC3000_NSS_PAD; #if 1 cc3000SpiConfig.cr1 = SPI_CR1_CPHA | /* 2nd clock transition first data capture edge */ (SPI_CR1_BR_1 | SPI_CR1_BR_0 ); /* BR: 011 - 2 MHz */ /* Setup SPI pins */ palSetPad(CHIBIOS_CC3000_NSS_PORT, CHIBIOS_CC3000_NSS_PAD); palSetPadMode(CHIBIOS_CC3000_NSS_PORT, CHIBIOS_CC3000_NSS_PAD, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_LOWEST); /* 400 kHz */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_SCK_PAD, PAL_MODE_ALTERNATE(5) | /* SPI */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_MID2); /* 10 MHz */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_MISO_PAD, PAL_MODE_ALTERNATE(5)); /* SPI */ palSetPadMode(CHIBIOS_CC3000_SPI_PORT, CHIBIOS_CC3000_MOSI_PAD, PAL_MODE_ALTERNATE(5) | /* SPI */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_MID2); /* 10 MHz */ #else #if 0 cc3000SpiConfig.cr1 = SPI_CR1_CPHA | /* 2nd clock transition first data capture edge */ (SPI_CR1_BR_0); /* BR: 001 - 8 MHz */ #endif cc3000SpiConfig.cr1 = SPI_CR1_CPHA | /* 2nd clock transition first data capture edge */ (SPI_CR1_BR_1 | SPI_CR1_BR_0 ); /* BR: 011 - 2 MHz */ /* Setup SPI pins */ palSetPad(CHIBIOS_CC3000_PORT, CHIBIOS_CC3000_NSS_PAD); palSetPadMode(CHIBIOS_CC3000_PORT, CHIBIOS_CC3000_NSS_PAD, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); palSetPadMode(CHIBIOS_CC3000_PORT, CHIBIOS_CC3000_SCK_PAD, PAL_MODE_ALTERNATE(5) | /* SPI */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_HIGHEST); palSetPadMode(CHIBIOS_CC3000_PORT, CHIBIOS_CC3000_MISO_PAD, PAL_MODE_ALTERNATE(5)); palSetPadMode(CHIBIOS_CC3000_PORT, CHIBIOS_CC3000_MOSI_PAD, PAL_MODE_ALTERNATE(5) | /* SPI */ PAL_STM32_OTYPE_PUSHPULL | PAL_STM32_OSPEED_MID2); #endif /* Setup IRQ pin */ palSetPadMode(CHIBIOS_CC3000_IRQ_PORT, CHIBIOS_CC3000_IRQ_PAD, PAL_MODE_INPUT); /* Setup WLAN EN pin. With the pin low, we sleep here to make sure CC3000 is off. */ palClearPad(CHIBIOS_CC3000_WLAN_EN_PORT, CHIBIOS_CC3000_WLAN_EN_PAD); palSetPadMode(CHIBIOS_CC3000_WLAN_EN_PORT, CHIBIOS_CC3000_WLAN_EN_PAD, PAL_MODE_OUTPUT_PUSHPULL | PAL_STM32_OSPEED_LOWEST); /* 400 kHz */ #endif /* STM32L1XX_MD */ chMtxInit(&cc3000ApiMutex); extObjectInit(&CC3000_EXT_DRIVER); spiObjectInit(&CC3000_SPI_DRIVER); chThdSleep(MS2ST(500)); cc3000ChibiosWlanInit(&CC3000_SPI_DRIVER, &cc3000SpiConfig, &CC3000_EXT_DRIVER, &cc3000ExtConfig, 0,0,0, debugPrint); }
/** * @brief Low level EXT driver initialization. * * @notapi */ void ext_lld_init(void) { extObjectInit(&EXTD1); }