System functions

System function are used in conjunction with thread safety. These are required when operating system is used and multiple threads want to access to the same OneWire instance.

Tip

Check Thread safety and Porting guide for instructions on how to port.

Below is a list of function prototypes and its implementation details.

group OW_SYS

System functions when used with operating system.

Functions

uint8_t ow_sys_mutex_create(OW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Create a new mutex and assign value to handle.

Return

1 on success, 0 otherwise

Parameters
  • [out] mutex: Output variable to save mutex handle

  • [in] arg: User argument passed on ow_init function

uint8_t ow_sys_mutex_delete(OW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Delete existing mutex and invalidate mutex variable.

Return

1 on success, 0 otherwise

Parameters
  • [in] mutex: Mutex handle to remove and invalidate

  • [in] arg: User argument passed on ow_init function

uint8_t ow_sys_mutex_wait(OW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Wait for a mutex until ready (unlimited time)

Return

1 on success, 0 otherwise

Parameters
  • [in] mutex: Mutex handle to wait for

  • [in] arg: User argument passed on ow_init function

uint8_t ow_sys_mutex_release(OW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Release already locked mutex.

Return

1 on success, 0 otherwise

Parameters
  • [in] mutex: Mutex handle to release

  • [in] arg: User argument passed on ow_init function