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/generic | |
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/generic')
-rw-r--r-- | src/generic/alloc.c | 13 | ||||
-rw-r--r-- | src/generic/crc16_ccitt.c | 22 | ||||
-rw-r--r-- | src/generic/misc.h | 16 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/generic/alloc.c b/src/generic/alloc.c new file mode 100644 index 00000000..826e4f9e --- /dev/null +++ b/src/generic/alloc.c @@ -0,0 +1,13 @@ +// Dummy implementation for alloc commands +// +// Copyright (C) 2016 Kevin O'Connor <kevin@koconnor.net> +// +// This file may be distributed under the terms of the GNU GPLv3 license. + +#include "misc.h" + +// Return the maximum allocation size that can succeed up to 'reqsize' +size_t alloc_maxsize(size_t reqsize) +{ + return reqsize; +} diff --git a/src/generic/crc16_ccitt.c b/src/generic/crc16_ccitt.c new file mode 100644 index 00000000..8347bb83 --- /dev/null +++ b/src/generic/crc16_ccitt.c @@ -0,0 +1,22 @@ +// Code for crc16_ccitt +// +// Copyright (C) 2016 Kevin O'Connor <kevin@koconnor.net> +// +// This file may be distributed under the terms of the GNU GPLv3 license. + +#include "misc.h" // crc16_ccitt + +// Implement the standard crc "ccitt" algorithm on the given buffer +uint16_t +crc16_ccitt(char *buf, uint8_t len) +{ + uint16_t crc = 0xffff; + while (len--) { + uint8_t data = *buf++; + data ^= crc & 0xff; + data ^= data << 4; + crc = ((((uint16_t)data << 8) | (crc >> 8)) ^ (uint8_t)(data >> 4) + ^ ((uint16_t)data << 3)); + } + return crc; +} diff --git a/src/generic/misc.h b/src/generic/misc.h new file mode 100644 index 00000000..9b2986be --- /dev/null +++ b/src/generic/misc.h @@ -0,0 +1,16 @@ +#ifndef __GENERIC_MISC_H +#define __GENERIC_MISC_H + +#include <stddef.h> // size_t +#include <stdint.h> // uint8_t + +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); + +size_t alloc_maxsize(size_t reqsize); + +uint16_t crc16_ccitt(char *buf, uint8_t len); + +#endif // misc.h |