diff --git a/Bench-Data-Firmware/src/main.cpp b/Bench-Data-Firmware/src/main.cpp index 7bd2d32..3525cd9 100644 --- a/Bench-Data-Firmware/src/main.cpp +++ b/Bench-Data-Firmware/src/main.cpp @@ -3,9 +3,12 @@ // SPDX-License-Identifier: GPL-3.0-or-later #include const byte interruptPin = 2; +const byte lambdaPin = A0; volatile unsigned long timestamp1 = 0; volatile unsigned long timestamp2 = 0; volatile bool new_rpm = false; +const unsigned long deltat_lambda = 100000; +unsigned long last_lambda = 0; void interrupt(){ unsigned long now = micros(); @@ -18,6 +21,7 @@ void setup() { // put your setup code here, to run once: Serial.begin(115200); pinMode(interruptPin, INPUT); + pinMode(lambdaPin, INPUT); attachInterrupt(digitalPinToInterrupt(interruptPin),interrupt,FALLING); } @@ -27,8 +31,20 @@ void loop() { unsigned long deltat = timestamp1 - timestamp2; float rpmhz = 500000.0 / deltat; new_rpm = false; + Serial.print("Speed: "); Serial.println(rpmhz); } + unsigned long now = micros(); + if (now > last_lambda + deltat_lambda){ + float output = analogRead(lambdaPin); + float voltage = output / 204.6; + float lambda = 0.56030161*voltage + 0.43969839; + last_lambda = now; + Serial.print("Voltage: "); + Serial.println(voltage); + Serial.print("Lambda:"); + Serial.println(lambda); + } }