Minor formatting, diagnostic and documentation changes
This commit is contained in:
		
							parent
							
								
									bb72712d37
								
							
						
					
					
						commit
						f68c7b65b3
					
				| @ -552,7 +552,7 @@ link_directories( | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| set(COMMON_FLAGS -MP -MD -mthumb -mabi=aapcs -Wall -g3 -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin --short-enums -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wreturn-type -Werror=return-type) | ||||
| set(COMMON_FLAGS -MP -MD -mthumb -mabi=aapcs -Wall -Wno-unknown-pragmas -g3 -ffunction-sections -fdata-sections -fno-strict-aliasing -fno-builtin --short-enums -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -Wreturn-type -Werror=return-type) | ||||
| add_definitions(-DCONFIG_GPIO_AS_PINRESET) | ||||
| add_definitions(-DDEBUG) | ||||
| add_definitions(-DNIMBLE_CFG_CONTROLLER) | ||||
|  | ||||
| @ -7,9 +7,9 @@ using namespace Pinetime::Applications::Screens; | ||||
| extern lv_font_t jetbrains_mono_extrabold_compressed; | ||||
| extern lv_font_t jetbrains_mono_bold_20; | ||||
| 
 | ||||
| InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp *app, Pinetime::Components::LittleVgl& lvgl) : Screen(app), lvgl{lvgl} { | ||||
| InfiniPaint::InfiniPaint(Pinetime::Applications::DisplayApp *app, Pinetime::Components::LittleVgl &lvgl) : Screen(app), lvgl{lvgl} { | ||||
|   app->SetTouchMode(DisplayApp::TouchModes::Polling); | ||||
|   std::fill(b, b+bufferSize, LV_COLOR_WHITE); | ||||
|   std::fill(b, b + bufferSize, LV_COLOR_WHITE); | ||||
| } | ||||
| 
 | ||||
| InfiniPaint::~InfiniPaint() { | ||||
| @ -33,10 +33,10 @@ bool InfiniPaint::OnTouchEvent(Pinetime::Applications::TouchEvents event) { | ||||
| 
 | ||||
| bool InfiniPaint::OnTouchEvent(uint16_t x, uint16_t y) { | ||||
|   lv_area_t area; | ||||
|   area.x1 = x-(width/2); | ||||
|   area.y1 = y-(height/2); | ||||
|   area.x2 = x+(width/2)-1; | ||||
|   area.y2 = y+(height/2)-1; | ||||
|   area.x1 = x - (width / 2); | ||||
|   area.y1 = y - (height / 2); | ||||
|   area.x2 = x + (width / 2) - 1; | ||||
|   area.y2 = y + (height / 2) - 1; | ||||
|   lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::None); | ||||
|   lvgl.FlushDisplay(&area, b); | ||||
|   return true; | ||||
|  | ||||
| @ -12,13 +12,25 @@ namespace Pinetime { | ||||
|           explicit Screen(DisplayApp* app) : app{app} {} | ||||
|           virtual ~Screen() = default; | ||||
| 
 | ||||
|           // Return false if the app can be closed, true if it must continue to run
 | ||||
|           /**
 | ||||
|            * Most of the time, apps only react to events (touch events, for example). | ||||
|            * In this case you don't need to do anything in this method. | ||||
|            * | ||||
|            * For example, InfiniPaint does nothing in Refresh(). | ||||
|            * But, if you want to update your display periodically, draw an animation... | ||||
|            * you cannot do it in a touch event handler because these handlers are not | ||||
|            * called if the user does not touch the screen. | ||||
|            * | ||||
|            * That's why Refresh() is there: update the display periodically. | ||||
|            * | ||||
|            * @return false if the app can be closed, true if it must continue to run | ||||
|            **/ | ||||
|           virtual bool Refresh() = 0; | ||||
| 
 | ||||
|           // Return false if the button hasn't been handled by the app, true if it has been handled
 | ||||
|           /** @return false if the button hasn't been handled by the app, true if it has been handled */ | ||||
|           virtual bool OnButtonPushed() { return false; } | ||||
| 
 | ||||
|           // Return false if the event hasn't been handled by the app, true if it has been handled
 | ||||
|           /** @return false if the event hasn't been handled by the app, true if it has been handled */ | ||||
|           virtual bool OnTouchEvent(TouchEvents event) { return false; } | ||||
|           virtual bool OnTouchEvent(uint16_t x, uint16_t y) { return false; } | ||||
| 
 | ||||
|  | ||||
| @ -19,10 +19,15 @@ void NrfLogger::Init() { | ||||
| 
 | ||||
| void NrfLogger::Process(void*) { | ||||
|   NRF_LOG_INFO("Logger task started!"); | ||||
|   // Suppress endless loop diagnostic
 | ||||
|   #pragma clang diagnostic push | ||||
|   #pragma ide diagnostic ignored "EndlessLoop" | ||||
|   while (1) { | ||||
|     NRF_LOG_FLUSH(); | ||||
|     vTaskDelay(100); // Not good for power consumption, it will wake up every 100ms...
 | ||||
|   } | ||||
|   // Clear diagnostic suppression
 | ||||
|   #pragma clang diagnostic pop | ||||
| } | ||||
| 
 | ||||
| void NrfLogger::Resume() { | ||||
|  | ||||
| @ -100,6 +100,9 @@ void SystemTask::Work() { | ||||
|   idleTimer = xTimerCreate ("idleTimer", idleTime, pdFALSE, this, IdleTimerCallback); | ||||
|   xTimerStart(idleTimer, 0); | ||||
| 
 | ||||
|   // Suppress endless loop diagnostic
 | ||||
|   #pragma clang diagnostic push | ||||
|   #pragma ide diagnostic ignored "EndlessLoop" | ||||
|   while(true) { | ||||
|     uint8_t msg; | ||||
|     if (xQueueReceive(systemTasksMsgQueue, &msg, isSleeping ? 2500 : 1000)) { | ||||
| @ -231,7 +234,7 @@ void SystemTask::PushMessage(SystemTask::Messages msg) { | ||||
|   xQueueSendFromISR(systemTasksMsgQueue, &msg, &xHigherPriorityTaskWoken); | ||||
|   if (xHigherPriorityTaskWoken) { | ||||
|     /* Actual macro used here is port specific. */ | ||||
|     // TODO : should I do something here?
 | ||||
|     // TODO: should I do something here?
 | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Avamander
						Avamander