From 3d8ec33cd31483335178ed559a3c5fef4bcb2949 Mon Sep 17 00:00:00 2001 From: Camden Dixie O'Brien Date: Sun, 21 May 2023 13:12:49 +0100 Subject: [PATCH] Move alarm and time types into dedicated headers --- components/alarms/alarm_store.h | 8 +------- components/alarms/alarm_types.h | 19 +++++++++++++++++++ components/alarms/alarms.c | 1 + components/time/time_manager.h | 23 +---------------------- components/time/time_types.h | 32 ++++++++++++++++++++++++++++++++ 5 files changed, 54 insertions(+), 29 deletions(-) create mode 100644 components/alarms/alarm_types.h create mode 100644 components/time/time_types.h diff --git a/components/alarms/alarm_store.h b/components/alarms/alarm_store.h index 9867576..9712dd6 100644 --- a/components/alarms/alarm_store.h +++ b/components/alarms/alarm_store.h @@ -6,17 +6,11 @@ #ifndef ALARM_STORE_H #define ALARM_STORE_H -#include "time_manager.h" +#include "alarm_types.h" #include "sdkconfig.h" #include -typedef struct { - bool set; - Time time; - bool days[WEEK_DAY_COUNT]; -} Alarm; - extern Alarm alarms[CONFIG_MAX_ALARMS]; /** diff --git a/components/alarms/alarm_types.h b/components/alarms/alarm_types.h new file mode 100644 index 0000000..b918d1a --- /dev/null +++ b/components/alarms/alarm_types.h @@ -0,0 +1,19 @@ +/* + * SPDX-License-Identifier: AGPL-3.0-only + * Copyright (c) Camden Dixie O'Brien + */ + +#ifndef ALARM_TYPE_H +#define ALARM_TYPE_H + +#include "time_types.h" + +#include + +typedef struct { + bool set; + Time time; + bool days[WEEK_DAY_COUNT]; +} Alarm; + +#endif diff --git a/components/alarms/alarms.c b/components/alarms/alarms.c index da64218..f7fa4cf 100644 --- a/components/alarms/alarms.c +++ b/components/alarms/alarms.c @@ -8,6 +8,7 @@ #include "alarm_store.h" #include "console.h" #include "sound.h" +#include "time_manager.h" #include "esp_log.h" #include "freertos/FreeRTOS.h" diff --git a/components/time/time_manager.h b/components/time/time_manager.h index 736f1a1..7629ee7 100644 --- a/components/time/time_manager.h +++ b/components/time/time_manager.h @@ -6,28 +6,7 @@ #ifndef TIME_MANAGER_H #define TIME_MANAGER_H -typedef struct { - unsigned hour; - unsigned minute; - unsigned second; -} Time; - -typedef struct { - unsigned year; - unsigned month; - unsigned day; -} Date; - -typedef enum { - WEEK_DAY_MONDAY, - WEEK_DAY_TUESDAY, - WEEK_DAY_WEDNESDAY, - WEEK_DAY_THURSDAY, - WEEK_DAY_FRIDAY, - WEEK_DAY_SATURDAY, - WEEK_DAY_SUNDAY, - WEEK_DAY_COUNT, -} WeekDay; +#include "time_types.h" typedef void (*TimeCallback)(Time now); diff --git a/components/time/time_types.h b/components/time/time_types.h new file mode 100644 index 0000000..bf9fc6b --- /dev/null +++ b/components/time/time_types.h @@ -0,0 +1,32 @@ +/* + * SPDX-License-Identifier: AGPL-3.0-only + * Copyright (c) Camden Dixie O'Brien + */ + +#ifndef TIME_TYPES_H +#define TIME_TYPES_H + +typedef struct { + unsigned hour; + unsigned minute; + unsigned second; +} Time; + +typedef struct { + unsigned year; + unsigned month; + unsigned day; +} Date; + +typedef enum { + WEEK_DAY_MONDAY, + WEEK_DAY_TUESDAY, + WEEK_DAY_WEDNESDAY, + WEEK_DAY_THURSDAY, + WEEK_DAY_FRIDAY, + WEEK_DAY_SATURDAY, + WEEK_DAY_SUNDAY, + WEEK_DAY_COUNT, +} WeekDay; + +#endif