mikroSDK Reference Manual
drv_one_wire.h
Go to the documentation of this file.
1/****************************************************************************
2**
3** Copyright (C) 2024 MikroElektronika d.o.o.
4** Contact: https://www.mikroe.com/contact
5**
6** This file is part of the mikroSDK package
7**
8** Commercial License Usage
9**
10** Licensees holding valid commercial NECTO compilers AI licenses may use this
11** file in accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The MikroElektronika Company.
14** For licensing terms and conditions see
15** https://www.mikroe.com/legal/software-license-agreement.
16** For further information use the contact form at
17** https://www.mikroe.com/contact.
18**
19**
20** GNU Lesser General Public License Usage
21**
22** Alternatively, this file may be used for
23** non-commercial projects under the terms of the GNU Lesser
24** General Public License version 3 as published by the Free Software
25** Foundation: https://www.gnu.org/licenses/lgpl-3.0.html.
26**
27** The above copyright notice and this permission notice shall be
28** included in all copies or substantial portions of the Software.
29**
30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
31** OF MERCHANTABILITY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
32** TO THE WARRANTIES FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
33** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
34** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
35** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
36** OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
37**
38****************************************************************************/
44#ifndef _DRV_ONE_WIRE_H_
45#define _DRV_ONE_WIRE_H_
46
47#ifdef __cplusplus
48extern "C"{
49#endif
50
51#include "hal_one_wire.h"
52#include "drv_name.h"
53
57 typedef enum {
59 ONE_WIRE_ERROR = (-1)
61
66typedef struct {
67 uint8_t address[8];
69
77typedef struct {
79 bool state;
81
189
226
265
307
358
408
452
504
551err_t one_wire_write_byte( one_wire_t *obj, uint8_t *write_data_buffer, size_t write_data_length );
552
605err_t one_wire_read_byte( one_wire_t *obj, uint8_t *read_data_buffer, size_t read_data_length );
606
607 // drvonewiregroup
608 // drvgroup
609 // pergroup
610
611#ifdef __cplusplus
612}
613#endif
614
615#endif // _DRV_ONE_WIRE_H_
616// ------------------------------------------------------------------------- END
Pin and port name type definitions.
hal_pin_name_t pin_name_t
Definition drv_name.h:74
one_wire_error_t
One Wire Driver return values.
Definition drv_one_wire.h:57
@ ONE_WIRE_ERROR
Definition drv_one_wire.h:59
@ ONE_WIRE_SUCCESS
Definition drv_one_wire.h:58
err_t one_wire_write_byte(one_wire_t *obj, uint8_t *write_data_buffer, size_t write_data_length)
Writes byte to One Wire bus.
err_t one_wire_search_next_device(one_wire_t *obj, one_wire_rom_address_t *one_wire_device_list)
Search One Wire capable devices on bus.
err_t one_wire_read_rom(one_wire_t *obj, one_wire_rom_address_t *device_rom_address)
Reads device's ROM information.
err_t one_wire_reset(one_wire_t *obj)
Resets One Wire bus.
void one_wire_configure_default(one_wire_t *obj)
Configures One Wire Driver configuration structure.
err_t one_wire_read_byte(one_wire_t *obj, uint8_t *read_data_buffer, size_t read_data_length)
Reads byte from One Wire bus.
err_t one_wire_skip_rom(one_wire_t *obj)
Access device's level functions without transmitting ROM information.
err_t one_wire_open(one_wire_t *obj)
Opens One Wire Driver object.
err_t one_wire_search_first_device(one_wire_t *obj, one_wire_rom_address_t *one_wire_device_list)
Search One Wire capable device on bus.
err_t one_wire_match_rom(one_wire_t *obj, one_wire_rom_address_t *device_rom_address)
Select a specific One Wire capable device on bus.
API for One Wire HAL layer.
int32_t err_t
Definition hal_target.h:64
Structure for storing One Wire device address.
Definition drv_one_wire.h:66
One Wire Driver initialization configuration structure.
Definition drv_one_wire.h:77
bool state
Definition drv_one_wire.h:79
pin_name_t data_pin
Definition drv_one_wire.h:78