time.c 589 B

123456789101112131415161718192021
  1. #include <furi.h>
  2. #include <furi_hal.h>
  3. #include "time.h"
  4. const int TIME_SECONDS_IN_MINUTE = 60;
  5. const int TIME_MINUTES_IN_HOUR = 60;
  6. uint32_t time_now()
  7. {
  8. return furi_hal_rtc_get_timestamp();
  9. };
  10. TimeDifference time_difference_seconds(uint32_t begin, uint32_t end)
  11. {
  12. const uint32_t duration_seconds = end - begin;
  13. uint32_t minutes = (duration_seconds / TIME_MINUTES_IN_HOUR) % TIME_MINUTES_IN_HOUR;
  14. uint32_t seconds = duration_seconds % TIME_SECONDS_IN_MINUTE;
  15. return (TimeDifference){.total_seconds = duration_seconds, .minutes = minutes, .seconds = seconds};
  16. };