Line 1: |
Line 1: |
| + | ==Accelerometer calibration== |
| + | |
| + | Accelerometer auto calibration functionality has one purpose - determine how FMB device |
| + | is mounted in a vehicle. After the calibration process ''eco driving'' functionality becomes active |
| + | and calibration data will be used to determine harsh acceleration, braking and cornering events.<br/> |
| + | There are two conditions when auto calibration takes place:<br/> |
| + | * If on device startup no calibration was detected; |
| + | * If the device receives an SMS/GPRS message with ''auto_calibrate:set'' text.<br/> |
| + | After functionality has started FMB device periodically checks current appliance GNSS, |
| + | ignition and movement source parameters and if the conditions match:<br/> |
| + | * position fix got; |
| + | * GNSS speed is zero; |
| + | * ignition is ON; |
| + | * first calibration vector was not saved yet;<br/> |
| + | Then first vector is taken. Saved vector will be considered as ground vector and it will be |
| + | used at further calibration calculations.<br/> |
| + | ''Note: When FMB device saves first ground vector vehicle must be parked on flat ground''. |
| + | Crooked vector may have an impact on further calculations.<br/> |
| + | Afterwards first ground vector was taken, device analyses conditions:<br/> |
| + | * position fix got; |
| + | * GNSS speed is at least 20 km/h; |
| + | * ignition is ON; |
| + | * second vector was not saved yet; |
| + | * vehicle driving in the same direction with 5⁰ tolerance; |
| + | * vehicle speed increase by 7km/h within 1 second.<br/> |
| + | For next vector. Second vector will be taken if all conditions match. Immediately after |
| + | second vector is received, it will be multiplied by first (ground) vector, the result of these |
| + | vectors is vector multiplication cross product which is the right side of a car. By using |
| + | same vector multiplication method, device front, left side will be calculated. At this point |
| + | calibration is successfully ended as indication device sends an SMS/GPRS message with |
| + | ''Device is calibrated, to recalibrate send:auto_calibrate:set''.<br/> |
| + | ''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by |
| + | SMS/GPRS message''.<br/> |
| + | For user convenience in case auto calibration functionality fails then notification message |
| + | will be sent. For exact messages, check algorithm section.<br/> |
| + | ''Note: SMS/GPRS message will be sent only if auto calibration functionality was triggered by |
| + | SMS/GPRS message''.<br/> |
| + | To get current calibration status ''auto_calibrate:get'' SMS/GPRS command must be sent to |
| + | the device. If device is calibrated it will respond with ''Calibration state: calibrated'' or otherwise |
| + | ''Calibration state: not calibrated''. Also this command returns saved Ground and Side vectors.<br/> |
| + | After every TRIP START event, device starts shadow calibration. This type of calibration is |
| + | running in parallel with already saved vectors (this means that vectors does not reset until |
| + | shadow calibration have both new vectors). After shadow calibration is done, device updates the |
| + | vector values to the new ones. There are two conditions when shadow calibration does not run |
| + | at TRIP start event:<br/> |
| + | * Normal calibration is still running. |
| + | * Shadow calibration is still running from previous TRIP event.<br/> |
| + | To take ground vector these conditions should be met:<br/> |
| + | * Ignition is ON |
| + | * Device got GPS FIX |
| + | * Vehicle speed = 0km/h<br/> |
| + | Device will check these conditions every 1sec until they will pass.<br/> |
| + | To take side vector these conditions should be met:<br/> |
| + | * Vehicle speed >= 20km/h |
| + | * Device got GPS FIX |
| + | * Ignition is ON |
| + | * Device angle does not change more than 5 degrees in past 1 sec |
| + | * Speed need to increase by 7km/h in 1s period.<br/> |
| + | Device will check these conditions every 1 sec until they will pass.<br/> |
| + | |
| ==Excessive Idling== | | ==Excessive Idling== |
| | | |