diff --git a/src/lib/rc/dsm.c b/src/lib/rc/dsm.c index efd2015862..e85cb5ba85 100644 --- a/src/lib/rc/dsm.c +++ b/src/lib/rc/dsm.c @@ -692,8 +692,10 @@ dsm_parse(uint64_t now, uint8_t *frame, unsigned len, uint16_t *values, if (decode_ret) { /* num values should not decrease, only increase */ - if (dsm_chan_count > *num_values) + if (dsm_chan_count > *num_values) { *num_values = dsm_chan_count; + } + memcpy(&values[0], &dsm_chan_buf[0], dsm_chan_count * sizeof(dsm_chan_buf[0])); #ifdef DSM_DEBUG