142 lines
3.2 KiB
C
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
|
|
|
|
|