🐛 Fix DOGM time overflow, alignment (#25103)
This commit is contained in:
		
				
					committed by
					
						 Scott Lahteine
						Scott Lahteine
					
				
			
			
				
	
			
			
			
						parent
						
							471330b56e
						
					
				
				
					commit
					569bbb18d0
				
			| @@ -449,7 +449,7 @@ FORCE_INLINE void _draw_axis_value(const AxisEnum axis, const char *value, const | ||||
|   static char bufferc[13]; | ||||
|  | ||||
|   static void prepare_time_string(const duration_t &time, char prefix) { | ||||
|     char str[9]; | ||||
|     char str[13]; | ||||
|     memset(&bufferc[2], 0x20, 5); // partialy fill with spaces to avoid artifacts and terminator | ||||
|     bufferc[0] = prefix; | ||||
|     bufferc[1] = ':'; | ||||
|   | ||||
| @@ -151,7 +151,9 @@ struct duration_t { | ||||
|    *  123456789 (strlen) | ||||
|    *  12'34 | ||||
|    *  99:59 | ||||
|    *  11d 12:33 | ||||
|    *  123:45 | ||||
|    *  1d 12:33 | ||||
|    *  9999d 12:33 | ||||
|    */ | ||||
|   uint8_t toDigital(char *buffer, bool with_days=false) const { | ||||
|     const uint16_t h = uint16_t(this->hour()), | ||||
| @@ -159,7 +161,7 @@ struct duration_t { | ||||
|     if (with_days) { | ||||
|       const uint16_t d = this->day(); | ||||
|       sprintf_P(buffer, PSTR("%hud %02hu:%02hu"), d, h % 24, m);  // 1d 23:45 | ||||
|       return d >= 10 ? 9 : 8; | ||||
|       return strlen_P(buffer); | ||||
|     } | ||||
|     else if (!h) { | ||||
|       const uint16_t s = uint16_t(this->second() % 60UL); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user