[isentek] ecompass api faq
TRANSCRIPT
![Page 1: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/1.jpg)
eCompass API FAQ
Alex.Hsieh
2016.11.10
V2.0.1
![Page 2: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/2.jpg)
FAQ
• IST_A001 – What’s the LSB to uT?
• IST_A002 – Why do we change the axis of acc and mag sensor to
NEU system?
• IST_A003 – What’s the difference and priority between
Set_SingleCalibration and Set_DynamicCalibration API?
• IST_A004 – How to calibrate eCompass correctly?
• IST_A005 – What’s the definition for 0, 1, 2, 3 in accuracy report ?
• IST_A006 – What time do I use “Set_MagBias” function?
![Page 3: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/3.jpg)
IST_A001 – What’s the LSB to uT?
• Ans : in Isentek sensor, we read 2 byte sensor value with LSB type,
so we have to change this word unit to magnetic unit uT.
• Ex : Read X value 0x0050 = 120 LSB = 120*0.3 uT = 36 uT
• Ex : Read Y value 0xFF50 = -176 LSB = -176*0.3 uT = -52.8 uT
![Page 4: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/4.jpg)
IST_A002 – Why do we change the axis of acc and mag
sensor to NEU system?
• In order to calculate correct heading angle, we define input with
NEU coordinate system as android phone system.
• Strictly coordinate system don’t make confused on users.
Sensor Coordinate System
https://developer.android.com/guide/topics/
sensors/sensors_overview.html#sensors-
coords
![Page 5: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/5.jpg)
IST_A003 – What’s the difference and priority between
Set_SingleCalibration and Set_DynamicCalibration API?
• Difference :1) Set_SingleCalibration :
calibrate immediately when
setting this flag.
2) Set_DynamicCalibration :
calibrate when reaching
calibrated condition
Set_SingleCalibration Set_DynamicCalibration
![Page 6: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/6.jpg)
IST_A003 – What’s the difference and priority between
Set_SingleCalibration and Set_DynamicCalibration API?
• Difference :1) Set_SingleCalibration : calibrate immediately when setting this flag.
• Get_CalibrationStatus() return 1 immediately that the 1 mean on calibrated process
• after calibration, Get_CalibrationStatus() return 0 mean calibrated process end
2) Set_DynamicCalibration : calibrate when reaching calibrated condition
• Get_CalibrationStatus() return 0 in initial state
• When reaching calibrated condition, Get_CalibrationStatus() return 1 that the 1 mean on
calibrated process
• After calibration, Get_CalibrationStatus() return 0 mean calibrated process end
• Priority :1) Set_DynamicCalibration > Set_SingleCalibration : When you enable
two API, the eCompass process will run Set_DynamicCalibration
process instead Set_SingleCalibration.
![Page 7: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/7.jpg)
IST_A004 – How to calibrate eCompass correctly?
• Check point
1) Correct axis direction on acc and mag sensor
2) Mag sensor input data is uT unit
3) Enable API Set_SingleCalibration() or Set_DynamicCalibration(), as well as,
Process_RunCompass(Mag_RawData, AccData, Mag_CalibratedData)
![Page 8: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/8.jpg)
IST_A004 – How to calibrate eCompass correctly?
• Correct calibration figure
1) Figure 8 motion calibration - http://pan.baidu.com/s/1miub9ig
2) 3 axis rotation calibration - http://pan.baidu.com/s/1nvwHsLj
3) Drone calibration - http://pan.baidu.com/s/1c2geHlm
![Page 9: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/9.jpg)
IST_A005 – What’s the definition for 0, 1, 2, 3 in
accuracy report ?• Accuracy definition
1) 0: unreliable
2) 1: Low
3) 2: Medium
4) 3: High
• After system initialization process, if you don’t calibrate, it would
show 0.
![Page 10: [Isentek] eCompass API FAQ](https://reader038.vdocuments.us/reader038/viewer/2022100802/5876db0d1a28ab1d238b6c75/html5/thumbnails/10.jpg)
IST_A006 – What time do I use “Set_MagBias” function?
• You have last calibrated bias value, so you can Set_MagBias in
system initialization process, then you can check if accuracy return 3.
1) If yes, this bias is good to measure in current environment
2) If no, this bias is bad, so try to calibrate in current environment again