Changes

Minor improvements
Line 1: Line 1: −
== Accelerometer Calibration ==
+
==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.
 
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.
    
There are two conditions when auto calibration takes place:
 
There are two conditions when auto calibration takes place:
   −
* If on device startup no calibration was detected;
+
*If on device startup no calibration was detected;
* If the device receives an SMS/GPRS message with ''auto_calibrate:set'' text.<br />
+
*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:
 
After functionality has started FMB device periodically checks current appliance GNSS, ignition and movement source parameters and if the conditions match:
   −
* position fix got;
+
*position fix got;
* GNSS speed is zero;
+
*GNSS speed is zero;
* ignition is ON;
+
*ignition is ON;
* first calibration vector was not saved yet;<br />
+
*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.
 
Then first vector is taken. Saved vector will be considered as ground vector and it will be used at further calibration calculations.
Line 20: Line 20:  
Afterwards first ground vector was taken, device analyses conditions:
 
Afterwards first ground vector was taken, device analyses conditions:
   −
* position fix got;
+
*position fix got;
* GNSS speed is at least 20 km/h;
+
*GNSS speed is at least 20 km/h;
* ignition is ON;
+
*ignition is ON;
* second vector was not saved yet;
+
*second vector was not saved yet;
* vehicle driving in the same direction with 5⁰ tolerance;
+
*vehicle driving in the same direction with 5⁰ tolerance;
* vehicle speed increase by 7km/h within 1 second.<br />
+
*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''.
 
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''.
Line 39: Line 39:  
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:
 
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:
   −
* Normal calibration is still running.
+
*Normal calibration is still running.
* Shadow calibration is still running from previous TRIP event.<br />
+
*Shadow calibration is still running from previous TRIP event.<br />
    
To take ground vector these conditions should be met:
 
To take ground vector these conditions should be met:
   −
* Ignition is ON
+
*Ignition is ON
* Device got GPS FIX
+
*Device got GPS FIX
* Vehicle speed = 0km/h<br />
+
*Vehicle speed = 0km/h<br />
    
Device will check these conditions every 1sec until they will pass.
 
Device will check these conditions every 1sec until they will pass.
Line 52: Line 52:  
To take side vector these conditions should be met:
 
To take side vector these conditions should be met:
   −
* Vehicle speed >= 20km/h
+
*Vehicle speed >= 20km/h
* Device got GPS FIX
+
*Device got GPS FIX
* Ignition is ON
+
*Ignition is ON
* Device angle does not change more than 5 degrees in past 1 sec
+
*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.
+
*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==
   Line 81: Line 83:  
*if the ignition is not detected for configured time duration (Time to moving timeout).
 
*if the ignition is not detected for configured time duration (Time to moving timeout).
   −
If the Excessive idling Eventual records parameter is enabled, the event is generated and saved with low priority on every idling state change.  
+
If the Excessive idling Eventual records parameter is enabled, the event is generated and saved with low priority on every idling state change.
 
  −
 
  −
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
  −
 
   
==Towing Detection==
 
==Towing Detection==
   Line 96: Line 94:     
When towing function is engaged {{{model|FMB640}}} monitors accelerometer data. If acceleration ''Threshold'' or ''Angle'' reach configured values for a configured ''Duration'', and Ignition is still OFF for a period of time that is longer than ''Event Timeout'', then an event is generated. When configured, ''Make Call To'' and ''Send SMS To'' functions make a call or send an SMS to a predefined phone number. Towing function will be reactivated after {{{model|FMB640}}} detects a change of Ignition state from ON to OFF.
 
When towing function is engaged {{{model|FMB640}}} monitors accelerometer data. If acceleration ''Threshold'' or ''Angle'' reach configured values for a configured ''Duration'', and Ignition is still OFF for a period of time that is longer than ''Event Timeout'', then an event is generated. When configured, ''Make Call To'' and ''Send SMS To'' functions make a call or send an SMS to a predefined phone number. Towing function will be reactivated after {{{model|FMB640}}} detects a change of Ignition state from ON to OFF.
<br /><br /><br /><br /><br /><br /><br />
+
<br />
    
==Crash Detection==
 
==Crash Detection==
Line 121: Line 119:  
''Crash trace data structure'' <br>
 
''Crash trace data structure'' <br>
 
Data is packed different in Codec 8 and Codec 8E protocols. <br>
 
Data is packed different in Codec 8 and Codec 8E protocols. <br>
Then CODEC8 is being used device will save IO records with 4 elements. Each sample will contain sample data. This means that 500 records will be created to reflect 10 s of data then ODR is 50 Hz. <br>
+
Then CODEC8 is being used device will save IO records with 4 elements. Each sample will contain sample data. This means that 500 records will be created to reflect 10 s of data then ODR is 50 Hz.
 
  −
 
  −
<br /><br /><br /><br />