Changes

no edit summary
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==