Просмотр исходного кода

Fixed incorrect display of information about the SPI sensor

Victor 3 лет назад
Родитель
Сommit
4a1c0c871d
1 измененных файлов с 25 добавлено и 0 удалено
  1. 25 0
      views/General_view.c

+ 25 - 0
views/General_view.c

@@ -237,6 +237,7 @@ static void _draw_carousel_values(Canvas* canvas) {
         canvas_draw_icon(canvas, 34, 23, frames[furi_get_tick() % 2250 / 750]);
         canvas_draw_icon(canvas, 34, 23, frames[furi_get_tick() % 2250 / 750]);
 
 
         canvas_set_font(canvas, FontSecondary);
         canvas_set_font(canvas, FontSecondary);
+        //TODO: Оптимизировать эту срань
         if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &SINGLE_WIRE) {
         if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &SINGLE_WIRE) {
             snprintf(
             snprintf(
                 app->buff,
                 app->buff,
@@ -256,6 +257,9 @@ static void _draw_carousel_values(Canvas* canvas) {
         if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &I2C) {
         if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &I2C) {
             snprintf(app->buff, BUFF_SIZE, "Waiting for module on I2C pins");
             snprintf(app->buff, BUFF_SIZE, "Waiting for module on I2C pins");
         }
         }
+        if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &SPI) {
+            snprintf(app->buff, BUFF_SIZE, "Waiting for module on SPI pins");
+        }
         canvas_draw_str_aligned(canvas, 64, 19, AlignCenter, AlignCenter, app->buff);
         canvas_draw_str_aligned(canvas, 64, 19, AlignCenter, AlignCenter, app->buff);
         return;
         return;
     }
     }
@@ -304,6 +308,8 @@ static void _draw_carousel_values(Canvas* canvas) {
         break;
         break;
     }
     }
 }
 }
+
+//TODO: Оптимизировать вывод информации
 static void _draw_carousel_info(Canvas* canvas) {
 static void _draw_carousel_info(Canvas* canvas) {
     canvas_set_font(canvas, FontPrimary);
     canvas_set_font(canvas, FontPrimary);
     canvas_draw_str(canvas, 10, 23, "Type:");
     canvas_draw_str(canvas, 10, 23, "Type:");
@@ -351,6 +357,25 @@ static void _draw_carousel_info(Canvas* canvas) {
                 ->gpio->name);
                 ->gpio->name);
     }
     }
 
 
+    if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &SPI) {
+        canvas_set_font(canvas, FontPrimary);
+        canvas_draw_str(canvas, 10, 35, "MISO pin:");
+        canvas_draw_str(canvas, 10, 46, "CS pin:");
+        canvas_draw_str(canvas, 10, 58, "SCK pin:");
+
+        canvas_set_font(canvas, FontSecondary);
+        canvas_draw_str(
+            canvas, 41, 23, unitemp_sensor_getActive(generalview_sensor_index)->type->typename);
+        canvas_draw_str(canvas, 60, 35, unitemp_gpio_getFromInt(3)->name);
+        canvas_draw_str(
+            canvas,
+            47,
+            46,
+            ((SPISensor*)unitemp_sensor_getActive(generalview_sensor_index)->instance)
+                ->CS_pin->name);
+        canvas_draw_str(canvas, 54, 58, unitemp_gpio_getFromInt(5)->name);
+    }
+
     if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &I2C) {
     if(unitemp_sensor_getActive(generalview_sensor_index)->type->interface == &I2C) {
         canvas_set_font(canvas, FontPrimary);
         canvas_set_font(canvas, FontPrimary);
         canvas_draw_str(canvas, 10, 35, "I2C addr:");
         canvas_draw_str(canvas, 10, 35, "I2C addr:");