- 云台(ROBOT_TYPE_GIMBAL)与底盘(ROBOT_TYPE_CHASSIS)完整固件源码 - 新增根级 .gitignore,排除 Keil MDK-ARM 构建产物(.o/.d/.crf/.axf/.lnp/.map/.htm/.sct/.dep/.iex/.lst 等) 与 *.uvguix.* / DebugConfig/(与机器绑定的 UI 布局) - core.autocrlf=false,避免固件源码在检出时被改动换行符
25 lines
1011 B
C
25 lines
1011 B
C
#ifndef IST8310_H
|
|
#define IST8310_H
|
|
|
|
/* C 板板载磁力计 IST8310 —— 硬件 I2C3(PA8/PC9, CubeMX 已配置)版
|
|
* DRDY=PG3(EXTI3), RSTN=PG6
|
|
* 注:当前 AHRS 仅做 6 轴融合(磁力计数据未参与,与 legacy 一致),此模块用于
|
|
* 健康检查与后续 9 轴扩展;
|
|
* legacy/早期移植版用软件模拟 I2C,现已改为硬件 I2C3 */
|
|
|
|
#include <stdint.h>
|
|
|
|
extern float ist8310_magnetic_field[3]; // (uT)
|
|
extern float ist8310_temperature; // (℃)
|
|
extern uint8_t ist8310_online; // 1-初始化成功 0-检测失败(有界重试后放弃,系统继续运行)
|
|
extern uint8_t ist8310_last_who; // 最近一次读到的 WHO_AM_I(诊断用,正常 0x10)
|
|
|
|
/* 初始化(任务上下文调用;失败时绿灯报警并重试,有界重试后放弃) */
|
|
extern void ist8310_init(void);
|
|
|
|
/* 轮询读取(在 IMU_Task 1kHz 循环中调用,内部按 5ms/200Hz 分频,
|
|
* 阻塞式 I2C 读取约 0.7ms@100kHz,不影响姿态解算) */
|
|
extern void ist8310_poll(void);
|
|
|
|
#endif
|