Files
2026-08-02 20:15:07 +08:00

45 lines
1.3 KiB
C++

#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"