Skip to content

Commit bbcac32

Browse files
authored
Merge pull request #10 from junkfix/junkfix-patch-1
possible fix for ESP32C3, ESP32C6, ESP32H2
2 parents 71dbf53 + 15a8789 commit bbcac32

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

OneWireESP32.cpp

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,18 @@ OneWire32::OneWire32(uint8_t pin, uint8_t tx, uint8_t rx, uint8_t parasite){
5555
drvrx = 1;
5656
rmt_set_source_clk(owrx, RMT_BASECLK_APB);
5757
rmt_get_ringbuf_handle(owrx, &owbuf);
58-
if(owpin < 32){
59-
GPIO.enable_w1ts = (0x1 << owpin);
60-
}else{
61-
GPIO.enable1_w1ts.data = (0x1 << (owpin - 32));
62-
}
58+
#if !ESP32
59+
#error ESP8266 not supported
60+
#elif ESP32 == 4 || ESP32 == 5 || ESP32 == 6
61+
//ESP32C3, ESP32C6, ESP32H2
62+
GPIO.enable_w1ts.val = (0x1 << owpin);
63+
#else
64+
if(owpin < 32){
65+
GPIO.enable_w1ts = (0x1 << owpin);
66+
}else{
67+
GPIO.enable1_w1ts.data = (0x1 << (owpin - 32));
68+
}
69+
#endif
6370
rmt_set_gpio(owrx, RMT_MODE_RX, owpin, false);
6471
rmt_set_gpio(owtx, RMT_MODE_TX, owpin, false);
6572
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[owpin]);

0 commit comments

Comments
 (0)