time.c 584 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. return furi_hal_rtc_get_timestamp();
  8. };
  9. TimeDifference time_difference_seconds(uint32_t begin, uint32_t end) {
  10. const uint32_t duration_seconds = end - begin;
  11. uint32_t minutes = (duration_seconds / TIME_MINUTES_IN_HOUR) % TIME_MINUTES_IN_HOUR;
  12. uint32_t seconds = duration_seconds % TIME_SECONDS_IN_MINUTE;
  13. return (TimeDifference){.total_seconds=duration_seconds, .minutes=minutes, .seconds=seconds};
  14. }