@@ -84,9 +84,9 @@ void setup()
8484 {
8585
8686 CAN0 .setCANPins (GPIO_NUM_17 , GPIO_NUM_16 ); // RX, TX
87- CAN0 .begin (500000 ); // 500Kbps
87+ CAN0 .begin (1000000 ); // 1Mbps
8888 CAN0 .watchFor (0x360 ); // RPM, MAP, TPS
89- // CAN0.watchFor(0x361); // Fuel Pressure
89+ CAN0 .watchFor (0x361 ); // Fuel Pressure
9090 CAN0 .watchFor (0x368 ); // AFR 01
9191 // CAN0.watchFor(0x370); // VSS
9292 CAN0 .watchFor (0x372 ); // Voltage
@@ -142,19 +142,19 @@ void setup()
142142
143143void loop ()
144144{
145- if (millis () - lastPrintTime >= 1000 )
146- { // Interval 1000ms
147- lastPrintTime = millis ();
148- if (commMode == COMM_CAN )
149- {
150- Serial.print (" CAN mode aktif. " );
151- }
152- else
153- {
154- Serial.print (" Serial mode aktif. " );
155- }
156- Serial.printf (" RPM: %d, MAP: %d, TPS: %d, VSS: %.2f, CLT: %.2f, IAT: %.2f, FP: %d, AFR: %.2f, Bat: %.2f\n " , rpm, mapData, tps, vss, clt, iat, fp, afrConv, bat);
157- }
145+ // if (millis() - lastPrintTime >= 1000)
146+ // { // Interval 1000ms
147+ // lastPrintTime = millis();
148+ // if (commMode == COMM_CAN)
149+ // {
150+ // Serial.print("CAN mode aktif. ");
151+ // }
152+ // else
153+ // {
154+ // Serial.print("Serial mode aktif. ");
155+ // }
156+ // Serial.printf("RPM: %d, MAP: %d, TPS: %d, VSS: %.2f, CLT: %.2f, IAT: %.2f, FP: %d, AFR: %.2f, Bat: %.2f\n", rpm, mapData, tps, vss, clt, iat, fp, afrConv, bat);
157+ // }
158158 if (commMode == COMM_CAN )
159159 {
160160 handleCANCommunication ();
@@ -164,47 +164,51 @@ void loop()
164164 handleSerialCommunication ();
165165 }
166166
167- drawData ();
168-
169- if (millis () - lastClientCheck >= 1000 )
170- {
171- lastClientCheck = millis ();
172- int clientCount = WiFi.softAPgetStationNum ();
173-
174- if (clientCount > 0 )
175- {
176- clientConnected = true ;
177- lastClientCheck = millis (); // Reset timer jika ada koneksi
178- }
179- else if (millis () - lastClientCheckTimeout > wifiTimeout)
180- {
181- clientConnected = false ;
182- lastClientCheckTimeout = millis ();
183- }
184-
185- // Matikan WiFi jika RPM > 100 atau tidak ada perangkat terkoneksi selama 30 detik
186- if ((rpm > 100 || !clientConnected) && wifiActive)
187- {
188- WiFi.mode (WIFI_OFF );
189- server.stop ();
190- wifiActive = false ;
191- }
192- // Nyalakan kembali WiFi jika RPM ≤ 100 dan ada perangkat yang terkoneksi
193- else if (rpm <= 100 && clientConnected && !wifiActive)
194- {
195- WiFi.mode (WIFI_AP );
196- WiFi.softAPConfig (ip, ip, netmask);
197- WiFi.softAP (ssid, password);
198- server.begin ();
199- wifiActive = true ;
200- server.handleClient ();
201- }
167+ static uint32_t lastDraw = 0 ;
168+ if (millis () - lastDraw > 100 ) { // Update every 100ms
169+ drawData ();
170+ lastDraw = millis ();
202171 }
203172
204- if (rpm <= 100 && wifiActive)
205- {
206- server.handleClient ();
207- }
173+ // if (millis() - lastClientCheck >= 1000)
174+ // {
175+ // lastClientCheck = millis();
176+ // int clientCount = WiFi.softAPgetStationNum();
177+
178+ // if (clientCount > 0)
179+ // {
180+ // clientConnected = true;
181+ // lastClientCheck = millis(); // Reset timer jika ada koneksi
182+ // }
183+ // else if (millis() - lastClientCheckTimeout > wifiTimeout)
184+ // {
185+ // clientConnected = false;
186+ // lastClientCheckTimeout = millis();
187+ // }
188+
189+ // // Matikan WiFi jika RPM > 100 atau tidak ada perangkat terkoneksi selama 30 detik
190+ // if ((rpm > 100 || !clientConnected) && wifiActive)
191+ // {
192+ // WiFi.mode(WIFI_OFF);
193+ // server.stop();
194+ // wifiActive = false;
195+ // }
196+ // // Nyalakan kembali WiFi jika RPM ≤ 100 dan ada perangkat yang terkoneksi
197+ // else if (rpm <= 100 && clientConnected && !wifiActive)
198+ // {
199+ // WiFi.mode(WIFI_AP);
200+ // WiFi.softAPConfig(ip, ip, netmask);
201+ // WiFi.softAP(ssid, password);
202+ // server.begin();
203+ // wifiActive = true;
204+ // server.handleClient();
205+ // }
206+ // }
207+
208+ // if (rpm <= 100 && wifiActive)
209+ // {
210+ // server.handleClient();
211+ // }
208212}
209213
210214void handleCANCommunication ()
@@ -219,15 +223,15 @@ void handleCANCommunication()
219223 CAN_FRAME can_message;
220224 if (CAN0 .read (can_message))
221225 {
222- // Serial.print("ID: ");
223- // Serial.print(can_message.id, HEX);
224- // Serial.print(" Data: ");
225- // for (int i = 0; i < can_message.length; i++)
226- // {
227- // Serial.print(can_message.data.byte[i], HEX);
228- // Serial.print(" ");
229- // }
230- // Serial.println();
226+ Serial.print (" ID: " );
227+ Serial.print (can_message.id , HEX );
228+ Serial.print (" Data: " );
229+ for (int i = 0 ; i < can_message.length ; i++)
230+ {
231+ Serial.print (can_message.data .byte [i], HEX );
232+ Serial.print (" " );
233+ }
234+ Serial.println ();
231235
232236 // Proses data berdasarkan ID
233237 switch (can_message.id )
@@ -287,30 +291,30 @@ void handleCANCommunication()
287291 }
288292 }
289293
290- if (currentTime - lastPrintTime >= 1000 )
291- { // Interval 1000ms
292- Serial.print (" RPM: " );
293- Serial.print (rpm);
294- Serial.print (" MAP: " );
295- Serial.print (mapData);
296- Serial.print (" kPa TPS: " );
297- Serial.print (tps);
298- Serial.print (" % Fuel Pressure: " );
299- Serial.print (fp);
300- Serial.print (" kPa AFR: " );
301- Serial.print (afrConv, 2 );
302- Serial.print (" VSS: " );
303- Serial.print (vss);
304- Serial.print (" km/h Voltage: " );
305- Serial.print (bat, 2 );
306- Serial.print (" V CLT: " );
307- Serial.print (clt);
308- Serial.print (" °C IAT: " );
309- Serial.print (iat);
310- Serial.println (" °C" );
311-
312- lastPrintTime = currentTime;
313- }
294+ // if (currentTime - lastPrintTime >= 1000)
295+ // { // Interval 1000ms
296+ // Serial.print("RPM: ");
297+ // Serial.print(rpm);
298+ // Serial.print(" MAP: ");
299+ // Serial.print(mapData);
300+ // Serial.print(" kPa TPS: ");
301+ // Serial.print(tps);
302+ // Serial.print(" % Fuel Pressure: ");
303+ // Serial.print(fp);
304+ // Serial.print(" kPa AFR: ");
305+ // Serial.print(afrConv, 2);
306+ // Serial.print(" VSS: ");
307+ // Serial.print(vss);
308+ // Serial.print(" km/h Voltage: ");
309+ // Serial.print(bat, 2);
310+ // Serial.print(" V CLT: ");
311+ // Serial.print(clt);
312+ // Serial.print(" °C IAT: ");
313+ // Serial.print(iat);
314+ // Serial.println(" °C");
315+
316+ // lastPrintTime = currentTime;
317+ // }
314318}
315319
316320void handleSerialCommunication ()
0 commit comments