Commit graph

40 commits

Author SHA1 Message Date
Jean-François Milants f9a16feeaf Continuous time updates
Add TODO.md in src/components/datetime. This file give detailed information about a refactoring of the DateTimeController that would be nice to do in the future.
2024-06-09 18:34:07 +02:00
mark9064 4930c0cab7 Include assert (fix sim) 2024-06-09 18:34:07 +02:00
mark9064 a449b272f7 Continuous time updates 2024-06-09 18:34:07 +02:00
Victor Kareh 5d971690cb DateTimeController: Make DayOfWeekShortToStringLow static
This allows it to be used outside of the current datetime context and
makes it consistent with the MonthShortToStringLow function.
2024-02-18 12:57:48 +01:00
Mingjie Shen c9fbcd8818 Fix potential buffer overflows when calling sprintf
1. Replace sprintf with snprintf, which is safer
2. An unsigned int or unsigned long int requires 11 bytes to print
   (including the null terminator)
3. Use PRIu16 macro to print uint16_t
4. Format string "#%2d %2d:%02d:%02d.%02d\n" in
   StopWatch::stopLapBtnEventHandler() requires at least 17 bytes.
   The 16-byte buffer would clearly be overrun if sprintf were used.
2023-12-01 08:52:42 +01:00
Riku Isokoski bf8dca202c DateTimeController: Fix integer overflow 2023-02-26 17:30:01 +02:00
Riku Isokoski 8baa317e7e date: Remove date lib
DateTimeController can provide everything we need.
2023-02-25 17:44:06 +02:00
Riku Isokoski 959778d770 DateTimeController: Use std::tm for storing date 2023-02-25 17:37:56 +02:00
Riku Isokoski b63bb798ac DateTimeController: Remove SetTime tick parameter
The systick doesn't need to be updated when setting time.

Also removed unused nrf_rtc.h includes.
2023-02-25 17:22:25 +02:00
Riku Isokoski a3e14c012d src: Enable unused parameter warning
Fix warnings.
Some clang-formatting was necessary.
DebugPins is unused and was removed.
2023-01-24 10:43:17 +02:00
Finlay Davidson 96165a8541 Format header files
In my PR updating clang-format, I forgot to also format the headers.
2023-01-09 21:41:21 +01:00
Finlay Davidson eda96ffadc Update clang-{format,tidy} to 14
Also add configuration options only available in 13 and 14.
Fixes warning about -fstack-usage in clang-tidy check.
2023-01-04 17:15:33 +01:00
uli 02116a2fd4 BLE CTS: fixed signedness of timezone 2022-11-25 20:14:26 +01:00
uli 38092fcb40 add CTS local time characteristic and use it to provide UTC in DateTimeController 2022-11-11 21:44:00 +01:00
Diego Miguel f5e9055e09 Make function DayOfWeekShortToStringLow const 2022-06-11 16:57:24 +02:00
Diego Miguel b5fbcf0eee Add lowercase days of the week 2022-06-11 16:56:35 +02:00
Finlay Davidson 7f45538eb5 Apply clang-format to all C++ files 2022-06-05 09:15:46 +03:00
Reinhold Gschweicher db41d9081a DateTimeController: make possible functions const
MonthShortToString and DayOfWeekShortToString don't change the
underlying object. Those are just getters and can be declared `const`.
2022-03-14 20:59:44 +01:00
Jean-François Milants 87d882b151 Merge branch 'statusBarTimeFormat' of https://github.com/mruss77/InfiniTime into mruss77-statusBarTimeFormat
# Conflicts:
#	src/components/datetime/DateTimeController.cpp
2022-02-13 11:23:05 +01:00
Riku Isokoski 470db4ab99 Fix alarm on time change 2022-01-22 12:47:23 +02:00
SteveAmor cc259b6a4a resolves conflicts 2022-01-02 22:27:43 +00:00
Reinhold Gschweicher ac7b2da611 Update includes to to be relative to src directory
Don't use relative imports like `../foo.h` as those depend on the
relative position of both files. Rather than that use imports relative
to the `src` directory, which explicitly is part of the include
directories.
2021-11-15 22:02:49 +01:00
Mark Russell 947ece0bc9 Status bar displays time in 12 or 24 hour format based on settings 2021-11-10 20:11:09 -05:00
SteveAmor 822b6ae6a0 format changes 2021-11-07 13:12:01 +00:00
SteveAmor 37de10f47d applied clang-format 2021-11-07 12:10:23 +00:00
SteveAmor 5932391c8b Chimes option 2021-11-07 10:50:33 +00:00
Jean-François Milants 7cbd56896a DateTimeController : remove unused methods and variables. 2021-10-10 16:08:19 +02:00
Jean-François Milants cf9e149b33 Merge with develop and fix conflicts from timaios:set-datetime-manually. 2021-10-10 16:01:43 +02:00
Jean-François Milants f3b5da0049 Fix the display of the date after a reset : when the date/time was restored from the noinit area, the date was displayed as "--" instead of the actual date.
This issue was caused by DateTime::SetCurrentTime() that would not update the internal state of the class : dayOfWeek, Month, Year were not properly updated according to the current time.
2021-09-19 17:42:50 +02:00
Tim Keller 4f6d7e2c63 Move Backup to the system task. 2021-08-19 00:51:12 +00:00
Tim Keller 2dd7b8ba2c Add clearing of noinit segment on bad word
Code readability cleanup
2021-08-19 00:44:22 +00:00
Tim Keller 55f8908769 Make Clock Persistant. 2021-08-17 23:53:57 +00:00
Jean-François Milants c086520c97 Code cleaning in Clock, WatchFaceAnalog, WatchFaceDigital and PineTimeStyle, inspired by PR #232 by nscooling. 2021-08-10 11:39:25 +02:00
Tim Taenny 899bee2cf5 Exposed Month and DayOfWeek texts in DateTimeController
Added static methods to return the text of a given month
or dayOfWeek.
2021-07-09 17:32:48 +02:00
Jean-François Milants 7f9cc51b05 Initialize SystemTask, DisplayApp and HeartRateTask as global static variable instead of variables on the heap. We don't need them on the heap as we know their size at build time, it'll reduce memory fragmentation and it'll make memory analysis easier. 2021-06-06 15:56:03 +02:00
Avamander 6989854519 Changed access modified indentation 2021-04-24 12:00:45 +03:00
Avamander 40d45d923b Reformatted all the files according to clang-format style 2021-04-24 11:39:53 +03:00
Jean-François Milants 1d7576de64 Reset the step count every day at midnight. 2021-04-04 15:56:40 +02:00
Joaquim 8c53d0b70b Multi face support, analog clock, 12/24 config 2021-02-24 19:40:24 +00:00
Avamander 6c86d1d9d7 Fixed all the includes that were broken due to the renames 2020-10-02 22:16:48 +03:00