← index #8325PR #1095
Related · high · value 0.581
QUERY · ISSUE

MicroPython OneWire protocol BUG?

openby beyonloopened 2022-02-18updated 2024-09-08
enhancement

Hello!

I'm using the onewire CI DS28E05 (https://datasheets.maximintegrated.com/en/ds/DS28E05.pdf) but Micropython ow.scan() show nothing. That is a onewire chip, so it use/works with the onewire protocol, of course. Well, if it is onewire protocol, the CI address need to be shown on the ow.scan() right?

>>> os.uname()
(sysname='esp32', nodename='esp32', release='1.18.0', version='v1.18 on 2022-01-17', machine='ESP32 module (spiram) with ESP32')
>>> from machine import Pin
>>> import onewire
>>> ow = onewire.OneWire(Pin(25))
>>> ow.scan()
[]
>>>

Just to you know that onewire pin are working, if I use another onewire chip, the DS18b20 CI, it shows the address on the ow.scan() as follow bellow:


>>> os.uname()
(sysname='esp32', nodename='esp32', release='1.18.0', version='v1.18 on 2022-01-17', machine='ESP32 module (spiram) with ESP32')
>>> from machine import Pin
>>> import onewire
>>> ow = onewire.OneWire(Pin(25))
>>> ow.scan()
[bytearray(b'(\xa7I\xf0\x0c\x00\x00\x17')]
>>>

Any idea what is wrong? Is it a MicroPython OneWire protocol BUG or what I need to do to works the ow.scan()?

Thank you in advance.

CANDIDATE · PULL REQUEST

Adding onewire support

closedby jdhildebopened 2015-01-30updated 2015-03-03

I've begun working on onewire support for micropython. I started in pure python but couldn't get the timing tight enough so ended up porting an existing onewire library to micropython.

There are still some to-dos of course, but it's working in simple tests (see the example python code).

One question at this point - does it make sense to refactor and move this code to the drivers directory? (i.e. to decouple from stmhal). I'm not sure what the approach should be to make this more useful for the other ports, but after looking around the codebase that is that I think makes sense - please confirm.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied