From 30e793ecdfacdbeb0d9f6ec222e7f2871682e7f9 Mon Sep 17 00:00:00 2001 From: schneider Date: Thu, 14 Jul 2011 01:27:54 +0200 Subject: [PATCH] added xxtea code for arm --- firmware/basic/Makefile | 1 + firmware/basic/voltage.c | 1 + firmware/basic/xxtea.c | 51 ++++++++++++++++++++++++++++++++++++++++ firmware/basic/xxtea.h | 8 +++++++ 4 files changed, 61 insertions(+) create mode 100644 firmware/basic/xxtea.c create mode 100644 firmware/basic/xxtea.h diff --git a/firmware/basic/Makefile b/firmware/basic/Makefile index f000184..576df77 100644 --- a/firmware/basic/Makefile +++ b/firmware/basic/Makefile @@ -12,6 +12,7 @@ OBJS += keyin.o OBJS += uuid.o OBJS += crc.o OBJS += menu.o +OBJS += xxtea.o LIBNAME=basic diff --git a/firmware/basic/voltage.c b/firmware/basic/voltage.c index 1ed2d69..98216a3 100644 --- a/firmware/basic/voltage.c +++ b/firmware/basic/voltage.c @@ -6,6 +6,7 @@ uint32_t results=5000; void VoltageCheck(void){ + return; results = adcRead(1); results *= 10560; results /= 1024; diff --git a/firmware/basic/xxtea.c b/firmware/basic/xxtea.c new file mode 100644 index 0000000..2e3da17 --- /dev/null +++ b/firmware/basic/xxtea.c @@ -0,0 +1,51 @@ +/* simple XXTEA en/decrypt utility + * + * BSD Licence + * + * btea function is from + * + * + * (c) by Sec 6/2011 + */ + +#include + +#define DELTA 0x9e3779b9 +#define MX (((z>>5^y<<2) + (y>>3^z<<4)) ^ ((sum^y) + (k[(p&3)^e] ^ z))) + +void xxtea_encode(uint32_t *v, int n, uint32_t const k[4]) { + uint32_t y, z, sum; + unsigned p, rounds, e; + rounds = 6 + 52/n; + sum = 0; + z = v[n-1]; + do { + sum += DELTA; + e = (sum >> 2) & 3; + for (p=0; p> 2) & 3; + for (p=n-1; p>0; p--) { + z = v[p-1]; + y = v[p] -= MX; + } + z = v[n-1]; + y = v[0] -= MX; + } while ((sum -= DELTA) != 0); +} + diff --git a/firmware/basic/xxtea.h b/firmware/basic/xxtea.h new file mode 100644 index 0000000..8cc7337 --- /dev/null +++ b/firmware/basic/xxtea.h @@ -0,0 +1,8 @@ +#ifndef _XXTEA_H_ +#define _XXTEA_H_ + +void xxtea_encode(uint32_t *v, int n, uint32_t const k[4]); +void xxtea_decode(uint32_t *v, int n, uint32_t const k[4]); + +#endif +