Switch float to double
This commit is contained in:
+16
-16
@@ -4,21 +4,21 @@
|
||||
#include "hardware.h"
|
||||
|
||||
bool simulating = false;
|
||||
float simulatedPressure = 0.0;
|
||||
float inflatePSIPerSecond = 0.0;
|
||||
float deflatePSIPerSecond = 0.0;
|
||||
float pressureChangeRate = 0.0;
|
||||
float deflateOffsetMultiplier = 0.0;
|
||||
float inflateOffsetMultiplier = 0.0;
|
||||
float offsetMultiplier = 0.0;
|
||||
double simulatedPressure = 0.0;
|
||||
double inflatePSIPerSecond = 0.0;
|
||||
double deflatePSIPerSecond = 0.0;
|
||||
double pressureChangeRate = 0.0;
|
||||
double deflateOffsetMultiplier = 0.0;
|
||||
double inflateOffsetMultiplier = 0.0;
|
||||
double offsetMultiplier = 0.0;
|
||||
|
||||
void initSimulation() {
|
||||
simulating = true;
|
||||
simulatedPressure = (float) random(10, 30);
|
||||
simulatedPressure = (double) random(10, 30);
|
||||
inflatePSIPerSecond = 0.0303;
|
||||
deflatePSIPerSecond = 0.0958;
|
||||
deflateOffsetMultiplier = random(3, 10) / 100.0;
|
||||
inflateOffsetMultiplier = 1.0 - deflateOffsetMultiplier;
|
||||
inflateOffsetMultiplier = random(103, 160) / 100.0;
|
||||
offsetMultiplier = 1.0;
|
||||
}
|
||||
|
||||
@@ -26,33 +26,33 @@ void tickSimulation() {
|
||||
static unsigned long lastTick = millis();
|
||||
|
||||
if (millis() > lastTick + 100) {
|
||||
float pressureDelta = (millis() - lastTick) / 1000.0 * pressureChangeRate;
|
||||
double pressureDelta = (millis() - lastTick) / 1000.0 * pressureChangeRate;
|
||||
|
||||
simulatedPressure += pressureDelta;
|
||||
lastTick = millis();
|
||||
}
|
||||
}
|
||||
|
||||
void measurePressure(float &pressureValue) {
|
||||
void measurePressure(double &pressureValue) {
|
||||
if (simulating) {
|
||||
float adjusted = simulatedPressure + (random(-100, 100) / 100.0);
|
||||
double adjusted = simulatedPressure + (random(-100, 100) / 100.0);
|
||||
adjusted *= offsetMultiplier;
|
||||
pressureValue = 0.99 * pressureValue + 0.01 * adjusted;
|
||||
} else {
|
||||
int sensorValue = analogRead(PRESSURE_SENSOR_PIN);
|
||||
float adjusted = 0.098 * sensorValue - 16.56 + 3.58;
|
||||
double adjusted = 0.098 * sensorValue - 16.56 + 3.58;
|
||||
pressureValue = 0.99 * pressureValue + 0.01 * adjusted;
|
||||
}
|
||||
}
|
||||
|
||||
void resamplePressure(float &pressureValue) {
|
||||
void resamplePressure(double &pressureValue) {
|
||||
if (simulating) {
|
||||
float adjusted = simulatedPressure + (random(-100, 100) / 100.0);
|
||||
double adjusted = simulatedPressure + (random(-100, 100) / 100.0);
|
||||
adjusted *= offsetMultiplier;
|
||||
pressureValue = adjusted;
|
||||
} else {
|
||||
int sensorValue = analogRead(PRESSURE_SENSOR_PIN);
|
||||
float adjusted = 0.098 * sensorValue - 16.56 + 3.58;
|
||||
double adjusted = 0.098 * sensorValue - 16.56 + 3.58;
|
||||
pressureValue = adjusted;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user