-
Notifications
You must be signed in to change notification settings - Fork 96
Description
I am struggling to get the ATtiny816 to respond as a OneWire device to an ESP32 master. Running the DS18B20 example.
Background info:
The bus and master physically work. I have another real DS18B20 on the same OneWire bus and it's seen fine by the host (an ESP32); the reset pulse from the ESP32 looks a strong low on a 'scope. I've tested the ATtiny without this separate device on the bus as well.
I can run the DS18B20 emulation code fine on an ATtiny85, so it's something related to the ATtiny816.
4k7 pullup is on the ESP32 end.
I'm using PlatformIO, but I don't suspect that makes a difference.
Nothing else is hooked up to the ATtiny apart from a 1uF cap from VCC to GND and the debug LED.
The DS18B20 emulation code runs on the ATtiny816, with the LED/blink at exactly 1s, but nothing on OneWire.
I've confirmed the OneWire pin I'm using on the ATtiny (10 / PB4) can be manipulated fine from the code, and it receives the low pulse into the calibration code.
The ATtiny816 runs the calibration code with a serial output, but I had to edit to while (repetitions++ < 5) in order for it to come out of the other end with a value_ipl (which strangely gives me 11 not 13 which is the default for the AVR)
No response on OneWire for IPL at either 11, 12 or 13
I have set fuses to use both 16Mhz and 20Mhz internal clock.
OneWireHub version 3.0.0
PlatformIO config:
platform = atmelmegaavr
platform_packages = platformio/tool-avrdude
board = attiny816
build_flags = -DCLOCK_SOURCE=6
framework = arduino
board_build.f_cpu = 16000000L
upload_protocol = serialupdi
lib_deps = orgua/OneWireHub