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.

49 lines
1.6 KiB

1 year ago
  1. #pragma once
  2. #include "cmsis_os.h"
  3. namespace iflytop {
  4. class ZTaskInfo {
  5. public:
  6. osThreadId Id;
  7. };
  8. class SysMgr {
  9. private:
  10. /* data */
  11. public:
  12. ZTaskInfo m_task[30] = {0};
  13. int m_ntask = 0;
  14. static SysMgr* ins();
  15. void initedFinished();
  16. void dumpSysInfo();
  17. size_t osGetSysRunTime();
  18. /***********************************************************************************************************************
  19. * HeapMgr *
  20. ***********************************************************************************************************************/
  21. size_t osGetMinimumEverFreeHeapSize();
  22. size_t osGetFreeHeapSize();
  23. size_t osGetTotalHeapSize();
  24. /***********************************************************************************************************************
  25. * TaskInfo *
  26. ***********************************************************************************************************************/
  27. osThreadId osGetId(int offset);
  28. uint32_t osTaskStackRemainingSize(osThreadId id);
  29. const char* osTaskName(osThreadId id);
  30. void osTaskName(osThreadId id, char* name, int bufsize);
  31. void osTaskStackRemainingSize(osThreadId id, uint16_t* remainsize);
  32. void osTaskPriority(osThreadId id, uint16_t* priority);
  33. void osTaskGetState(osThreadId id, char* state);
  34. int32_t getTaskNum();
  35. };
  36. } // namespace iflytop