diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2016-06-05 14:52:17 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2016-06-13 23:18:58 -0400 |
commit | 9971f999b382ef51a3a3d1db4a3385b7cc23a3a0 (patch) | |
tree | 4950714f34dfbdfb0a04cd51763e142c104c93e7 /src/avr | |
parent | ff789058dfe5d3e5f34482f8410aaf0358e582e9 (diff) | |
download | kutter-9971f999b382ef51a3a3d1db4a3385b7cc23a3a0.tar.gz kutter-9971f999b382ef51a3a3d1db4a3385b7cc23a3a0.tar.xz kutter-9971f999b382ef51a3a3d1db4a3385b7cc23a3a0.zip |
generic: Create generic board infrastructure and move misc.h to it
Instead of creating a misc.h file in each board directory, create a
generic board directory and declare misc.h there.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/avr')
-rw-r--r-- | src/avr/Makefile | 2 | ||||
-rw-r--r-- | src/avr/misc.c (renamed from src/avr/alloc.c) | 16 | ||||
-rw-r--r-- | src/avr/misc.h | 25 | ||||
-rw-r--r-- | src/avr/serial.c | 2 |
4 files changed, 16 insertions, 29 deletions
diff --git a/src/avr/Makefile b/src/avr/Makefile index c5e5dba1..0e51ed7f 100644 --- a/src/avr/Makefile +++ b/src/avr/Makefile @@ -7,7 +7,7 @@ CFLAGS-y += -mmcu=$(CONFIG_MCU) -DF_CPU=$(CONFIG_CLOCK_FREQ) LDFLAGS-y += -Wl,--relax # Add avr source files -src-y += avr/main.c avr/timer.c avr/gpio.c avr/alloc.c +src-y += avr/main.c avr/timer.c avr/gpio.c avr/misc.c src-$(CONFIG_AVR_WATCHDOG) += avr/watchdog.c src-$(CONFIG_AVR_USBSERIAL) += avr/usbserial.c ../lib/pjrc_usb_serial/usb_serial.c src-$(CONFIG_AVR_SERIAL) += avr/serial.c diff --git a/src/avr/alloc.c b/src/avr/misc.c index aaa671bc..682ef29d 100644 --- a/src/avr/alloc.c +++ b/src/avr/misc.c @@ -1,4 +1,4 @@ -// AVR allocation checking code. +// AVR miscellaneous platform code // // Copyright (C) 2016 Kevin O'Connor <kevin@koconnor.net> // @@ -6,10 +6,22 @@ #include <avr/io.h> // AVR_STACK_POINTER_REG #include <stdlib.h> // __malloc_heap_end +#include <util/crc16.h> // _crc_ccitt_update #include "autoconf.h" // CONFIG_AVR_STACK_SIZE +#include "board/misc.h" // alloc_maxsize #include "compiler.h" // ALIGN -#include "misc.h" // alloc_maxsize +// Optimized crc16_ccitt for the avr processor +uint16_t +crc16_ccitt(char *buf, uint8_t len) +{ + uint16_t crc = 0xFFFF; + while (len--) + crc = _crc_ccitt_update(crc, *buf++); + return crc; +} + +// Return the maximum allocation size that can succeed up to 'reqsize' size_t alloc_maxsize(size_t reqsize) { diff --git a/src/avr/misc.h b/src/avr/misc.h deleted file mode 100644 index 244cd5bc..00000000 --- a/src/avr/misc.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef __AVR_MISC_H -#define __AVR_MISC_H - -#include <stdint.h> -#include <util/crc16.h> - -// alloc.c -size_t alloc_maxsize(size_t reqsize); - -// console.c -char *console_get_input(uint8_t *plen); -void console_pop_input(uint8_t len); -char *console_get_output(uint8_t len); -void console_push_output(uint8_t len); - -// Optimized crc16_ccitt for the avr processor -#define HAVE_OPTIMIZED_CRC 1 -static inline uint16_t _crc16_ccitt(char *buf, uint8_t len) { - uint16_t crc = 0xFFFF; - while (len--) - crc = _crc_ccitt_update(crc, *buf++); - return crc; -} - -#endif // misc.h diff --git a/src/avr/serial.c b/src/avr/serial.c index c73890dd..fc71cf0e 100644 --- a/src/avr/serial.c +++ b/src/avr/serial.c @@ -7,9 +7,9 @@ #include <avr/interrupt.h> // USART0_RX_vect #include <string.h> // memmove #include "autoconf.h" // CONFIG_SERIAL_BAUD +#include "board/misc.h" // console_get_input #include "sched.h" // DECL_INIT #include "irq.h" // irq_save -#include "misc.h" // console_get_input #define SERIAL_BUFFER_SIZE 96 static char receive_buf[SERIAL_BUFFER_SIZE]; |