Merge branch 'develop' of github.com:JF002/Pinetime into feature/add-stop-watch
This commit is contained in:
		
						commit
						1f8f527f9f
					
				| @ -47,6 +47,7 @@ As of now, here is the list of achievements of this project: | ||||
|  - Supported by 2 companion apps (development is in progress): | ||||
|     * [Gadgetbridge](https://codeberg.org/Freeyourgadget/Gadgetbridge/) (on Android) | ||||
|     * [Amazfish](https://openrepos.net/content/piggz/amazfish) (on SailfishOS and Linux) | ||||
|     * **[Experimental]** [WebBLEWatch](https://hubmartin.github.io/WebBLEWatch/) Synchronize time directly from your web browser. [video](https://youtu.be/IakiuhVDdrY) | ||||
|  - **[Experimental]** OTA (Over-the-air) update via BLE | ||||
|  - **[Experimental]** Bootloader based on [MCUBoot](https://juullabs-oss.github.io/mcuboot/) | ||||
|   | ||||
|  | ||||
| @ -2,6 +2,17 @@ cmake_minimum_required(VERSION 3.10) | ||||
| 
 | ||||
| project(pinetime-app C CXX ASM) | ||||
| 
 | ||||
| 
 | ||||
| set(CMAKE_C_STANDARD 99) | ||||
| set(CMAKE_CXX_STANDARD 14) | ||||
| 
 | ||||
| # set(CMAKE_GENERATOR "Unix Makefiles") | ||||
| set(CMAKE_C_EXTENSIONS OFF) | ||||
| set(CMAKE_C_STANDARD_REQUIRED ON) | ||||
| set(CMAKE_CXX_EXTENSIONS OFF) | ||||
| set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||||
| set(CMAKE_EXPORT_COMPILE_COMMANDS ON) | ||||
| 
 | ||||
| # define some variables just for this example to determine file locations | ||||
| set(NRF_PROJECT_NAME pinetime-app) | ||||
| set(NRF_BOARD pca10040) | ||||
| @ -751,7 +762,7 @@ target_compile_options(nrf-sdk PRIVATE | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| # NimBLE | ||||
| @ -763,7 +774,7 @@ target_compile_options(nimble PRIVATE | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3 -Wno-unused-but-set-variable -Wno-maybe-uninitialized> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| # lvgl | ||||
| @ -775,7 +786,7 @@ target_compile_options(lvgl PRIVATE | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| # Build autonomous binary (without support for bootloader) | ||||
| @ -790,12 +801,12 @@ target_compile_options(${EXECUTABLE_NAME} PUBLIC | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| set_target_properties(${EXECUTABLE_NAME} PROPERTIES | ||||
|         SUFFIX ".out" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_FILE_NAME}.map" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_FILE_NAME}.map" | ||||
|         CXX_STANDARD 11 | ||||
|         C_STANDARD 99 | ||||
|         ) | ||||
| @ -822,12 +833,12 @@ target_compile_options(${EXECUTABLE_MCUBOOT_NAME} PUBLIC | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| set_target_properties(${EXECUTABLE_MCUBOOT_NAME} PROPERTIES | ||||
|         SUFFIX ".out" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_FILE_NAME}.map" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT_MCUBOOT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_MCUBOOT_FILE_NAME}.map" | ||||
|         CXX_STANDARD 11 | ||||
|         C_STANDARD 99 | ||||
|         ) | ||||
| @ -851,12 +862,12 @@ target_compile_options(${EXECUTABLE_GRAPHICS_NAME} PUBLIC | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:C>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:DEBUG>>: ${COMMON_FLAGS} -O0 -g3> | ||||
|         $<$<AND:$<COMPILE_LANGUAGE:CXX>,$<CONFIG:RELEASE>>: ${COMMON_FLAGS} -O3> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -std=c99 -x assembler-with-cpp> | ||||
|         $<$<COMPILE_LANGUAGE:ASM>: -MP -MD -x assembler-with-cpp> | ||||
|         ) | ||||
| 
 | ||||
| set_target_properties(${EXECUTABLE_GRAPHICS_NAME} PROPERTIES | ||||
|         SUFFIX ".out" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -std=gnu++98 -std=c99 -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_FILE_NAME}.map" | ||||
|         LINK_FLAGS "-mthumb -mabi=aapcs -L ${NRF5_SDK_PATH}/modules/nrfx/mdk -T${NRF5_LINKER_SCRIPT} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wl,--gc-sections --specs=nano.specs -lc -lnosys -lm -Wl,-Map=${EXECUTABLE_GRAPHICS_FILE_NAME}.map" | ||||
|         CXX_STANDARD 11 | ||||
|         C_STANDARD 99 | ||||
|         ) | ||||
|  | ||||
| @ -15,6 +15,45 @@ | ||||
| 
 | ||||
| using namespace Pinetime::Applications::Screens; | ||||
| 
 | ||||
| namespace { | ||||
| 
 | ||||
| char const *DaysString[] = { | ||||
|         "", | ||||
|         "MONDAY", | ||||
|         "TUESDAY", | ||||
|         "WEDNESDAY", | ||||
|         "THURSDAY", | ||||
|         "FRIDAY", | ||||
|         "SATURDAY", | ||||
|         "SUNDAY" | ||||
| }; | ||||
| 
 | ||||
| char const *MonthsString[] = { | ||||
|         "", | ||||
|         "JAN", | ||||
|         "FEB", | ||||
|         "MAR", | ||||
|         "APR", | ||||
|         "MAY", | ||||
|         "JUN", | ||||
|         "JUL", | ||||
|         "AUG", | ||||
|         "SEP", | ||||
|         "OCT", | ||||
|         "NOV", | ||||
|         "DEC" | ||||
| }; | ||||
| 
 | ||||
| const char *MonthToString(Pinetime::Controllers::DateTime::Months month) { | ||||
|   return MonthsString[static_cast<uint8_t>(month)]; | ||||
| } | ||||
| 
 | ||||
| const char *DayOfWeekToString(Pinetime::Controllers::DateTime::Days dayOfWeek) { | ||||
|   return DaysString[static_cast<uint8_t>(dayOfWeek)]; | ||||
| } | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| static void event_handler(lv_obj_t * obj, lv_event_t event) { | ||||
|   Clock* screen = static_cast<Clock *>(obj->user_data); | ||||
|   screen->OnObjectEvent(obj, event); | ||||
| @ -200,40 +239,6 @@ bool Clock::Refresh() { | ||||
|   return running; | ||||
| } | ||||
| 
 | ||||
| const char *Clock::MonthToString(Pinetime::Controllers::DateTime::Months month) { | ||||
|   return Clock::MonthsString[static_cast<uint8_t>(month)]; | ||||
| } | ||||
| 
 | ||||
| const char *Clock::DayOfWeekToString(Pinetime::Controllers::DateTime::Days dayOfWeek) { | ||||
|   return Clock::DaysString[static_cast<uint8_t>(dayOfWeek)]; | ||||
| } | ||||
| 
 | ||||
| char const *Clock::DaysString[] = { | ||||
|         "", | ||||
|         "MONDAY", | ||||
|         "TUESDAY", | ||||
|         "WEDNESDAY", | ||||
|         "THURSDAY", | ||||
|         "FRIDAY", | ||||
|         "SATURDAY", | ||||
|         "SUNDAY" | ||||
| }; | ||||
| 
 | ||||
| char const *Clock::MonthsString[] = { | ||||
|         "", | ||||
|         "JAN", | ||||
|         "FEB", | ||||
|         "MAR", | ||||
|         "APR", | ||||
|         "MAY", | ||||
|         "JUN", | ||||
|         "JUL", | ||||
|         "AUG", | ||||
|         "SEP", | ||||
|         "OCT", | ||||
|         "NOV", | ||||
|         "DEC" | ||||
| }; | ||||
| 
 | ||||
| void Clock::OnObjectEvent(lv_obj_t *obj, lv_event_t event) { | ||||
|   if(obj == backgroundLabel) { | ||||
|  | ||||
| @ -52,11 +52,6 @@ namespace Pinetime { | ||||
| 
 | ||||
|           void OnObjectEvent(lv_obj_t *pObj, lv_event_t i); | ||||
|         private: | ||||
|           static const char* MonthToString(Pinetime::Controllers::DateTime::Months month); | ||||
|           static const char* DayOfWeekToString(Pinetime::Controllers::DateTime::Days dayOfWeek); | ||||
|           static char const *DaysString[]; | ||||
|           static char const *MonthsString[]; | ||||
| 
 | ||||
|           char displayedChar[5]; | ||||
| 
 | ||||
|           uint16_t currentYear = 1970; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user