Open-smartwatch Time API 에 관한 고찰
Time API 다시 쓰기 Open-smartwatch Time API 에 관한 고찰
시작
Watchfaces 를 보면 시계와 날짜를 가져오는 API 가 있다. 시간대별로 로컬 타임과 듀얼 타임을 가져올 수 있는데 다음과 같은 API 로 열려 있다.
1
2
3
4
uint32_t years = 0;
uint32_t month = 0;
uint32_t day = 0;
OswHal::getInstance()->getTime(&years, &month, &day);
각 구하고자 하는 데이터의 주소를 넘겨주면 API 에서 현재 날짜를 데이터 주소에 넣어준다.
그런데 이를 이상하게 보게 되었다.
이걸 하나의 구조체로 만들면 어떨까 생각이 되었다.
구조도
위와 같은 구조도를 가지면서 OswHal 에 있는 OswDate 와 OswTime 자료구조를 통해 모든 시간과 날짜 매개변수를 대체한다.
1
2
3
4
5
6
typedef struct {
uint32_t year;
uint32_t month;
uint32_t day;
uint32_t weekDay;
} OswDate;
이러한 자료구조를 추가하여 연도, 월, 일, 요일을 하나의 구조체로 통합하였다.
1
2
3
OswDate oswDate = { };
OswHal::getInstance()->getTime(oswDate);
OSW_LOG_E("current day is ", oswDate.day);
위와 같이 날짜를 가져올 수 있게 된다.
This post is licensed under CC BY 4.0 by the author.
If you find any errors, please let me know by comment or email. Thank you.
If you find any errors, please let me know by comment or email. Thank you.