mirror of
https://github.com/sunnypilot/sunnypilot.git
synced 2026-02-18 20:03:53 +08:00
* change LSM6DS3TR(-c) gyroscope and accelerometer to interrupt * add pthread for linking * add interrupt collector thread to fetch in parallel to non interrupt based sensors * change get_event interface to return true on successful read * fetch sensor interrupts via gpiochip * avoid sending empty messages (interrupt only, non interupt magn can leave a gap in the orphan block) * add verifier script to sensor interrupts (sensor_data_to_hist.py) * add/update sensord testsweet (test_sensord.py) * add poll timed out check * unexport interrupt gpio pins * gpiochip on both edges, but skip falling edge if rising edge is detected, this is handled in the sensor as the status flag is checked if new data is availble * add test to sensord to verify 100Hz interrupt frequency * add sensor shutdown/low power mode functionality on sensord exit * relax test, will be readded in the splitup PR Co-authored-by: Kurt Nistelberger <kurt.nistelberger@gmail.com>
34 lines
986 B
C
34 lines
986 B
C
#pragma once
|
|
|
|
// Pin definitions
|
|
#ifdef QCOM2
|
|
#define GPIO_HUB_RST_N 30
|
|
#define GPIO_UBLOX_RST_N 32
|
|
#define GPIO_UBLOX_SAFEBOOT_N 33
|
|
#define GPIO_UBLOX_PWR_EN 34
|
|
#define GPIO_STM_RST_N 124
|
|
#define GPIO_STM_BOOT0 134
|
|
#define GPIO_BMX_ACCEL_INT 21
|
|
#define GPIO_BMX_GYRO_INT 23
|
|
#define GPIO_BMX_MAGN_INT 87
|
|
#define GPIO_LSM_INT 84
|
|
#define GPIOCHIP_INT 0
|
|
#else
|
|
#define GPIO_HUB_RST_N 0
|
|
#define GPIO_UBLOX_RST_N 0
|
|
#define GPIO_UBLOX_SAFEBOOT_N 0
|
|
#define GPIO_UBLOX_PWR_EN 0
|
|
#define GPIO_STM_RST_N 0
|
|
#define GPIO_STM_BOOT0 0
|
|
#define GPIO_BMX_ACCEL_INT 0
|
|
#define GPIO_BMX_GYRO_INT 0
|
|
#define GPIO_BMX_MAGN_INT 0
|
|
#define GPIO_LSM_INT 0
|
|
#define GPIOCHIP_INT 0
|
|
#endif
|
|
|
|
int gpio_init(int pin_nr, bool output);
|
|
int gpio_set(int pin_nr, bool high);
|
|
|
|
int gpiochip_get_ro_value_fd(const char* consumer_label, int gpiochiop_id, int pin_nr);
|