OneWireNg

Arduino 1-wire service library. OneWire compatible. Dallas thermometers support.

BSD-2-CLAUSE License

Stars
85
Committers
4

Bot releases are visible (Hide)

OneWireNg - v0.13.3 Latest Release

Published by pstolarz 7 months ago

  • New API DSTherm::getTemp2(), MAX31850::getTempInternal2() added.
  • mbed_giga Arduino platform support.
  • CI/CD updates.
OneWireNg - v0.13.2

Published by pstolarz 12 months ago

  • ESP32 platform:
    • ESP32-C2 support
    • Arduino: v3.0.0 core fix
    • Removed dependency on Arduino API
  • CI/CD changes:
    • Raspberry Pico build added
    • ESP-IDF workflow updated to v5.1.1
OneWireNg - v0.13.1

Published by pstolarz over 1 year ago

  • Search filtering: performance improvements.
  • CMakeLists.txt: minor improvements for Pico SDK & ESP-IDF builds.
  • Various CI scripts amendments.
OneWireNg - v0.13.0

Published by pstolarz almost 2 years ago

  • ESP8266 platform:
    • Parasite powering handling fixed (Ardiuno and ESP8266 RTOS SDK frameworks).
    • GPIO handling refactored.
  • ESP-IDF 5 support.
  • RP2040 platform:
    • New bit-banging driver OneWireNg_PicoRP2040.
    • OneWireNg_PicoRP2040PIO PIO driver set as default for RP2040 based boards.
  • Mbed OS:
    • Opta core support added.
    • Removed unnecessary configuration parameters in mbed_lib.json.
  • Examples:
    • DS2431 example added for ESP-IDF, Pico SDK and Mbed frameworks.
    • DallasTemperature: SCAN_BUS changed to MAX_CONV_TIME for temperature conversion.
  • CONFIG_FLASH_CRC_TAB configuration parameter fix.
  • Code optimization turned on for ESP-IDF and Pico SDK frameworks.
  • Documentation amendments.
OneWireNg - v0.12.2

Published by pstolarz almost 2 years ago

  • RP2040 platform changes:
    • New constructor for multi-bus setup added.
    • PIO selection moved from config param to driver constructor.
    • Support for the new RP2040 core added.
    • Mbed OS rp2040_piosm_num_used config parameter fix.
  • Placeholder utility class: operator->() added. Simplified usage of the class in the examples.
  • Static code analysis fixes
  • Various CI improvements
OneWireNg - v0.12.1

Published by pstolarz about 2 years ago

  • Dallas thermometers and MAX31850 drivers: readScratchpadSingle() method added.
  • Placholder utility template extensions.
  • Examples: configuration refactored to align with library configuration scheme.
  • New CI jobs added for the following frameworks: ESP-IDF, Pico SDK, Mbed.
  • Minor code clean-ups and fixes.
OneWireNg - v0.12.0

Published by pstolarz over 2 years ago

  • Breaking change: Library configuration semantics changed - a parameter defined with value 0: not configured, 1: configured. For backward compatibility, if defined w/o value assigned 1 is assumed.
  • Pico SDK framework support added.
  • New type of driver for RP2040 (Rasperry Pi Pico) CPU basing on PIO peripheral (Pico SDK and Ardiono frameworks).
  • CONFIG_SEARCH_ENABLED library configuration added.
  • ESP8266, ESP32: CPU frequency detected at runtime while configured with CONFIG_BITBANG_DELAY_CCOUNT.
  • New examples for Pico SDK and Mbed OS.
  • Improved overdrive mode for MegaAVR,SAM,SAMD,STM32, MbedHAL bit-banging drivers.
  • UNUSED() macro removed.
  • GitHub CI: various improvements.
OneWireNg - v0.11.2

Published by pstolarz over 2 years ago

  • Bug fix: PlatformIO compilation error fix (ESP32)
  • GitHub Actions CI: PlatformIO builds for Arduino and ESP-IDF frameforks
OneWireNg - v0.11.1

Published by pstolarz over 2 years ago

Bug fix release

  • Due to sym-link usage in v0.11.0, Arduino Library Manager refused to index that version. The issue was fixed in this version by reorganization ESP-IDF component directory structure.
  • No changes in the library sources against 0.11.0
OneWireNg - v0.11.0

Published by pstolarz over 2 years ago

  • Breaking change: Parasite powering mode refactored.
    • Touch and write family of methods are augmented by an additional parameter power controlling the strong pull-up following the 1-wire operations.
    • OneWireNg::powerBus() should not to be used explicitly anymore to enable the strong pull-up.
    • DSTherm and OneWire classes updated accordingly.
    • The overall stability of the library in the parasitic mode has been improved.
  • ESP-IDF and ESP8266 RTOS SDK frameworks support.
    • Supported ESP32: classic (Arduino, IDF), C3 (Arduino, IDF), S2 (Arduino, IDF), S3 (Arduino, IDF), H2 (IDF).
    • ESP8266 supported by Arduino and ESP8266 TOS SDK frameworks.
    • DallasTemperature example updated for ESP-IDF and ESP8266 RTOS SDK.
  • Mbed OS based platform support (experimental).
  • Time critical code improvements (mainly ESP32 and ESP8266).
    • CONFIG_BITBANG_DELAY_CCOUNT library configuration.
    • GPIO low level handling moved to IRAM.
    • The library is able to handle over-drive enabled devices for MCU frequencies < 40MHz.
  • CONFIG_CPP_NEW_ALT configuration removed; CONFIG_USE_NATIVE_CPP_NEW added.
  • Platform headers substantially refactored.
OneWireNg - v0.10.3

Published by pstolarz over 2 years ago

This is a bug fix release for v0.10.2.
Due to issues reported for ESP32 platform with CONFIG_BITBANG_TIMING configured as TIMING_RELAXED, the default configuration for this parameter is changed to TIMING_STRICT.

OneWireNg - v0.10.2

Published by pstolarz over 2 years ago

WARNING: Don't use this release. v0.10.3 is a bug-fixed version.

  • CONFIG_BITBANG_TIMING library configuration. Note, the default value of this parameter is TIMING_RELAXED which differs from the previous library behavior corresponding to TIMING_STRICT configuration.
  • CI/CD support added (GitHub Actions) + related unit tests fixes.
  • Static code analyzer issues fixes.
  • keywords.txt updated.
OneWireNg - v0.10.1

Published by pstolarz almost 3 years ago

  • Arduino Mbed OS based platforms support added (RP2040, Nano, Edge, Nicla, Portena)
  • ESP32: deprecated CRITICAL_NESTED API replaced by INTERRUPT_MASK_FROM_ISR counterpart
  • DSTherm driver: SUPPORTED_SLAVES_NUM constant added
  • Configuration parameters may be set separately by -D compiler's option
OneWireNg - v0.10.0

Published by pstolarz almost 3 years ago

  • Breaking change: Search scanning loop refactored and simplified. See README.md and the examples how to update legacy code.
    • EC_DONE removed from OneWireNg::search() return codes. EC_MORE is an alias to EC_SUCCESS.
    • C++11 range loop: auto replaced by auto& for iterated slaves ids. OneWireNg::Id& is returned by an iterator instead of wrapper around this reference.
  • MAX31850 and MAX31851 thermocouples driver.
  • CONFIG_ESP8266_INIT_TIME library configuration.
  • Overdrive mode fix (ESP8266) with some minor improvements.
OneWireNg - v0.9.0

Published by pstolarz about 3 years ago

  • Performance improvements.
    • Various code rearrangements and fixes.
    • Overdrive mode disabled be default.
    • Memory alignment fixes.
  • C++11 range-loop support for iterating over connected slaves.
    • setIterationMode() added.
    • CONFIG_ITERATION_RETRIES library configuration.
    • Examples updated.
  • Improved new allocation support for C++14.
    • CONFIG_CPP_NEW_ALT library configuration.
  • Placeholder utility template.
    • DSTherm: MAKE_SCRATCHPAD removed.
    • DallasTemperature example updated.
  • CONFIG_PWR_CTRL_ENABLED, CONFIG_PWR_CTRL_REV_POLARITY library configuration.
  • OneWire compatibility fixes
    • search() method fix.
    • target_search() added.
    • Missing destructor added.
  • Documentation fixes.
OneWireNg - v0.8.3

Published by pstolarz about 3 years ago

  • ESP32: support for Arduino 2.x SDK.
  • ESP32: support for ESP32-S2, ESP32-C3 chips.
  • OneWire interface: memory alignment issue fix (detected for ESP8266 platform).
OneWireNg - v0.8.2

Published by pstolarz over 3 years ago

Mainly bug fix release:

  • megaAVR: fixed compilation error.
  • STM32: get rid off compilation warnings.
  • In-line doc fixes
OneWireNg - v0.8.1

Published by pstolarz over 3 years ago

  • ESP32: local interrupts disabled on time critical sections
  • Over-drive mode fixes
  • Platform headers added
  • Extended virtual interface
  • Doxygen config fix
OneWireNg - v0.8.0

Published by pstolarz over 3 years ago

  • Dallas thermometers driver
  • searchFilterSize() added
  • Documentation updates
OneWireNg - v0.7.2

Published by pstolarz over 3 years ago

  • OneWire compatibility interface
  • Documentation amendments
Badges
Extracted from project README
Arduino builds PlatformIO builds ESP-IDF builds Pico SDK builds Mbed OS builds Unit tests PlatformIO Registry
Related Projects