From 525dd68b4b43ca88143f11daf03fa1396e04c606 Mon Sep 17 00:00:00 2001 From: Paul Dino Jones Date: Wed, 4 Sep 2024 12:56:02 -0400 Subject: [PATCH] Add ability to specify baud rate in config file --- src/monocoque/devices/serial/arduino.c | 4 ++-- src/monocoque/devices/serial/arduino.h | 2 +- src/monocoque/devices/serial/moza.h | 3 ++- src/monocoque/devices/serialdevice.c | 3 ++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/monocoque/devices/serial/arduino.c b/src/monocoque/devices/serial/arduino.c index 1efc585..39db451 100644 --- a/src/monocoque/devices/serial/arduino.c +++ b/src/monocoque/devices/serial/arduino.c @@ -42,7 +42,7 @@ int arduino_update(SerialDevice* serialdevice, void* data, size_t size) // return result; //} -int arduino_init(SerialDevice* serialdevice, const char* portdev) +int arduino_init(SerialDevice* serialdevice, const char* portdev, int baud) { slogi("initializing arduino serial device..."); int error = 0; @@ -59,7 +59,7 @@ int arduino_init(SerialDevice* serialdevice, const char* portdev) check(sp_open(serialdevice->port, SP_MODE_READ_WRITE)); slogd("Setting port to %i 8N1, no flow control", serialdevice->baud); - check(sp_set_baudrate(serialdevice->port, serialdevice->baud)); + check(sp_set_baudrate(serialdevice->port, baud)); check(sp_set_bits(serialdevice->port, 8)); check(sp_set_parity(serialdevice->port, SP_PARITY_NONE)); check(sp_set_stopbits(serialdevice->port, 1)); diff --git a/src/monocoque/devices/serial/arduino.h b/src/monocoque/devices/serial/arduino.h index a348988..259ff55 100644 --- a/src/monocoque/devices/serial/arduino.h +++ b/src/monocoque/devices/serial/arduino.h @@ -6,7 +6,7 @@ int arduino_update(SerialDevice* serialdevice, void* data, size_t size); -int arduino_init(SerialDevice* serialdevice, const char* portdev); +int arduino_init(SerialDevice* serialdevice, const char* portdev, int baud); int arduino_free(SerialDevice* serialdevice); int check(enum sp_return result); diff --git a/src/monocoque/devices/serial/moza.h b/src/monocoque/devices/serial/moza.h index 228f659..3557a4a 100644 --- a/src/monocoque/devices/serial/moza.h +++ b/src/monocoque/devices/serial/moza.h @@ -4,7 +4,8 @@ #include "../serialdevice.h" int moza_update(SerialDevice* serialdevice, unsigned short maxrpm, unsigned short rpm); -int moza_init(SerialDevice* serialdevice); +int moza_init(SerialDevice* serialdevice, const char* portdev); int moza_free(SerialDevice* serialdevice); + #endif diff --git a/src/monocoque/devices/serialdevice.c b/src/monocoque/devices/serialdevice.c index f4ae92f..50eefc6 100644 --- a/src/monocoque/devices/serialdevice.c +++ b/src/monocoque/devices/serialdevice.c @@ -169,9 +169,10 @@ int serialdev_init(SerialDevice* serialdevice, const char* portdev, int motorspo break; default: - error = arduino_init(serialdevice, portdev); + error = arduino_init(serialdevice, portdev, baud); } + return error; }