This is the latest (main) BeagleBoard documentation. If you are looking for stable releases, use the drop-down menu on the bottom-left and select the desired version.

Function rc_servo_send_esc_pulse_normalized

Function Documentation

int rc_servo_send_esc_pulse_normalized(int ch, double input)

Like rc_send_pulse_normalized but translates a desired esc throttle position from 0 to 1.0 to a corresponding pulse width from 1000 to 2000us.

This only works as expected if your ESCs are calibrated to accept pulse widths from 1000-2000us. This is best done with an ESC programming tool but can also be done with the rc_calibrate_escs example program that comes installed with this package.

While the normal operating range for the normalized input is 0.0 to 1.0, inputs as low as -0.1 are allowed. This is because many ESC firmwares such as BLHeli will still turn or chirp the motors at 0.0 throttle, but will be stationary and still armed and awake with throttle values slightly lower. We suggest using a throttle of -0.1 for at least a second at the beginnig of your program to wake the ESCs up from sleep but still keep the motors still.

Parameters
  • ch[in] Channel to send signal to (1-8) or 0 to send to all channels.

  • input[in] normalized position from -0.1 to 1.0

Returns

0 on success, -1 on failure