3838//
3939// ECU Consumption signal mul by *10
4040// 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
4243#define VSS_CORRECTION 3.767 // <sens:200> 3.835232 || <sens:150> 5 || <sens:100> 7.670464 || <sens:50> 15.340928
4344#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
4546// DST
4647// ===============
4748// cur test +40 = 15240.11
@@ -207,6 +208,7 @@ class CarSens {
207208 //
208209 // LPG tank
209210 int CUR_LTK;
211+ int FUEL_STATE = 0 ;
210212 //
211213 unsigned long
212214 CUR_VTT,// Travel time
@@ -487,15 +489,8 @@ class CarSens {
487489 }
488490
489491 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)*/
499494 }
500495
501496 int getTnkBnz () {
@@ -789,15 +784,15 @@ void CarSens::speedingAlarms() {
789784 speedAlarmCursor = ENABLE_SPEED_HW;
790785 }
791786
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) {
793788 tone (ADT_ALR_PIN, 4000 , 200 );
794789 }
795790
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) {
797792 tone (ADT_ALR_PIN, 4000 , 200 );
798793 }
799794
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) {
801796 tone (ADT_ALR_PIN, 4000 , 200 );
802797 }
803798
@@ -870,12 +865,16 @@ void CarSens::sensDim() {
870865 */
871866void CarSens::sensTnk () {
872867
868+ //
869+ // LPG tank
870+ // Full tank reading 805
871+ // Empty tank reading ---
873872 if (_amp->isMax ()) {
874873 indexLpgTank++;
875874 int lpgTankLevel = analogRead (pinLpgTank);
876875 Serial.print (" Tank level: " );
877876 Serial.println (lpgTankLevel);
878- lpgTankLevel = ( int ) (( 5.00 / 1023.00 ) * lpgTankLevel) * 10 ;
877+ lpgTankLevel = int ( lpgTankLevel - 805 ) ;
879878
880879
881880 Serial.print (" after tank level: " );
@@ -884,7 +883,6 @@ void CarSens::sensTnk() {
884883 if (lpgTankLevel > 0 ) {
885884 containerLpgTank = containerLpgTank + lpgTankLevel;
886885 CUR_LTK = int (containerLpgTank / indexLpgTank);
887-
888886 CUR_LTK = lpgTankLevel;
889887
890888 }
@@ -899,34 +897,17 @@ void CarSens::sensTnk() {
899897 * Engine temperature
900898 */
901899void CarSens::sensEnt () {
902- // if (_amp->isLow()) {
903-
904- int val = analogRead (pinTemp);
905- if (val > 800 ) {
906- engineTempHigh++;
907- }
908- engineTempIndex++;
909-
910-
911900 if (_amp->isSens ()) {
912- CUR_ENT = int (engineTempIndex - engineTempHigh);
901+ int val = analogRead (pinTemp);
902+ CUR_ENT = int (val / ENG_CORRECTION);
913903
914904#ifdef DEBUG_ENG_TEMP
915905
916906 Serial.print (" Engine temperature: " );
917907 Serial.print (val);
918- Serial.print (" / index: " );
919- Serial.print (engineTempIndex);
920- Serial.print (" / high: " );
921- Serial.print (engineTempHigh);
922908 Serial.print (" / result:" );
923909 Serial.println (CUR_ENT);
924910#endif
925-
926- engineTempIndex = 0 ;
927- engineTempHigh = 0 ;
928-
929-
930911 }
931912}
932913
@@ -1103,7 +1084,7 @@ void CarSens::sensCns() {
11031084 }
11041085 //
11051086 // 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
11071088 }
11081089
11091090
@@ -1136,9 +1117,10 @@ void CarSens::sensIfc() {
11361117
11371118 // if maf is 0 it will just output 0
11381119 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
11401122 } 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
11421124 }
11431125 // pass
11441126 // Current Instance consumption
0 commit comments