#pragma once /* * # 安装工具 * apt install i2c-tools libi2c-dev * * # 扫描设备 * i2cdetect -y 1 */ #include "cn/中文化.hpp" /* 基本I2C */ 逻辑型 I2C_检查(); 空类型 I2C_初始化(常量 字符* 文件路径 = "/dev/i2c-1"); 空类型 I2C_清除(); 空类型 I2C_获取锁(); /* FIXME: 使用锁类 */ 空类型 I2C_释放锁(); 空类型 I2C_置地址(常量 无号8位整 地址); 空类型 I2C_写寄存器(无号8位整 寄存器, 无号8位整 值); 无号8位整 I2C_读寄存器(无号8位整 寄存器); /* PCA9685 */ 逻辑型 PCA9685_检查(); 空类型 PCA9685_初始化(); 空类型 PCA9685_设置PWM(无号8位整 通道, 无号16位整 导通值, 无号16位整 关断值); 空类型 PCA9685_调整角度(无号8位整 通道, 单精度小数 角度); /* * MPU6050 * 传感器数据 */ 结构体 MPU6050_传感器数据 { 有号16位整 加速度计_横, 加速度计_纵, 加速度计_竖; 有号16位整 陀螺仪_横, 陀螺仪_纵, 陀螺仪_竖; }; 逻辑型 MPU6050_检查(); 空类型 MPU6050_初始化(); MPU6050_传感器数据 MPU6050_读传感器(); /* FIXME: 输入结构体引用(或指针)会更快 */ 空类型 MPU6050_计算角度(常量 MPU6050_传感器数据& 数据, 单精度小数& 俯仰角, 单精度小数& 翻滚角); /* Robot */ #include "hd/Robot.hpp"