Es funzt jetzt
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user