Skip to content

HydraFW Wiegand guide

Baldanos edited this page Sep 29, 2018 · 11 revisions

HydraFW Bus Wiegand

Bus: Wiegand
Connections: two pins (D0/D1) and ground.
Output types: 3.3volt normal output, or open drain
(pull-up/pull-down resistors integrated in MCU or external).
Pull-up resistors: required for open collector output mode (2K – 10K).
Maximum Voltage: 5.5volts (5volt safe).

This guide is updated towards firmware release HydraFW v0.9 Beta

Protocol configuration syntax description:

  • show Show wiegand parameters or show pins Show pins used in this mode

  • device with parameter 1

  • pull with parameter up or down or floating to choose internal MCU pull up/down or no pull/external

  • exit to exit wiegand mode


Note default value: > wiegand Device: wiegand1 GPIO resistor: floating Pulse timing: 100us Pulse gap timing: 20000us


### Configuration options:

**Hardware Informations:**

wiegand1> show pins D0: PB8 D1: PB9


### Protocol configuration example:

**Configuration of twowire1 500KHz:**

wiegand Device: wiegand1 GPIO resistor: floating Pulse timing: 100us Pulse gap timing: 20000us


## Protocol interaction syntax description:

`r` or `read` Read one byte. (r:1…255 for bulk reads)

`hd` Read one byte. (hd:1…255 for bulk reads). Displays a hexdump of the result (See [Hexdump guide](https://github.com/hydrabus/hydrafw/wiki/HydraFW-Hex-dump-guide))

`w` or `write` Followed by values to write byte(s). (w:1…255 for bulk writes)

`0` Write this Octal value. Format is prefixed by a 0 (values from 000 to 077)

`0b` Write this binary value. Format is 0b00000000 for a byte, but partial bytes are also fine: 0b1001. 

`0x` Write this HEX value. Format is 0x01. Partial bytes are fine: 0xA. A-F can be lower-case or capital letters. 

`0-255` Write this decimal value. Any number not preceded by 0x or 0b is interpreted as a decimal value. 

`"` Write an ASCII-encoded string

Write support optional repeat `:` (eg.: 10:1…255 for repeated write of same value 10 in this example)

`space` Value delimiter.
Use a space to separate numbers/commands.
Any combination is fine, delimiter is required between each number/command, example: `[ 0x1 0xff 0 10 0b11 077 ]`

`&` Delay 1uS. (&:1…1000000 for multiple delays)

`%` Delay 1mS. (%:1…1000000 for multiple delays)

`~` Write a random byte. (~:10 repeats the same random byte 10 times) 

### **Protocol interaction example usage twowire1 write/read:**

wiegand1> 0x01 0x02 ~ r 0x00:4 WRITE: 0x01 0x02 0x8B READ: 1 WRITE: 0x00 0x00 0x00 0x00


## Additional informations about wiegand

For more information about the protocol, see
https://en.wikipedia.org/wiki/Wiegand_interface

How to Flash/Use HydraFW

How to Build/Flash/Use HydraFW

Developer Getting-Started with HydraBus and STM32CubeIDE

Hardware

Firmware (hydrafw) performances

Firmware (hydrafw) Application guides

Firmware (hydrafw) guides

How to Help

Clone this wiki locally