Refactor after ff6be09 upstream
This commit is contained in:
35
src/main.c
35
src/main.c
@ -31,8 +31,9 @@
|
|||||||
#define I2CBUSNR 7
|
#define I2CBUSNR 7
|
||||||
|
|
||||||
bool i2c_dumpregs(struct mgos_i2c *i2c, uint8_t i2caddr);
|
bool i2c_dumpregs(struct mgos_i2c *i2c, uint8_t i2caddr);
|
||||||
|
void i2c_scanner(struct mgos_i2c *i2c, bool dumpregs);
|
||||||
|
|
||||||
static void i2c_scanner(struct mgos_i2c *i2c, bool dumpregs) {
|
void i2c_scanner(struct mgos_i2c *i2c, bool dumpregs) {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!i2c) {
|
if (!i2c) {
|
||||||
@ -167,16 +168,14 @@ static bool do_imu(struct mgos_imu *sensor) {
|
|||||||
if (!sensor) {
|
if (!sensor) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
mgos_imu_read(sensor);
|
if (mgos_imu_accelerometer_get(sensor, &ax, &ay, &az)) {
|
||||||
|
LOG(LL_INFO, ("type=%-10s Accel X=%.2f Y=%.2f Z=%.2f", mgos_imu_accelerometer_get_name(sensor), ax, ay, az));
|
||||||
if (mgos_imu_get_accelerometer(sensor, &ax, &ay, &az)) {
|
|
||||||
LOG(LL_INFO, ("type=%s Accel X=%.2f Y=%.2f Z=%.2f", mgos_imu_get_magnetometer_name(sensor), ax, ay, az));
|
|
||||||
}
|
}
|
||||||
if (mgos_imu_get_gyroscope(sensor, &gx, &gy, &gz)) {
|
if (mgos_imu_gyroscope_get(sensor, &gx, &gy, &gz)) {
|
||||||
LOG(LL_INFO, ("type=%s Gyro X=%.2f Y=%.2f Z=%.2f", mgos_imu_get_magnetometer_name(sensor), gx, gy, gz));
|
LOG(LL_INFO, ("type=%-10s Gyro X=%.2f Y=%.2f Z=%.2f", mgos_imu_gyroscope_get_name(sensor), gx, gy, gz));
|
||||||
}
|
}
|
||||||
if (mgos_imu_get_magnetometer(sensor, &mx, &my, &mz)) {
|
if (mgos_imu_magnetometer_get(sensor, &mx, &my, &mz)) {
|
||||||
LOG(LL_INFO, ("type=%s Mag X=%.2f Y=%.2f Z=%.2f", mgos_imu_get_magnetometer_name(sensor), mx, my, mz));
|
LOG(LL_INFO, ("type=%-10s Mag X=%.2f Y=%.2f Z=%.2f", mgos_imu_magnetometer_get_name(sensor), mx, my, mz));
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -207,7 +206,7 @@ int main(int argc, char **argv, char **environ) {
|
|||||||
struct mgos_ccs811 * ccs811 = NULL;
|
struct mgos_ccs811 * ccs811 = NULL;
|
||||||
struct mgos_mpu9250 *mpu9250 = NULL;
|
struct mgos_mpu9250 *mpu9250 = NULL;
|
||||||
struct mgos_barometer *baro = NULL;
|
struct mgos_barometer *baro = NULL;
|
||||||
struct mgos_imu *imu = NULL;
|
struct mgos_imu *imu = NULL, *imu2 = NULL;
|
||||||
|
|
||||||
if (!mgos_i2c_open(I2CBUSNR)) {
|
if (!mgos_i2c_open(I2CBUSNR)) {
|
||||||
LOG(LL_ERROR, ("Cannot open I2C bus %u", I2CBUSNR));
|
LOG(LL_ERROR, ("Cannot open I2C bus %u", I2CBUSNR));
|
||||||
@ -218,7 +217,7 @@ int main(int argc, char **argv, char **environ) {
|
|||||||
return -2;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
i2c_scanner(i2c, true);
|
// i2c_scanner(i2c, true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if (!(sht31 = mgos_sht31_create(i2c, 0x44)))
|
* if (!(sht31 = mgos_sht31_create(i2c, 0x44)))
|
||||||
@ -247,11 +246,18 @@ int main(int argc, char **argv, char **environ) {
|
|||||||
if (!(imu=mgos_imu_create())) {
|
if (!(imu=mgos_imu_create())) {
|
||||||
LOG(LL_ERROR, ("Cannot create IMU"));
|
LOG(LL_ERROR, ("Cannot create IMU"));
|
||||||
} else {
|
} else {
|
||||||
if (!mgos_imu_create_accelerometer_i2c(imu, i2c, 0x68, ACC_MPU9250))
|
if (!mgos_imu_accelerometer_create_i2c(imu, i2c, 0x68, ACC_MPU9250))
|
||||||
LOG(LL_ERROR, ("Cannot create accelerometer on IMU"));
|
LOG(LL_ERROR, ("Cannot create accelerometer on IMU"));
|
||||||
if (!mgos_imu_create_gyroscope_i2c(imu, i2c, 0x68, GYRO_MPU9250))
|
if (!mgos_imu_gyroscope_create_i2c(imu, i2c, 0x68, GYRO_MPU9250))
|
||||||
LOG(LL_ERROR, ("Cannot create gyroscope on IMU"));
|
LOG(LL_ERROR, ("Cannot create gyroscope on IMU"));
|
||||||
if (!mgos_imu_create_magnetometer_i2c(imu, i2c, 0x0C, MAG_AK8963))
|
if (!mgos_imu_magnetometer_create_i2c(imu, i2c, 0x0C, MAG_AK8963))
|
||||||
|
LOG(LL_ERROR, ("Cannot create magnetometer on IMU"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(imu2=mgos_imu_create())) {
|
||||||
|
LOG(LL_ERROR, ("Cannot create IMU"));
|
||||||
|
} else {
|
||||||
|
if (!mgos_imu_magnetometer_create_i2c(imu2, i2c, 0x0E, MAG_MAG3110))
|
||||||
LOG(LL_ERROR, ("Cannot create magnetometer on IMU"));
|
LOG(LL_ERROR, ("Cannot create magnetometer on IMU"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,6 +276,7 @@ int main(int argc, char **argv, char **environ) {
|
|||||||
do_mpu9250(mpu9250);
|
do_mpu9250(mpu9250);
|
||||||
do_baro(baro);
|
do_baro(baro);
|
||||||
do_imu(imu);
|
do_imu(imu);
|
||||||
|
do_imu(imu2);
|
||||||
sleep(1);
|
sleep(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user