BlueSync - BLE Time Sync for Zephyr
High-precision time synchronization for BLE Mesh networks
Loading...
Searching...
No Matches
bs_state_machine.c File Reference
#include <zephyr/kernel.h>
#include <zephyr/logging/log.h>
#include <bluesync/bluesync.h>
#include "bluesync.h"
#include "bs_state_machine.h"
Include dependency graph for bs_state_machine.c:

Go to the source code of this file.

Data Structures

struct  bs_sm_param
 

Functions

 LOG_MODULE_REGISTER (bs_state_machine, CONFIG_BLUESYNC_LOG_LEVEL)
 
bs_sm_state_t transition (bluesync_role_t role, bs_sm_state_t current_state, bs_sm_event_t event)
 
void bs_state_machine_run (bs_sm_event_t event)
 Annonce an event to the state machine.
 
void bs_state_machine_init (struct bs_sm_handlers *handlers)
 Init the state machine by passing the list of callbacks.
 
void bs_state_machine_set_role (bluesync_role_t role)
 Indicate the role to the state machine.
 
bluesync_role_t bs_state_machine_get_role ()
 Get the node role.
 
bs_sm_state_t bs_state_machine_get_state ()
 Get the current state.
 

Variables

static struct bs_sm_param sm_param
 

Function Documentation

◆ bs_state_machine_get_role()

bluesync_role_t bs_state_machine_get_role ( )

Get the node role.

Returns
bluesync_role_t

Definition at line 184 of file bs_state_machine.c.

◆ bs_state_machine_get_state()

bs_sm_state_t bs_state_machine_get_state ( )

Get the current state.

Returns
bs_sm_state_t

Definition at line 188 of file bs_state_machine.c.

◆ bs_state_machine_init()

void bs_state_machine_init ( struct bs_sm_handlers handlers)

Init the state machine by passing the list of callbacks.

Parameters
handlers

Definition at line 152 of file bs_state_machine.c.

◆ bs_state_machine_run()

void bs_state_machine_run ( bs_sm_event_t  event)

Annonce an event to the state machine.

Parameters
event

Definition at line 107 of file bs_state_machine.c.

◆ bs_state_machine_set_role()

void bs_state_machine_set_role ( bluesync_role_t  role)

Indicate the role to the state machine.

Parameters
role

Definition at line 160 of file bs_state_machine.c.

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( bs_state_machine  ,
CONFIG_BLUESYNC_LOG_LEVEL   
)

◆ transition()

bs_sm_state_t transition ( bluesync_role_t  role,
bs_sm_state_t  current_state,
bs_sm_event_t  event 
)

Definition at line 48 of file bs_state_machine.c.

Variable Documentation

◆ sm_param

struct bs_sm_param sm_param
static
Initial value:
= {
.current_state = BS_NONE_STATE,
.handlers = NULL,
.mutex = Z_MUTEX_INITIALIZER(sm_param.mutex)
}
static struct bs_sm_param sm_param
@ BS_NONE_STATE
@ BLUESYNC_NONE_ROLE
Definition bluesync.h:45
struct k_mutex mutex

Definition at line 41 of file bs_state_machine.c.