#ifndef I2C1_H #define I2C1_H #include "stm32f7xx_hal.h" /* * Shared I2C1 bus handle — used by baro (BMP280/DPS310) and mag * (QMC5883L/HMC5883L/IST8310) drivers. * * Call i2c1_init() once in main() before any I2C probes. * PB8 = SCL, PB9 = SDA (AF4_I2C1, open-drain, 100 kHz). */ extern I2C_HandleTypeDef hi2c1; int i2c1_init(void); #endif /* I2C1_H */ int i2c1_write(uint16_t addr, const uint8_t *data, uint16_t len); int i2c1_read(uint16_t addr, uint8_t *data, uint16_t len);