Skip to content

Commit b0ba328

Browse files
committed
Fixes cleanup
1 parent d0fdf81 commit b0ba328

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

src/m5_unit_component/adapter_gpio_v1.cpp

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,21 +79,23 @@ namespace unit {
7979

8080
class GPIOImplV1 : public AdapterGPIOBase::GPIOImpl {
8181
public:
82-
GPIOImplV1() : AdapterGPIOBase::GPIOImpl(-1, -1)
83-
{
84-
}
85-
GPIOImplV1(const int8_t rx_pin, const int8_t tx_pin) : AdapterGPIOBase::GPIOImpl(rx_pin, tx_pin)
82+
explicit GPIOImplV1(const int8_t rx_pin = -1, const int8_t tx_pin = -1) : AdapterGPIOBase::GPIOImpl(rx_pin, tx_pin)
8683
{
84+
_rx_config.channel = RMT_CHANNEL_MAX;
85+
_tx_config.channel = RMT_CHANNEL_MAX;
8786
}
8887
virtual ~GPIOImplV1()
8988
{
90-
rmt_tx_stop(_tx_config.channel);
91-
rmt_driver_uninstall(_tx_config.channel);
92-
clear_use_rmt_channel(_tx_config.channel);
93-
94-
rmt_rx_stop(_rx_config.channel);
95-
rmt_driver_uninstall(_rx_config.channel);
96-
clear_use_rmt_channel(_rx_config.channel);
89+
if (_tx_config.channel != RMT_CHANNEL_MAX) {
90+
rmt_tx_stop(_tx_config.channel);
91+
rmt_driver_uninstall(_tx_config.channel);
92+
clear_use_rmt_channel(_tx_config.channel);
93+
}
94+
if (_rx_config.channel != RMT_CHANNEL_MAX) {
95+
rmt_rx_stop(_rx_config.channel);
96+
rmt_driver_uninstall(_rx_config.channel);
97+
clear_use_rmt_channel(_rx_config.channel);
98+
}
9799
}
98100

99101
virtual bool begin(const gpio::adapter_config_t& cfg) override

0 commit comments

Comments
 (0)