From cb4e165071ad56c4cf881f5221f02eeefde5de53 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Thu, 24 May 2018 12:49:23 -0400 Subject: command: Prefer uint8_t* for buffers; prefer uint8_fast_t for lengths Prefer using 'uint8_t' buffers as it is too easy to run into C sign extension problems with 'char' buffers. Prefer using 'uint_fast8_t' for buffer lengths as gcc does a better job compiling them on 32bit mcus. Signed-off-by: Kevin O'Connor --- src/avr/usbserial.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/avr/usbserial.c') diff --git a/src/avr/usbserial.c b/src/avr/usbserial.c index ac60e087..6dbe4f0d 100644 --- a/src/avr/usbserial.c +++ b/src/avr/usbserial.c @@ -10,8 +10,7 @@ #include "command.h" // command_dispatch #include "sched.h" // DECL_INIT -static char receive_buf[MESSAGE_MAX]; -static uint8_t receive_pos; +static uint8_t receive_buf[MESSAGE_MAX], receive_pos; void usbserial_init(void) @@ -51,7 +50,7 @@ void console_task(void) { console_check_input(); - uint8_t pop_count; + uint_fast8_t pop_count; int8_t ret = command_find_block(receive_buf, receive_pos, &pop_count); if (ret > 0) command_dispatch(receive_buf, pop_count); @@ -65,7 +64,7 @@ void console_sendf(const struct command_encoder *ce, va_list args) { // Generate message - static char buf[MESSAGE_MAX]; + static uint8_t buf[MESSAGE_MAX]; uint8_t msglen = command_encodef(buf, ce, args); command_add_frame(buf, msglen); -- cgit v1.2.3-70-g09d2