示例#1
0
static void setLED(bool blink)
{
    if(blink) {
        nrf_drv_gpiote_out_set(PIN_NUMBER_LED);
    } else {
        nrf_drv_gpiote_out_clear(PIN_NUMBER_LED);
    }
}
示例#2
0
文件: led.c 项目: stelios26/Aphrodite
/**
 *  @brief Set the state of the RGB LED
 *
 *  @param led LED element ID
 *  @param state LED element state True = lit
 */
void led_rgb_set(uint32_t led, bool state)
{
    if(state)
    {
        nrf_drv_gpiote_out_clear(led_rgb_pin[led]);
    }
    else
    {
        nrf_drv_gpiote_out_set(led_rgb_pin[led]);
    }
}
示例#3
0
static void gpiote_event_handler(nrf_drv_gpiote_pin_t pin, nrf_gpiote_polarity_t action)
{
    if ((qenc_count > 0) && qenc_enable_flag)
    {
      qenc_count--;
      qenc_state = next_pos[qenc_state];

    }
    else if ((qenc_count < 0 ) && qenc_enable_flag )
    {
      qenc_count++;
      qenc_state = next_neg[qenc_state];
    }
    else if ((qenc_dbl_count > 0 ) && qenc_enable_flag)
    {
      qenc_dbl_count--;
      qenc_state = next_dbl[qenc_state];
    }
    else
    {
      qenc_enable_flag = false;
    }

    if (qenc_state & 0x01)
    {
        nrf_drv_gpiote_out_set(QENC_CONFIG_PIO_B);
    }
    else
    {
        nrf_drv_gpiote_out_clear(QENC_CONFIG_PIO_B);
    }

    if (qenc_state & 0x02)
    {
        nrf_drv_gpiote_out_set(QENC_CONFIG_PIO_A);
    }
    else
    {
        nrf_drv_gpiote_out_clear(QENC_CONFIG_PIO_A);
    }
}
示例#4
0
void SPIWriteReg(uint8_t addr, uint8_t value)
{
	  uint8_t temp[2];
    uint8_t temp_rec[2]={0};

    temp[0] = addr & WRITE_MODE;
		temp[1] = value;

    nrf_drv_gpiote_out_clear(30);		
		spi_send_recv(temp, temp_rec, 2);

		
		if (m_transfer_completed){
			m_transfer_completed=false;
			nrf_delay_ms(1);
		  nrf_drv_gpiote_out_set(30);
		}
		
		nrf_delay_ms(1);
	
}
示例#5
0
uint8_t SPIReadReg(uint8_t addr)
{
	  uint8_t temp[2];
	  uint8_t temp_rec[2]={0};
	
	  temp[0] = addr | READ_MODE ;
	  temp[1] = 0;
		
		nrf_drv_gpiote_out_clear(30);
		spi_send_recv(temp, temp_rec, 2);
	  

		
	  if (m_transfer_completed){
			
			m_transfer_completed=false;
			nrf_delay_ms(1);
		  nrf_drv_gpiote_out_set(30);
		}
		
		nrf_delay_ms(1);
		
		return temp_rec[1];
}
示例#6
0
/**
 * @brief LED点灯
 *
 * @param[in]   pin     対象PIN番号
 */
void led_on(int pin)
{
    /* アクティブLOW */
    nrf_drv_gpiote_out_clear(pin);
}