GPS NMEA -> Ability to see speed in Km/h

Use right button to switch between modes
This commit is contained in:
MX
2023-03-30 03:58:22 +03:00
parent e381951ecc
commit 37bacdd83d
3 changed files with 14 additions and 1 deletions
+1
View File
@@ -12,6 +12,7 @@ repository.
## Modifications made by @xMasterX
- Ability to change baudrate using Up button, hold button to switch between baudrates (9600, 57600, 115200) (i set 57600 as default)
- Ok button will set backlight to always on mode, to disable press ok button again (it will restore default settings after app exit too)
- Long press Right button to change speed from knots to kilometers per hour
- Exit from app using long press on back button instead of short press, may be useful in case you want to turn backlight on and accidentally click back
## Hardware Setup
+12 -1
View File
@@ -37,7 +37,11 @@ static void render_callback(Canvas* const canvas, void* context) {
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);
if(!gps_uart->speed_in_kms) {
snprintf(buffer, 64, "%.2f kn", (double)gps_uart->status.speed);
} else {
snprintf(buffer, 64, "%.2f km", (double)(gps_uart->status.speed * 1.852));
}
canvas_draw_str_aligned(canvas, 64, 40, AlignCenter, AlignBottom, buffer);
snprintf(
buffer,
@@ -154,6 +158,13 @@ int32_t gps_app(void* p) {
view_port_update(view_port);
furi_mutex_release(gps_uart->mutex);
break;
case InputKeyRight:
if(gps_uart->speed_in_kms) {
gps_uart->speed_in_kms = false;
} else {
gps_uart->speed_in_kms = true;
}
break;
case InputKeyBack:
processing = false;
break;
+1
View File
@@ -33,6 +33,7 @@ typedef struct {
uint32_t baudrate;
bool changing_baudrate;
bool backlight_on;
bool speed_in_kms;
GpsStatus status;
} GpsUart;