网站建设最好的,网站百度百科,起点签约的书网站给做封面吗,云南建设厅建设网站首页ExpressLRS开源代码之工程结构 1. 源由2. 工程3. 开发环境安装4. pio命令5. ExpressLRS配置6. 硬件认证过程7. 参考资料 1. 源由
ExpressLRS开源代码基于Arduino框架设计#xff0c;在所支持的硬件环境下#xff0c;提供900/2400发射机和接收机硬件方案。
该设计提供了一个… ExpressLRS开源代码之工程结构 1. 源由2. 工程3. 开发环境安装4. pio命令5. ExpressLRS配置6. 硬件认证过程7. 参考资料 1. 源由
ExpressLRS开源代码基于Arduino框架设计在所支持的硬件环境下提供900/2400发射机和接收机硬件方案。
该设计提供了一个IO配置文件来更好的解耦软硬件设计使得整个硬件设计工作和软件设计工作更加独立。
虽然系统复杂工程结构的理解有一定难度从方法论的角度看这种解耦的设计本质上是为了更好的简化设计复杂度。
通过对ExpressLRS开源代码的研读将会就ExpressLRS开源代码工程做一个简单的介绍以便更好的进行配置和产品硬件IO的定义。
2. 工程
目前ExpressLRS开源项目提供两种方式管理工程1) ExpressLRS Configurator2) PlatformIO。
从实际使用的角度看
获取代码成功率不高编译代码耗时ExpressLRS Configurator界面并不友好PlatformIO流行且对开发者相对友好
因此这里我们主要围绕PlatformIO vscode来对工程结构进行介绍包括使用到的截图。
PlatformIO在嵌入式市场的独特理念为开发人员提供了一个跨平台工作的现代集成开发环境云和桌面IDE 支持许多不同的软件开发工具包SDK或框架包括复杂的调试调试、单元测试单元测试、自动代码分析静态代码分析以及远程管理远程开发。 它的架构旨在最大限度地提高开发人员的灵活性和选择开发人员可以使用图形编辑器或命令行编辑器PlatformIO CoreCLI也可以同时使用两者。
PlatformIO是专业嵌入式系统工程师在多个特定平台上开发解决方案的必备工具。 此外通过拥有去中心化架构PlatformIO为新的和现有的开发人员提供了一条快速集成的道路用于开发商业化产品并缩短了整体上市时间。
PlatformIO可运行在任何一个现代操作系统上macOS、MS Windows、Linux、FreeBSD。
3. 开发环境安装
关于vscode PlatformIO开发环境的安装这里将不会展开请参考Install PlatformIO for VSCode / Get started
注如果在Windows环境下希望在命令行随处可以使用pio命令请参考以下步骤进行配置。 In Search, search for and then select: System (Control Panel)Click the Advanced system settings link.Click Environment Variables. …In the Edit System Variable (or New System Variable) window, specify the value of the PATH environment variable. …Reopen Command prompt window, and run your java code. 4. pio命令
PlatoformIO(pio)可以认为是一个命令行工具该命令行工具整合了软件开发工具包SDK或框架详见PlatformIO Getting Started
开发者在这个开发工具的帮助下通过其支持的开发板硬件将可以快速实现业务逻辑帮助项目快速业务软件原型。
5. ExpressLRS配置
当然虽然pio可以帮助快速业务软件原型但是ExpressLRS开源接收机、发射机基于各种目标硬件可以形成各种硬件产品配置。
显然这块内容相对来说是比较复杂的但是基于pio开发的代码天生具备软硬件通过配置解耦的特性接下来就对这个配置工程结构进行分析
platformio.ini├── hardware/targets.json│ ├── hardware/RX/layout_file.json│ └── hardware/RX/layout_file.json├── targets/common.ini│ ├── python/build_flags.py│ ├── python/build_env_setup.py│ └── python/build_html.py //esp series MCU├── targets/unified.ini├── targets/betafpv_900.ini //instance of betafpv 900└── targets/bandname_frequency.ini总入口platformio.ini通用环境变量targets/common.ini额外特定脚本build_flags.py、build_env_setup.py、build_html.py硬件目标bandname_frequency.ini目标管脚配置hardware/RX/layout_file.json、hardware/RX/layout_file.json所支持厂家产品清单hardware/targets.json 6. 硬件认证过程
通常来说硬件厂商都希望被开源组织认证以下便是ELRS官方的认证流程 Step 1: prototype discussion Step 2: schematic design (following ExpressLRS_Manufacturer_Design_Guidelines_v1.7.pdf) // checklist Step 3: schematic review Step 4: layout design (following ExpressLRS_Manufacturer_Design_Guidelines_v1.7.pdf) // checklist Step 5: layout review Step 6: send a few sample out for testing (as ELRS dev requested) Step 7: If test passed, ELRS dev team will add target for long term support // checklist and ExpressLRS开源之RC链路性能测试 Step 8: the manufacturer sends the production unit (the same unit which your customers will get) samples to the requested ELRS devs (~10 units). The samples will be reserved in the devs’ hands for future technical support 注目前最新的硬件设计指南是ExpressLRS_Manufacturer_Design_Guidelines_v1.7.pdf
7. 参考资料
【1】[ExpressLRS开源之接收机固件编译烧录步骤](https://blog.csdn.net/lida2003/article/details/132518813 【2】ExpressLRS开源之RC链路性能测试 【3】ExpressLRS开源之基本调试数据含义 【4】ExpressLRS开源代码之框架结构 【5】PlatformIO Getting Started 【6】High-performance Open Source Radio Control Link