# XATU-Rm-RedOwl **Repository Path**: liu-zixiang1/xatu-rm-red-owl ## Basic Information - **Project Name**: XATU-Rm-RedOwl - **Description**: 西安工业大学RM-赤枭战队 电控代码仓库 - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 3 - **Created**: 2024-01-06 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: RoboMaster ## README # 赤枭战队git仓库汇总: | 仓库地址 | 仓库说明 | |----------------------------------------------------|-----------------| | https://gitee.com/liuxcfreddy/xatu-rm-red-owl | 赤枭战队电控代码仓库 | | https://gitee.com/LiYuxing_666/rm_vision | 赤枭战队视觉算法仓库 | | https://gitee.com/LiYuxing_666/sentinel_navigation | 赤枭战队哨兵机器人导航算法仓库 | # 仓库说明以及实时动态 禁止使用任何全局自定义数据类型 使用HAL规定的uint8_t int8_t 等通用写法 (这一部分你可以通过随意的一个跳转,到HAL库函数内查看) 禁止随意使用全局变量传参,任务服务函数均不得直接从外部获得参数运算,必须要有输入输出接口 规定如下: * 单一反馈的运算类函数值用相应的返回函数即可; * 但是一旦涉及多个返回值或者传参,必须用结构体或者指针。进行相应的传递,不得用全局变量乱飞; ## **变量命名规则** | 场景 | 规则 | 示例 | | |:--------:|:------------------------------------------------------:|:------------------------:| ------------ | | 全局变量 | 使用大写 | TEMP | | | 函数内部 | 首字母大写首个空格加下划线 | First_TempVort | | | 结构体形式定义名 | 固定句柄加用途 | TydedefMotoStruct | Moto按用途替换即可 | | 结构体内元素名 | 首字母大写,每个空格加下划线 | Light_Time_Color | 注意与函数内局部变量区分 | | 结构体名 | 仍然遵守首字母大写 | MotoStruct | | | 宏定义名 | 全大写与下划线 | TIME_HZ | | | 函数名 | 作用形式大写首个空格为下划线后面单词为首字母大写,如果涉及外设硬件名词遵循HAL库规则例如 TIM I2C等 | SET_MotoPowerVelum(); | | *ps:关于变量名主要遵循这些规则,如有遗漏,随时补充* 板级驱动(bsp)由负责系统架构的同学完成 云台 底盘等等子系统的同学调用系统层同学的封装函数即可;你们本身只需要关注功能层,也就是app层; 底层驱动则由负责系统调度的同学封装与管理。 王GH 尽快做出第一版的基础框架;创建在gitee仓库,其余人可根据master的基础分支,开自己的分支,在分支里写自己的部分驱动,互相维护且不干涉; 完成差不多后我们再说合并代码的事情,但是这前提就是,底层框架得确定好。骨架没问题的前提;(BSP功能完好)我也会帮助你们维护代码整洁与部分功能; ## 软甲开发环境 按照我个人经验一下两个版本较为稳定,当然在不更改工程属性的前提下用跟高版本的软件,在自己的分支下做编程也没关系 keil5.38a stm32 cube mx 6.9.2版本 在dev...-software文件夹内有下载链接,请尽快同步 ## 库文件上传说明 如有静态依赖库文件放进`RedOwl/Algorithm/include`文件目录 例如: *.lib *.s *.a 等 ## 协作基本要求 除系统架构同学之外,不得私自修改系统配置也就是 cube mx的配置文件`xxx.ioc`文件。如果对于BSP部分或者系统部分有修改需求,则应该联系架构同学,修改master主分支,随后其余人在自己的本分支拉取合并相应的修改。或者有修改,可在与管理员联系后直接修改master分支的部分设置。 不得自行操作master分支拉取其余分支,该操作仅允许管理员进行。 流程图 程序可以参考DJI官方步兵的程序示例的结构。