Es funzt jetzt

This commit is contained in:
CommanderRedYT
2022-01-22 00:30:37 +01:00
parent 8bbb098945
commit 62987cb374
3 changed files with 22 additions and 6 deletions

View File

@ -33,8 +33,8 @@ void WheelchairMode::update()
}
else
{
const auto left_right = configs.gasMin.value == configs.gasMax.value ? 0 : map_analog_stick(configs.gasMitte.value, configs.gasMin.value, configs.gasMax.value, *raw_gas);
const auto front_back = configs.bremsMin.value == configs.bremsMax.value ? 0 : map_analog_stick(configs.bremsMitte.value, configs.bremsMin.value, configs.bremsMax.value, *raw_brems);
const int16_t left_right = configs.gasMin.value == configs.gasMax.value ? 0 : *gas;
const int16_t front_back = configs.bremsMin.value == configs.bremsMax.value ? 0 : -*brems;
float local_gas = 0;
float local_brems = 0;
@ -60,7 +60,7 @@ void WheelchairMode::update()
local_brems = 0;
}
ESP_LOGI("BOBBY", "left_right: %i, front_back: %i, local_gas: %.2f, local_brems: %.2f gas: %.2f, brems: %.2f", left_right, front_back, local_gas, local_brems, *gas, *brems);
// ESP_LOGI("BOBBY", "left_right: %i, front_back: %i, local_gas: %.2f, local_brems: %.2f gas: %.2f, brems: %.2f", left_right, front_back, local_gas, local_brems, *gas, *brems);
auto gas_processed = profileSettings.defaultMode.squareGas ? (local_gas * local_gas) / 1000.f : local_gas;
auto brems_processed = profileSettings.defaultMode.squareBrems ? (local_brems * local_brems) / 1000 : local_brems;
@ -240,13 +240,13 @@ void WheelchairMode::update()
controller.command.left.ctrlTyp = pair.first;
controller.command.left.ctrlMod = pair.second;
controller.command.left.pwm = (pwm + steer);
controller.command.left.pwm = (pwm - steer);
controller.command.left.cruiseCtrlEna = false;
controller.command.left.nCruiseMotTgt = 0;
controller.command.right.ctrlTyp = pair.first;
controller.command.right.ctrlMod = pair.second;
controller.command.right.pwm = (pwm - steer);
controller.command.right.pwm = (pwm + steer);
controller.command.right.cruiseCtrlEna = false;
controller.command.right.nCruiseMotTgt = 0;
}

View File

@ -10,6 +10,7 @@
#include "can.h"
#endif
#include "newsettings.h"
#include "utils.h"
using namespace std::chrono_literals;
@ -65,6 +66,7 @@ void readPotis()
raw_brems = sampleMultipleTimes(PINS_BREMS);
#endif
#ifndef FEATURE_JOYSTICK
if (raw_gas)
gas = cpputils::mapValueClamped<float>(*raw_gas, configs.gasMin.value, configs.gasMax.value, 0., 1000.);
else
@ -73,6 +75,20 @@ void readPotis()
brems = cpputils::mapValueClamped<float>(*raw_brems, configs.bremsMin.value, configs.bremsMax.value, 0., 1000.);
else
brems = std::nullopt;
#else
if (raw_gas)
{
gas = map_analog_stick(configs.gasMitte.value, configs.gasMin.value, configs.gasMax.value, *raw_gas);
}
else
gas = std::nullopt;
if (raw_brems)
{
brems = map_analog_stick(configs.bremsMitte.value, configs.bremsMin.value, configs.bremsMax.value, *raw_brems);
}
else
brems = std::nullopt;
#endif
#ifdef FEATURE_GAMETRAK
raw_gametrakX = sampleMultipleTimes(PINS_GAMETRAKX);

View File

@ -293,7 +293,7 @@ int16_t map_analog_stick(uint16_t middle, uint16_t start, uint16_t end, uint16_t
if (raw < middle)
{
raw += configs.deadband.value;
end += configs.deadband.value;
start += configs.deadband.value;
const auto return_val = map(raw, start, middle, -1000, 0);
if (return_val > 0)
return 0;