1
mirror of https://github.com/flipperdevices/flipperzero-firmware.git synced 2025-12-12 04:41:26 +04:00

FuriHalRtc refactor: new datetime lib (#3386)

* datetimelib created
* datetimelib unit tests added
* firmware fixes to new datetimelib
* typo fix
* merge artifacts fixed, datetimelib renamed to datetime

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Leptopt1los
2024-02-15 12:44:41 +09:00
committed by GitHub
parent dd988ba449
commit feb45f6645
28 changed files with 456 additions and 275 deletions

View File

@@ -101,7 +101,7 @@ void cli_command_date(Cli* cli, FuriString* args, void* context) {
UNUSED(cli);
UNUSED(context);
FuriHalRtcDateTime datetime = {0};
DateTime datetime = {0};
if(furi_string_size(args) > 0) {
uint16_t hours, minutes, seconds, month, day, year, weekday;
@@ -135,7 +135,7 @@ void cli_command_date(Cli* cli, FuriString* args, void* context) {
return;
}
if(!furi_hal_rtc_validate_datetime(&datetime)) {
if(!datetime_validate_datetime(&datetime)) {
printf("Invalid datetime data");
return;
}

View File

@@ -53,7 +53,7 @@ static void desktop_dummy_mode_icon_draw_callback(Canvas* canvas, void* context)
static void desktop_clock_update(Desktop* desktop) {
furi_assert(desktop);
FuriHalRtcDateTime curr_dt;
DateTime curr_dt;
furi_hal_rtc_get_datetime(&curr_dt);
bool time_format_12 = locale_get_time_format() == LocaleTimeFormat12h;

View File

@@ -128,7 +128,7 @@ static void dolphin_update_clear_limits_timer_period(Dolphin* dolphin) {
uint32_t timer_expires_at = furi_timer_get_expire_time(dolphin->clear_limits_timer);
if((timer_expires_at - now_ticks) > HOURS_IN_TICKS(0.1)) {
FuriHalRtcDateTime date;
DateTime date;
furi_hal_rtc_get_datetime(&date);
uint32_t now_time_in_ms = ((date.hour * 60 + date.minute) * 60 + date.second) * 1000;
uint32_t time_to_clear_limits = 0;

View File

@@ -74,9 +74,9 @@ bool dolphin_state_load(DolphinState* dolphin_state) {
}
uint64_t dolphin_state_timestamp() {
FuriHalRtcDateTime datetime;
DateTime datetime;
furi_hal_rtc_get_datetime(&datetime);
return furi_hal_rtc_datetime_to_timestamp(&datetime);
return datetime_datetime_to_timestamp(&datetime);
}
bool dolphin_state_is_levelup(uint32_t icounter) {

View File

@@ -36,7 +36,7 @@ float locale_celsius_to_fahrenheit(float temp_c) {
void locale_format_time(
FuriString* out_str,
const FuriHalRtcDateTime* datetime,
const DateTime* datetime,
const LocaleTimeFormat format,
const bool show_seconds) {
furi_assert(out_str);
@@ -69,7 +69,7 @@ void locale_format_time(
void locale_format_date(
FuriString* out_str,
const FuriHalRtcDateTime* datetime,
const DateTime* datetime,
const LocaleDateFormat format,
const char* separator) {
furi_assert(out_str);

View File

@@ -73,7 +73,7 @@ void locale_set_time_format(LocaleTimeFormat format);
*/
void locale_format_time(
FuriString* out_str,
const FuriHalRtcDateTime* datetime,
const DateTime* datetime,
const LocaleTimeFormat format,
const bool show_seconds);
@@ -98,7 +98,7 @@ void locale_set_date_format(LocaleDateFormat format);
*/
void locale_format_date(
FuriString* out_str,
const FuriHalRtcDateTime* datetime,
const DateTime* datetime,
const LocaleDateFormat format,
const char* separator);

View File

@@ -122,7 +122,7 @@ static void rpc_system_system_get_datetime_process(const PB_Main* request, void*
RpcSession* session = (RpcSession*)context;
furi_assert(session);
FuriHalRtcDateTime datetime;
DateTime datetime;
furi_hal_rtc_get_datetime(&datetime);
PB_Main* response = malloc(sizeof(PB_Main));
@@ -157,7 +157,7 @@ static void rpc_system_system_set_datetime_process(const PB_Main* request, void*
return;
}
FuriHalRtcDateTime datetime;
DateTime datetime;
datetime.hour = request->content.system_set_datetime_request.datetime.hour;
datetime.minute = request->content.system_set_datetime_request.datetime.minute;
datetime.second = request->content.system_set_datetime_request.datetime.second;