Dependencies:   mbed

Revision:
0:d3502c903f56
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HK.c	Thu Jun 26 08:13:48 2014 +0000
@@ -0,0 +1,53 @@
+
+struct SensorData {
+    float Voltage[10];
+    float Current[10];
+    float Temp[10];
+    //float Battery[2];
+} SensorData;
+
+
+void FUNC_HK_MAIN()
+{
+
+    int LoopIterator;
+
+    SelectLine0=0;
+    SelectLine1=0;
+    SelectLine2=0;
+    SelectLine3=0;
+
+    for(LoopIterator=0; LoopIterator<16; LoopIterator++) {
+
+        float SignalValue= AnalogInput.read()*3.180; // Calculation using ADC Reference
+        float Temperature=-90.7*SignalValue+190.1543; // Linear Equation for Temperature Sensor
+
+
+        if(LoopIterator%3==0)
+            SensorData.Current[LoopIterator/3]=SignalValue/4.37; // Equation for Current Sensor
+
+        if(LoopIterator%3==1)
+            SensorData.Voltage[LoopIterator/3]=SignalValue*4.64; // Equation for Voltage Sensor  || GAIN NEEDS TO BE CHANGED ||
+
+
+        if(LoopIterator%3==2)
+            SensorData.Temp[LoopIterator/3]=Temperature;
+
+
+        // The following lines are used to iterate the select lines from 0 to 15
+        SelectLine0=!(SelectLine0);
+
+        if(LoopIterator%2==1)
+            SelectLine1=!(SelectLine1);
+
+        if(LoopIterator%4==3)
+            SelectLine2=!(SelectLine2);
+
+        if(LoopIterator%8==7)
+            SelectLine3=!(SelectLine3);
+
+        wait_us(10.0); // A delay of 10 microseconds between each sensor output. Can be changed.
+    }
+
+}
+