max80.ino 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // #define DEBUG
  2. #define BAUD_RATE 115200
  3. #include "common.h"
  4. #include <freertos/task_snapshot.h>
  5. #include "fpga.h"
  6. #include "wifi.h"
  7. #include "storage.h"
  8. void setup() {
  9. printf("[START] MAX80 firmware compiled on " __DATE__ " " __TIME__ "\n");
  10. InitStorage();
  11. SetupWiFi();
  12. //fpga_services_start();
  13. printf("[RDY]\n");
  14. }
  15. static inline char task_state(eTaskState state)
  16. {
  17. switch (state) {
  18. case eInvalid:
  19. return 'X';
  20. case eReady:
  21. case eRunning:
  22. return 'R';
  23. case eBlocked:
  24. return 'D';
  25. case eSuspended:
  26. return 'S';
  27. case eDeleted:
  28. return 'Z';
  29. default:
  30. return '?';
  31. }
  32. }
  33. static void dump_tasks(void)
  34. {
  35. TaskHandle_t task = NULL;
  36. while (1) {
  37. task = pxTaskGetNext(task);
  38. if (!task)
  39. break;
  40. printf("%-16s %c %2u\n",
  41. pcTaskGetName(task),
  42. task_state(eTaskGetState(task)),
  43. uxTaskPriorityGet(task));
  44. }
  45. }
  46. void loop() {
  47. printf("loop task: %s\n", pcTaskGetName(xTaskGetCurrentTaskHandle()));
  48. printf("idle task: %s\n", pcTaskGetName(xTaskGetIdleTaskHandle()));
  49. dump_tasks();
  50. putchar('\n');
  51. vTaskDelay(20 * configTICK_RATE_HZ);
  52. }