38
38
//
39
39
// ECU Consumption signal mul by *10
40
40
// next 3815
41
- #define ECU_CORRECTION 376 // <sens:200> 168 || <sens:150> 224 || <sens:100> 336 || <sens:50> 648
41
+ #define ENG_CORRECTION 4 // Divider pure voltage
42
+ #define ECU_CORRECTION 346 // <sens:200> 168 || <sens:150> 224 || <sens:100> 336 || <sens:50> 648
42
43
#define VSS_CORRECTION 3.767 // <sens:200> 3.835232 || <sens:150> 5 || <sens:100> 7.670464 || <sens:50> 15.340928
43
44
#define RPM_CORRECTION 33.767 // <sens:200> 33.767 || <sens:150> 50 || <sens:100> 67.534 || <sens:50> 135.068
44
- #define DST_CORRECTION 15400 .11 // <sens:200> 15260.11 || <sens:150> 20266.66 || <sens:100> 30400 || <sens:50> 60791.24
45
+ #define DST_CORRECTION 15600 .11 // <sens:200> 15260.11 || <sens:150> 20266.66 || <sens:100> 30400 || <sens:50> 60791.24
45
46
// DST
46
47
// ===============
47
48
// cur test +40 = 15240.11
@@ -207,6 +208,7 @@ class CarSens {
207
208
//
208
209
// LPG tank
209
210
int CUR_LTK;
211
+ int FUEL_STATE = 0 ;
210
212
//
211
213
unsigned long
212
214
CUR_VTT,// Travel time
@@ -487,15 +489,8 @@ class CarSens {
487
489
}
488
490
489
491
int getTnkLpgPer () {
490
- //
491
- // I received some additional information from the manufacturer of the fuel gauge if this changes anything:
492
- // The fuel input is approximately 4.5V through 150 ohm.
493
- // 73 ohm sender voltage would be 4.5*73/(150+73) = 1.5V
494
- // 10 ohm sender voltage would be 4.5*10/(150+10) = 0.3V
495
- // 240 ohm sender voltage would be 4.5*240/(150+240) = 2.8V
496
- // 33 ohm sender voltage would be 4.5*33/(150+33) = 0.8V
497
- // So in my case 20k fuel gauge
498
- return (int ) map (CUR_LTK, 10 , 55 , 0 , 100 );
492
+
493
+ return (int ) CUR_LTK;/* map(CUR_LTK, 10, 100, 0, 100)*/
499
494
}
500
495
501
496
int getTnkBnz () {
@@ -789,15 +784,15 @@ void CarSens::speedingAlarms() {
789
784
speedAlarmCursor = ENABLE_SPEED_HW;
790
785
}
791
786
792
- if (_amp->isSec () && CUR_VSS > VSS_ALARM_CITY_SPEED && speedAlarmCursor == ENABLE_SPEED_CT) {
787
+ if (_amp->is5Seconds () && CUR_VSS > VSS_ALARM_CITY_SPEED && speedAlarmCursor == ENABLE_SPEED_CT) {
793
788
tone (ADT_ALR_PIN, 4000 , 200 );
794
789
}
795
790
796
- if (_amp->isSec () && CUR_VSS > VSS_ALARM_VWAY_SPEED && speedAlarmCursor == ENABLE_SPEED_VW) {
791
+ if (_amp->is10Seconds () && CUR_VSS > VSS_ALARM_VWAY_SPEED && speedAlarmCursor == ENABLE_SPEED_VW) {
797
792
tone (ADT_ALR_PIN, 4000 , 200 );
798
793
}
799
794
800
- if (_amp->isSec () && CUR_VSS > VSS_ALARM_HWAY_SPEED && speedAlarmCursor == ENABLE_SPEED_HW) {
795
+ if (_amp->isMinute () && CUR_VSS > VSS_ALARM_HWAY_SPEED && speedAlarmCursor == ENABLE_SPEED_HW) {
801
796
tone (ADT_ALR_PIN, 4000 , 200 );
802
797
}
803
798
@@ -870,12 +865,16 @@ void CarSens::sensDim() {
870
865
*/
871
866
void CarSens::sensTnk () {
872
867
868
+ //
869
+ // LPG tank
870
+ // Full tank reading 805
871
+ // Empty tank reading ---
873
872
if (_amp->isMax ()) {
874
873
indexLpgTank++;
875
874
int lpgTankLevel = analogRead (pinLpgTank);
876
875
Serial.print (" Tank level: " );
877
876
Serial.println (lpgTankLevel);
878
- lpgTankLevel = ( int ) (( 5.00 / 1023.00 ) * lpgTankLevel) * 10 ;
877
+ lpgTankLevel = int ( lpgTankLevel - 805 ) ;
879
878
880
879
881
880
Serial.print (" after tank level: " );
@@ -884,7 +883,6 @@ void CarSens::sensTnk() {
884
883
if (lpgTankLevel > 0 ) {
885
884
containerLpgTank = containerLpgTank + lpgTankLevel;
886
885
CUR_LTK = int (containerLpgTank / indexLpgTank);
887
-
888
886
CUR_LTK = lpgTankLevel;
889
887
890
888
}
@@ -899,34 +897,17 @@ void CarSens::sensTnk() {
899
897
* Engine temperature
900
898
*/
901
899
void CarSens::sensEnt () {
902
- // if (_amp->isLow()) {
903
-
904
- int val = analogRead (pinTemp);
905
- if (val > 800 ) {
906
- engineTempHigh++;
907
- }
908
- engineTempIndex++;
909
-
910
-
911
900
if (_amp->isSens ()) {
912
- CUR_ENT = int (engineTempIndex - engineTempHigh);
901
+ int val = analogRead (pinTemp);
902
+ CUR_ENT = int (val / ENG_CORRECTION);
913
903
914
904
#ifdef DEBUG_ENG_TEMP
915
905
916
906
Serial.print (" Engine temperature: " );
917
907
Serial.print (val);
918
- Serial.print (" / index: " );
919
- Serial.print (engineTempIndex);
920
- Serial.print (" / high: " );
921
- Serial.print (engineTempHigh);
922
908
Serial.print (" / result:" );
923
909
Serial.println (CUR_ENT);
924
910
#endif
925
-
926
- engineTempIndex = 0 ;
927
- engineTempHigh = 0 ;
928
-
929
-
930
911
}
931
912
}
932
913
@@ -1103,7 +1084,7 @@ void CarSens::sensCns() {
1103
1084
}
1104
1085
//
1105
1086
// Convert to float
1106
- TTL_CLC = float (TTL_FL_CNS * 0.00001 );// L/h, comes from the /10000*100
1087
+ CRT_LPG = float (TTL_FL_CNS * 0.00001 );// L/h, comes from the /10000*100
1107
1088
}
1108
1089
1109
1090
@@ -1136,9 +1117,10 @@ void CarSens::sensIfc() {
1136
1117
1137
1118
// if maf is 0 it will just output 0
1138
1119
if (CUR_VSS < CONS_TGL_VSS) {
1139
- cons = long (long (maf * getIfcFuelVal ()) / 1000 * 0.001 ); // L/h, do not use float so mul first then divide
1120
+ cons = long (
1121
+ long (maf * getIfcFuelVal () / 2 ) / 1000 * 0.001 ); // L/h, do not use float so mul first then divide
1140
1122
} else {
1141
- cons = long (maf * getIfcFuelVal ()) / delta_dist; // L/100kmh, 100 comes from the /10000*100
1123
+ cons = long (maf * getIfcFuelVal () / 2 ) / delta_dist; // L/100kmh, 100 comes from the /10000*100
1142
1124
}
1143
1125
// pass
1144
1126
// Current Instance consumption
0 commit comments