wiegand - Weigand protocol receiver for ESP-IDF

group wiegand

ESP-IDF Wiegand protocol receiver.

Copyright (c) 2021 Ruslan V. Uss unclerus@gmail.com

BSD Licensed as described in the file LICENSE

Typedefs

typedef struct wiegand_reader wiegand_reader_t
typedef void (*wiegand_callback_t)(wiegand_reader_t *reader)

Enums

enum wiegand_order_t

Bit and byte order of data.

Values:

enumerator WIEGAND_MSB_FIRST
enumerator WIEGAND_LSB_FIRST

Functions

esp_err_t wiegand_reader_init(wiegand_reader_t *reader, gpio_num_t gpio_d0, gpio_num_t gpio_d1, bool internal_pullups, size_t buf_size, wiegand_callback_t callback, wiegand_order_t bit_order, wiegand_order_t byte_order)

Create and initialize reader instance.

Parameters:
  • reader – Reader descriptor

  • gpio_d0 – GPIO pin for D0

  • gpio_d1 – GPIO pin for D0

  • internal_pullups – Enable internal pull-up resistors for D0 and D1 GPIO

  • buf_size – Reader buffer size in bytes, must be large enough to contain entire Wiegand key

  • callback – Callback function for processing received codes

  • bit_order – Bit order of data

  • byte_order – Byte order of data

Returns:

ESP_OK on success

esp_err_t wiegand_reader_disable(wiegand_reader_t *reader)

Disable reader.

While reader is disabled, it will not receive new data

Parameters:

reader – Reader descriptor

Returns:

ESP_OK on success

esp_err_t wiegand_reader_enable(wiegand_reader_t *reader)

Enable reader.

Parameters:

reader – Reader descriptor

Returns:

ESP_OK on success

esp_err_t wiegand_reader_done(wiegand_reader_t *reader)

Delete reader instance.

Parameters:

reader – Reader descriptor

Returns:

ESP_OK on success

struct wiegand_reader
#include <wiegand.h>

Wiegand reader descriptor.