@@ -209,7 +209,7 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen4() {
209209 static constexpr uint8_t maxTaskCount = 9 ;
210210 TaskStatus_t tasksStatus[maxTaskCount];
211211
212- lv_obj_t * infoTask = lv_table_create (lv_scr_act (), NULL );
212+ lv_obj_t * infoTask = lv_table_create (lv_scr_act (), nullptr );
213213 lv_table_set_col_cnt (infoTask, 4 );
214214 lv_table_set_row_cnt (infoTask, maxTaskCount + 1 );
215215 lv_obj_set_style_local_pad_all (infoTask, LV_TABLE_PART_CELL1, LV_STATE_DEFAULT, 0 );
@@ -227,35 +227,37 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen4() {
227227 auto nb = uxTaskGetSystemState (tasksStatus, maxTaskCount, nullptr );
228228 std::sort (tasksStatus, tasksStatus + nb, sortById);
229229 for (uint8_t i = 0 ; i < nb && i < maxTaskCount; i++) {
230+ char buffer[7 ] = {0 };
230231
231- lv_table_set_cell_value (infoTask, i + 1 , 0 , std::to_string ( tasksStatus[i].xTaskNumber ). c_str () );
232- char state[ 2 ] = { 0 } ;
232+ sprintf (buffer, " %lu " , tasksStatus[i].xTaskNumber );
233+ lv_table_set_cell_value (infoTask, i + 1 , 0 , buffer) ;
233234 switch (tasksStatus[i].eCurrentState ) {
234235 case eReady:
235236 case eRunning:
236- state [0 ] = ' R' ;
237+ buffer [0 ] = ' R' ;
237238 break ;
238239 case eBlocked:
239- state [0 ] = ' B' ;
240+ buffer [0 ] = ' B' ;
240241 break ;
241242 case eSuspended:
242- state [0 ] = ' S' ;
243+ buffer [0 ] = ' S' ;
243244 break ;
244245 case eDeleted:
245- state [0 ] = ' D' ;
246+ buffer [0 ] = ' D' ;
246247 break ;
247248 default :
248- state [0 ] = ' I' ; // Invalid
249+ buffer [0 ] = ' I' ; // Invalid
249250 break ;
250251 }
251- lv_table_set_cell_value (infoTask, i + 1 , 1 , state);
252+ buffer[1 ] = ' \0 ' ;
253+ lv_table_set_cell_value (infoTask, i + 1 , 1 , buffer);
252254 lv_table_set_cell_value (infoTask, i + 1 , 2 , tasksStatus[i].pcTaskName );
253255 if (tasksStatus[i].usStackHighWaterMark < 20 ) {
254- std::string str1 = std::to_string (tasksStatus[i].usStackHighWaterMark ) + " low" ;
255- lv_table_set_cell_value (infoTask, i + 1 , 3 , str1.c_str ());
256+ sprintf (buffer, " %d low" , tasksStatus[i].usStackHighWaterMark );
256257 } else {
257- lv_table_set_cell_value (infoTask, i + 1 , 3 , std::to_string ( tasksStatus[i].usStackHighWaterMark ). c_str () );
258+ sprintf (buffer, " %d " , tasksStatus[i].usStackHighWaterMark );
258259 }
260+ lv_table_set_cell_value (infoTask, i + 1 , 3 , buffer);
259261 }
260262 return std::make_unique<Screens::Label>(3 , 5 , app, infoTask);
261263}
0 commit comments