清理编码器+死代码+可读性整理: 删除ENCODER类(含UB析构), MotorController简化为PWM+GPIO裸控制器, 移除mortor_kp/ki/kd全局变量, 排除vl53l0x/zebra_detect死代码, 修复image_cv行列写反, 清理无关include

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
spdis
2026-06-10 15:15:34 +08:00
parent d284e18407
commit 114d93cec7
16 changed files with 264 additions and 519 deletions
+7 -18
View File
@@ -1,37 +1,26 @@
/*
* @Author: ilikara 3435193369@qq.com
* @Date: 2024-10-10 14:36:47
* @LastEditors: ilikara 3435193369@qq.com
* @LastEditTime: 2025-03-21 10:42:00
* @FilePath: /smartcar/lib/MotorController.h
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
* MotorController — 直流电机控制器
*
* 封装 PWM 调速 + GPIO 方向控制,开环占空比直驱。
* 不包含编码器反馈和 PID 闭环(开环巡线够用)。
*/
#ifndef MOTOR_CONTROLLER_H
#define MOTOR_CONTROLLER_H
#include "PwmController.h"
#include "PIDController.h"
#include "GPIO.h"
#include "encoder.h"
class MotorController
{
public:
MotorController(int pwmchip, int pwmnum, int gpioNum, unsigned int period_ns,
double kp, double ki, double kd, double targetSpeed,
int encoder_pwmNum, int encoder_gpioNum, int encoder_dir_);
MotorController(int pwmchip, int pwmnum, int gpioNum, unsigned int period_ns);
~MotorController(void);
void updateSpeed(void);
void updateTarget(int speed);
void updateduty(double dutyCycle);
PIDController pidController;
void updateduty(double dutyCycle); // dutyCycle: -100.0 ~ 100.0
private:
PwmController pwmController;
ENCODER encoder;
GPIO directionGPIO;
int encoder_dir;
};
#endif // MOTOR_CONTROLLER_H
#endif