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.

50 lines
1.6 KiB

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