ui.c 764 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "ui.h"
  2. #include <unistd.h>
  3. #include <stdlib.h>
  4. #include "menu.h"
  5. #include "sys.h"
  6. #include "thread.h"
  7. #include "cfg.h"
  8. typedef struct {
  9. int fd;
  10. }ui_handle_t;
  11. static ui_handle_t uiHandle={0};
  12. static void msleep(int ms)
  13. {
  14. usleep(ms*1000);
  15. }
  16. static void *ui_thread(void *arg)
  17. {
  18. int r;
  19. thread_handle_t *th=(thread_handle_t*)arg;
  20. ui_handle_t *h=(ui_handle_t*)th->attr->arg;
  21. menu_init();
  22. while(th->quit==0) {
  23. menu_handle();
  24. msleep(50);
  25. }
  26. menu_deinit();
  27. pthread_exit(NULL);
  28. }
  29. /////////////////////////////////////////////////////
  30. int ui_init(void)
  31. {
  32. ui_handle_t *h=&uiHandle;
  33. menu_init();
  34. #if 0//def USE_UI
  35. thread_start(THREAD_ID_UI, ui_thread, h);
  36. #endif
  37. return 0;
  38. }