# Infantry_embedded **Repository Path**: toe_202/infantry_embedded2021 ## Basic Information - **Project Name**: Infantry_embedded - **Description**: 小步兵 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: explain_hhh - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2021-06-12 - **Last Updated**: 2022-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 无内鬼,来点步兵代码 > 任何事物都不及“伟大”那样简单;事实上,能够简单便是伟大。——爱默生 > 实话讲,这份代码结构上不容易看懂。内容有的地方也不好看懂,十一份 read-unfriendly 的代码,非常惭愧 > > 所以你可以**在这个仓库中提出 Issue 来询问你不懂的部分**,将会有人做出解答 ## Preface 文件夹 `infantryOne` 中是 2021 赛季步兵“车同轨,书同文”之后的短暂时间内的代码,也是 5 号步兵的上场代码,但是 3 辆车在除了视觉嵌入式代码方面之外的代码差异几乎没有。 > 有差异的原因是 3,4 号步兵采用了与 5 号步兵不同的识别方案导致接受格式的不同 但是阅读的重点是运动部分,所以这个差异也无伤大雅 ## 主要部分 ### BSP 没什么说的。 ### APP 实话讲,一个文件都去不掉。但是应该去辨别哪些是主要的内容。对步兵来讲: - 能够前后左右运动 - 云台可以左右、俯仰 - 能够小陀螺运动 - IMU 可以正常工作、角度解算不夸张 - 摩擦轮、拨盘可以在你控制内转动 - ... ... 这些是显而易见的主要部分,播放音乐等是可选的、提醒作用的。 那 `APP` 文件夹内的内容就是一些功能性的模块 ### Thread 文件夹内是步兵各个线程的代码 - 底盘&发射机构运动:`thread_canTx` - 云台运动:`thread_gimbal` 需要提醒的是: 1. 这里的代码优**有点**乱 2. `thread_monitor` 中的监视线程的主要部分是 10s 进行一次测试,但是由于后面发现的时候已经有太多内容耦合,所以改不了了。不要这样写,一个监视线程应该在 1 秒或者更小的时间内检查一次 ## What's more - 陀螺仪部分的 C 板代码在[这里](https://gitee.com/toe_202/c-board-collection) - 等下会把往年的代码加进来 - 还是多看强队的代码。不要拘泥于现在的形势,多学习 - 祝好运,希望你可以写出简单优雅的代码