TimerTask.c 1017 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Brief: Micellaneous Ticks increment every 1 second.
  3. Record system power on times.
  4. * Author: Jimbo_Zhang@outlook.com
  5. * Date: 2019-9-16
  6. */
  7. #include "TimerTask.h"
  8. #include "time.h"
  9. #include <stdint.h>
  10. #include "main.h"
  11. //g_BMCInfo.CurTimerTick increment in port.c/xPortSysTickHandler().
  12. void *TimerTask( void *pvParameters )
  13. {
  14. uint32_t preTimerTick = g_BMCInfo.CurTimerTick;
  15. while(1)
  16. {
  17. preTimerTick = g_BMCInfo.CurTimerTick;
  18. g_BMCInfo.SELTimeSecond++;
  19. if(g_BMCInfo.SensorSharedMem.SensorTick < 0xffffffff)
  20. g_BMCInfo.SensorSharedMem.SensorTick++;
  21. if(g_BMCInfo.SenConfig.PowerOnTick < 0xffffffff)
  22. g_BMCInfo.SenConfig.PowerOnTick++;
  23. if(g_BMCInfo.SenConfig.SysResetTick < 0xffffffff)
  24. g_BMCInfo.SenConfig.SysResetTick++;
  25. g_BMCInfo.CurTimerSecond++;
  26. if(g_BMCInfo.PowerGoodFlag && (g_BMCInfo.CurTimerSecond%60 == 0)) // 1minute
  27. {
  28. g_BMCInfo.BootValidMinutes++;
  29. g_BMCInfo.TotalBootValidMinutes++;
  30. }
  31. sleep(1);
  32. }
  33. }