You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
8 years ago | |
|---|---|---|
| doc | 8 years ago | |
| main | 8 years ago | |
| .gitignore | 8 years ago | |
| .travis.yml | 8 years ago | |
| LICENSE | 8 years ago | |
| Makefile | 8 years ago | |
| README.md | 8 years ago | |
| sdkconfig | 8 years ago | |
README.md
ESP32-DS18B20
Introduction
This is a ESP32-compatible C library for the Maxim Integrated DS18B20 Programmable Resolution 1-Wire Digital Thermometer device.
It supports multiple devices on the same 1-Wire bus.
It is written and tested for the ESP-IDF environment, using the xtensa-esp32-elf toolchain (gcc version 5.2.0).
Features
This library includes:
- External power supply mode (parasitic mode not yet supported).
- Static (stack-based) or dynamic (malloc-based) memory model.
- No globals - support any number of 1-Wire buses simultaneously.
- 1-Wire device detection and validation, including search for multiple devices on a single bus.
- Addressing optimisation for a single (solo) device on a bus.
- 1-Wire bus operations including multi-byte read and write operations.
- CRC checks on ROM code and temperature data.
- Programmable temperature measurement resolution (9, 10, 11 or 12-bit resolution).
- Temperature conversion and retrieval.
- Separation of conversion and temperature retrieval to allow for simultaneous conversion across multiple devices.
Documentation
Automatically generated API documentation (doxygen) is available here.
Source Code
The source is available from GitHub.
License
The code in this project is licensed under the MIT license - see LICENSE for details.
Links
- DS18B20 Datasheet
- 1-Wire Communication Through Software
- 1-Wire Search Algorithm
- Espressif IoT Development Framework for ESP32
Acknowledgements
Parts of this code are based on references provided to the public domain by Maxim Integrated.
"1-Wire" is a registered trademark of Maxim Integrated.
Roadmap
The following features are anticipated but not yet implemented:
- Documented examples.
- Concurrency support (multiple tasks accessing devices on the same bus).
- Alarm support.
- EEPROM support.
- Parasitic power support.
- FreeRTOS event-based example.