Skip to content

Commit 6bc5c3d

Browse files
authored
Apply all suggestions from code review.
1 parent f66db0e commit 6bc5c3d

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

gps.c

+13-8
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ static void render_callback(Canvas* const canvas, void* context) {
4242

4343
switch(gps_uart->speed_units) {
4444
case KPH:
45-
snprintf(buffer, 64, "%.2f Km/h", (double)(gps_uart->status.speed * KNOTS_TO_KPH));
45+
snprintf(buffer, 64, "%.2f kph", (double)(gps_uart->status.speed * KNOTS_TO_KPH));
4646
break;
4747
case MPH:
48-
snprintf(buffer, 64, "%.2f Mi/h", (double)(gps_uart->status.speed * KNOTS_TO_MPH));
48+
snprintf(buffer, 64, "%.2f mph", (double)(gps_uart->status.speed * KNOTS_TO_MPH));
4949
break;
5050
case KNOTS:
5151
default:
52-
snprintf(buffer, 64, "%.2f Kn", (double)gps_uart->status.speed);
52+
snprintf(buffer, 64, "%.2f kn", (double)gps_uart->status.speed);
5353
break;
5454
}
5555

@@ -95,13 +95,18 @@ int32_t gps_app(void* p) {
9595

9696
FuriMessageQueue* event_queue = furi_message_queue_alloc(8, sizeof(PluginEvent));
9797

98-
uint8_t attempts = 0;
9998
bool otg_was_enabled = furi_hal_power_is_otg_enabled();
100-
while(!furi_hal_power_is_otg_enabled() && attempts++ < 5) {
101-
furi_hal_power_enable_otg();
102-
furi_delay_ms(10);
99+
uint8_t attempts = 5;
100+
while(--attempts > 0) {
101+
if(furi_hal_power_enable_otg()) break;
103102
}
104-
furi_delay_ms(200);
103+
if(attempts == 0) {
104+
if(furi_hal_power_get_usb_voltage() < 4.5f) {
105+
FURI_LOG_E(
106+
TAG,
107+
"Error power otg enable. BQ2589 check otg fault = %d",
108+
furi_hal_power_check_otg_fault() ? 1 : 0);
109+
}
105110

106111
GpsUart* gps_uart = gps_uart_enable();
107112

gps_uart.c

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#include <string.h>
22

3-
#include "minmea.h"
3+
#include <minmea.h>
44
#include "gps_uart.h"
55

66
typedef enum {
@@ -11,21 +11,21 @@ typedef enum {
1111
#define WORKER_ALL_RX_EVENTS (WorkerEvtStop | WorkerEvtRxDone)
1212

1313
static void gps_uart_on_irq_cb(FuriHalSerialHandle* handle, FuriHalSerialRxEvent ev, void* context) {
14-
GpsUart* gps_uart = (GpsUart*)context;
14+
GpsUart* gps_uart = (GpsUart*)context;
1515

16-
if(ev == FuriHalSerialRxEventData) {
16+
if(ev == FuriHalSerialRxEventData) {
1717
uint8_t data = furi_hal_serial_async_rx(handle);
1818
furi_stream_buffer_send(gps_uart->rx_stream, &data, 1, 0);
1919
furi_thread_flags_set(furi_thread_get_id(gps_uart->thread), WorkerEvtRxDone);
2020
}
2121
}
2222

23-
void gps_uart_serial_init(GpsUart* gps_uart) {
23+
static void gps_uart_serial_init(GpsUart* gps_uart) {
2424
furi_assert(!gps_uart->serial_handle);
2525

2626
gps_uart->serial_handle = furi_hal_serial_control_acquire(UART_CH);
27-
furi_assert(gps_uart->serial_handle);
28-
furi_hal_serial_init(gps_uart->serial_handle, gps_uart->baudrate);
27+
furi_assert(gps_uart->serial_handle);
28+
furi_hal_serial_init(gps_uart->serial_handle, gps_uart->baudrate);
2929
furi_hal_serial_async_rx_start(gps_uart->serial_handle, gps_uart_on_irq_cb, gps_uart, false);
3030
}
3131

@@ -205,7 +205,7 @@ GpsUart* gps_uart_enable() {
205205
gps_uart->baudrate = gps_baudrates[current_gps_baudrate];
206206
gps_uart->changing_baudrate = false;
207207
gps_uart->backlight_on = false;
208-
gps_uart->speed_units = KPH;
208+
gps_uart->speed_units = KNOTS;
209209

210210
gps_uart_init_thread(gps_uart);
211211

gps_uart.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ typedef struct {
3838
bool backlight_on;
3939
SpeedUnit speed_units;
4040

41-
FuriHalSerialHandle* serial_handle;
41+
FuriHalSerialHandle* serial_handle;
4242

4343
GpsStatus status;
4444
} GpsUart;

0 commit comments

Comments
 (0)