Skip to content

version 2.0.0

Compare
Choose a tag to compare
@orgua orgua released this 10 Nov 10:13

big pile of changes:

  • overdrive for onewire, even for atmega328 @ 16 Mhz (arduino uno)
  • rework / clean handling of timing-constants with user defined literals.
  • extend const-correctness to all onewire-slaves and unify naming of functions across similar devices
  • include tests into each device-example and add a lot of get()/set() for internal device-states
  • full support for ds2423, ds2450 and ds2503/5/6
  • fix and enhance ds2431, ds2433, ds2502, ds2890, probably every slave got a rework
  • new timing-method with nanosecond-resolution and without guessing, micros(), delay() or similar arduino-fn
  • rework send() and recv(), much more efficient -> less time without interrupts (no missing time with millis())! AND code is more compact (ds2433.cpp shrinks from 176 to 90 LOC)
  • offline calibration by watching the bus (examples/debug/calibrate_by_bus_timing)
    • you need to calibrate your architecture if not already done
    • it helps if you have a logic analyzer
  • branch for online calibration was abandoned because it took to much resources (DS18B20-Sketch compiled to 8434 & 482 bytes instead of 7026 & 426 bytes now)
  • debug-pin shows state by issuing high-states - see explanation in "features"
  • teensy3.2 tested: cleaned warnings, fixed port access, cleaned examples
  • sensors with emulated memory use memset and static_asserts to secure implementation
  • a lot of cleanup
  • no return value for hub.search() or item.duty() needed anymore
  • returns 1 if error occured in the following functions: recv(buf[]), send(), awaitTimeslot(), sendBit(), checkReset(), showPrescence(), recvAndProzessCmd()