Basic functions is OK. Lack interrupts function.

Dependents:   Mt05_MtSense07

Revision:
2:afb035feac6c
Parent:
1:4eefcf1d7351
--- a/AK09970.cpp	Thu Jan 26 03:22:34 2017 +0000
+++ b/AK09970.cpp	Tue Mar 07 09:48:40 2017 +0000
@@ -22,7 +22,7 @@
 
 }
 
-void AK09970::ConfigDevice() {
+void AK09970::ConfigDevice(uint8_t mode) {
     char val[8];
 
     /* Soft reset */
@@ -34,7 +34,8 @@
     RegWrite(0x20, val, 2);
 
     /* Mode */
-    RegWrite(0x21, 0x02);   // SMR(HighSensitivity), SDR(LowNoiseDrive), MODE(ContMode1)
+    _sensitivity = (mode & SMR_WideRange) ? 3.1f : 1.1f;
+    RegWrite(0x21, mode);
 }
 
 void AK09970::GetDeviceID(uint8_t *id) {
@@ -62,7 +63,7 @@
 }
 
 float AK09970::ConvertAdcToMagnetic(int16_t adc) {
-    float magnetic_flux_density = (float)adc * 1.1f;
+    float magnetic_flux_density = (float)adc * _sensitivity;
     return magnetic_flux_density;
 }