STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
ISM330DHCX_finite_state_machine

This section groups all the functions that manage the state_machine. More...

Collaboration diagram for ISM330DHCX_finite_state_machine:

Functions

int32_t ism330dhcx_long_cnt_flag_data_ready_get (stmdev_ctx_t *ctx, uint8_t *val)
 Interrupt status bit for FSM long counter timeout interrupt event.
int32_t ism330dhcx_emb_fsm_en_set (stmdev_ctx_t *ctx, uint8_t val)
 Embedded final state machine functions mode.
int32_t ism330dhcx_emb_fsm_en_get (stmdev_ctx_t *ctx, uint8_t *val)
 Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_enable_set (stmdev_ctx_t *ctx, ism330dhcx_emb_fsm_enable_t *val)
 Embedded final state machine functions mode.
int32_t ism330dhcx_fsm_enable_get (stmdev_ctx_t *ctx, ism330dhcx_emb_fsm_enable_t *val)
 Embedded final state machine functions mode.
int32_t ism330dhcx_long_cnt_set (stmdev_ctx_t *ctx, uint16_t val)
 FSM long counter status register.
int32_t ism330dhcx_long_cnt_get (stmdev_ctx_t *ctx, uint16_t *val)
 FSM long counter status register.
int32_t ism330dhcx_long_clr_set (stmdev_ctx_t *ctx, ism330dhcx_fsm_lc_clr_t val)
 Clear FSM long counter value.
int32_t ism330dhcx_long_clr_get (stmdev_ctx_t *ctx, ism330dhcx_fsm_lc_clr_t *val)
 Clear FSM long counter value.
int32_t ism330dhcx_fsm_out_get (stmdev_ctx_t *ctx, ism330dhcx_fsm_out_t *val)
 FSM output registers.
int32_t ism330dhcx_fsm_data_rate_set (stmdev_ctx_t *ctx, ism330dhcx_fsm_odr_t val)
 Finite State Machine ODR configuration.
int32_t ism330dhcx_fsm_data_rate_get (stmdev_ctx_t *ctx, ism330dhcx_fsm_odr_t *val)
 Finite State Machine ODR configuration.
int32_t ism330dhcx_fsm_init_set (stmdev_ctx_t *ctx, uint8_t val)
 FSM initialization request.
int32_t ism330dhcx_fsm_init_get (stmdev_ctx_t *ctx, uint8_t *val)
 FSM initialization request.
int32_t ism330dhcx_long_cnt_int_value_set (stmdev_ctx_t *ctx, uint16_t val)
 FSM long counter timeout register (r/w).
int32_t ism330dhcx_long_cnt_int_value_get (stmdev_ctx_t *ctx, uint16_t *val)
 FSM long counter timeout register (r/w).
int32_t ism330dhcx_fsm_number_of_programs_set (stmdev_ctx_t *ctx, uint8_t *buff)
 FSM number of programs register.
int32_t ism330dhcx_fsm_number_of_programs_get (stmdev_ctx_t *ctx, uint8_t *buff)
 FSM number of programs register.
int32_t ism330dhcx_fsm_start_address_set (stmdev_ctx_t *ctx, uint16_t val)
 FSM start address register (r/w).
int32_t ism330dhcx_fsm_start_address_get (stmdev_ctx_t *ctx, uint16_t *val)
 FSM start address register (r/w).

Detailed Description

This section groups all the functions that manage the state_machine.

Function Documentation

◆ ism330dhcx_emb_fsm_en_get()

int32_t ism330dhcx_emb_fsm_en_get ( stmdev_ctx_t * ctx,
uint8_t * val )

Embedded final state machine functions mode.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valGet the values of fsm_en in reg EMB_FUNC_EN_B
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9628 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_en_b_t::fsm_en, ISM330DHCX_EMB_FUNC_EN_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), ISM330DHCX_USER_BANK, and ism330dhcx_write_reg().

◆ ism330dhcx_emb_fsm_en_set()

int32_t ism330dhcx_emb_fsm_en_set ( stmdev_ctx_t * ctx,
uint8_t val )

Embedded final state machine functions mode.

[set]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of fsm_en in reg EMB_FUNC_EN_B
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9593 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_en_b_t::fsm_en, ISM330DHCX_EMB_FUNC_EN_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), ISM330DHCX_USER_BANK, and ism330dhcx_write_reg().

◆ ism330dhcx_fsm_data_rate_get()

int32_t ism330dhcx_fsm_data_rate_get ( stmdev_ctx_t * ctx,
ism330dhcx_fsm_odr_t * val )

Finite State Machine ODR configuration.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valGet the values of fsm_odr in reg EMB_FUNC_ODR_CFG_B
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9985 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_odr_cfg_b_t::fsm_odr, ISM330DHCX_EMB_FUNC_ODR_CFG_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ISM330DHCX_ODR_FSM_104Hz, ISM330DHCX_ODR_FSM_12Hz5, ISM330DHCX_ODR_FSM_26Hz, ISM330DHCX_ODR_FSM_52Hz, ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

Referenced by ism330dhcx_gy_data_rate_set(), and ism330dhcx_xl_data_rate_set().

◆ ism330dhcx_fsm_data_rate_set()

int32_t ism330dhcx_fsm_data_rate_set ( stmdev_ctx_t * ctx,
ism330dhcx_fsm_odr_t val )

Finite State Machine ODR configuration.

[set]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of fsm_odr in reg EMB_FUNC_ODR_CFG_B
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9947 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_odr_cfg_b_t::fsm_odr, ISM330DHCX_EMB_FUNC_ODR_CFG_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), ISM330DHCX_USER_BANK, ism330dhcx_write_reg(), ism330dhcx_emb_func_odr_cfg_b_t::not_used_01, and ism330dhcx_emb_func_odr_cfg_b_t::not_used_02.

◆ ism330dhcx_fsm_enable_get()

int32_t ism330dhcx_fsm_enable_get ( stmdev_ctx_t * ctx,
ism330dhcx_emb_fsm_enable_t * val )

Embedded final state machine functions mode.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valStructure of registers from FSM_ENABLE_A to FSM_ENABLE_B
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9738 of file ism330dhcx_reg.c.

References ism330dhcx_emb_fsm_enable_t::fsm_enable_a, ism330dhcx_emb_fsm_enable_t::fsm_enable_b, ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_ENABLE_A, ISM330DHCX_FSM_ENABLE_B, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

Referenced by ism330dhcx_gy_data_rate_set(), and ism330dhcx_xl_data_rate_set().

◆ ism330dhcx_fsm_enable_set()

◆ ism330dhcx_fsm_init_get()

int32_t ism330dhcx_fsm_init_get ( stmdev_ctx_t * ctx,
uint8_t * val )

FSM initialization request.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of fsm_init in reg FSM_INIT
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10072 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_init_b_t::fsm_init, ISM330DHCX_EMB_FUNC_INIT_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

◆ ism330dhcx_fsm_init_set()

int32_t ism330dhcx_fsm_init_set ( stmdev_ctx_t * ctx,
uint8_t val )

FSM initialization request.

[set]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of fsm_init in reg FSM_INIT
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10037 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_init_b_t::fsm_init, ISM330DHCX_EMB_FUNC_INIT_B, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), ISM330DHCX_USER_BANK, and ism330dhcx_write_reg().

◆ ism330dhcx_fsm_number_of_programs_get()

int32_t ism330dhcx_fsm_number_of_programs_get ( stmdev_ctx_t * ctx,
uint8_t * buff )

FSM number of programs register.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that stores data read
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10191 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_PROGRAMS, and ism330dhcx_ln_pg_read_byte().

◆ ism330dhcx_fsm_number_of_programs_set()

int32_t ism330dhcx_fsm_number_of_programs_set ( stmdev_ctx_t * ctx,
uint8_t * buff )

FSM number of programs register.

[set]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that contains data to write
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10167 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_PROGRAMS, and ism330dhcx_ln_pg_write_byte().

◆ ism330dhcx_fsm_out_get()

int32_t ism330dhcx_fsm_out_get ( stmdev_ctx_t * ctx,
ism330dhcx_fsm_out_t * val )

FSM output registers.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valStructure of registers from FSM_OUTS1 to FSM_OUTS16
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9919 of file ism330dhcx_reg.c.

References ism330dhcx_fsm_out_t::fsm_outs1, ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_OUTS1, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

◆ ism330dhcx_fsm_start_address_get()

int32_t ism330dhcx_fsm_start_address_get ( stmdev_ctx_t * ctx,
uint16_t * val )

FSM start address register (r/w).

First available address is 0x033C.[get]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that stores data read
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10240 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_START_ADD_H, ISM330DHCX_FSM_START_ADD_L, and ism330dhcx_ln_pg_read_byte().

◆ ism330dhcx_fsm_start_address_set()

int32_t ism330dhcx_fsm_start_address_set ( stmdev_ctx_t * ctx,
uint16_t val )

FSM start address register (r/w).

First available address is 0x033C.[set]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that contains data to write
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10209 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_START_ADD_H, ISM330DHCX_FSM_START_ADD_L, and ism330dhcx_ln_pg_write_byte().

◆ ism330dhcx_long_clr_get()

int32_t ism330dhcx_long_clr_get ( stmdev_ctx_t * ctx,
ism330dhcx_fsm_lc_clr_t * val )

Clear FSM long counter value.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valGet the values of fsm_lc_clr in reg FSM_LONG_COUNTER_CLEAR
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9871 of file ism330dhcx_reg.c.

References ism330dhcx_fsm_long_counter_clear_t::fsm_lc_clr, ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_LONG_COUNTER_CLEAR, ISM330DHCX_LC_CLEAR, ISM330DHCX_LC_CLEAR_DONE, ISM330DHCX_LC_NORMAL, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

◆ ism330dhcx_long_clr_set()

int32_t ism330dhcx_long_clr_set ( stmdev_ctx_t * ctx,
ism330dhcx_fsm_lc_clr_t val )

Clear FSM long counter value.

[set]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of fsm_lc_clr in reg FSM_LONG_COUNTER_CLEAR
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9835 of file ism330dhcx_reg.c.

References ism330dhcx_fsm_long_counter_clear_t::fsm_lc_clr, ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_LONG_COUNTER_CLEAR, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), ISM330DHCX_USER_BANK, and ism330dhcx_write_reg().

◆ ism330dhcx_long_cnt_flag_data_ready_get()

int32_t ism330dhcx_long_cnt_flag_data_ready_get ( stmdev_ctx_t * ctx,
uint8_t * val )

Interrupt status bit for FSM long counter timeout interrupt event.

[get]

Parameters
ctxRead / write interface definitions.(ptr)
valChange the values of is_fsm_lc in reg EMB_FUNC_STATUS
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9563 of file ism330dhcx_reg.c.

References ism330dhcx_emb_func_status_t::is_fsm_lc, ISM330DHCX_EMB_FUNC_STATUS, ISM330DHCX_EMBEDDED_FUNC_BANK, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

◆ ism330dhcx_long_cnt_get()

int32_t ism330dhcx_long_cnt_get ( stmdev_ctx_t * ctx,
uint16_t * val )

FSM long counter status register.

Long counter value is an unsigned integer value (16-bit format).[get]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that stores data read
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9804 of file ism330dhcx_reg.c.

References ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_LONG_COUNTER_L, ism330dhcx_mem_bank_set(), ism330dhcx_read_reg(), and ISM330DHCX_USER_BANK.

◆ ism330dhcx_long_cnt_int_value_get()

int32_t ism330dhcx_long_cnt_int_value_get ( stmdev_ctx_t * ctx,
uint16_t * val )

FSM long counter timeout register (r/w).

The long counter timeout value is an unsigned integer value (16-bit format). When the long counter value reached this value, the FSM generates an interrupt.[get]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that stores data read
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10137 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_LC_TIMEOUT_H, ISM330DHCX_FSM_LC_TIMEOUT_L, and ism330dhcx_ln_pg_read_byte().

◆ ism330dhcx_long_cnt_int_value_set()

int32_t ism330dhcx_long_cnt_int_value_set ( stmdev_ctx_t * ctx,
uint16_t val )

FSM long counter timeout register (r/w).

The long counter timeout value is an unsigned integer value (16-bit format). When the long counter value reached this value, the FSM generates an interrupt.[set]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that contains data to write
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 10104 of file ism330dhcx_reg.c.

References ISM330DHCX_FSM_LC_TIMEOUT_H, ISM330DHCX_FSM_LC_TIMEOUT_L, and ism330dhcx_ln_pg_write_byte().

◆ ism330dhcx_long_cnt_set()

int32_t ism330dhcx_long_cnt_set ( stmdev_ctx_t * ctx,
uint16_t val )

FSM long counter status register.

Long counter value is an unsigned integer value (16-bit format).[set]

Parameters
ctxRead / write interface definitions.(ptr)
buffBuffer that contains data to write
Return values
Interfacestatus (MANDATORY: return 0 -> no Error).

Definition at line 9773 of file ism330dhcx_reg.c.

References ISM330DHCX_EMBEDDED_FUNC_BANK, ISM330DHCX_FSM_LONG_COUNTER_L, ism330dhcx_mem_bank_set(), ISM330DHCX_USER_BANK, and ism330dhcx_write_reg().