123

Dependencies:   mbed

Fork of LG by igor Apu

Revision:
198:78dd6d14d108
Parent:
197:7a05523bf588
--- a/DeviceCCS.c	Wed Oct 19 10:55:05 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-#include "Device.h"
-extern Device device;
-
-void InitCCSDefaultSettings(void){
-  //TODO: real values
-  device.ccs.current[0].settings.transfer.points = 16;
-  device.ccs.current[0].settings.transfer.raw[0] = 0x0; //0.0
-  device.ccs.current[0].settings.transfer.mA[0] = 0x0; //0.0
-  device.ccs.current[0].settings.transfer.raw[1] = 0x1111111; //273.06666666666666
-  device.ccs.current[0].settings.transfer.mA[1] = 0x6aaaa; //6.666666666666667
-  device.ccs.current[0].settings.transfer.raw[2] = 0x2222222; //546.1333333333333
-  device.ccs.current[0].settings.transfer.mA[2] = 0xd5555; //13.333333333333334
-  device.ccs.current[0].settings.transfer.raw[3] = 0x3333333; //819.2
-  device.ccs.current[0].settings.transfer.mA[3] = 0x140000; //20.0
-  device.ccs.current[0].settings.transfer.raw[4] = 0x4444444; //1092.2666666666667
-  device.ccs.current[0].settings.transfer.mA[4] = 0x1aaaaa; //26.666666666666668
-  device.ccs.current[0].settings.transfer.raw[5] = 0x5555555; //1365.3333333333333
-  device.ccs.current[0].settings.transfer.mA[5] = 0x215555; //33.333333333333336
-  device.ccs.current[0].settings.transfer.raw[6] = 0x6666666; //1638.4
-  device.ccs.current[0].settings.transfer.mA[6] = 0x280000; //40.0
-  device.ccs.current[0].settings.transfer.raw[7] = 0x7777777; //1911.4666666666667
-  device.ccs.current[0].settings.transfer.mA[7] = 0x2eaaaa; //46.66666666666667
-  device.ccs.current[0].settings.transfer.raw[8] = 0x8888888; //2184.5333333333333
-  device.ccs.current[0].settings.transfer.mA[8] = 0x355555; //53.333333333333336
-  device.ccs.current[0].settings.transfer.raw[9] = 0x9999999; //2457.6
-  device.ccs.current[0].settings.transfer.mA[9] = 0x3c0000; //60.0
-  device.ccs.current[0].settings.transfer.raw[10] = 0xaaaaaaa; //2730.6666666666665
-  device.ccs.current[0].settings.transfer.mA[10] = 0x42aaaa; //66.66666666666667
-  device.ccs.current[0].settings.transfer.raw[11] = 0xbbbbbbb; //3003.733333333333
-  device.ccs.current[0].settings.transfer.mA[11] = 0x495555; //73.33333333333334
-  device.ccs.current[0].settings.transfer.raw[12] = 0xccccccc; //3276.8
-  device.ccs.current[0].settings.transfer.mA[12] = 0x500000; //80.0
-  device.ccs.current[0].settings.transfer.raw[13] = 0xddddddd; //3549.866666666667
-  device.ccs.current[0].settings.transfer.mA[13] = 0x56aaaa; //86.66666666666667
-  device.ccs.current[0].settings.transfer.raw[14] = 0xeeeeeee; //3822.9333333333334
-  device.ccs.current[0].settings.transfer.mA[14] = 0x5d5555; //93.33333333333334
-  device.ccs.current[0].settings.transfer.raw[15] = 0x10000000; //4096.0
-  device.ccs.current[0].settings.transfer.mA[15] = 0x640000; //100.0
-  
-  //TODO: real values
-  device.ccs.current[1].settings.transfer.points = 16;
-  device.ccs.current[1].settings.transfer.raw[0] = 0x0; //0.0
-  device.ccs.current[1].settings.transfer.mA[0] = 0x0; //0.0
-  device.ccs.current[1].settings.transfer.raw[1] = 0x1111111; //273.06666666666666
-  device.ccs.current[1].settings.transfer.mA[1] = 0x6aaaa; //6.666666666666667
-  device.ccs.current[1].settings.transfer.raw[2] = 0x2222222; //546.1333333333333
-  device.ccs.current[1].settings.transfer.mA[2] = 0xd5555; //13.333333333333334
-  device.ccs.current[1].settings.transfer.raw[3] = 0x3333333; //819.2
-  device.ccs.current[1].settings.transfer.mA[3] = 0x140000; //20.0
-  device.ccs.current[1].settings.transfer.raw[4] = 0x4444444; //1092.2666666666667
-  device.ccs.current[1].settings.transfer.mA[4] = 0x1aaaaa; //26.666666666666668
-  device.ccs.current[1].settings.transfer.raw[5] = 0x5555555; //1365.3333333333333
-  device.ccs.current[1].settings.transfer.mA[5] = 0x215555; //33.333333333333336
-  device.ccs.current[1].settings.transfer.raw[6] = 0x6666666; //1638.4
-  device.ccs.current[1].settings.transfer.mA[6] = 0x280000; //40.0
-  device.ccs.current[1].settings.transfer.raw[7] = 0x7777777; //1911.4666666666667
-  device.ccs.current[1].settings.transfer.mA[7] = 0x2eaaaa; //46.66666666666667
-  device.ccs.current[1].settings.transfer.raw[8] = 0x8888888; //2184.5333333333333
-  device.ccs.current[1].settings.transfer.mA[8] = 0x355555; //53.333333333333336
-  device.ccs.current[1].settings.transfer.raw[9] = 0x9999999; //2457.6
-  device.ccs.current[1].settings.transfer.mA[9] = 0x3c0000; //60.0
-  device.ccs.current[1].settings.transfer.raw[10] = 0xaaaaaaa; //2730.6666666666665
-  device.ccs.current[1].settings.transfer.mA[10] = 0x42aaaa; //66.66666666666667
-  device.ccs.current[1].settings.transfer.raw[11] = 0xbbbbbbb; //3003.733333333333
-  device.ccs.current[1].settings.transfer.mA[11] = 0x495555; //73.33333333333334
-  device.ccs.current[1].settings.transfer.raw[12] = 0xccccccc; //3276.8
-  device.ccs.current[1].settings.transfer.mA[12] = 0x500000; //80.0
-  device.ccs.current[1].settings.transfer.raw[13] = 0xddddddd; //3549.866666666667
-  device.ccs.current[1].settings.transfer.mA[13] = 0x56aaaa; //86.66666666666667
-  device.ccs.current[1].settings.transfer.raw[14] = 0xeeeeeee; //3822.9333333333334
-  device.ccs.current[1].settings.transfer.mA[14] = 0x5d5555; //93.33333333333334
-  device.ccs.current[1].settings.transfer.raw[15] = 0x10000000; //4096.0
-  device.ccs.current[1].settings.transfer.mA[15] = 0x640000; //100.0
-}
-
-void InitCCSState(void) {
-  device.ccs.current[0].state.sum = 0;
-  device.ccs.current[0].state.raw = 0;
-  device.ccs.current[0].state.mA = ccsCurrent(0, device.ccs.current[0].state.raw);
-  
-  device.ccs.current[1].state.sum = 0;
-  device.ccs.current[1].state.raw = 0;
-  device.ccs.current[1].state.mA = ccsCurrent(1, device.ccs.current[0].state.raw);
-}
-
-void DeviceStartCCS(void) {
-}
-
-int32_t ccsInterpolate(int32_t a,int32_t a1,int32_t a2,int32_t b1,int32_t b2) {
-  int32_t ma, mb;
-  while (1) {
-    if (a1 == a) return b1;
-    if (a2 == a) return b2;
-                
-    ma = (a1 + a2) >> 1;
-    mb = (b1 + b2) >> 1;
-      
-    if (a < ma) {
-      if (a2 == ma) return mb;
-      if (b1 == mb) return mb;
-      a2 = ma; b2 = mb;
-    } else if (a > ma) {
-      if (a1 == ma) return mb;
-      if (b2 == mb) return mb;
-      a1 = ma; b1 = mb;
-    } else return mb;
-  }
-}
-
-int32_t ccsCurrent(uint32_t channel, uint32_t raw) {
-  int32_t r1, r2;
-  for (uint8_t i = 1; i < device.ccs.current[channel].settings.transfer.points; i++) {
-    r1 = device.ccs.current[channel].settings.transfer.raw[i - 1];
-    if (raw < r1) {
-      return device.ccs.current[channel].settings.transfer.mA[i - 1];
-    }
-
-    r2 = device.ccs.current[channel].settings.transfer.raw[i];
-    if (raw < r2) {
-      int32_t c1 = device.ccs.current[channel].settings.transfer.mA[i - 1];
-      int32_t c2 = device.ccs.current[channel].settings.transfer.mA[i];
-      return ccsInterpolate(raw, r1, r2, c1, c2);
-    }
-  }
-  return device.ccs.current[channel].settings.transfer.mA[device.ccs.current[channel].settings.transfer.points - 1];  
-}
-
-void ccsProcess(void) {
-  device.ccs.current[0].state.sum += device.controller.SSP.in[1];
-  device.ccs.current[1].state.sum += device.controller.SSP.in[2];
-  
-  if (device.measurement.counter == 31) {
-    device.ccs.current[0].state.raw = device.ccs.current[0].state.sum >> 5;
-    device.ccs.current[0].state.mA = ccsCurrent(0, device.ccs.current[0].state.raw);
-    device.ccs.current[0].state.sum = 0;
-    device.ccs.current[1].state.raw = device.ccs.current[1].state.sum >> 5;
-    device.ccs.current[1].state.mA = ccsCurrent(1, device.ccs.current[1].state.raw);
-    device.ccs.current[1].state.sum = 0;
-  }
-}
\ No newline at end of file