aboutsummaryrefslogtreecommitdiffstats
path: root/Lab6.X/circBuffer.c
diff options
context:
space:
mode:
authorRossTheRoss <msattr@gmail.com>2020-04-24 13:16:17 -0500
committerRossTheRoss <msattr@gmail.com>2020-04-24 13:16:17 -0500
commite9f3d4a56d10de933c9c22646a7b084ec3cff20f (patch)
treed1482ec0ae76500e2df3fa6cda276722a1aaa167 /Lab6.X/circBuffer.c
parentForget to add a bunch of things (diff)
downloadee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar.gz
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar.bz2
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar.lz
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar.xz
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.tar.zst
ee2361-e9f3d4a56d10de933c9c22646a7b084ec3cff20f.zip
Add MORE stuff I forget to commit
Diffstat (limited to 'Lab6.X/circBuffer.c')
-rw-r--r--Lab6.X/circBuffer.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/Lab6.X/circBuffer.c b/Lab6.X/circBuffer.c
new file mode 100644
index 0000000..d4d120f
--- /dev/null
+++ b/Lab6.X/circBuffer.c
@@ -0,0 +1,28 @@
+#include "xc.h"
+#include "circBuffer.h"
+#define SIZE 1024
+
+volatile unsigned int buffer[SIZE];
+int buffSize = 0, write = 0, read = 0;
+void initBuffer(){
+ int i;
+ for (i=0; i<SIZE; i++) {
+ buffer[i]=0;
+ }
+ buffSize = 0, write = 0, read = 0;
+}
+
+void putVal(int newValue){
+ if (buffSize < SIZE) {
+ buffer[write++] = newValue;
+ write %= SIZE;
+ ++buffSize;
+ }
+ //Otherwise get rid of the data.
+}
+int getAvg(){
+ int i, sum = 0;
+ for (i=0; i<SIZE; i++) {
+ sum += buffer[i];
+ } return sum / SIZE;
+}