mirror of
https://gitee.com/mirrors_PX4/PX4-Autopilot.git
synced 2026-11-11 11:11:35 +08:00
WIP: dsm bind default to DSMX 11 ms
This commit is contained in:
+13
-8
@@ -384,17 +384,22 @@ void dsm_bind(uint16_t cmd, int pulses)
|
|||||||
SPEKTRUM_RX_AS_GPIO_OUTPUT();
|
SPEKTRUM_RX_AS_GPIO_OUTPUT();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case DSM_CMD_BIND_SEND_PULSES:
|
case DSM_CMD_BIND_SEND_PULSES: {
|
||||||
// Pulse RX pin a number of times
|
// Pulse RX pin a number of times
|
||||||
#if defined(DSM_DEBUG)
|
#if defined(DSM_DEBUG)
|
||||||
printf("DSM: DSM_CMD_BIND_SEND_PULSES\n");
|
printf("DSM: DSM_CMD_BIND_SEND_PULSES\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
for (int i = 0; i < pulses; i++) {
|
auto flags = px4_enter_critical_section();
|
||||||
dsm_udelay(120);
|
|
||||||
SPEKTRUM_OUT(false);
|
for (int i = 0; i < DSM_BIND_PULSE::INTERNAL_DSMX_11MS; i++) {
|
||||||
dsm_udelay(120);
|
dsm_udelay(120);
|
||||||
SPEKTRUM_OUT(true);
|
SPEKTRUM_OUT(false);
|
||||||
|
dsm_udelay(120);
|
||||||
|
SPEKTRUM_OUT(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
px4_leave_critical_section(flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -63,6 +63,17 @@ typedef struct dsm_decode_t {
|
|||||||
dsm_buf_t buf;
|
dsm_buf_t buf;
|
||||||
} dsm_decode_t;
|
} dsm_decode_t;
|
||||||
|
|
||||||
|
enum DSM_BIND_PULSE {
|
||||||
|
INTERNAL_DSM2_22MS = 3,
|
||||||
|
EXTERNAL_DSM2_22MS = 4,
|
||||||
|
INTERNAL_DSM2_11MS = 5,
|
||||||
|
EXTERNAL_DSM2_11MS = 6,
|
||||||
|
INTERNAL_DSMX_22MS = 7,
|
||||||
|
EXTERNAL_DSMX_22MS = 8,
|
||||||
|
INTERNAL_DSMX_11MS = 9,
|
||||||
|
EXTERNAL_DSMX_11MS = 10,
|
||||||
|
};
|
||||||
|
|
||||||
#pragma pack(pop)
|
#pragma pack(pop)
|
||||||
|
|
||||||
__EXPORT int dsm_init(const char *device);
|
__EXPORT int dsm_init(const char *device);
|
||||||
|
|||||||
Reference in New Issue
Block a user