#include "MagnetSensor.h"
+//#define CHIP_OLD 1
uint8_t InitMagSensor(uint8_t Addr, uint16_t* Tref, float* SensX, float* SensY, float* SensZ)
{
sprintf(s,"LOG: %f",Sens);
uputsnl(s);
}*/
-
+
+
+#ifdef CHIP_OLD
switch(Gain) {
case 0: Sens=0.805; break;
case 1: Sens=0.644; break;
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);
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;
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);