Merge branch 'bugfix/fix_wrong_rmt_channel_signal' into 'master'

Bugfix/fix wrong rmt channel signal

See merge request espressif/esp-idf!11194
pull/6192/head
Michael (XIAO Xufeng) 2020-11-12 21:56:56 +08:00
commit e7b97fe086
4 zmienionych plików z 15 dodań i 12 usunięć

Wyświetl plik

@ -103,6 +103,7 @@ static inline void timer_ll_set_counter_value(timg_dev_t *hw, timer_idx_t timer_
FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val) FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val)
{ {
hw->hw_timer[timer_num].update = 1; hw->hw_timer[timer_num].update = 1;
while (hw->hw_timer[timer_num].update) {}
*timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high << 32) | (hw->hw_timer[timer_num].cnt_low); *timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high << 32) | (hw->hw_timer[timer_num].cnt_low);
} }

Wyświetl plik

@ -99,6 +99,7 @@ static inline void timer_ll_set_counter_value(timg_dev_t *hw, timer_idx_t timer_
FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val) FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val)
{ {
hw->hw_timer[timer_num].update.update = 1; hw->hw_timer[timer_num].update.update = 1;
while (hw->hw_timer[timer_num].update.update) {}
*timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high << 32) | (hw->hw_timer[timer_num].cnt_low); *timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high << 32) | (hw->hw_timer[timer_num].cnt_low);
} }

Wyświetl plik

@ -100,6 +100,7 @@ static inline void timer_ll_set_counter_value(timg_dev_t *hw, timer_idx_t timer_
FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val) FORCE_INLINE_ATTR void timer_ll_get_counter_value(timg_dev_t *hw, timer_idx_t timer_num, uint64_t *timer_val)
{ {
hw->hw_timer[timer_num].update.update = 1; hw->hw_timer[timer_num].update.update = 1;
while (hw->hw_timer[timer_num].update.update) {}
*timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high.hi << 32) | (hw->hw_timer[timer_num].cnt_low); *timer_val = ((uint64_t) hw->hw_timer[timer_num].cnt_high.hi << 32) | (hw->hw_timer[timer_num].cnt_low);
} }

Wyświetl plik

@ -22,35 +22,35 @@ const rmt_signal_conn_t rmt_periph_signals = {
.channels = { .channels = {
[0] = { [0] = {
.tx_sig = RMT_SIG_OUT0_IDX, .tx_sig = RMT_SIG_OUT0_IDX,
.rx_sig = -1 .rx_sig = RMT_SIG_IN0_IDX
}, },
[1] = { [1] = {
.tx_sig = RMT_SIG_OUT1_IDX, .tx_sig = RMT_SIG_OUT1_IDX,
.rx_sig = -1 .rx_sig = RMT_SIG_IN1_IDX
}, },
[2] = { [2] = {
.tx_sig = RMT_SIG_OUT2_IDX, .tx_sig = RMT_SIG_OUT2_IDX,
.rx_sig = -1 .rx_sig = RMT_SIG_IN2_IDX
}, },
[3] = { [3] = {
.tx_sig = RMT_SIG_OUT3_IDX, .tx_sig = RMT_SIG_OUT3_IDX,
.rx_sig = -1 .rx_sig = RMT_SIG_IN3_IDX
}, },
[4] = { [4] = {
.tx_sig = -1, .tx_sig = RMT_SIG_OUT4_IDX,
.rx_sig = RMT_SIG_IN0_IDX .rx_sig = RMT_SIG_IN4_IDX
}, },
[5] = { [5] = {
.tx_sig = -1, .tx_sig = RMT_SIG_OUT5_IDX,
.rx_sig = RMT_SIG_IN1_IDX .rx_sig = RMT_SIG_IN5_IDX
}, },
[6] = { [6] = {
.tx_sig = -1, .tx_sig = RMT_SIG_OUT6_IDX,
.rx_sig = RMT_SIG_IN2_IDX .rx_sig = RMT_SIG_IN6_IDX
}, },
[7] = { [7] = {
.tx_sig = -1, .tx_sig = RMT_SIG_OUT7_IDX,
.rx_sig = RMT_SIG_IN3_IDX .rx_sig = RMT_SIG_IN7_IDX
} }
} }
}; };