No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

main.c 989B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /*
  2. * main.c
  3. */
  4. #include "pico/stdlib.h"
  5. #include "hardware/watchdog.h"
  6. #include "config.h"
  7. #include "util.h"
  8. #include "console.h"
  9. #include "log.h"
  10. #include "usb.h"
  11. #include "pmw3360.h"
  12. #include "fat_disk.h"
  13. #include "buttons.h"
  14. #include "controls.h"
  15. int main(void) {
  16. heartbeat_init();
  17. buttons_init();
  18. controls_init();
  19. cnsl_init();
  20. usb_init();
  21. if (watchdog_caused_reboot()) {
  22. debug("reset by watchdog");
  23. }
  24. debug("fat_disk_init");
  25. fat_disk_init();
  26. debug("pmw_init");
  27. bool use_pmw = true;
  28. if (pmw_init() != 0) {
  29. debug("error initializing PMW3360");
  30. use_pmw = false;
  31. }
  32. // trigger after 500ms
  33. // (PMW3360 initialization takes ~160ms)
  34. watchdog_enable(500, 1);
  35. debug("init done");
  36. while (1) {
  37. watchdog_update();
  38. heartbeat_run();
  39. buttons_run();
  40. usb_run();
  41. cnsl_run();
  42. if (use_pmw) {
  43. pmw_run();
  44. }
  45. }
  46. return 0;
  47. }