OneWire-UART¶
-
group
OW
OneWire API.
- Note
Functions with
_raw
suffix do no implement locking mechanism when used with operating system.
Defines
-
OW_UNUSED
(x)¶ Unused variable macro
-
OW_ASSERT
(msg, c)¶ Assert check function.
-
OW_ASSERT0
(msg, c)¶ Assert check function with return
0
-
OW_ARRAYSIZE
(x)¶ Get size of statically declared array.
- Return
Number of array elements
- Parameters
[in] x
: Input array
-
OW_CMD_RSCRATCHPAD
¶ Read scratchpad command for 1-Wire devices
-
OW_CMD_WSCRATCHPAD
¶ Write scratchpad command for 1-Wire devices
-
OW_CMD_CPYSCRATCHPAD
¶ Copy scratchpad command for 1-Wire devices
-
OW_CMD_RECEEPROM
¶ Read EEPROM command
-
OW_CMD_RPWRSUPPLY
¶ Read power supply command
-
OW_CMD_SEARCHROM
¶ Search ROM command
-
OW_CMD_READROM
¶ Read ROM command
-
OW_CMD_MATCHROM
¶ Match ROM command. Select device with specific ROM
-
OW_CMD_SKIPROM
¶ Skip ROM, select all devices
Typedefs
Enums
Functions
-
owr_t
ow_init
(ow_t *const ow, const ow_ll_drv_t *const ll_drv, void *arg)¶ Initialize OneWire instance.
-
uint8_t
ow_write_byte_raw
(ow_t *const ow, const uint8_t b)¶ Write byte over 1-wire protocol.
- Return
Received byte over 1-wire protocol
- Parameters
[inout] ow
: 1-Wire handle[in] b
: Byte to write
-
uint8_t
ow_write_byte
(ow_t *const ow, const uint8_t b)¶ Write byte over 1-wire protocol.
- Return
Received byte over 1-wire protocol
- Note
This function is thread-safe
- Parameters
[inout] ow
: 1-Wire handle[in] b
: Byte to write
-
uint8_t
ow_read_byte_raw
(ow_t *const ow)¶ Read next byte on 1-Wire.
- Return
Byte read over 1-Wire
- Parameters
[inout] ow
: 1-Wire handle
-
uint8_t
ow_read_byte
(ow_t *const ow)¶ Read next byte on 1-Wire.
- Return
Byte read over 1-Wire
- Note
This function is thread-safe
- Parameters
[inout] ow
: 1-Wire handle
-
uint8_t
ow_read_bit_raw
(ow_t *const ow)¶ Read single bit on 1-Wire network.
- Return
Bit value
- Parameters
[inout] ow
: 1-Wire handle
-
uint8_t
ow_read_bit
(ow_t *const ow)¶ Read single bit on 1-Wire network.
- Return
Bit value
- Note
This function is thread-safe
- Parameters
[inout] ow
: 1-Wire handle
-
owr_t
ow_search_raw
(ow_t *const ow, ow_rom_t *const rom_id)¶ Search for devices on 1-wire bus.
- Note
To reset search and to start over, use ow_search_reset function
- Return
- Parameters
[inout] ow
: 1-Wire handle[out] rom_id
: Pointer to ROM structure to save ROM
-
owr_t
ow_search
(ow_t *const ow, ow_rom_t *const rom_id)¶ Search for devices on 1-wire bus.
- Note
To reset search and to start over, use ow_search_reset function
- Return
- Note
This function is thread-safe
- Parameters
[inout] ow
: 1-Wire handle[out] rom_id
: Pointer to ROM structure to save ROM
-
owr_t
ow_search_with_command_raw
(ow_t *const ow, const uint8_t cmd, ow_rom_t *const rom_id)¶ Search for devices on 1-wire bus with custom search command.
- Note
To reset search and to start over, use ow_search_reset function
- Return
- Parameters
[inout] ow
: 1-Wire handle[in] cmd
: command to use for search operation[out] rom_id
: Pointer to ROM structure to store address
-
owr_t
ow_search_with_command
(ow_t *const ow, const uint8_t cmd, ow_rom_t *const rom_id)¶ Search for devices on 1-wire bus with custom search command.
- Note
To reset search and to start over, use ow_search_reset function
- Return
- Note
This function is thread-safe
- Parameters
[inout] ow
: 1-Wire handle[in] cmd
: command to use for search operation[out] rom_id
: Pointer to ROM structure to store address
-
owr_t
ow_search_with_command_callback
(ow_t *const ow, const uint8_t cmd, size_t *const roms_found, const ow_search_cb_fn func, void *const arg)¶ Search devices on 1-wire network by using callback function and custom search command.
When new device is detected, callback function
func
is called to notify user- Return
- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle[in] cmd
: 1-Wire search command[out] roms_found
: Output variable to save number of found devices. Set toNULL
if not used[in] func
: Callback function to call for each device[in] arg
: Custom user argument, used in callback function
-
owr_t
ow_search_with_callback
(ow_t *const ow, size_t *const roms_found, const ow_search_cb_fn func, void *const arg)¶ Search devices on 1-wire network by using callback function and
SEARCH_ROM
1-Wire command.When new device is detected, callback function
func
is called to notify user- Return
- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle[out] roms_found
: Output variable to save number of found devices. Set toNULL
if not used[in] func
: Callback function to call for each device[in] arg
: Custom user argument, used in callback function
-
owr_t
ow_search_devices_with_command_raw
(ow_t *const ow, const uint8_t cmd, ow_rom_t *const rom_id_arr, const size_t rom_len, size_t *const roms_found)¶ Search for devices on 1-Wire network with command and store ROM IDs to input array.
- Return
- Parameters
[in] ow
: 1-Wire handle[in] cmd
: 1-Wire search command[in] rom_id_arr
: Pointer to output array to store found ROM IDs into[in] rom_len
: Length of input ROM array[out] roms_found
: Output variable to save number of found devices. Set toNULL
if not used
-
owr_t
ow_search_devices_with_command
(ow_t *const ow, const uint8_t cmd, ow_rom_t *const rom_id_arr, const size_t rom_len, size_t *const roms_found)¶ Search for devices on 1-Wire network with command and store ROM IDs to input array.
- Return
- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle[in] cmd
: 1-Wire search command[in] rom_id_arr
: Pointer to output array to store found ROM IDs into[in] rom_len
: Length of input ROM array[out] roms_found
: Output variable to save number of found devices. Set toNULL
if not used
-
owr_t
ow_search_devices_raw
(ow_t *const ow, ow_rom_t *const rom_id_arr, const size_t rom_len, size_t *const roms_found)¶ Search for devices on 1-Wire network with default command and store ROM IDs to input array.
-
owr_t
ow_search_devices
(ow_t *const ow, ow_rom_t *const rom_id_arr, const size_t rom_len, size_t *const roms_found)¶ Search for devices on 1-Wire network with default command and store ROM IDs to input array.
- Return
- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle[in] rom_id_arr
: Pointer to output array to store found ROM IDs into[in] rom_len
: Length of input ROM array[out] roms_found
: Output variable to save number of found devices. Set toNULL
if not used
-
uint8_t
ow_match_rom_raw
(ow_t *const ow, const ow_rom_t *const rom_id)¶ Select device on 1-wire network with exact ROM number.
- Return
1
on success,0
otherwise- Parameters
[in] ow
: 1-Wire handle[in] rom_id
: 1-Wire device address to match device
-
uint8_t
ow_match_rom
(ow_t *const ow, const ow_rom_t *const rom_id)¶ Select device on 1-wire network with exact ROM number.
- Return
1
on success,0
otherwise- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle[in] rom_id
: 1-Wire device address to match device
-
uint8_t
ow_skip_rom_raw
(ow_t *const ow)¶ Skip ROM address and select all devices on the network.
- Return
1
on success,0
otherwise- Parameters
[in] ow
: 1-Wire handle
-
uint8_t
ow_skip_rom
(ow_t *const ow)¶ Skip ROM address and select all devices on the network.
- Return
1
on success,0
otherwise- Note
This function is thread-safe
- Parameters
[in] ow
: 1-Wire handle
-
uint8_t
ow_crc
(const void *const in, const size_t len)¶ Calculate CRC-8 of input data.
- Return
Calculated CRC
- Note
This function is reentrant
- Parameters
[in] in
: Input data[in] len
: Number of bytes
-
struct
ow_t
¶ - #include <ow.h>
1-Wire structure
Public Members
-
ow_rom_t
rom
ROM address of last device found. When searching for new devices, we always need last found address, to be able to decide which way to go next time during scan.
-
uint8_t
disrepancy
¶ Disrepancy value on last search
-
void *
arg
¶ User custom argument
-
const ow_ll_drv_t *
ll_drv
¶ Low-level functions driver
-
OW_CFG_OS_MUTEX_HANDLE
mutex
¶ Mutex handle
-
ow_rom_t