diff --git a/SensorArray.cpp b/SensorArray.cpp
new file mode 100644
index 0000000..4ea3d45
--- /dev/null
+++ b/SensorArray.cpp
@@ -0,0 +1,90 @@
+#include "SensorArray.h"
+
+#ifndef _SENSOR_ARRAY_h
+#define _SENSOR_ARRAY_h
+#endif
+
+#if defined(ARDUINO) && ARDUINO >= 100
+#include "arduino.h"
+#else
+#include "WProgram.h"
+#endif
+
+class SensorsArray {
+ struct sensor {
+ int pin;
+ int position;
+ //Sensor *sensor;
+ sensor *next;
+ };
+ sensor *head, *tail;
+public:
+ SensorsArray() {
+ head = tail = nullptr;
+ }
+
+ ~SensorsArray() {
+ sensor *curr = head;
+ while (curr != nullptr) {
+ sensor *destory = curr;
+ curr = destory->next;
+ delete destory;
+ }
+ }
+
+ //inserts a new node at the tail vs the head
+ void insert(int pinValue, float posValue) {
+ sensor *instance = new sensor();
+ instance->pin = pinValue;
+ instance->position = posValue;
+ tail->next = instance;
+
+ tail = instance;
+ }
+
+ //starting at 0 as the first node. Iterates starting at the head
+ sensor* at(int indexValue) {
+ sensor *node = head;
+ while (indexValue > 0) {
+ node = node->next;
+ indexValue -= 1;
+ }
+
+ return node;
+ }
+};
+
+SensorArray::SensorArray()
+{
+ sensors = SensorsArray();
+}
+
+SensorArray::SensorArray(int pins[], int nPins)
+{
+ N_SENSORS = nPins;
+ for (int pin = 0; pin < N_SENSORS; pin++)
+ {
+ pinMode(pin, INPUT);
+ float pos = 2 / N_SENSORS * pin;
+ sensors.insert(pin, pos);
+ }
+}
+
+
+SensorArray::~SensorArray()
+{
+ sensors.~SensorsArray();
+}
+
+
+double SensorArray::error()
+{
+ float sum1 = 0, sum2 = 0;
+ for (int sensor = 0; sensor < N_SENSORS; sensor++)
+ {
+ //sum1 += sensors.at(sensor)->position * sensors.at(sensor)->sensor.value();
+ //sum2 += sensors.at(sensor)->sensor.value();
+ }
+
+ return sum1 / sum2;
+}
diff --git a/SensorArray.h b/SensorArray.h
new file mode 100644
index 0000000..523701d
--- /dev/null
+++ b/SensorArray.h
@@ -0,0 +1,16 @@
+#pragma once
+
+class SensorsArray;
+
+class SensorArray
+{
+ int N_SENSORS;
+ SensorsArray sensors;
+public:
+ SensorArray();
+ //creates sensors and assign positions from -1 to 1, or left to right
+ SensorArray(int pins[], int nPins);
+ ~SensorArray();
+ double error();
+};
+
diff --git a/line-follower.vcxproj b/line-follower.vcxproj
index 7648ada..9e56b13 100644
--- a/line-follower.vcxproj
+++ b/line-follower.vcxproj
@@ -47,7 +47,7 @@
Level3
Disabled
true
- C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\libraries;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\libraries;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\projects\libraries;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3\avr;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3\util;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3\utils;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3\avr;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\tools\avr/../arm/bin/..\arm-none-eabi\include;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\projects\line-follower;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\cores\teensy3;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\aif2jys0.atj\Micro Platforms\default\debuggers\VM_DBG;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\libraries;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\arduino-1.6.7\hardware\teensy\avr\libraries;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\aif2jys0.atj\Micro Platforms\default\debuggers;C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\projects\libraries;%(AdditionalIncludeDirectories)
+ C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\libraries;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\arduino\avr\libraries;C:\Users\ericksanc\Documents\Arduino\libraries;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\arduino\avr\cores\arduino;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\arduino\avr\variants\yun;C:\Users\ericksanc\Documents\GitHub\line-follower;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\tools\avr/avr/include/;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\tools\avr//avr/include/avr/;C:\Users\ericksanc\Documents\GitHub\arduino-1.6.12\hardware\tools\avr/lib\gcc\avr\4.8.1\include;%(AdditionalIncludeDirectories)
C:\Users\Joshua\Desktop\Programs\Portable Programs\Arduino\projects\line-follower\__vm\.line-follower.vsarduino.h;%(ForcedIncludeFiles)
false
__HARDWARE_MK20dx256__;__HARDWARE_MK20DX256__;_VMDEBUG=1;__MK20DX256__;TEENSYDUINO=127;ARDUINO=10607;F_CPU=96000000;ARDUINO_ARCH_AVR;USB_SERIAL;LAYOUT_US_ENGLISH;__cplusplus=201103L;%(PreprocessorDefinitions)
@@ -83,8 +83,14 @@
+
+
+
+
+
+
VisualMicroDebugger