static void apds9960_task(void* arg) { while (1) { int ges = gsens->read_gesture(); switch (ges) { case APDS9960_RIGHT: printf("APDS9960_RIGHT, NEXT PAGE***\n"); oled_next_page(); break; case APDS9960_LEFT: printf("APDS9960_LEFT, PREV PAGE***\n"); oled_prev_page(); break; case APDS9960_DOWN: printf("APDS9960_DOWN, NEXT PAGE***\n"); oled_next_page(); break; case APDS9960_UP: printf("APDS9960_UP, PREV PAGE***\n"); oled_prev_page(); break; } vTaskDelay(100 / portTICK_RATE_MS); } }
static void touch_press_1s_cb(void *arg) { CTouchPad *tp = (CTouchPad*) arg; touch_pad_t tp_num = tp->tp_num(); if (tp_num == 9) { oled_next_page(); } else if (tp_num == 8) { oled_prev_page(); } ets_printf("press_1s_cb tap callback of touch pad num %d\n", tp_num); }
void menu(void) { int i; menu_init(); /* let LED on pin 4 of the DIP8 blink */ //Chip_GPIO_SetPinDIROutput(LPC_GPIO_PORT, 0, 2); /* pcs(pcs_led_out); for( i = 0; i < 10; i++ ) { pcs(pcs_led_high); delay_micro_seconds(50000UL); pcs(pcs_led_low); delay_micro_seconds(50000UL); } */ //key_add_to_queue(KEY_NEXT); for(;;) { if ( menu_handle_key() != 0 || clk_o.is_update != 0 ) { clk_o.is_update = 0; oled_start_page(&oled_o); do { menu_draw(); /* pcs(pcs_led_high); delay_micro_seconds(100000UL); pcs(pcs_led_low); delay_micro_seconds(100000UL); */ } while( oled_next_page(&oled_o) ); } } }