Files
2026-04-12 20:34:47 +08:00

142 lines
3.2 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : Config.c
* @brief : Configuare the Robot Functions
* @author : Yan Yuanbin
* @date : 2023/05/21
* @version : v1.0
******************************************************************************
* @attention : To be perfected
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef ROBOT_CONFIG_H
#define ROBOT_CONFIG_H
/* Includes ------------------------------------------------------------------*/
#include "stdint.h"
#include "stdbool.h"
#include "stdlib.h"
#include "string.h"
#include "math.h"
/* General physics and mathematics constants ---------------------------------*/
/**
* @brief the value of local gravity acceleration
*/
#define VAL_LIMIT(x,min,max) do{ \
if ((x) > (max)) {(x) = (max);} \
else if ((x) < (min)) {(x) = (min);} \
}while(0U)
#define GravityAccel 9.718f
#define Angle_to_rad 0.01745329f
#define Rad_to_angle 57.2957732f
/**
* @brief Euler's Number
*/
#define Euler_Number 2.718281828459045f
/**
* @brief radian system rotation degrees system , 180.f/PI
*/
#define RadiansToDegrees 57.295779513f
/**
* @brief degrees system rotation radian system , PI/180.f
*/
#define DegreesToRadians 0.01745329251f
/* Vision reslove constants -------------------------------------------------*/
/**
* @brief Decision Marking mode
* 0: select the minimum yaw armor
* 1: select the minimum distance armor
*/
#define Yaw_Distance_Decision 0
/**
* @brief ballistic coefficient
* @note 17mm: 0.038
* 42mm: 0.019
*/
#define Bullet_Coefficient 0.038f
/**
* @brief the half width of little armor
*/
#define LittleArmor_HalfWidth 0.07f
/**
* @brief the half width of Large armor
*/
#define LargeArmor_HalfWidth 0.1175f
/* IMU reslove constants ---------------------------------------------------*/
/**
* @brief the flag of bmi088 Calibration
* 0: DISABLE
* 1: ENABLE
*/
#define IMU_Calibration_ENABLE 0U
/**
* @brief the index of pitch angle update
*/
#define IMU_ANGLE_INDEX_PITCH 2U
/**
* @brief the index of yaw angle update
*/
#define IMU_ANGLE_INDEX_YAW 0U
/**
* @brief the index of roll angle update
*/
#define IMU_ANGLE_INDEX_ROLL 1U
/**
* @brief the index of pitch gyro update
*/
#define IMU_GYRO_INDEX_PITCH 0U
/**
* @brief the index of yaw gyro update
*/
#define IMU_GYRO_INDEX_YAW 2U
/**
* @brief the index of roll gyro update
*/
#define IMU_GYRO_INDEX_ROLL 1U
/**
* @brief the index of pitch accel update
*/
#define IMU_ACCEL_INDEX_PITCH 0U
/**
* @brief the index of yaw accel update
*/
#define IMU_ACCEL_INDEX_YAW 2U
/**
* @brief the index of roll accel update
*/
#define IMU_ACCEL_INDEX_ROLL 1U
/* Remote reslove constants -----------------------------------------------*/
/**
* @brief the flag of remote control receive frame data
* @note 0: CAN
* 1: USART
*/
#define REMOTE_FRAME_USART_CAN 0U
#endif //ROBOT_CONFIG_H