mirror of
https://github.com/google/pebble
synced 2026-10-17 08:44:11 +02:00
127 lines
4.3 KiB
C
127 lines
4.3 KiB
C
/*
|
|
* Copyright 2024 Google LLC
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
// 0x00 - 0x06: reserved
|
|
static const uint8_t LIS3DH_STATUS_REG_AUX = 0x07;
|
|
static const uint8_t LIS3DH_OUT_ADC1_L = 0x08;
|
|
static const uint8_t LIS3DH_OUT_ADC1_H = 0x09;
|
|
static const uint8_t LIS3DH_OUT_ADC2_L = 0x0a;
|
|
static const uint8_t LIS3DH_OUT_ADC2_H = 0x0b;
|
|
static const uint8_t LIS3DH_OUT_ADC3_L = 0x0c;
|
|
static const uint8_t LIS3DH_OUT_ADC3_H = 0x0d;
|
|
static const uint8_t LIS3DH_INT_COUNTER_REG = 0x0e;
|
|
static const uint8_t LIS3DH_WHO_AM_I = 0x0f;
|
|
// 0x10 - 0x1E: reserved
|
|
static const uint8_t LIS3DH_TEMP_CFG_REG = 0x1f;
|
|
static const uint8_t LIS3DH_CTRL_REG1 = 0x20;
|
|
static const uint8_t LIS3DH_CTRL_REG2 = 0x21;
|
|
static const uint8_t LIS3DH_CTRL_REG3 = 0x22;
|
|
static const uint8_t LIS3DH_CTRL_REG4 = 0x23;
|
|
static const uint8_t LIS3DH_CTRL_REG5 = 0x24;
|
|
static const uint8_t LIS3DH_CTRL_REG6 = 0x25;
|
|
static const uint8_t LIS3DH_REFERENCE = 0x26;
|
|
static const uint8_t LIS3DH_STATUS_REG2 = 0x27;
|
|
static const uint8_t LIS3DH_OUT_X_L = 0x28;
|
|
static const uint8_t LIS3DH_OUT_X_H = 0x29;
|
|
static const uint8_t LIS3DH_OUT_Y_L = 0x2a;
|
|
static const uint8_t LIS3DH_OUT_Y_H = 0x2b;
|
|
static const uint8_t LIS3DH_OUT_Z_L = 0x2c;
|
|
static const uint8_t LIS3DH_OUT_Z_H = 0x2d;
|
|
static const uint8_t LIS3DH_FIFO_CTRL_REG = 0x2e;
|
|
static const uint8_t LIS3DH_FIFO_SRC_REG = 0x2f;
|
|
static const uint8_t LIS3DH_INT1_CFG = 0x30;
|
|
static const uint8_t LIS3DH_INT1_SRC = 0x31;
|
|
static const uint8_t LIS3DH_INT1_THS = 0x32;
|
|
static const uint8_t LIS3DH_INT1_DURATION = 0x33;
|
|
// 0x34 - 0x37: reserved
|
|
static const uint8_t LIS3DH_CLICK_CFG = 0x38;
|
|
static const uint8_t LIS3DH_CLICK_SRC = 0x39;
|
|
static const uint8_t LIS3DH_CLICK_THS = 0x3a;
|
|
static const uint8_t LIS3DH_TIME_LIMIT = 0x3b;
|
|
static const uint8_t LIS3DH_TIME_LATENCY = 0x3c;
|
|
static const uint8_t LIS3DH_TIME_WINDOW = 0x3d;
|
|
static const uint8_t LIS3DH_ACT_THS = 0x3e;
|
|
static const uint8_t LIS3DH_INACT_DUR = 0x3f;
|
|
|
|
// CTRL_REG1
|
|
static const uint8_t ODR3 = (1 << 7);
|
|
static const uint8_t ODR2 = (1 << 6);
|
|
static const uint8_t ODR1 = (1 << 5);
|
|
static const uint8_t ODR0 = (1 << 4);
|
|
static const uint8_t ODR_MASK = (0xf0);
|
|
static const uint8_t LPen = (1 << 3);
|
|
static const uint8_t Zen = (1 << 2);
|
|
static const uint8_t Yen = (1 << 1);
|
|
static const uint8_t Xen = (1 << 0);
|
|
|
|
// CTRL_REG3
|
|
static const uint8_t I1_CLICK = (1 << 7);
|
|
static const uint8_t I1_AOI1 = (1 << 6);
|
|
static const uint8_t I1_DTRDY = (1 << 4);
|
|
static const uint8_t I1_WTM = (1 << 2);
|
|
static const uint8_t I1_OVRN = (1 << 1);
|
|
|
|
//CTRL_REG4
|
|
static const uint8_t BDU = (1 << 7);
|
|
static const uint8_t BLE = (1 << 6);
|
|
static const uint8_t FS1 = (1 << 5);
|
|
static const uint8_t FS0 = (1 << 4);
|
|
static const uint8_t HR = (1 << 3);
|
|
static const uint8_t ST1 = (1 << 2);
|
|
static const uint8_t ST0 = (1 << 1);
|
|
static const uint8_t SIM = (1 << 0);
|
|
static const uint8_t FS_MASK = 0x30;
|
|
|
|
//CTRL_REG5
|
|
static const uint8_t FIFO_EN = (1 << 6);
|
|
|
|
//CTRL_REG6
|
|
static const uint8_t I2_CLICK = (1 << 7);
|
|
|
|
// CLICK_CFG
|
|
static const uint8_t ZD = (1 << 5);
|
|
static const uint8_t ZS = (1 << 4);
|
|
static const uint8_t YD = (1 << 3);
|
|
static const uint8_t YS = (1 << 2);
|
|
static const uint8_t XD = (1 << 1);
|
|
static const uint8_t XS = (1 << 0);
|
|
|
|
// CLICK_SRC
|
|
static const uint8_t IA = 1 << 6;
|
|
static const uint8_t DCLICK = 1 << 5;
|
|
static const uint8_t SCLICK = 1 << 4;
|
|
static const uint8_t Sign = 1 << 3;
|
|
static const uint8_t ZClick = 1 << 2;
|
|
static const uint8_t YClick = 1 << 1;
|
|
static const uint8_t XClick = 1 << 0;
|
|
|
|
// FIFO_CTRL_REG
|
|
static const uint8_t MODE_BYPASS = 0x0;
|
|
static const uint8_t MODE_FIFO = (0x1 << 6);
|
|
static const uint8_t MODE_STREAM = (0x1 << 7);
|
|
static const uint8_t MODE_MASK = 0xc0;
|
|
static const uint8_t THR_MASK = 0x1f;
|
|
|
|
// FIFO_SRC_REG
|
|
static const uint8_t FIFO_WTM = (0x1 << 7);
|
|
static const uint8_t FIFO_OVRN = (0x1 << 6);
|
|
static const uint8_t FIFO_EMPTY = (0x1 << 5);
|
|
static const uint8_t FSS_MASK = 0x1f;
|