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 LWOW_SYS

System functions when used with operating system.

Functions

uint8_t lwow_sys_mutex_create(LWOW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Create a new mutex and assign value to handle.

Parameters
  • mutex[in] Output variable to save mutex handle

  • arg[in] User argument passed on lwow_init function

Returns

1 on success, 0 otherwise

uint8_t lwow_sys_mutex_delete(LWOW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Delete existing mutex and invalidate mutex variable.

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

  • arg[in] User argument passed on lwow_init function

Returns

1 on success, 0 otherwise

uint8_t lwow_sys_mutex_wait(LWOW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Wait for a mutex until ready (unlimited time)

Parameters
  • mutex[in] Mutex handle to wait for

  • arg[in] User argument passed on lwow_init function

Returns

1 on success, 0 otherwise

uint8_t lwow_sys_mutex_release(LWOW_CFG_OS_MUTEX_HANDLE *mutex, void *arg)

Release already locked mutex.

Parameters
  • mutex[in] Mutex handle to release

  • arg[in] User argument passed on lwow_init function

Returns

1 on success, 0 otherwise