All Projects → DavidAntliff → esp32-owb

DavidAntliff / esp32-owb

Licence: MIT license
Maxim One Wire Bus driver for ESP32.

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to esp32-owb

esp32-ds18b20
ESP32-compatible C library for Maxim Integrated DS18B20 Programmable Resolution 1-Wire Digital Thermometer.
Stars: ✭ 61 (-46.96%)
Mutual labels:  one-wire, esp-idf
WebSockets-ESP-IDF
WebSockets on ESP-IDF
Stars: ✭ 21 (-81.74%)
Mutual labels:  esp-idf
ant-arduino
An implementation of a ANT driver for Arduino, Mbed and ESP-IDF
Stars: ✭ 69 (-40%)
Mutual labels:  esp-idf
Arduino Esp32
Arduino core for the ESP32
Stars: ✭ 7,741 (+6631.3%)
Mutual labels:  esp-idf
ESP32-LCD-I2S
Espressif ESP32 driving a controller-less monochrome lcd with parallel I2S bus
Stars: ✭ 54 (-53.04%)
Mutual labels:  esp-idf
esp32-xbee
ESP32 XBee UART Interface
Stars: ✭ 48 (-58.26%)
Mutual labels:  esp-idf
esp32-e-paper-weatherdisplay
An ESP32 and 4.2" ePaper Display reads Dark Sky weather API and displays the weather using ESP-IDF
Stars: ✭ 110 (-4.35%)
Mutual labels:  esp-idf
esp-idf-rc522
C library for interfacing ESP32 with MFRC522 RFID card reader, packaged as ESP-IDF component
Stars: ✭ 60 (-47.83%)
Mutual labels:  esp-idf
bme280-esp-idf-i2c
Sample code for reading values from a BME280 temperature-humidity-pressure sensor, via ESP-IDF's I2C master driver, supports both normal mode and forced mode described in the datasheet. https://ae-bst.resource.bosch.com/media/_tech/media/datasheets/BST-BME280_DS001-11.pdf
Stars: ✭ 38 (-66.96%)
Mutual labels:  esp-idf
esp-idf-w25q64
SPI Flash Memory W25Q64 Access Library for esp-idf
Stars: ✭ 12 (-89.57%)
Mutual labels:  esp-idf
esp-idf-json
Example of JSON Serialize and Deserialize in ESP-IDF
Stars: ✭ 29 (-74.78%)
Mutual labels:  esp-idf
esp-idf-vscode-boilerplate
Boilerplate for developing ESP-IDF applications using VS Code
Stars: ✭ 26 (-77.39%)
Mutual labels:  esp-idf
OneWireNg
Arduino 1-wire service library. OneWire compatible. Dallas thermometers support.
Stars: ✭ 32 (-72.17%)
Mutual labels:  one-wire
cookiecutter-esp32-webserver
Cookiecutter template to get you quickly started with an ESP32-based webserver project.
Stars: ✭ 13 (-88.7%)
Mutual labels:  esp-idf
esp-idf-hal
embedded-hal implementation for Rust on ESP32 and ESP-IDF
Stars: ✭ 42 (-63.48%)
Mutual labels:  esp-idf
wireless-esp8266-dap
ESP8266 Wireless Debugger. Based on CMSIS-DAP v2.0.0. Optional 40MHz SPI acceleration, etc. ESP8266 无线调试器
Stars: ✭ 154 (+33.91%)
Mutual labels:  esp-idf
w1-gpio-cl
Command line configured kernel mode 1-wire bus master driver. w1-gpio standard Linux module enhancement/substitution.
Stars: ✭ 17 (-85.22%)
Mutual labels:  one-wire
idfx
Tool for flash/monitor ESP-IDF and ESP8266_SDK apps on the WSL2 ⚡
Stars: ✭ 71 (-38.26%)
Mutual labels:  esp-idf
Core2-for-AWS-IoT-EduKit
Accompanying code for use with AWS IoT EduKit content. Works with PlatformIO and ESP-IDF v4.2.
Stars: ✭ 107 (-6.96%)
Mutual labels:  esp-idf
MaximAI Documentation
START HERE: Documentation for ADI's MAX78000 and MAX78002 AI devices
Stars: ✭ 63 (-45.22%)
Mutual labels:  maxim

esp32-owb

This is a ESP32-compatible C component for the Maxim Integrated "1-Wire" protocol.

It is written and tested for version 3.0-3.3 and 4.1-beta1 of the ESP-IDF environment, using the xtensa-esp32-elf toolchain (gcc version 5.2.0, crosstool-ng-1.22.0-80-g6c4433a).

Support for v2.1 is available on the ESP-IDF_v2.1 branch.

Features

This library includes:

  • External power supply mode.
  • Parasitic power mode.
  • 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.

This component includes two methods of bus access - delay-driven GPIO and RMT-driven slots. The original implementation used CPU delays to construct the 1-Wire read/write timeslots however this proved to be too unreliable. A second method, using the ESP32's RMT peripheral, results in very accurate read/write timeslots and more reliable operation.

Therefore I highly recommend that you use the RMT driver. The GPIO driver is deprecated and will be removed.

See documentation for esp32-ds18b20 for further information about parasitic power mode, including strong pull-up configuration.

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

Acknowledgements

Thank you to Chris Morgan for his contribution of adding RMT peripheral support for more reliable operation.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].