tinygo.org/x/drivers@v0.27.1-0.20240509133757-7dbca2a54349/lis3dh/registers.go (about)

     1  package lis3dh
     2  
     3  // Constants/addresses used for I2C.
     4  
     5  // The I2C addresses which this device listens to.
     6  const (
     7  	Address0 = 0x18 // SA0 is low
     8  	Address1 = 0x19 // SA0 is high
     9  )
    10  
    11  // Registers. Names, addresses and comments copied from the datasheet.
    12  const (
    13  	WHO_AM_I      = 0x0F
    14  	REG_STATUS1   = 0x07
    15  	REG_OUTADC1_L = 0x08
    16  	REG_OUTADC1_H = 0x09
    17  	REG_OUTADC2_L = 0x0A
    18  	REG_OUTADC2_H = 0x0B
    19  	REG_OUTADC3_L = 0x0C
    20  	REG_OUTADC3_H = 0x0D
    21  	REG_INTCOUNT  = 0x0E
    22  	REG_WHOAMI    = 0x0F
    23  	REG_TEMPCFG   = 0x1F
    24  	REG_CTRL1     = 0x20
    25  	REG_CTRL2     = 0x21
    26  	REG_CTRL3     = 0x22
    27  	REG_CTRL4     = 0x23
    28  	REG_CTRL5     = 0x24
    29  	REG_CTRL6     = 0x25
    30  	REG_REFERENCE = 0x26
    31  	REG_STATUS2   = 0x27
    32  	REG_OUT_X_L   = 0x28
    33  	REG_OUT_X_H   = 0x29
    34  	REG_OUT_Y_L   = 0x2A
    35  	REG_OUT_Y_H   = 0x2B
    36  	REG_OUT_Z_L   = 0x2C
    37  	REG_OUT_Z_H   = 0x2D
    38  	REG_FIFOCTRL  = 0x2E
    39  	REG_FIFOSRC   = 0x2F
    40  	REG_INT1CFG   = 0x30
    41  	REG_INT1SRC   = 0x31
    42  	REG_INT1THS   = 0x32
    43  	REG_INT1DUR   = 0x33
    44  	REG_CLICKCFG  = 0x38
    45  	REG_CLICKSRC  = 0x39
    46  	REG_CLICKTHS  = 0x3A
    47  	REG_TIMELIMIT = 0x3B
    48  	REG_TIMELATEN = 0x3C
    49  	REG_TIMEWINDO = 0x3D
    50  	REG_ACTTHS    = 0x3E
    51  	REG_ACTDUR    = 0x3F
    52  )
    53  
    54  type Range uint8
    55  
    56  const (
    57  	RANGE_16_G Range = 3 // +/- 16g
    58  	RANGE_8_G        = 2 // +/- 8g
    59  	RANGE_4_G        = 1 // +/- 4g
    60  	RANGE_2_G        = 0 // +/- 2g (default value)
    61  )
    62  
    63  type DataRate uint8
    64  
    65  // Data rate constants.
    66  const (
    67  	DATARATE_400_HZ         DataRate = 7 //  400Hz
    68  	DATARATE_200_HZ                  = 6 //  200Hz
    69  	DATARATE_100_HZ                  = 5 //  100Hz
    70  	DATARATE_50_HZ                   = 4 //   50Hz
    71  	DATARATE_25_HZ                   = 3 //   25Hz
    72  	DATARATE_10_HZ                   = 2 // 10 Hz
    73  	DATARATE_1_HZ                    = 1 // 1 Hz
    74  	DATARATE_POWERDOWN               = 0
    75  	DATARATE_LOWPOWER_1K6HZ          = 8
    76  	DATARATE_LOWPOWER_5KHZ           = 9
    77  )