STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
dev_ism330dhcx.c File Reference
#include "dev_ism330dhcx.h"
#include <stddef.h>
Include dependency graph for dev_ism330dhcx.c:

Go to the source code of this file.

Macros

#define SPI_READ   0x80U /* bit 7 = 1: read (p.21) */
#define CTRL3_SW_RESET   0x01U /* self-clearing (p.51) */
#define RESET_POLLS   10U /* 1 ms apart; reset takes far less */

Enumerations

enum  {
  REG_COUNTER_BDR_REG1 = 0x0B , REG_INT1_CTRL = 0x0D , REG_WHO_AM_I = 0x0F , REG_CTRL1_XL = 0x10 ,
  REG_CTRL2_G = 0x11 , REG_CTRL3_C = 0x12 , REG_CTRL4_C = 0x13 , REG_OUT_TEMP_L = 0x20
}

Functions

static int write_reg (const dev_bus_t *bus, uint8_t reg, uint8_t value)
static int read_reg (const dev_bus_t *bus, uint8_t reg, uint8_t *value)
int ism330_init (const dev_bus_t *bus)
int ism330_power_down (const dev_bus_t *bus)
static int16_t le16 (const uint8_t *p)
int ism330_read (const dev_bus_t *bus, ism330_sample_t *out)

Variables

struct { 
   uint8_t   reg 
   uint8_t   value 
} config []

Macro Definition Documentation

◆ CTRL3_SW_RESET

#define CTRL3_SW_RESET   0x01U /* self-clearing (p.51) */

Definition at line 17 of file dev_ism330dhcx.c.

Referenced by ism330_init().

◆ RESET_POLLS

#define RESET_POLLS   10U /* 1 ms apart; reset takes far less */

Definition at line 18 of file dev_ism330dhcx.c.

Referenced by ism330_init().

◆ SPI_READ

#define SPI_READ   0x80U /* bit 7 = 1: read (p.21) */

Definition at line 16 of file dev_ism330dhcx.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
REG_COUNTER_BDR_REG1 
REG_INT1_CTRL 
REG_WHO_AM_I 
REG_CTRL1_XL 
REG_CTRL2_G 
REG_CTRL3_C 
REG_CTRL4_C 
REG_OUT_TEMP_L 

Definition at line 5 of file dev_ism330dhcx.c.

Function Documentation

◆ ism330_init()

◆ ism330_power_down()

int ism330_power_down ( const dev_bus_t * bus)

Definition at line 81 of file dev_ism330dhcx.c.

References DEV_ERR_BUS, DEV_ERR_PARAM, DEV_OK, REG_CTRL1_XL, REG_CTRL2_G, and write_reg().

Referenced by sensors_core_stop().

◆ ism330_read()

int ism330_read ( const dev_bus_t * bus,
ism330_sample_t * out )

◆ le16()

int16_t le16 ( const uint8_t * p)
static

Definition at line 92 of file dev_ism330dhcx.c.

References p.

Referenced by ism330_read().

◆ read_reg()

int read_reg ( const dev_bus_t * bus,
uint8_t reg,
uint8_t * value )
static

Definition at line 37 of file dev_ism330dhcx.c.

References reg, and SPI_READ.

Referenced by ism330_init().

◆ write_reg()

int write_reg ( const dev_bus_t * bus,
uint8_t reg,
uint8_t value )
static

Definition at line 32 of file dev_ism330dhcx.c.

References NULL, and reg.

Referenced by ism330_init(), and ism330_power_down().

Variable Documentation

◆ [struct]

const struct { ... } config[]
Initial value:
= {
{REG_CTRL3_C, 0x44},
{REG_CTRL4_C, 0x04},
{REG_CTRL1_XL, 0x74},
{REG_CTRL2_G, 0x71},
{REG_INT1_CTRL, 0x01},
}
@ REG_CTRL1_XL
@ REG_CTRL2_G
@ REG_CTRL4_C
@ REG_CTRL3_C
@ REG_COUNTER_BDR_REG1
@ REG_INT1_CTRL

◆ reg

uint8_t reg

Definition at line 21 of file dev_ism330dhcx.c.

◆ value

uint8_t value

Definition at line 22 of file dev_ism330dhcx.c.