HydraFW 1 wire guide - hydrabus/hydrafw GitHub Wiki
HydraFW Bus 1-wire
This guide is updated towards firmware release HydraFW v0.11 and later
Bus: 1-wire
Connections: One pin and ground
Output types: open drain/open collector
Pull-up resistors: required for open drain output mode (2K – 10K).
Pull-up/down resistors Integrated in MCU: Between 30 to 50K (Typical 40K).
Maximum voltage: 5.5volts (5volt safe)
Protocol configuration syntax description:
-
showShow 1-wire parameters orshow pinsShow pins used in this mode -
pullwith parameterupordownorfloatingto choose internal MCU pull up/down or no pull/external -
msb-firstorlsb-firstto send/receive respectively MSB first or LSB first. -
scanDiscovers one or multiple devices on the 1-wire bus and displays their addresses. -
debugUse the 1-wire line as a SWIO debugger probe compatible with minichlink -
exitto exit 1-wire mode
Note default value:
> 1-wire
Device: onewire1
GPIO resistor: floating
Bit order: LSB first
Configuration options:
Hardware Informations:
onewire1> show pins
PIN: PB11
Protocol configuration example:
Configuration of onewire1 wit internal pullup :
> 1-wire
Device: onewire1
GPIO resistor: floating
Bit order: LSB first
onewire1> pull up
onewire1> show
Device: onewire1
GPIO resistor: pull-up
Bit order: LSB first
onewire1>
Protocol interaction syntax description:
trigger configures the trigger mode
Protocol interaction example usage onewire1 write/read:
onewire1> scan
Discovered devices : 28 FF 10 2E A6 15 01 3B
onewire1> [ 0x33 hd:8
WRITE: 0x33
28 FF 10 2E A6 15 01 3B | (......;
Additional informations about 1-wire
For more information about the 1-wire protocol, see : https://www.maximintegrated.com/en/app-notes/index.mvp/id/1796
SWIO protocol interaction
Since a2d1f57d96c454d93113f98bfb4391cf17cc0d42, Hydrabus can be used to program SWIO-enabled microcontrollers like CH32V003.
The debug spawns a "Ardulink" interface that can be used with minichlink.
Note that an external 1K pullup resistor must be added in order to work correctly. The STM32F405 internal pullups are too strong and don't allow the line to rise fast enough.