mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 19:40:31 +03:00
Make servos great again (#13451)
* Make services great again * Make servos great again * Changes according comments
This commit is contained in:
parent
ecef09fdd7
commit
413d05d6c4
4 changed files with 10 additions and 6 deletions
|
@ -2178,8 +2178,8 @@ static void cliServo(const char *cmdName, char *cmdline)
|
||||||
servo = servoParamsMutable(i);
|
servo = servoParamsMutable(i);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
arguments[MIN] < PWM_PULSE_MIN || arguments[MIN] > PWM_PULSE_MAX ||
|
arguments[MIN] < PWM_SERVO_MIN || arguments[MIN] > PWM_SERVO_MAX ||
|
||||||
arguments[MAX] < PWM_PULSE_MIN || arguments[MAX] > PWM_PULSE_MAX ||
|
arguments[MAX] < PWM_SERVO_MIN || arguments[MAX] > PWM_SERVO_MAX ||
|
||||||
arguments[MIDDLE] < arguments[MIN] || arguments[MIDDLE] > arguments[MAX] ||
|
arguments[MIDDLE] < arguments[MIN] || arguments[MIDDLE] > arguments[MAX] ||
|
||||||
arguments[MIN] > arguments[MAX] ||
|
arguments[MIN] > arguments[MAX] ||
|
||||||
arguments[RATE] < -100 || arguments[RATE] > 100 ||
|
arguments[RATE] < -100 || arguments[RATE] > 100 ||
|
||||||
|
|
|
@ -211,7 +211,7 @@ int16_t determineServoMiddleOrForwardFromChannel(servoIndex_e servoIndex)
|
||||||
const uint8_t channelToForwardFrom = servoParams(servoIndex)->forwardFromChannel;
|
const uint8_t channelToForwardFrom = servoParams(servoIndex)->forwardFromChannel;
|
||||||
|
|
||||||
if (channelToForwardFrom != CHANNEL_FORWARDING_DISABLED && channelToForwardFrom < rxRuntimeState.channelCount) {
|
if (channelToForwardFrom != CHANNEL_FORWARDING_DISABLED && channelToForwardFrom < rxRuntimeState.channelCount) {
|
||||||
return rcData[channelToForwardFrom];
|
return scaleRangef(constrainf(rcData[channelToForwardFrom], PWM_RANGE_MIN, PWM_RANGE_MAX), PWM_RANGE_MIN, PWM_RANGE_MAX, servoParams(servoIndex)->min, servoParams(servoIndex)->max);
|
||||||
}
|
}
|
||||||
|
|
||||||
return servoParams(servoIndex)->middle;
|
return servoParams(servoIndex)->middle;
|
||||||
|
|
|
@ -24,6 +24,13 @@
|
||||||
#include "drivers/io_types.h"
|
#include "drivers/io_types.h"
|
||||||
#include "drivers/pwm_output.h"
|
#include "drivers/pwm_output.h"
|
||||||
|
|
||||||
|
#define PWM_SERVO_MIN 500 // minimum servo PWM pulse width which we can set from cli
|
||||||
|
#define PWM_SERVO_MAX 2500 // maximum servo PWM pulse width which we can set from cli
|
||||||
|
|
||||||
|
#define DEFAULT_SERVO_MIN 1000
|
||||||
|
#define DEFAULT_SERVO_MIDDLE 1500
|
||||||
|
#define DEFAULT_SERVO_MAX 2000
|
||||||
|
|
||||||
// These must be consecutive, see 'reversedSources'
|
// These must be consecutive, see 'reversedSources'
|
||||||
enum {
|
enum {
|
||||||
INPUT_STABILIZED_ROLL = 0,
|
INPUT_STABILIZED_ROLL = 0,
|
||||||
|
|
|
@ -41,9 +41,6 @@
|
||||||
#define CHANNEL_VALUE_TO_RXFAIL_STEP(channelValue) ((constrain(channelValue, PWM_PULSE_MIN, PWM_PULSE_MAX) - PWM_PULSE_MIN) / 25)
|
#define CHANNEL_VALUE_TO_RXFAIL_STEP(channelValue) ((constrain(channelValue, PWM_PULSE_MIN, PWM_PULSE_MAX) - PWM_PULSE_MIN) / 25)
|
||||||
#define MAX_RXFAIL_RANGE_STEP ((PWM_PULSE_MAX - PWM_PULSE_MIN) / 25)
|
#define MAX_RXFAIL_RANGE_STEP ((PWM_PULSE_MAX - PWM_PULSE_MIN) / 25)
|
||||||
|
|
||||||
#define DEFAULT_SERVO_MIN 1000
|
|
||||||
#define DEFAULT_SERVO_MIDDLE 1500
|
|
||||||
#define DEFAULT_SERVO_MAX 2000
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
RX_FRAME_PENDING = 0,
|
RX_FRAME_PENDING = 0,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue