/** **************************************************************************************** * @brief set gpio port function mode for SPI interface * **************************************************************************************** */ void set_pad_spi(void) { GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CS_PIN, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CLK_PIN, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DI_PIN, INPUT, PID_SPI_DI, false ); }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports(for debugging) are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { #ifdef PROGRAM_ENABLE_UART GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART1_RX, false ); # ifdef PROGRAM_ALTERNATE_UART_PINS #if !(BLE_APP_PRESENT) #if DISABLE_UART_RTS_CTS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, INPUT_PULLDOWN, PID_UART1_CTSN, false ); #else GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, INPUT, PID_UART1_CTSN, false ); #endif // DISABLE_UART_RTS_CTS #endif // !BLE_APP_PRESENT # else //PROGRAM_ALTERNATE_UART_PINS #if !(BLE_APP_PRESENT) #if DISABLE_UART_RTS_CTS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_2, INPUT_PULLDOWN, PID_UART1_CTSN, false ); #else GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_2, INPUT, PID_UART1_CTSN, false ); #endif // DISABLE_UART_RTS_CTS #endif // !BLE_APP_PRESENT # endif // PROGRAM_ALTERNATE_UART_PINS #endif // PROGRAM_ENABLE_UART }
void app_proxr_beep(void) { uint32_t i,j; const int dur = 190; // ~4.3kHz /*SetWord16(P13_MODE_REG, PID_GPIO|OUTPUT); SetWord16(P1_SET_DATA_REG, 0x8); for ( j=0;j<128000;j++); //40 ms SetWord16(P13_MODE_REG, PID_GPIO|INPUT); */ //GPIO direct drive for ( j=0;j<160;j++) { //~40 ms GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, OUTPUT, PID_GPIO, true); //SetWord16(P05_MODE_REG, PID_GPIO|OUTPUT); //SetWord16(P0_SET_DATA_REG, 0x20); for ( i=0;i<dur;i++ ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_GPIO, false); //SetWord16(P05_MODE_REG, PID_GPIO|INPUT); for ( i=0;i<dur;i++ ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, OUTPUT, PID_GPIO, false); //SetWord16(P05_MODE_REG, PID_GPIO|OUTPUT); //SetWord16(P0_RESET_DATA_REG, 0x20); for ( i=0;i<dur;i++ ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_GPIO, false); //SetWord16(P05_MODE_REG, PID_GPIO|INPUT); for ( i=0;i<dur;i++ ); }; }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports(for debugging) are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CLK_PIN, INPUT_PULLUP, PID_SPI_CLK, false); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CS_PIN, INPUT_PULLDOWN, PID_SPI_EN, false); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DI_PIN, INPUT_PULLDOWN, PID_SPI_DI, false); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DREADY_PIN, OUTPUT, PID_GPIO, false); }
/** **************************************************************************************** * @brief Initializes the LEDs * * @param None * * @return void **************************************************************************************** */ void leds_init() { if (!(GetWord16(SYS_STAT_REG) & DBG_IS_UP) || !dbg_uses_led_pins()) { GPIO_ConfigurePin(KBD_GREEN_LED_PORT, KBD_GREEN_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); // green: off green_led_st = LED_OFF; GPIO_ConfigurePin(KBD_RED_LED_PORT, KBD_RED_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); // red: off red_led_st = LED_OFF; } }
/** **************************************************************************************** * @brief Initialize the spi flash **************************************************************************************** **/ void spi_flash_peripheral_init(void) { GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CS_PIN, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CLK_PIN, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DI_PIN, INPUT, PID_SPI_DI, false ); spi_FLASH_CS_Pad.pin = SPI_CS_PIN; spi_FLASH_CS_Pad.port = SPI_GPIO_PORT; // Enable SPI & SPI FLASH spi_flash_init(SPI_FLASH_DEFAULT_SIZE, SPI_FLASH_DEFAULT_PAGE); spi_init(&spi_FLASH_CS_Pad, SPI_MODE_8BIT, SPI_ROLE_MASTER, SPI_CLK_IDLE_POL_LOW,SPI_PHA_MODE_0,SPI_MINT_DISABLE,SPI_XTAL_DIV_2); }
static void da14583_spi_flash_release(void) { // Power down flash spi_flash_power_down(); // Release SPI controller spi_release(); // Release internal flash GPIOs GPIO_ConfigurePin( DA14583_SPI_FLASH_EN_GPIO_PORT, DA14583_SPI_FLASH_EN_GPIO_PIN, OUTPUT, PID_GPIO, true ); GPIO_ConfigurePin( DA14583_SPI_FLASH_CLK_GPIO_PORT, DA14583_SPI_FLASH_CLK_GPIO_PIN, INPUT_PULLDOWN, PID_GPIO, false ); GPIO_ConfigurePin( DA14583_SPI_FLASH_DO_GPIO_PORT, DA14583_SPI_FLASH_DO_GPIO_PIN, INPUT_PULLDOWN, PID_GPIO, false ); GPIO_ConfigurePin( DA14583_SPI_FLASH_DI_GPIO_PORT, DA14583_SPI_FLASH_DI_GPIO_PIN, INPUT_PULLDOWN, PID_GPIO, false ); }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { #if BLE_INTEGRATED_HOST_GTL GPIO_ConfigurePin( UART1_TX_GPIO_PORT, UART1_TX_GPIO_PIN, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( UART1_RX_GPIO_PORT, UART1_RX_GPIO_PIN, INPUT, PID_UART1_RX, false ); GPIO_ConfigurePin( UART1_RTSN_GPIO_PORT, UART1_RTSN_GPIO_PIN, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( UART1_CTSN_GPIO_PORT, UART1_CTSN_GPIO_PIN, INPUT, PID_UART1_CTSN, false ); #endif #ifdef CFG_WKUP_EXT_PROCESSOR // external MCU wakeup GPIO GPIO_ConfigurePin( EXT_WAKEUP_PORT, EXT_WAKEUP_PIN, OUTPUT, PID_GPIO, false ); // initialized to low #endif }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CS_PIN, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_CLK_PIN, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( SPI_GPIO_PORT, SPI_DI_PIN, INPUT, PID_SPI_DI, false ); GPIO_ConfigurePin( UART1_TX_PORT, UART1_TX_PIN, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( UART1_RX_PORT, UART1_RX_PIN, INPUT_PULLUP, PID_UART1_RX, false ); #if (UART_HW_FLOW_ENABLED) GPIO_ConfigurePin( UART1_RTS_PORT, UART1_RTS_PIN, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( UART1_CTS_PORT, UART1_CTS_PIN, INPUT_PULLUP, PID_UART1_CTSN, false ); #endif /*UART_HW_FLOW_ENABLED*/ /* * Configure application ports. i.e. GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_1, OUTPUT, PID_GPIO, false ); // Set P_01 as Generic purpose Output */ }
/** **************************************************************************************** * @brief Enable external wake up GPIO Interrupt. * @param[in] GPIO_PORT. The GPIO port of the external wake up signal * @param[in] GPIO_PIN. The GPIO pin of the external wake up signal * @param[in] polarity. The polarity of the external wake up interrupt. 0=active low. 1=active high * @return void. **************************************************************************************** */ void ext_wakeup_enable(uint32_t port, uint32_t pin, uint8_t polarity) { rwip_env.ext_wakeup_enable = 2; #if DEVELOPMENT_DEBUG RESERVE_GPIO( EXT_WAKEUP_GPIO, (GPIO_PORT) port, (GPIO_PIN) pin, PID_GPIO ); #endif if ( polarity == 0 ) // active low GPIO_ConfigurePin((GPIO_PORT) port, (GPIO_PIN) pin, INPUT_PULLUP, PID_GPIO, false ); // active low. Set default to input high. else // active high GPIO_ConfigurePin( (GPIO_PORT) port, (GPIO_PIN) pin, INPUT_PULLDOWN, PID_GPIO, false ); // active high. Set default to input low. wkupct_register_callback(ext_wakeup_cb); wkupct_enable_irq(1<<pin, (uint32_t)(polarity == 0)?(1<<pin):(0), 1, 0); // pin, active low/high, 1 event, debouncing time = 0ms }
/** **************************************************************************************** * @brief Initialize communication with the 3-wire SPI * @param[in] spi_sdio_pin_register: Size of the data to be read * @param[in] TsradCounterToSet: Counter for the delay between Address and Data phase in reading * **************************************************************************************** */ void initialize_3wire_spi(struct SPI_Config *cfg, bool enable_interrupt, uint16_t TsradCounterToSet) { sdio.port = cfg->sdio.port; // initialize with param data; sdio.pin = cfg->sdio.pin; cs.port = cfg->cs.port; cs.pin = cfg->cs.pin; //configure pins GPIO_ConfigurePin( cfg->cs.port, cfg->cs.pin, OUTPUT, PID_SPI_EN, true); GPIO_SetPinFunction( cfg->sdio.port, cfg->sdio.pin, INPUT, PID_SPI_DI); GPIO_SetPinFunction( cfg->clk.port, cfg->clk.pin, OUTPUT, PID_SPI_CLK); TsradCounter = TsradCounterToSet; // SPI read address-data delay (refer to sensor datasheet) // init SPI SetBits16(CLK_PER_REG, SPI_ENABLE, 1); // enable clock for SPI SetBits16(SPI_CTRL_REG,SPI_ON,0); // close SPI block, if opened SetBits16(SPI_CTRL_REG,SPI_WORD, cfg->SPI_Word_Mode); // SPI word mode SetBits16(SPI_CTRL_REG,SPI_SMN, cfg->SPI_Role); // SPI master mode SetBits16(SPI_CTRL_REG,SPI_POL, cfg->SPI_Polarity_Mode); // SPI mode selection - polarity SetBits16(SPI_CTRL_REG,SPI_PHA, cfg->SPI_PHA_Mode); // SPI mode selection - phase SetBits16(SPI_CTRL_REG,SPI_MINT, cfg->SPI_MINT_Mode); // disable SPI interrupt to the ICU SetBits16(SPI_CTRL_REG,SPI_CLK, cfg->SPI_XTAL_Freq); // SPI block clock divider SetBits16(SPI_CTRL_REG,SPI_ON, 1); // enable SPI block if (enable_interrupt) NVIC_EnableIRQ(SPI_IRQn); // enable SPI interrupt, if MINT is '1' and enable_interrupt is set }
static void da14583_spi_flash_init(void) { SPI_Pad_t cs_pad_param; // configure internal flash GPIOS GPIO_ConfigurePin( DA14583_SPI_FLASH_EN_GPIO_PORT, DA14583_SPI_FLASH_EN_GPIO_PIN, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( DA14583_SPI_FLASH_CLK_GPIO_PORT, DA14583_SPI_FLASH_CLK_GPIO_PIN, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( DA14583_SPI_FLASH_DO_GPIO_PORT, DA14583_SPI_FLASH_DO_GPIO_PIN, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( DA14583_SPI_FLASH_DI_GPIO_PORT, DA14583_SPI_FLASH_DI_GPIO_PIN, INPUT, PID_SPI_DI, false ); cs_pad_param.port = DA14583_SPI_FLASH_EN_GPIO_PORT; cs_pad_param.pin = DA14583_SPI_FLASH_EN_GPIO_PIN; // Initialize SPI driver spi_init(&cs_pad_param, SPI_MODE_8BIT, SPI_ROLE_MASTER, SPI_CLK_IDLE_POL_LOW, SPI_PHA_MODE_0, SPI_MINT_DISABLE, SPI_XTAL_DIV_8); // Initialize SPI Flash driver spi_flash_init(DA14583_SPI_FLASH_SIZE, DA14583_SPI_FLASH_PAGE_SIZE); // Power up flash spi_flash_release_from_power_down(); }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports(for debugging) are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { #if BLE_PROX_MONITOR GPIO_ConfigurePin( XCY_KB_ON, INPUT_PULLDOWN, PID_GPIO, false ); // Push Button GPIO_ConfigurePin( XCY_KB_JL, INPUT_PULLDOWN, PID_GPIO, false ); // Push Button GPIO_ConfigurePin( XCY_KB_SCH, INPUT_PULLDOWN, PID_GPIO, false ); // Push Button GPIO_ConfigurePin( XCY_LED0_GPIO, OUTPUT, PID_GPIO, false ); //Alert LED GPIO_ConfigurePin( XCY_LED1_GPIO, OUTPUT, PID_GPIO, false ); //Alert LED GPIO_ConfigurePin( XCY_LED2_GPIO, OUTPUT, PID_GPIO, false ); //Alert LED GPIO_ConfigurePin( XCY_LED3_GPIO, OUTPUT, PID_GPIO, false ); //Alert LED #endif #if BLE_BATT_SERVER GPIO_ConfigurePin( XCY_BUZZER_GPIO, OUTPUT, PID_GPIO, false ); //Battery alert LED #endif }
int custom_delay_func(ke_msg_id_t const msgid, void const *param, ke_task_id_t const dest_id, ke_task_id_t const src_id) { static uint8_t led_flag = 0; //// app_timer_set(APP_BATT_TIMER, dest_id, bat_poll_timeout); GPIO_ConfigurePin( LED_B_PORT, LED_B_PIN, OUTPUT, PID_GPIO, false); // if(led_flag==0) // { // GPIO_ConfigurePin( LED_B_PORT, LED_B_PIN, OUTPUT, PID_GPIO, false); // led_flag=1; // } // else // { // GPIO_ConfigurePin( LED_B_PORT, LED_B_PIN, OUTPUT, PID_GPIO, true); // led_flag=0; // } // app_timer_set(APP_CUSTOM_DELAY, TASK_APP, 100);//100=1S 连续触发 }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports(for debugging) are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { #ifdef PROGRAM_ENABLE_UART GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART1_RX, false ); #endif // PROGRAM_ENABLE_UART #if (BLE_APP_PRESENT) //GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_2, INPUT, PID_I2C_SCL, false); //GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_3, INPUT, PID_I2C_SDA, false); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_SPI_DI, false ); #endif }
/** **************************************************************************************** * @brief Map port pins * * The Uart and SPI port pins and GPIO ports(for debugging) are mapped **************************************************************************************** */ void set_pad_functions(void) // set gpio port function mode { #ifndef FPGA_USED #ifdef PROGRAM_ENABLE_UART GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_UART1_RX, false ); # ifdef PROGRAM_ALTERNATE_UART_PINS #if !(BLE_APP_PRESENT) #if DISABLE_UART_RTS_CTS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, OUTPUT, PID_UART1_RTSN, false ); //CD SOS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, INPUT_PULLDOWN, PID_UART1_CTSN, false ); //CD SOS #else GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, OUTPUT, PID_UART1_RTSN, false );//CD SOS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, INPUT, PID_UART1_CTSN, false );//CD SOS #endif // DISABLE_UART_RTS_CTS #endif // !BLE_APP_PRESENT # else //PROGRAM_ALTERNATE_UART_PINS #if !(BLE_APP_PRESENT) #if DISABLE_UART_RTS_CTS GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_2, INPUT_PULLDOWN, PID_UART1_CTSN, false ); #else GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_UART1_RTSN, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_2, INPUT, PID_UART1_CTSN, false ); #endif // DISABLE_UART_RTS_CTS #endif // !BLE_APP_PRESENT # endif // PROGRAM_ALTERNATE_UART_PINS #endif // PROGRAM_ENABLE_UART #if BLE_ACCEL GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_3, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_5, INPUT, PID_SPI_DI, false ); #if DEEP_SLEEP_ENABLED //GZ int //Set P1_5 to ACCEL's INT1 GPIO_ConfigurePin( GPIO_PORT_1, GPIO_PIN_5, INPUT, PID_GPIO, false ); #else //Set P0_7 to ACCEL's INT1 GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, INPUT, PID_GPIO, false ); #endif #endif // BLE_ACCEL #else //FPGA_USED RESERVE_GPIO( UART1_TX, GPIO_PORT_0, GPIO_PIN_0, PID_UART1_TX); RESERVE_GPIO( UART1_RX, GPIO_PORT_0, GPIO_PIN_1, PID_UART1_RX); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_1, INPUT, PID_UART1_RX, false ); RESERVE_GPIO( UART1_TX, GPIO_PORT_2, GPIO_PIN_5, PID_UART1_RTSN); RESERVE_GPIO( UART1_RX, GPIO_PORT_2, GPIO_PIN_6, PID_UART1_CTSN); GPIO_ConfigurePin( GPIO_PORT_2, GPIO_PIN_5, OUTPUT, PID_UART1_RTSN, false );//CD SOS GPIO_ConfigurePin( GPIO_PORT_2, GPIO_PIN_6, INPUT_PULLDOWN, PID_UART1_RTSN/*PID_UART1_CTSN*/, false );//FPGA issue? //ALLOCATE SPI SIGNALS RESERVE_GPIO( SPI_EN, GPIO_PORT_1, GPIO_PIN_0, PID_SPI_EN); RESERVE_GPIO( SPI_CLK, GPIO_PORT_0, GPIO_PIN_4, PID_SPI_CLK); RESERVE_GPIO( SPI_DO, GPIO_PORT_0, GPIO_PIN_6, PID_SPI_DO); RESERVE_GPIO( SPI_DI, GPIO_PORT_0, GPIO_PIN_7, PID_SPI_DI); GPIO_ConfigurePin( GPIO_PORT_1, GPIO_PIN_0, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, INPUT, PID_SPI_DI, false ); // SetWord16(P24_MODE_REG,0x300); // SetWord16(P23_MODE_REG,0x300); // SetWord16(P2_RESET_DATA_REG,0x18); #endif }
/** **************************************************************************************** * @brief set gpio port function mode for EEPROM interface * **************************************************************************************** */ void set_pad_eeprom(void) { GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SCL_PIN, INPUT, PID_I2C_SCL, false); GPIO_ConfigurePin(I2C_GPIO_PORT, I2C_SDA_PIN, INPUT, PID_I2C_SDA,false); }
/** **************************************************************************************** * @brief set gpio port function mode for UART interface * **************************************************************************************** */ void set_pad_uart(void) { GPIO_ConfigurePin( UART_GPIO_PORT, UART_TX_PIN, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( UART_GPIO_PORT, UART_RX_PIN, INPUT, PID_UART1_RX, false ); }
/** **************************************************************************************** * @brief Map port pins * * The Uart and GPIO ports (for debugging) are mapped * * @return void **************************************************************************************** */ void set_pad_functions(void) { #ifndef FPGA_USED //------------------------UART _DEBUG #ifdef PROGRAM_ENABLE_UART GPIO_ConfigurePin( PRODUCTION_DEBUG_PORT, PRODUCTION_DEBUG_PIN, OUTPUT, PID_UART1_TX, false); // GPIO_ConfigurePin( UART_RX_PORT, UART_RTX_PIN, INPUT, PID_UART1_RX, false ); // PIN 26 on J6 #endif // PROGRAM_ENABLE_UART //INIT_I2C_GPIOS; deactivate_spi_flash_gpios(); #if (HAS_AUDIO) init_audio439_gpios(app_audio439_timer_started); #endif if (HAS_KEYBOARD_LEDS) { // fix LED leakage if ( (green_led_st == LED_OFF) || (green_led_st == BLINK_LED_IS_OFF__TURN_ON) ) { GPIO_ConfigurePin(KBD_GREEN_LED_PORT, KBD_GREEN_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); } else { GPIO_ConfigurePin(KBD_GREEN_LED_PORT, KBD_GREEN_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_ON); } if ( (red_led_st == LED_OFF) || (red_led_st == BLINK_LED_IS_OFF__TURN_ON) ) { GPIO_ConfigurePin(KBD_RED_LED_PORT, KBD_RED_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); } else { GPIO_ConfigurePin(KBD_RED_LED_PORT, KBD_RED_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_ON); } } else if (INIT_LED_PINS) { GPIO_ConfigurePin(KBD_GREEN_LED_PORT, KBD_GREEN_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); GPIO_ConfigurePin(KBD_RED_LED_PORT, KBD_RED_LED_PIN, OUTPUT, PID_GPIO, LED_STATE_OFF); } if (current_scan_state == KEY_SCAN_IDLE) { app_kbd_reinit_matrix(); } #else //FPGA_USED RESERVE_GPIO( UART1_TX, GPIO_PORT_0, GPIO_PIN_0, PID_UART1_TX); RESERVE_GPIO( UART1_RX, GPIO_PORT_0, GPIO_PIN_1, PID_UART1_RX); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_UART1_TX, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_1, INPUT, PID_UART1_RX, false ); RESERVE_GPIO( UART1_TX, GPIO_PORT_2, GPIO_PIN_5, PID_UART1_RTSN); RESERVE_GPIO( UART1_RX, GPIO_PORT_2, GPIO_PIN_6, PID_UART1_CTSN); GPIO_ConfigurePin( GPIO_PORT_2, GPIO_PIN_5, OUTPUT, PID_UART1_RTSN, false );//CD SOS GPIO_ConfigurePin( GPIO_PORT_2, GPIO_PIN_6, INPUT_PULLDOWN, PID_UART1_RTSN/*PID_UART1_CTSN*/, false );//FPGA issue? //ALLOCATE SPI SIGNALS RESERVE_GPIO( SPI_EN, GPIO_PORT_1, GPIO_PIN_0, PID_SPI_EN); RESERVE_GPIO( SPI_CLK, GPIO_PORT_0, GPIO_PIN_4, PID_SPI_CLK); RESERVE_GPIO( SPI_DO, GPIO_PORT_0, GPIO_PIN_6, PID_SPI_DO); RESERVE_GPIO( SPI_DI, GPIO_PORT_0, GPIO_PIN_7, PID_SPI_DI); GPIO_ConfigurePin( GPIO_PORT_1, GPIO_PIN_0, OUTPUT, PID_SPI_EN, true ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_4, OUTPUT, PID_SPI_CLK, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_6, OUTPUT, PID_SPI_DO, false ); GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_7, INPUT, PID_SPI_DI, false ); // SetWord16(P24_MODE_REG,0x300); // SetWord16(P23_MODE_REG,0x300); // SetWord16(P2_RESET_DATA_REG,0x18); #endif }