feat: force gimbal detection on serial passthrough init (#6089)
This commit is contained in:
+1
-1
@@ -1115,7 +1115,7 @@ static void spGimbalDeInit(int port_n)
|
||||
{
|
||||
(void)port_n;
|
||||
_sp_drv->deinit(_sp_ctx);
|
||||
flysky_gimbal_init();
|
||||
flysky_gimbal_init(true);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ void flysky_gimbal_deinit()
|
||||
STM32SerialDriver.deinit(_fs_usart_ctx);
|
||||
}
|
||||
|
||||
bool flysky_gimbal_init()
|
||||
bool flysky_gimbal_init(bool force)
|
||||
{
|
||||
etx_serial_init cfg = {
|
||||
.baudrate = FLYSKY_HALL_BAUDRATE,
|
||||
@@ -174,7 +174,7 @@ bool flysky_gimbal_init()
|
||||
.polarity = ETX_Pol_Normal,
|
||||
};
|
||||
|
||||
_fs_gimbal_detected = false;
|
||||
_fs_gimbal_detected = force;
|
||||
_fs_usart_ctx = STM32SerialDriver.init(REF_STM32_SERIAL_PORT(FSGimbal), &cfg);
|
||||
STM32SerialDriver.setIdleCb(_fs_usart_ctx, flysky_gimbal_loop, 0);
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ extern signed short hall_raw_values[FLYSKY_HALL_CHANNEL_COUNT];
|
||||
extern unsigned short hall_adc_values[FLYSKY_HALL_CHANNEL_COUNT];
|
||||
|
||||
// returns true if the gimbals were detected properly
|
||||
bool flysky_gimbal_init();
|
||||
bool flysky_gimbal_init(bool force = false);
|
||||
|
||||
void flysky_gimbal_deinit();
|
||||
const etx_serial_port_t* flysky_gimbal_get_port();
|
||||
|
||||
Reference in New Issue
Block a user