aboutsummaryrefslogtreecommitdiffstats
path: root/src/avr
diff options
context:
space:
mode:
Diffstat (limited to 'src/avr')
-rw-r--r--src/avr/Makefile2
-rw-r--r--src/avr/misc.c (renamed from src/avr/alloc.c)16
-rw-r--r--src/avr/misc.h25
-rw-r--r--src/avr/serial.c2
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];