Beispiel #1
0
/**
 ****************************************************************************************
 * @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 );
} 
Beispiel #2
0
/**
 ****************************************************************************************
 * @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 
    
}
Beispiel #3
0
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++ );
	};
}
Beispiel #4
0
/**
 ****************************************************************************************
 * @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;	
    }
}
Beispiel #6
0
/**
****************************************************************************************
* @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);
}
Beispiel #7
0
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 );
}
Beispiel #8
0
/**
 ****************************************************************************************
 * @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
*/
}
Beispiel #10
0
/**
 ****************************************************************************************
 * @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
}
Beispiel #11
0
/**
 ****************************************************************************************
 * @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

}
Beispiel #12
0
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();
}
Beispiel #13
0
/**
 ****************************************************************************************
 * @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
}
Beispiel #14
0
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 连续触发
}
Beispiel #15
0
/**
 ****************************************************************************************
 * @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
}
Beispiel #16
0
/**
 ****************************************************************************************
 * @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
}
Beispiel #17
0
/**
 ****************************************************************************************
 * @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);
}
Beispiel #18
0
/**
 ****************************************************************************************
 * @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
}