| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #include "qe_touch_config.h"
- #include <rtthread.h>
- #include <rtdevice.h>
- #define TOUCH_SCAN_INTERVAL_EXAMPLE (20) /* milliseconds */
- uint64_t button_status;
- #if (TOUCH_CFG_NUM_SLIDERS != 0)
- uint16_t slider_position[TOUCH_CFG_NUM_SLIDERS];
- #endif
- #if (TOUCH_CFG_NUM_WHEELS != 0)
- uint16_t wheel_position[TOUCH_CFG_NUM_WHEELS];
- #endif
- void qe_touch_main(void *parameter)
- {
- fsp_err_t err;
- rt_uint32_t led_blu = rt_pin_get("P501");
- /* Open Touch middleware */
- rt_kprintf("TOUCH Open\n");
- err = RM_TOUCH_Open(g_qe_touch_instance_config01.p_ctrl, g_qe_touch_instance_config01.p_cfg);
- if (FSP_SUCCESS != err)
- {
- rt_kprintf("RM_TOUCH_Open fail\n");
- return;
- }
- rt_kprintf("TOUCH ScanStart\n");
- /* Main loop */
- while (true)
- {
- /* for [CONFIG01] configuration */
- err = RM_TOUCH_ScanStart(g_qe_touch_instance_config01.p_ctrl);
- if (FSP_SUCCESS != err)
- {
- rt_kprintf("RM_TOUCH_Open fail\n");
- return;
- }
- while (0 == g_qe_touch_flag) {}
- g_qe_touch_flag = 0;
- err = RM_TOUCH_DataGet(g_qe_touch_instance_config01.p_ctrl, &button_status, NULL, NULL);
- if (FSP_SUCCESS == err)
- {
- if (button_status)
- {
- rt_pin_write(led_blu, PIN_HIGH);
- }
- else
- {
- rt_pin_write(led_blu, PIN_LOW);
- }
- }
- /* FIXME: Since this is a temporary process, so re-create a waiting process yourself. */
- rt_thread_mdelay(TOUCH_SCAN_INTERVAL_EXAMPLE);
- }
- }
- int touch_init(void)
- {
- rt_thread_t tid = rt_thread_create("touch", qe_touch_main, RT_NULL, 512, 10, 50);
- if (tid)
- {
- rt_thread_startup(tid);
- }
- return 0;
- }
- INIT_APP_EXPORT(touch_init);
- //MSH_CMD_EXPORT(touch_init, touch_init);
|