45 lines
1.3 KiB
C++
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"
|