mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-07 17:35:22 +08:00
Update mapping
This commit is contained in:
@@ -74,7 +74,10 @@
|
||||
* ....
|
||||
*
|
||||
*/
|
||||
|
||||
// Circular from back right in CCW direction
|
||||
#define ESC_POS {0, 1, 4, 3, 2, 5, 7, 8}
|
||||
// 0 is CW, 1 is CCW
|
||||
#define ESC_DIR {0, 1, 0, 1, 0, 1, 0, 1}
|
||||
|
||||
#define RPMMAX 1900
|
||||
|
||||
@@ -630,31 +630,6 @@ TAP_ESC::cycle()
|
||||
|
||||
size_t num_outputs = _channels_count;
|
||||
|
||||
/*
|
||||
// FIXME: don't know what this mode should be used for. It's hardcoded in initialization and never changed.
|
||||
switch (_mode) {
|
||||
case MODE_2PWM:
|
||||
num_outputs = 2;
|
||||
break;
|
||||
|
||||
case MODE_4PWM:
|
||||
num_outputs = 4;
|
||||
break;
|
||||
|
||||
case MODE_6PWM:
|
||||
num_outputs = 6;
|
||||
break;
|
||||
|
||||
case MODE_8PWM:
|
||||
num_outputs = 8;
|
||||
break;
|
||||
|
||||
default:
|
||||
num_outputs = 0;
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
/* can we mix? */
|
||||
if (_is_armed && _mixers != nullptr) {
|
||||
|
||||
@@ -723,8 +698,23 @@ TAP_ESC::cycle()
|
||||
const unsigned esc_count = num_outputs;
|
||||
float motor_out[TAP_ESC_MAX_MOTOR_NUM];
|
||||
|
||||
for (int i = 0; i < esc_count; ++i) {
|
||||
motor_out[i] = _outputs.output[i];
|
||||
// We need to remap from the system default to what PX4's normal
|
||||
// scheme is
|
||||
if (num_outputs == 6) {
|
||||
motor_out[0] = _outputs.output[3];
|
||||
motor_out[1] = _outputs.output[0];
|
||||
motor_out[2] = _outputs.output[4];
|
||||
motor_out[3] = _outputs.output[2];
|
||||
motor_out[4] = _outputs.output[1];
|
||||
motor_out[5] = _outputs.output[5];
|
||||
motor_out[6] = RPMSTOPPED;
|
||||
motor_out[7] = RPMSTOPPED;
|
||||
} else {
|
||||
|
||||
// Use the system defaults
|
||||
for (int i = 0; i < esc_count; ++i) {
|
||||
motor_out[i] = _outputs.output[i];
|
||||
}
|
||||
}
|
||||
|
||||
send_esc_outputs(motor_out, esc_count);
|
||||
|
||||
Reference in New Issue
Block a user