Aaron Mavrinac 3 лет назад
Родитель
Сommit
b9269b4257
1 измененных файлов с 24 добавлено и 12 удалено
  1. 24 12
      gps.c

+ 24 - 12
gps.c

@@ -24,20 +24,32 @@ static void render_callback(Canvas* const canvas, void* context)
     return;
     return;
   }
   }
 
 
+  canvas_set_font(canvas, FontPrimary);
+  canvas_draw_str_aligned(canvas, 32, 8, AlignCenter, AlignBottom, "Latitude");
+  canvas_draw_str_aligned(canvas, 96, 8, AlignCenter, AlignBottom, "Longitude");
+  canvas_draw_str_aligned(canvas, 21, 30, AlignCenter, AlignBottom, "Course");
+  canvas_draw_str_aligned(canvas, 64, 30, AlignCenter, AlignBottom, "Speed");
+  canvas_draw_str_aligned(canvas, 107, 30, AlignCenter, AlignBottom, "Altitude");
+  canvas_draw_str_aligned(canvas, 32, 52, AlignCenter, AlignBottom, "Satellites");
+  canvas_draw_str_aligned(canvas, 96, 52, AlignCenter, AlignBottom, "Last Fix");
+
   canvas_set_font(canvas, FontSecondary);
   canvas_set_font(canvas, FontSecondary);
   char buffer[64];
   char buffer[64];
-  snprintf(buffer, 64, "LAT: %f", (double)gps_uart->status.latitude);
-  canvas_draw_str_aligned(canvas, 10, 10, AlignLeft, AlignBottom, buffer);
-  snprintf(buffer, 64, "LON: %f", (double)gps_uart->status.longitude);
-  canvas_draw_str_aligned(canvas, 10, 20, AlignLeft, AlignBottom, buffer);
-  snprintf(buffer, 64, "C/S: %.1f / %.2fkn", (double)gps_uart->status.course, (double)gps_uart->status.speed);
-  canvas_draw_str_aligned(canvas, 10, 30, AlignLeft, AlignBottom, buffer);
-  snprintf(buffer, 64, "ALT: %.1f %c", (double)gps_uart->status.altitude, gps_uart->status.altitude_units);
-  canvas_draw_str_aligned(canvas, 10, 40, AlignLeft, AlignBottom, buffer);
-  snprintf(buffer, 64, "FIX: %d", gps_uart->status.fix_quality);
-  canvas_draw_str_aligned(canvas, 10, 50, AlignLeft, AlignBottom, buffer);
-  snprintf(buffer, 64, "SAT: %d", gps_uart->status.satellites_tracked);
-  canvas_draw_str_aligned(canvas, 10, 60, AlignLeft, AlignBottom, buffer);
+  snprintf(buffer, 64, "%f", (double)gps_uart->status.latitude);
+  canvas_draw_str_aligned(canvas, 32, 18, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%f", (double)gps_uart->status.longitude);
+  canvas_draw_str_aligned(canvas, 96, 18, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%.1f", (double)gps_uart->status.course);
+  canvas_draw_str_aligned(canvas, 21, 40, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%.2f kn", (double)gps_uart->status.speed);
+  canvas_draw_str_aligned(canvas, 64, 40, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%.1f %c", (double)gps_uart->status.altitude, tolower(gps_uart->status.altitude_units));
+  canvas_draw_str_aligned(canvas, 107, 40, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%d", gps_uart->status.satellites_tracked);
+  canvas_draw_str_aligned(canvas, 32, 62, AlignCenter, AlignBottom, buffer);
+  snprintf(buffer, 64, "%02d:%02d:%02d UTC", gps_uart->status.time_hours, gps_uart->status.time_minutes,
+           gps_uart->status.time_seconds);
+  canvas_draw_str_aligned(canvas, 96, 62, AlignCenter, AlignBottom, buffer);
 
 
   release_mutex((ValueMutex*)context, gps_uart);
   release_mutex((ValueMutex*)context, gps_uart);
 }
 }