Пример #1
0
/******************************************************************************
 * FunctionName : peri_jdq_init
 * Description  : JDQ initialize, mainly initialize pwm mode
 * Parameters   : uint8 gpio_id
 * Returns      : none
*******************************************************************************/
void ICACHE_FLASH_ATTR
peri_jdq_init(uint8 gpio_id)
{
   // enum JDQ_STATE jdq_state;

    PRINTF("I am the jdq\n");

    //PRINTF("jdq_state: %d\n", jdq_state);
    PIN_FUNC_SELECT(tisan_get_gpio_name(gpio_id), tisan_get_gpio_general_func(gpio_id));
    PIN_PULLUP_EN(tisan_get_gpio_name(gpio_id));
    jdq_pin=gpio_id;

}
Пример #2
0
/******************************************************************************
 * FunctionName : peri_key_init.
 * Description  : initialize key device.
 * Parameters   : none
 * Returns      : none
*******************************************************************************/
void ICACHE_FLASH_ATTR
peri_single_key_init(uint8 gpio_id,key_function long_press, key_function short_press)
{
    struct key_param *single_key = (struct key_param *)os_zalloc(sizeof(struct key_param));

    uint32 gpio_name=tisan_get_gpio_name(gpio_id);
    uint8 gpio_func=tisan_get_gpio_general_func(gpio_id);
    single_key->gpio_id = gpio_id;
    single_key->key_level = 1;
    single_key->long_press = long_press;
    single_key->short_press = short_press;

    ETS_GPIO_INTR_DISABLE();

    peri_vibrate_init_NULL();
    key_init(gpio_name, gpio_id, gpio_func);
    ETS_GPIO_INTR_ATTACH(gpio_intr_handler,single_key);


    ETS_GPIO_INTR_ENABLE();
}
Пример #3
0
void ICACHE_FLASH_ATTR
vibrate_init(uint8 gpio_id)
{
    uint32 v_gpio_name=tisan_get_gpio_name(gpio_id);
    uint8 v_gpio_func=tisan_get_gpio_general_func(gpio_id);

    PIN_FUNC_SELECT(v_gpio_name, v_gpio_func);
    PIN_PULLUP_EN(v_gpio_name);
    gpio_output_set(0, 0, 0, GPIO_ID_PIN(gpio_id));   //set as input mode

	gpio_register_set(GPIO_PIN_ADDR(gpio_id), GPIO_PIN_INT_TYPE_SET(GPIO_PIN_INTR_DISABLE)
					  | GPIO_PIN_PAD_DRIVER_SET(GPIO_PAD_DRIVER_DISABLE)
					  | GPIO_PIN_SOURCE_SET(GPIO_AS_PIN_SOURCE));

	//clear interrupt status
	GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, BIT(gpio_id));

	//enable interrupt
	gpio_pin_intr_state_set(GPIO_ID_PIN(gpio_id), GPIO_PIN_INTR_NEGEDGE);

	peri_alarm_init(ALARM_GPIO_ID);
	peri_vibrate_tim_start(100);
}
Пример #4
0
void ICACHE_FLASH_ATTR
peri_alarm_init(uint8 gpio_id)
{
	PIN_FUNC_SELECT(tisan_get_gpio_name(gpio_id), tisan_get_gpio_general_func(gpio_id));
	PIN_PULLUP_EN(tisan_get_gpio_name(gpio_id));
}