Response to reset pulse
This commit is contained in:
46
include/zh_onewire_slave.h
Executable file
46
include/zh_onewire_slave.h
Executable file
@ -0,0 +1,46 @@
|
||||
#pragma once
|
||||
|
||||
#include "esp_err.h"
|
||||
#include "esp_log.h"
|
||||
#include "driver/rmt_tx.h"
|
||||
#include "driver/rmt_rx.h"
|
||||
#include "driver/gpio.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
#include "freertos/queue.h"
|
||||
#include "esp_timer.h"
|
||||
|
||||
#define ZH_ONEWIRE_SLAVE_INIT_CONFIG_DEFAULT() \
|
||||
{ \
|
||||
.bus_pin = GPIO_NUM_5, \
|
||||
.task_priority = 4, \
|
||||
.stack_size = 2048}
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
ZH_DS1820 = 0x10 // DS1920, DS1820, DS18S20, DS18B20.
|
||||
} zh_onewire_slave_device_type_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
zh_onewire_slave_device_type_t device_type;
|
||||
uint8_t device_rom[8];
|
||||
} zh_onewire_slave_device_handler_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t bus_pin; // Onewire bus GPIO connection. @attention Must be pull-up to the VCC via 4.7K resistor.
|
||||
uint8_t task_priority; // Task priority for the onewire messages processing. @note It is not recommended to set a value less than 4.
|
||||
uint16_t stack_size; // Stack size for task for the onewire messages processing. @note The minimum size is 2048 bytes.
|
||||
} zh_onewire_slave_init_config_t;
|
||||
|
||||
esp_err_t zh_onewire_slave_init(const zh_onewire_slave_init_config_t *config);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user