# HG changeset patch # User Michiel Broek # Date 1719241747 -7200 # Node ID 96ee5cb45b370c7fb21790f8a33abde6a92c4039 # Parent 31f9d3e4a85f58213845001ae57d42b0b927d248 Added new files and remove obsolete. diff -r 31f9d3e4a85f -r 96ee5cb45b37 components/esp32-owb/doc/.gitignore --- a/components/esp32-owb/doc/.gitignore Mon Jun 24 17:05:20 2024 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ -html/ -latex/ - diff -r 31f9d3e4a85f -r 96ee5cb45b37 components/esp32-owb/include/owb_rmt_bus_symbols.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/esp32-owb/include/owb_rmt_bus_symbols.h Mon Jun 24 17:09:07 2024 +0200 @@ -0,0 +1,42 @@ +/** + * Copyright (c) 2023 mjcross + * + * SPDX-License-Identifier: MIT +**/ + +#include "owb_rmt_bus_timings.h" + +// RMT transmit channel symbols for the onewire bus signals and conditions +// + +// basic bus levels +// ---------------- +// note: we configure the transmit channel to be hardware inverted, +// so that the bus initialises in the 'released' state +#define OWB_RMT_BUS_ASSERTED 1 +#define OWB_RMT_BUS_RELEASED 0 + +// bus symbols as `rmt_symbol_word_t` +// ---------------------------------- + +// send 'zero' bit +#define OWB_RMT_SYMBOL_0BIT { \ + .level0 = OWB_RMT_BUS_ASSERTED, \ + .duration0 = OWB_TIMING_PARAM_C, \ + .level1 = OWB_RMT_BUS_RELEASED, \ + .duration1 = OWB_TIMING_PARAM_D } + +// send 'one' bit +#define OWB_RMT_SYMBOL_1BIT { \ + .level0 = OWB_RMT_BUS_ASSERTED, \ + .duration0 = OWB_TIMING_PARAM_A, \ + .level1 = OWB_RMT_BUS_RELEASED, \ + .duration1 = OWB_TIMING_PARAM_B } + +// send bus reset +#define OWB_RMT_SYMBOL_RESET { \ + .level0 = OWB_RMT_BUS_ASSERTED, \ + .duration0 = OWB_TIMING_PARAM_H, \ + .level1 = OWB_RMT_BUS_RELEASED, \ + .duration1 = OWB_TIMING_PARAM_I + OWB_TIMING_PARAM_J } + diff -r 31f9d3e4a85f -r 96ee5cb45b37 components/esp32-owb/include/owb_rmt_bus_timings.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/esp32-owb/include/owb_rmt_bus_timings.h Mon Jun 24 17:09:07 2024 +0200 @@ -0,0 +1,20 @@ +// onewire bus master timings + +// standard rate master timings recommended in the 1-Wire specification +// the values below are the ones recommended by the specification. + +// for the meaning of each parameter, see the following document: +// https://www.analog.com/en/technical-articles/1wire-communication-through-software.html + +// all values in microsec +#define OWB_TIMING_PARAM_A 6 +#define OWB_TIMING_PARAM_B 64 +#define OWB_TIMING_PARAM_C 60 +#define OWB_TIMING_PARAM_D 10 +#define OWB_TIMING_PARAM_E 9 +#define OWB_TIMING_PARAM_F 55 +#define OWB_TIMING_PARAM_G 0 +#define OWB_TIMING_PARAM_H 480 +#define OWB_TIMING_PARAM_I 70 +#define OWB_TIMING_PARAM_J 410 + diff -r 31f9d3e4a85f -r 96ee5cb45b37 components/esp32-owb/library.json --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/components/esp32-owb/library.json Mon Jun 24 17:09:07 2024 +0200 @@ -0,0 +1,30 @@ +{ + "name": "esp32-owb", + "keywords": "onewire, 1-wire, bus, sensor, temperature", + "description": "ESP32-compatible C component for the Maxim Integrated 1-Wire protocol.", + "repository": + { + "type": "git", + "url": "https://github.com/DavidAntliff/esp32-owb.git" + }, + "authors": + [ + { + "name": "David Antliff", + "url": "https://github.com/DavidAntliff", + "maintainer": true + }, + { + "name": "Chris Morgan", + "url": "https://github.com/chmorgan" + } + ], + "version": "0.1", + "frameworks": "espidf", + "platforms": "espressif32", + "build": { + "flags": [ + "-I include/" + ] + } +} diff -r 31f9d3e4a85f -r 96ee5cb45b37 main/idf_component.yml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main/idf_component.yml Mon Jun 24 17:09:07 2024 +0200 @@ -0,0 +1,17 @@ +## IDF Component Manager Manifest File +dependencies: + espressif/expat: "^2.6.2" + ## Required IDF version + idf: + version: ">=4.1.0" + # # Put list of dependencies here + # # For components maintained by Espressif: + # component: "~1.0.0" + # # For 3rd party components: + # username/component: ">=1.0.0,<2.0.0" + # username2/component2: + # version: "~1.0.0" + # # For transient dependencies `public` flag can be set. + # # `public` flag doesn't have an effect dependencies of the `main` component. + # # All dependencies of `main` are public by default. + # public: true