diff --git a/README.md b/README.md index 8201cbd..bcaad1d 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,107 @@ -# Loli3 +# 萝莉3代遥控器 (Loli3 RC) -#### 介绍 -这个是萝莉3航模遥控器的开源项目,包含硬件电路及固件源码,原创作者“我爱萝丽爱萝丽”,原发于“模型中国”论坛,后来“模型中国”论坛消亡,作者遂转战于“模友之吧”,虽然萝莉4代从提出到现在已经有1年半了(2017年12月31日提出萝莉4代至今),但由于4代正式版一直难产当中,到目前为止最新版仍然是3代,由于群(1群:272416403;2群:556473744)里文件比较混乱,特将相关内容放于git上,奢望能统一管理源码。开源许可协议由于原作者没说,所以我随便选了个MIT吧。 -托管于几个git仓库: -https://gitee.com/wooddoor/Loli3 【这个是主仓库,其它的为备份,有事没事都不会在那几个仓库出现,所以有问题请在这个主仓库提交】 -https://github.com/wooddoor/Loli3 -https://code.aliyun.com/wooddoor/Loli3.git +基于STM32F103RBT6的开源航模遥控器固件。 -#### 软件架构 -软件架构说明 +## 硬件配置 +- MCU: STM32F103RBT6 (Cortex-M3, 128KB Flash, 20KB RAM) +- 显示屏: SSD1306 128x64 OLED (硬件I2C, PB10/PB11) +- 按键: 4个 (PB12/PB13/PB14/PB15: 上/下/确认/返回) +- 输入: 16个ADC通道 (PC0-PC3, PA0-PA7, PC4-PC5, PB0-PB1) +- 无线: NRF24L01+ (SPI: PB3/PB4/PB5, CE: PB7, CSN: PB6, IRQ: PD2) +- PWM输出: 2路 (PB8/PB9) +- LED: 3个 (PC6/PC7/PC8) +- 串口: UART1 (PA9/PA10), UART3 (PC10/PC11) +- USB: USB虚拟串口/Joystick (PA11/PA12) -#### 安装教程 +## 功能特性 -1. xxxx -2. xxxx -3. xxxx +### 1. 多模型支持 +- 支持最多10个模型配置 +- 模型类型选择 (固定翼/车/船/多轴) +- 每个模型独立的通道映射、混控配置 -#### 使用说明 +### 2. 通道系统 +- 16个输入通道,支持ADC或按键自动识别 +- 每个通道可设置: 端点、反向、曲线 +- 8个可编程混控 -1. xxxx -2. xxxx -3. xxxx +### 3. 无线协议 +- NRF24L01+ 2.4G无线 (默认) +- 支持CRFS协议 (后续实现) +- 自动对频功能 -#### 参与贡献 +### 4. UI界面 +- 主页值显示/回传显示 +- 完整的菜单系统 +- 中文支持 -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request +### 5. 特色功能 +- PWM输出可配置为: WS2812 LED / 普通LED / 振动 +- USB虚拟Joystick功能 +- 回传数据显示 +## 项目结构 -#### 码云特技 +``` +LoliRC/ +├── Makefile # 编译脚本 +├── README.md # 说明文档 +└── src/ + ├── main.c # 主程序 + ├── config.h # 硬件配置 + ├── hal.h/.c # HAL抽象层 + ├── oled.h/.c # OLED驱动 + ├── key.h/.c # 按键驱动 + ├── adc.h/.c # ADC驱动 + ├── led.h/.c # LED驱动 + ├── nrf24l01.h/.c # NRF24L01驱动 + ├── eeprom.h/.c # EEPROM存储 + ├── model.h/.c # 模型配置管理 + ├── ui.h/.c # UI界面系统 + ├── pwm.h/.c # PWM输出驱动 + ├── ui/ + │ └── README.md # UI设计说明 + └── WordStock.h # 字库 +``` -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) \ No newline at end of file +## 编译与烧录 + +### 依赖 +- arm-none-eabi-gcc +- OpenOCD 或 STM32CubeProgrammer + +### 编译 +```bash +cd LoliRC +make +``` + +### 烧录 +使用STM32CubeProgrammer或OpenOCD烧录生成的hex/bin文件。 + +## UI操作说明 + +### 主页 +- 显示各通道当前值 +- 长按OK键进入高频头配置 +- 长按BACK键切换值/回传显示 +- 短按OK键进入主菜单 + +### 主菜单 +1. Model Select - 模型选择/新建/编辑/删除 +2. RF Config - 高频头配置 +3. Channel Map - 通道映射 +4. Mixer - 混控设置 +5. PWM Driver - PWM输出配置 +6. Home Settings - 主页设置 + +## 默认配置 + +- NRF24L01频道: 60 +- 数据速率: 2Mbps +- 对频短语: "LOVE" + +## 许可证 + +MIT License