mirror of
https://github.com/avem-labs/Avem.git
synced 2023-09-01 15:18:49 +08:00
[MOD]: Add PID Task
This commit is contained in:
parent
848805f6e4
commit
4f0fca8b92
@ -60,7 +60,6 @@ typedef struct{
|
|||||||
}SixAxis, *pSixAxis;
|
}SixAxis, *pSixAxis;
|
||||||
|
|
||||||
|
|
||||||
void initLED();
|
|
||||||
void MPU_Sigle_Write(unsigned char reg_addr, unsigned char reg_data);
|
void MPU_Sigle_Write(unsigned char reg_addr, unsigned char reg_data);
|
||||||
unsigned char MPU_Sigle_Read(unsigned reg_addr);
|
unsigned char MPU_Sigle_Read(unsigned reg_addr);
|
||||||
short MPU_GetData(unsigned char REG_Addr);
|
short MPU_GetData(unsigned char REG_Addr);
|
||||||
|
@ -108,15 +108,6 @@ unsigned char uart_Float2Char(float value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void uart_sendStr(char *cmd) {
|
void uart_sendStr(char *cmd) {
|
||||||
// unsigned short pointer = 0;
|
|
||||||
// while(*(cmd + pointer)) {
|
|
||||||
// uart_sendData(*(cmd + pointer));
|
|
||||||
// pointer++;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// for(;*cmd;)
|
|
||||||
// uart_sendData(*cmd++);
|
|
||||||
|
|
||||||
while(*cmd)
|
while(*cmd)
|
||||||
uart_sendData(*cmd++);
|
uart_sendData(*cmd++);
|
||||||
}
|
}
|
||||||
|
49
src/main.c
49
src/main.c
@ -114,12 +114,14 @@ void mpu_task() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef DEBUG_BLDC
|
||||||
void pid_task() {
|
void pid_task() {
|
||||||
while(1) {
|
while(1) {
|
||||||
pid_SingleAxis(&g_pid_roll, 0);
|
pid_SingleAxis(&g_pid_roll, 0);
|
||||||
vTaskDelay(10);
|
vTaskDelay(10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void uart_task() {
|
void uart_task() {
|
||||||
while(1) {
|
while(1) {
|
||||||
@ -138,6 +140,48 @@ void uart_task() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uart_debugPID() {
|
||||||
|
while(1) {
|
||||||
|
TTY_CLEAR();
|
||||||
|
|
||||||
|
TTY_RED();
|
||||||
|
uart_sendStr(" Motor占空比: ");
|
||||||
|
TTY_NONE();
|
||||||
|
TTY_BLUE();
|
||||||
|
uart_showData(*g_pid_roll.Channel1);
|
||||||
|
uart_sendStr("\t");
|
||||||
|
uart_showData(*g_pid_roll.Channel2);
|
||||||
|
TTY_NONE();
|
||||||
|
|
||||||
|
uart_sendStr("\n\rRoll:\t");
|
||||||
|
uart_Float2Char(*g_pid_roll.Feedback);
|
||||||
|
|
||||||
|
uart_sendStr("\tGyro:\t");
|
||||||
|
uart_Float2Char(*g_pid_roll.Gyro);
|
||||||
|
|
||||||
|
uart_sendStr("\n\rP:\t");
|
||||||
|
uart_Float2Char(g_pid_roll.p);
|
||||||
|
|
||||||
|
uart_sendStr("\n\rI:\t");
|
||||||
|
uart_Float2Char(g_pid_roll.i);
|
||||||
|
|
||||||
|
uart_sendStr("\n\rD:\t");
|
||||||
|
uart_Float2Char(g_pid_roll.d);
|
||||||
|
|
||||||
|
uart_sendStr("\n\r=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=_=\n\rInner Cache:\t");
|
||||||
|
uart_Float2Char(g_pid_roll.InnerLast);
|
||||||
|
uart_sendStr("\n\rOutter Cache:\t");
|
||||||
|
uart_Float2Char(g_pid_roll.OutterLast);
|
||||||
|
|
||||||
|
uart_sendStr("\n\rOutput:\t\t");
|
||||||
|
TTY_RED();
|
||||||
|
uart_showData(g_pid_roll.output);
|
||||||
|
TTY_NONE();
|
||||||
|
uart_sendStr("\n\r");
|
||||||
|
vTaskDelay(100);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
||||||
#ifdef DEBUG_BLDC
|
#ifdef DEBUG_BLDC
|
||||||
@ -152,8 +196,9 @@ int main() {
|
|||||||
uart_sendStr("MPU6050 Connect Success!");
|
uart_sendStr("MPU6050 Connect Success!");
|
||||||
UART_CR();
|
UART_CR();
|
||||||
|
|
||||||
xTaskCreate(uart_task, "UART_TASK", 100, NULL, 1, NULL);
|
xTaskCreate(uart_debugPID, "UART_TASK", 100, NULL, 1, NULL);
|
||||||
xTaskCreate(mpu_task, "MPU_TASK", 100, NULL, 2, NULL);
|
xTaskCreate(mpu_task, "MPU_TASK", 100, NULL, 3, NULL);
|
||||||
|
xTaskCreate(pid_task, "PID_TASK", 100, NULL, 2, NULL);
|
||||||
vTaskStartScheduler();
|
vTaskStartScheduler();
|
||||||
uart_sendStr("Stack Overflow...");
|
uart_sendStr("Stack Overflow...");
|
||||||
while(1);
|
while(1);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user