forked from Archive/PX4-Autopilot
Some DSM satellites are fussier about bind pulse timing
These values work better
This commit is contained in:
parent
7861caf482
commit
36679fbb39
|
@ -1445,9 +1445,8 @@ PX4IO::ioctl(file * /*filep*/, int cmd, unsigned long arg)
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_down);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_down);
|
||||||
usleep(500000);
|
usleep(500000);
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_set_rx_out);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_set_rx_out);
|
||||||
usleep(1000);
|
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_up);
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_power_up);
|
||||||
usleep(100000);
|
usleep(50000);
|
||||||
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_send_pulses | (arg << 4));
|
io_reg_set(PX4IO_PAGE_SETUP, PX4IO_P_SETUP_DSM, dsm_bind_send_pulses | (arg << 4));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -125,9 +125,9 @@ dsm_bind(uint16_t cmd, int pulses)
|
||||||
case dsm_bind_send_pulses:
|
case dsm_bind_send_pulses:
|
||||||
for (int i = 0; i < pulses; i++) {
|
for (int i = 0; i < pulses; i++) {
|
||||||
stm32_gpiowrite(usart1RxAsOutp, false);
|
stm32_gpiowrite(usart1RxAsOutp, false);
|
||||||
up_udelay(50);
|
up_udelay(25);
|
||||||
stm32_gpiowrite(usart1RxAsOutp, true);
|
stm32_gpiowrite(usart1RxAsOutp, true);
|
||||||
up_udelay(50);
|
up_udelay(25);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case dsm_bind_reinit_uart:
|
case dsm_bind_reinit_uart:
|
||||||
|
|
Loading…
Reference in New Issue