From 3eb3c77a5b4cdf7fd53483b969c93dd4300b2171 Mon Sep 17 00:00:00 2001 From: Philipp Klaus Date: Thu, 11 Jan 2018 13:20:10 +0100 Subject: [PATCH] Magn Sens: macro for chip version --- sensors/MagneticFieldSensor/MagnetSensor.c | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/sensors/MagneticFieldSensor/MagnetSensor.c b/sensors/MagneticFieldSensor/MagnetSensor.c index ec3522c..3beddbe 100644 --- a/sensors/MagneticFieldSensor/MagnetSensor.c +++ b/sensors/MagneticFieldSensor/MagnetSensor.c @@ -1,4 +1,5 @@ #include "MagnetSensor.h" +//#define CHIP_OLD 1 uint8_t InitMagSensor(uint8_t Addr, uint16_t* Tref, float* SensX, float* SensY, float* SensZ) { @@ -127,7 +128,9 @@ float SensitivityXY(uint8_t Gain, uint8_t Res){ sprintf(s,"LOG: %f",Sens); uputsnl(s); }*/ - + + +#ifdef CHIP_OLD switch(Gain) { case 0: Sens=0.805; break; case 1: Sens=0.644; break; @@ -138,6 +141,19 @@ float SensitivityXY(uint8_t Gain, uint8_t Res){ case 6: Sens=0.215; break; default: Sens=0.161; break; } +#else + switch(Gain) { + case 0: Sens=0.751; break; + case 1: Sens=0.601; break; + case 2: Sens=0.451; break; + case 3: Sens=0.376; break; + case 4: Sens=0.3002; break; + case 5: Sens=0.250; break; + case 6: Sens=0.200; break; + default: Sens=0.150; break; + } + +#endif return Sens*(float)pow(2,Res); @@ -145,6 +161,7 @@ float SensitivityXY(uint8_t Gain, uint8_t Res){ float SensitivityZ(uint8_t Gain, uint8_t Res){ float Sens =0.805; +#ifdef CHIP_OLD switch(Gain) { case 0: Sens=1.468; break; case 1: Sens=1.174; break; @@ -155,6 +172,18 @@ float SensitivityZ(uint8_t Gain, uint8_t Res){ case 6: Sens=0.391; break; default: Sens=0.294; break; } +#else + switch(Gain) { + case 0: Sens=1.210; break; + case 1: Sens=0.968; break; + case 2: Sens=0.726; break; + case 3: Sens=0.605; break; + case 4: Sens=0.484; break; + case 5: Sens=0.403; break; + case 6: Sens=0.323; break; + default: Sens=0.242; break; + } +#endif return Sens*(float)pow(2,Res); -- 2.43.0