diff --git a/sufst-openlogger_controller/.idea/workspace.xml b/sufst-openlogger_controller/.idea/workspace.xml index beeae57bcc01eb802179895c00890e58a5e65baa..ecd01e99b1b0a19c36717f901920154cbc0c5e2c 100644 --- a/sufst-openlogger_controller/.idea/workspace.xml +++ b/sufst-openlogger_controller/.idea/workspace.xml @@ -10,12 +10,9 @@ </component> <component name="ChangeListManager"> <list default="true" id="e173ebdc-c119-4235-9653-364cc21b27a5" name="Default Changelist" comment=""> - <change afterPath="$PROJECT_DIR$/ecuCan.cpp" afterDir="false" /> - <change afterPath="$PROJECT_DIR$/ecuCan.h" afterDir="false" /> + <change afterPath="$PROJECT_DIR$/ecuOpenloggerTags.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/buffer.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/buffer.cpp" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/can.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/can.cpp" afterDir="false" /> - <change beforePath="$PROJECT_DIR$/can.h" beforeDir="false" afterPath="$PROJECT_DIR$/can.h" afterDir="false" /> + <change beforePath="$PROJECT_DIR$/ecuCan.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/ecuCan.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/sufst-openlogger_controller.ino" beforeDir="false" afterPath="$PROJECT_DIR$/sufst-openlogger_controller.ino" afterDir="false" /> </list> <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" /> @@ -49,8 +46,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/sufst-openlogger_controller.ino"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="629"> - <caret line="56" lean-forward="true" selection-start-line="56" selection-end-line="56" /> + <state relative-caret-position="767"> + <caret line="62" column="40" selection-start-line="62" selection-start-column="40" selection-end-line="62" selection-end-column="40" /> <folding> <element signature="e#57#90#0" expanded="true" /> </folding> @@ -61,8 +58,8 @@ <file pinned="false" current-in-tab="true"> <entry file="file://$PROJECT_DIR$/ecuCan.cpp"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="715"> - <caret line="59" lean-forward="true" selection-start-line="59" selection-end-line="59" /> + <state relative-caret-position="867"> + <caret line="51" column="22" selection-start-line="51" selection-start-column="22" selection-end-line="51" selection-end-column="22" /> <folding> <element signature="e#39#58#0" expanded="true" /> <element signature="e#767#962#0" expanded="true" /> @@ -90,6 +87,15 @@ </provider> </entry> </file> + <file pinned="false" current-in-tab="false"> + <entry file="file://$PROJECT_DIR$/ecuOpenloggerTags.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="119"> + <caret line="7" column="38" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="38" /> + </state> + </provider> + </entry> + </file> <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/ecuCan.h"> <provider selected="true" editor-type-id="text-editor"> @@ -102,8 +108,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/openLoggerController.cpp"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="683"> - <caret line="55" lean-forward="true" selection-start-line="55" selection-end-line="55" /> + <state relative-caret-position="32"> + <caret line="40" column="13" lean-forward="true" selection-start-line="40" selection-start-column="13" selection-end-line="40" selection-end-column="13" /> <folding> <element signature="e#40#73#0" expanded="true" /> </folding> @@ -150,8 +156,8 @@ <file pinned="false" current-in-tab="false"> <entry file="file://$PROJECT_DIR$/can.h"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="221"> - <caret line="13" column="28" lean-forward="true" selection-start-line="13" selection-start-column="28" selection-end-line="13" selection-end-column="28" /> + <state relative-caret-position="401"> + <caret line="28" column="15" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" /> </state> </provider> </entry> @@ -160,7 +166,6 @@ </component> <component name="FindInProjectRecents"> <findStrings> - <find>cirBuffer</find> <find>openloggerCommandTxCirBuffer</find> <find>begin</find> <find>Cir</find> @@ -189,6 +194,7 @@ <find>tail</find> <find>Serial</find> <find>OPENLOGGER_TX_BUFFER_LEN</find> + <find>startTag</find> <find>openloggerProcess</find> </findStrings> <replaceStrings> @@ -213,6 +219,7 @@ <option value="$PROJECT_DIR$/openLoggerController.cpp" /> <option value="$PROJECT_DIR$/can.cpp" /> <option value="$PROJECT_DIR$/can.h" /> + <option value="$PROJECT_DIR$/ecuOpenloggerTags.h" /> <option value="$PROJECT_DIR$/sufst-openlogger_controller.ino" /> <option value="$PROJECT_DIR$/ecuCan.cpp" /> </list> @@ -291,7 +298,7 @@ <servers /> </component> <component name="TimeTrackingManager"> - <option name="totallyTimeSpent" value="86593000" /> + <option name="totallyTimeSpent" value="90843000" /> </component> <component name="ToolWindowManager"> <frame x="651" y="0" width="1915" height="1407" extended-state="0" /> @@ -343,16 +350,6 @@ </state> </provider> </entry> - <entry file="file://$PROJECT_DIR$/openLoggerController.cpp"> - <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="683"> - <caret line="55" lean-forward="true" selection-start-line="55" selection-end-line="55" /> - <folding> - <element signature="e#40#73#0" expanded="true" /> - </folding> - </state> - </provider> - </entry> <entry file="file://$PROJECT_DIR$/openLoggerController.h"> <provider selected="true" editor-type-id="text-editor"> <state relative-caret-position="221"> @@ -374,17 +371,34 @@ </state> </provider> </entry> + <entry file="file://$PROJECT_DIR$/openLoggerController.cpp"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="32"> + <caret line="40" column="13" lean-forward="true" selection-start-line="40" selection-start-column="13" selection-end-line="40" selection-end-column="13" /> + <folding> + <element signature="e#40#73#0" expanded="true" /> + </folding> + </state> + </provider> + </entry> + <entry file="file://$PROJECT_DIR$/ecuOpenloggerTags.h"> + <provider selected="true" editor-type-id="text-editor"> + <state relative-caret-position="119"> + <caret line="7" column="38" selection-start-line="7" selection-start-column="8" selection-end-line="7" selection-end-column="38" /> + </state> + </provider> + </entry> <entry file="file://$PROJECT_DIR$/can.h"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="221"> - <caret line="13" column="28" lean-forward="true" selection-start-line="13" selection-start-column="28" selection-end-line="13" selection-end-column="28" /> + <state relative-caret-position="401"> + <caret line="28" column="15" selection-start-line="28" selection-start-column="15" selection-end-line="28" selection-end-column="15" /> </state> </provider> </entry> <entry file="file://$PROJECT_DIR$/sufst-openlogger_controller.ino"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="629"> - <caret line="56" lean-forward="true" selection-start-line="56" selection-end-line="56" /> + <state relative-caret-position="767"> + <caret line="62" column="40" selection-start-line="62" selection-start-column="40" selection-end-line="62" selection-end-column="40" /> <folding> <element signature="e#57#90#0" expanded="true" /> </folding> @@ -393,8 +407,8 @@ </entry> <entry file="file://$PROJECT_DIR$/ecuCan.cpp"> <provider selected="true" editor-type-id="text-editor"> - <state relative-caret-position="715"> - <caret line="59" lean-forward="true" selection-start-line="59" selection-end-line="59" /> + <state relative-caret-position="867"> + <caret line="51" column="22" selection-start-line="51" selection-start-column="22" selection-end-line="51" selection-end-column="22" /> <folding> <element signature="e#39#58#0" expanded="true" /> <element signature="e#767#962#0" expanded="true" /> diff --git a/sufst-openlogger_controller/ecuCan.cpp b/sufst-openlogger_controller/ecuCan.cpp index 513a4e9ecdff4ac9d0656a6d44f4ee55ca4d224e..cd6e5eb8bff13c6c19ed26f8f58e82d94615c423 100644 --- a/sufst-openlogger_controller/ecuCan.cpp +++ b/sufst-openlogger_controller/ecuCan.cpp @@ -4,6 +4,7 @@ #include "ecuCan.h" #include "openLoggerController.h" +#include "ecuOpenloggerTags.h" struct EcuDataOpenlogger { @@ -13,7 +14,9 @@ struct EcuDataOpenlogger uint8_t endTag; }; -void ecuOpenloggerWrite(EcuDataOpenlogger &ecuDataOpenlogger); +void ecuOpenloggerWrite(EcuDataOpenlogger *ecuDataOpenlogger); + +void ecuOpenloggerSave(CanMsgTemplate *canMsgTemplate, uint8_t index); void ecuOpenloggerWrite(EcuDataOpenlogger &ecuDataOpenlogger) { @@ -30,6 +33,25 @@ void ecuOpenloggerWrite(EcuDataOpenlogger &ecuDataOpenlogger) openloggerWrite(openloggerPayload, 8); } +void ecuOpenloggerSave(CanMsgTemplate *canMsg, uint8_t index) +{ + static EcuDataOpenlogger ecuDataOpenlogger; + + uint8_t ecuId = canMsg->idByte[0]; + + uint8_t ecuParamterTag = ecuMsgParameterToOpenloggerTag[ecuId][index]; + + ecuDataOpenlogger.startTag = ecuParamterTag; + + ecuDataOpenlogger.timestamp = canMsg->timestamp; + + ecuDataOpenlogger.data = canMsg->data16[index]; + + ecuDataOpenlogger.endTag = ecuParamterTag; + + ecuOpenloggerWrite(ecuDataOpenlogger); +} + void ecuCanMsg0x2000(CanMsgTemplate *canMsg) { #if DEBUG_ECU_CAN @@ -50,22 +72,10 @@ void ecuCanMsg0x2000(CanMsgTemplate *canMsg) uint16_t waterTempC = canMsg->data16[2]; uint16_t airTempC = canMsg->data16[3]; - static EcuDataOpenlogger tpsPercOpenlogger; - static EcuDataOpenlogger rpmOpenlogger; - - rpmOpenlogger.startTag = 1; - rpmOpenlogger.timestamp = canMsg->timestamp; - rpmOpenlogger.data = rpm; - rpmOpenlogger.endTag = 1; - - ecuOpenloggerWrite(tpsPercOpenlogger); - - tpsPercOpenlogger.startTag = 2; - tpsPercOpenlogger.timestamp = canMsg->timestamp; - tpsPercOpenlogger.data = tpsPerc; - tpsPercOpenlogger.endTag = 2; - - ecuOpenloggerWrite(rpmOpenlogger); + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); } void ecuCanMsg0x2001(CanMsgTemplate *canMsg) @@ -88,6 +98,11 @@ void ecuCanMsg0x2001(CanMsgTemplate *canMsg) uint16_t speedKphx10 = canMsg->data16[2]; uint16_t oilPressKpa = canMsg->data16[3]; + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); + } void ecuCanMsg0x2002(CanMsgTemplate *canMsg) @@ -110,8 +125,12 @@ void ecuCanMsg0x2002(CanMsgTemplate *canMsg) uint16_t batteryVx10 = canMsg->data16[2]; uint16_t fuelComsumLpHrx10 = canMsg->data16[3]; - // Serial.println((float)(batteryVx10 / 10.0)); + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); + // Serial.println((float)(batteryVx10 / 10.0)); } void ecuCanMsg0x2003(CanMsgTemplate *canMsg) @@ -134,7 +153,10 @@ void ecuCanMsg0x2003(CanMsgTemplate *canMsg) uint16_t injectionTimeMsx100 = canMsg->data16[2]; uint16_t fuelComsumLp100kMx10 = canMsg->data16[3]; - Serial.println(currentGear); + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); } void ecuCanMsg0x2004(CanMsgTemplate *canMsg) @@ -156,6 +178,11 @@ void ecuCanMsg0x2004(CanMsgTemplate *canMsg) uint16_t ana2mV = canMsg->data16[1]; uint16_t ana3mV = canMsg->data16[2]; uint16_t camAdvanceDegx10 = canMsg->data16[3]; + + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); } void ecuCanMsg0x2005(CanMsgTemplate *canMsg) @@ -199,6 +226,11 @@ void ecuCanMsg0x2006(CanMsgTemplate *canMsg) uint16_t cam2PwmPercx10 = canMsg->data16[2]; uint16_t external5VmV = canMsg->data16[3]; + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); + } void ecuCanMsg0x2007(CanMsgTemplate *canMsg) @@ -220,6 +252,11 @@ void ecuCanMsg0x2007(CanMsgTemplate *canMsg) uint16_t lambdaPidTargPercx10 = canMsg->data16[1]; uint16_t lambdaPidAdjPercx10 = canMsg->data16[2]; uint16_t ecuSwitchesBitField = canMsg->data16[3]; + + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); } void ecuCanMsg0x2008(CanMsgTemplate *canMsg) @@ -242,6 +279,10 @@ void ecuCanMsg0x2008(CanMsgTemplate *canMsg) uint16_t ldSpeedKphx10 = canMsg->data16[2]; uint16_t lUdSpeedKphx10 = canMsg->data16[3]; + ecuOpenloggerSave(canMsg, 0); + ecuOpenloggerSave(canMsg, 1); + ecuOpenloggerSave(canMsg, 2); + ecuOpenloggerSave(canMsg, 3); } void ecuCanMsg0x2009(CanMsgTemplate *canMsg) @@ -259,5 +300,5 @@ void ecuCanMsg0x2009(CanMsgTemplate *canMsg) Serial.println("ECU : 0x2008"); #endif //DEBUG_ECU_CAN_MINIMAL - //uint16_t rightLambdax1000 = canMsg->data16[0]; + uint16_t rightLambdax1000 = canMsg->data16[0]; } \ No newline at end of file diff --git a/sufst-openlogger_controller/ecuOpenloggerTags.h b/sufst-openlogger_controller/ecuOpenloggerTags.h new file mode 100644 index 0000000000000000000000000000000000000000..c0bc6d3e3810f6e4963268e2c2af16033d2d2f84 --- /dev/null +++ b/sufst-openlogger_controller/ecuOpenloggerTags.h @@ -0,0 +1,19 @@ +// +// Created by Sil on 7/21/2019. +// + +#ifndef ECUOPENLOGGERTAGS_H +#define ECUOPENLOGGERTAGS_H + +uint8_t ecuMsgParameterToOpenloggerTag[8][4] = { + {1, 2, 3, 4}, + {5, 6, 7, 8}, + {9, 10, 11, 12}, + {13, 14, 15, 16}, + {17, 18, 19, 20}, + {21, 22, 23, 24}, + {25, 26, 27, 28}, + {29, 30, 31, 32} +}; + +#endif //ECUOPENLOGGERTAGS_H diff --git a/sufst-openlogger_controller/sufst-openlogger_controller.ino b/sufst-openlogger_controller/sufst-openlogger_controller.ino index b4ae202677fb986ee5752dcc2bbb6d84231e1894..58c16c42f56beea6ad8c4cbafaee5dc26179fedf 100644 --- a/sufst-openlogger_controller/sufst-openlogger_controller.ino +++ b/sufst-openlogger_controller/sufst-openlogger_controller.ino @@ -43,20 +43,25 @@ void loop() static CanMsgTemplate emulateCanMsg; - emulateCanMsg.id = 0x2002; - emulateCanMsg.len = 8; - emulateCanMsg.data16[2] = 123; - emulateCanMsg.data16[3] = 555; if ((currMs - lastSdWriteMs) >= 20) { emulateCanMsg.timestamp = millis(); + emulateCanMsg.data16[0] = cnt++; emulateCanMsg.data16[1] = cnt++; + emulateCanMsg.data16[2] = cnt++; + emulateCanMsg.data16[3] = cnt++; + + emulateCanMsg.id = 0x2000; ecuCanMsg0x2000(&emulateCanMsg); + emulateCanMsg.id = 0x2002; + + ecuCanMsg0x2002(&emulateCanMsg); + lastSdWriteMs = millis(); }