mikroSDK Reference Manual
drv_one_wire.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2023 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
48 extern "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 
66 typedef struct {
67  uint8_t address[8];
69 
77 typedef struct {
78  pin_name_t data_pin;
79  bool state;
80 } one_wire_t;
81 
189 
226 
265 
306 err_t one_wire_read_rom( one_wire_t *obj, one_wire_rom_address_t *device_rom_address );
307 
358 
407 err_t one_wire_match_rom( one_wire_t *obj, one_wire_rom_address_t *device_rom_address );
408 
452 
504 
551 err_t one_wire_write_byte( one_wire_t *obj, uint8_t *write_data_buffer, size_t write_data_length );
552 
605 err_t one_wire_read_byte( one_wire_t *obj, uint8_t *read_data_buffer, size_t read_data_length );
606  // drvonewiregroup // drvgroup // pergroup
610 
611 #ifdef __cplusplus
612 }
613 #endif
614 
615 #endif // _DRV_ONE_WIRE_H_
616 // ------------------------------------------------------------------------- END
drv_name.h
Pin and port name type definitions.
hal_one_wire.h
API for One Wire HAL layer.
one_wire_open
err_t one_wire_open(one_wire_t *obj)
Opens One Wire Driver object.
one_wire_read_byte
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.
one_wire_write_byte
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.
one_wire_search_first_device
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.
ONE_WIRE_SUCCESS
Definition: drv_one_wire.h:57
one_wire_match_rom
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.
one_wire_read_rom
err_t one_wire_read_rom(one_wire_t *obj, one_wire_rom_address_t *device_rom_address)
Reads device's ROM information.
one_wire_t
One Wire Driver initialization configuration structure.
Definition: drv_one_wire.h:76
one_wire_configure_default
void one_wire_configure_default(one_wire_t *obj)
Configures One Wire Driver configuration structure.
one_wire_rom_address_t
Structure for storing One Wire device address.
Definition: drv_one_wire.h:65
one_wire_reset
err_t one_wire_reset(one_wire_t *obj)
Resets One Wire bus.
pin_name_t
hal_pin_name_t pin_name_t
Definition: drv_name.h:73
ONE_WIRE_ERROR
Definition: drv_one_wire.h:58
err_t
int32_t err_t
Definition: hal_target.h:63
one_wire_error_t
one_wire_error_t
One Wire Driver return values.
Definition: drv_one_wire.h:56
one_wire_search_next_device
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.
one_wire_skip_rom
err_t one_wire_skip_rom(one_wire_t *obj)
Access device's level functions without transmitting ROM information.