├── 2018 └── STM32-BSP-contribution │ ├── README.md │ └── figures │ ├── add.png │ ├── bspflow.png │ ├── edit.png │ └── pr.png ├── 2019 ├── JOB201901.md ├── JOB201902.md ├── JOB201903.md ├── JOB201904.md ├── JOB201905.md ├── JOB201906.md ├── JOB201907.md ├── JOB201909.md ├── JOB201910.md ├── JOB202010.md └── figures │ └── LoRaWAN_Architecture_Diagram.jpg ├── 2020 ├── JOB202001.md ├── JOB202002.md ├── JOB202003.md ├── JOB202004.md ├── JOB202005.md ├── JOB202006.md ├── JOB202007.md └── JOB202008.md └── README.md /2018/STM32-BSP-contribution/README.md: -------------------------------------------------------------------------------- 1 | # STM32 BSP 贡献挑战活动 2 | 3 | ## 活动简介 4 | 5 | 首先,非常感谢各位开发者参与STM32 BSP 贡献挑战活动, 为 RT-Thread 尽一份力。参与活动需要先看此文档了解活动规则和流程。挑战活动完成即可获得相应奖励! 6 | 7 | ## 活动目标 8 | 9 | 参与 STM32 BSP 贡献挑战活动需要完成下面 2 个阶段的目标: 10 | 11 | * 第一阶段:完成基础 BSP, 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台。完成 MDK4、MDK5 、IAR 和 GCC 编译器支持,如果芯片不支持某款编译器(比如MDK4)可以不用做。 BSP 的 README.md 文件需要填写第二阶段要完成的驱动。 12 | 13 | * 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。 14 | 15 | ## 活动规则 16 | 17 | STM32 BSP 贡献挑战活动规则如下: 18 | 19 | * 贡献的 BSP 不能和其他人重复,且 RT-Thread 仓库还没有支持此 BSP。 20 | 21 | * 参与活动必须填写跟踪表,方便跟踪每个人的进度。 22 | 23 | * 第一阶段目标完成截止日期为二个周,逾期视为挑战失败。 24 | 25 | * 第二阶段目标完成截止日期为一个月,逾期视为挑战失败。 26 | 27 | * 第一阶段和第二阶段全部完成才算挑战成功! 28 | 29 | * 鉴于第二阶段时间跨度比较长,开发者可以完成一些驱动后就提 PR,可以根据此 PR 了解完成状态,全部驱动完成后 PR 才会被合并。 30 | 31 | ## 活动奖励 32 | 33 | 挑战成功的小伙伴可以获得如下奖励: 34 | 35 | * 可观看 RT-Thread 内部技术公开课(代码贡献专享) 36 | 37 | * 可尝鲜获得 STM32 新品板卡,如 STM32G0、STM32WB 38 | 39 | * 年底可参与 RT-Thread 年度杰出贡献奖评选 40 | 41 | * RT-Thread 公司不定期福利 42 | 43 | * 个人账号会被展示在 Github RT-Thread contributors 44 | 45 | ## 活动流程 46 | 47 | 活动的主要流程如下图所示: 48 | 49 | ![STM32 BSP 贡献挑战活动流程](figures/bspflow.png) 50 | 51 | ### 选择未支持的开发板 52 | 53 | * 查看 STM32 BSP 的 [README.md 文件 (STM32 BSP 说明文档)](https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32),确认一下要做的 BSP 是否已经支持,若已经支持,则不需要重复造轮子。 54 | 55 | * 确认跟踪表里是否有此BSP,若已经有其他开发者在参与此 BSP 的制作,那么只有在其他开发者挑战失败的情况下才可以参与此 BSP 贡献挑战。 56 | 57 | ### 填写 BSP 提交跟踪表 58 | 59 | 在本文跟踪表统计小节填写新增 BSP 信息。可在 GitHub 仓库在线修改 README.md 文档。修改及提交步骤如下所示: 60 | 61 | * 按下图所示点击编辑按钮修改文档。 62 | 63 | ![新增跟踪信息](figures/edit.png) 64 | 65 | * 然后在跟踪表章节新增自己的信息,填写完成可以点击 `Preview changes`查看预览效果,确认格式是否填写正确。 66 | 67 | ![新增跟踪信息](figures/add.png) 68 | 69 | * 信息添加完成后填写提交信息并提交,比如“增加 ST 官方 stm32f091-nucleo 开发板”等。 70 | 71 | ![新增跟踪信息](figures/pr.png) 72 | 73 | ### fork RT-Thread 源代码仓库 74 | 75 | 参考文档《向 RT-Thread 贡献代码》,fork RT-Thread 源代码仓库,clone 自己的仓库到本地,并新建分支开发 BSP。 76 | 77 | ### 根据指导文档制作 BSP 78 | 79 | 参考 STM32 BSP 的 [README.md 文件 (STM32 BSP 说明文档)](https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32) 的 BSP 制作教程小节,根据此文件的详细步骤制作新的 BSP。 80 | 81 | ### BSP 完成提 Pull Request 82 | 83 | BSP 按照规范制作完成后推送到自己的 GitHub 仓库并提 PR,参考文档《向 RT-Thread 贡献代码》。 84 | 85 | ### 根据 review 意见更新 BSP 86 | 87 | GitHub 提 PR 后需要关注 PR 状态,相关的评审意见会在这里更新,根据评审意见及时修改 BSP。 88 | 89 | ### PR merged 90 | 91 | BSP 修改完成,评审通过后才会被 merge。 92 | 93 | ## 跟踪表模板 94 | 95 | 下面表格为 BSP 提交跟踪表模板: 96 | 97 | |**GitHub ID**| **RT-Thread 论坛 ID** | **开发板名称** | **BSP 文件夹名称** | **第一阶段目标** |**第二阶段目标** |**开始日期**| **完成状态**| 98 | | ------------| ---------------------|------------------------------| ----------------------| -------------- |--------------- | -------- | --------------- | 99 | | yyyq | yyyq |ST 官方 stm32f091-nucleo 开发板 | stm32f091-st-nucleo | 待完成 | 待完成 | 2019/1/8 | 已提 PR | 100 | | xxxxa | xxxxa |正点原子 F103 NANO 开发板 | stm32f103-atk-nano | 已完成 | 待完成 | 2019/1/10 | 待完成 | 101 | 102 | 表格各项目填写说明如下面表格所示: 103 | 104 | |**表格项目**| **说明** | 105 | | ------------- | --------------------------- | 106 | | GitHub ID | 开发者 GitHub ID | 107 | | RT-Thread 论坛 ID | 开发者 RT-Thread 论坛 ID | 108 | | 开发板名称 | 开发板官方名称,参考 STM32 BSP 的 [README.md 文件 (STM32 BSP 说明文档)](https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32)里面其他开发板的命名 | 109 | | BSP 文件夹名称 | 命名规则为:芯片型号 + 厂家名称 + 板子名称 ,参考 [STM32 BSP](https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32) 其他开发板的命名 | 110 | | 第一阶段目标 | 第一阶段目标完成情况:待完成 或者 已完成 | 111 | | 第二阶段目标 | 第二阶段目标完成情况:待完成 或者 已完成 | 112 | | 开始日期 | 开始日期 | 113 | | 完成状态 | 开发者可以不用填写 | 114 | 115 | ## 跟踪表统计 116 | 117 | 要提交 BSP 需要填写提交跟踪表,根据上面小节的描述在这份表格里面填上自己的信息,注意不要修改其他开发者填写的内容。 118 | 119 | |**GitHub ID**|**RTT论坛 ID**|**开发板名称**|**BSP 文件夹名称**|**第一阶段目标**|**第二阶段目标**|**开始日期**|**完成状态**| 120 | | ------------| ----------|------------ | ----------------| -------------- |---------------| ---------|-----------| 121 | | XiaojieFan | 小住住 | 硬十ibox | stm32f103-hw100k-ibox|已完成 | 待完成LoRa | 2019/1/8| 已完成 W5500,ESP8266,RS485,I2C,RTC,ADC,IWG. | 122 | | e31207077 | e31207077 | NUCLEO-F767ZI | stm32f767-st-nucleo|已完成 | 待完成 | 2019/1/9| | 123 | | jinsheng20 | jinsheng | stm32f746-disco | stm32f746-st-disco|已完成 | 待完成 | 2019/1/9| | 124 | | sunshine0824| sun_shine | Nucleo-L432KC | stm32l432-st-nucleo|已完成 | | 2019/1/31| 已完成 rtc,iwdg,onchip flash | 125 | | andeyqi | andeyqi | NUCLEO-F446ZE | stm32F446-st-nucleo|已完成 | 待完成 | 2019/1/9| | 126 | | FindYGL | Glen_Young| LY-STM32F103C8V1.2 |stm32f103-dofly-lyc8|已完成 | 待完成 | 2019/1/9| | 127 | | whj4674672 | 无 | 麦克泰 F107 μc_Eval开发板 |stm32f107-uc-eval|已完成 | 待完成 | 2019/1/9| | 128 | | Vincent-VG | wzw66 | NUCLEO-L476RG | stm32l476-st-nucleo | 已完成 | 待完成 | 2019-1-17 | | 129 | | gztss | | NUCLEO-G072RB | stm32/stm32g071-nucleo | 已完成 | 待完成 | 2019-1-17 | | 130 | | Jackistang | Jacksi | 野火 F103 指南者开发板 | stm32f103-fire-guide | 待完成 | 待完成 | 2020-4-29 | | 131 | -------------------------------------------------------------------------------- /2018/STM32-BSP-contribution/figures/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RT-Thread/community-activities/4da374044d827dfc5079db77732b7d3ecfe16c8c/2018/STM32-BSP-contribution/figures/add.png -------------------------------------------------------------------------------- /2018/STM32-BSP-contribution/figures/bspflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RT-Thread/community-activities/4da374044d827dfc5079db77732b7d3ecfe16c8c/2018/STM32-BSP-contribution/figures/bspflow.png -------------------------------------------------------------------------------- /2018/STM32-BSP-contribution/figures/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RT-Thread/community-activities/4da374044d827dfc5079db77732b7d3ecfe16c8c/2018/STM32-BSP-contribution/figures/edit.png -------------------------------------------------------------------------------- /2018/STM32-BSP-contribution/figures/pr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RT-Thread/community-activities/4da374044d827dfc5079db77732b7d3ecfe16c8c/2018/STM32-BSP-contribution/figures/pr.png -------------------------------------------------------------------------------- /2019/JOB201901.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201901】 at_device 软件包,适配更多模组 2 | 3 | 目前 at_device 软件包( https://github.com/RT-Thread-packages/at_device )是所有软件包中用的最多的一个,已经支持了近10种不同类似的模组 4 | 5 | 但还是有些常用的模组没有被适配进来,比如:air202, m6315 等等,大家可以选择自己熟悉的还未适配模组,进行适配 6 | 7 | [点击这里](https://www.rt-thread.org/qa/forum.php?mod=viewthread&tid=7660) 查看模组适配的一些技术要求 8 | 9 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201901.md ) 10 | 11 | ## 小组成员 12 | 13 | ### 马龙伟 14 | 15 | ~~移远BC26 NB-IoT模组适配~~ 16 | 17 | ### 李振 18 | 19 | 中移物联 M5311 NB-IoT模组适配 20 | 21 | ### zeql 22 | 23 | 中移物联 M6315 2G模组适配 24 | 25 | ### 邵亮 26 | 27 | 合宙 air720 4g模组适配 28 | 29 | ### 卢华东 30 | 31 | 移远 BC28 NB-IoT 模组适配 32 | 33 | 目前 at_device 的 BC28 模块仍存在一些问题: 34 | 35 | - 不支持 UDP; 36 | - 数据发送/接收没有进行字符串和十六进制的转换; 37 | - BC28 固件带 MQTT 或 CoAP 功能,会占用 socket,直接调用 SAL 接口操作时会失败; 38 | 39 | 我正在研究 SAL 和 at_socket 框架,尝试把它完善。 40 | -------------------------------------------------------------------------------- /2019/JOB201902.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201902】ppp_device 软件包,适配更多模组 2 | 3 | ppp_device 软件包( https://github.com/RT-Thread-packages/ppp_device )是最近新出的软件包,可以让网络协议栈跑在 MCU 这边,使用起来比 at_device 更加灵活,但也会略占更多资源 4 | 5 | 目前由于软件包刚发布,适配的模组还不多,可选适配的模组会比较多 6 | 7 | [点击这里](https://github.com/RT-Thread-packages/ppp_device/blob/master/docs/port.md) 查看适配文档 8 | 9 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201902.md ) 10 | 11 | ## 小组成员 12 | 13 | ### 张三(请自行增加并修改) 14 | 15 | 简述主要工作内容 -------------------------------------------------------------------------------- /2019/JOB201903.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201903】基于 RT-Thread MicroPython 开发环境,开发更多创意 demo 2 | 3 | 近期 RT-Thread 正式发布了 MicroPython IDE V1.0 版本( https://marketplace.visualstudio.com/items?itemName=RT-Thread.rt-thread-micropython ),该款 IDE 基于 VScode,与开发板连接后,可以直接在 VScode 上,对开发板进行 MicroPython 的开发。 4 | 5 | 对于 RT-Thread 定制的 STM32L475 潘多拉 IoT Board 及 W601 IoT Board ,该 MicroPython IDE 有专门的固件及示例与之对应,详见:https://github.com/RT-Thread/mpy-snippets/tree/master/examples/03.board 6 | 7 | 本次活动要求的 demo,必须基于 STM32L475 潘多拉 IoT Board 及 W601 IoT Board (PS:近期 W601 开发板还有赠送的活动),使用 Python 语言,控制开发板上硬件,比如:LCD,WiFi,按键,RGB 8 | 9 | demo 实现功能范围没有要求,可以参考现在已有的实时天气的 demo : 10 | 11 | - 显示效果位于:插件介绍的 `Weather Show Demo 在开发板上的运行效果` 章节 12 | - 源代码位于:https://github.com/RT-Thread/mpy-snippets/tree/master/demo/weather_show 13 | 14 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201903.md ) 15 | 16 | ## 小组成员 17 | 18 | ### 陈迎春 19 | 20 | 基于潘多拉开发micropython应用demo 21 | 22 | ### 王辉 23 | 24 | 基于潘多拉开发micropython应用demo--小型家庭气象站 25 | -------------------------------------------------------------------------------- /2019/JOB201904.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201904】基于 RT-Thread MicroPython 开发环境,开发更多驱动库或软件库 2 | 3 | 目前 RT-Thread MicroPython 开发环境支持的库还比较少,详见: https://github.com/RT-Thread/mpy-snippets/tree/master/library ,这些库类似于 RT-Thread 的软件包,为 Python 提供可重用软件的支持 4 | 5 | 希望开发者能使用 python 封装更多的驱动库(比如:数码管、LCD12864、DS18B20)及软件库(比如:xml解析、CoAP 等) 6 | 7 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201904.md ) 8 | 9 | ## 小组成员 10 | 11 | ### xph 12 | 增加oled 12864的外设驱动库支持 13 | 14 | 简述主要工作内容 15 | -------------------------------------------------------------------------------- /2019/JOB201905.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201905】让 qemu 把 stm32 也模拟出来 2 | 3 | 目前的 qemu BSP 只要支持是的 A9 处理器,对于我们最常见的 STM32 芯片并为支持。 4 | 5 | 可以参考 GNU MCU Eclipse 已经支持了挺多 STM32 的 qemu ,可以参考 https://gnu-mcu-eclipse.github.io/qemu/ 6 | 7 | 目 qemu 已经可以支持M4浮点了,所以希望我们能支持一款 M3/M4 的 qemu stm32 开发板,作为 BSP 8 | 9 | 以后开发调试,可以直接在 qemu 上完成。希望实现 stm32 qemu 模拟:uart,pin,文件系统等功能 10 | 11 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201905.md ) 12 | 13 | ## 小组成员 14 | 15 | ### 樊晓杰 16 | QEMU 模拟 STM32F4-Discovery uart gpio. 17 | -------------------------------------------------------------------------------- /2019/JOB201906.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201906】传感器驱动软件包开发 2 | 3 | 当前 RT-Thread 已经支持了各种类型的传感器,( https://www.rt-thread.org/document/site/programming-manual/device/sensor/sensor_list/ ),对于上述列表中不支持的传感器,可以根据下述指南进行开发,做成软件包 4 | 5 | [点击这里](https://www.rt-thread.org/document/site/development-guide/sensor/sensor_driver_development/) 查看传感器软件包开发指南 6 | 7 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201906.md ) 8 | 9 | ## 小组成员 10 | 11 | ### 韩晨阳 12 | 13 | 计划开发攀藤 pms5003xx 系列传感器,支持pm2.5,甲醛,温湿度,第一阶段现行开发出各个传感器类型的接口,第二阶段对接rtt sensor接口。 14 | 15 | ### 于兆荣 16 | 17 | ~~【已存在】 添加 DS18B20 驱动~~ 18 | 19 | ### 张天鲁 20 | 21 | - 无锡芯感智半导体有限公司GZP6888D压力模块 22 | - 压力精度:±0.3kPa@25℃ 23 | - 温度精度:±1.0℃ 24 | - 需要修改一下底层的IIC驱动。 25 | 26 | ### 郭明禹 27 | 28 | - 基于spi驱动开发加速度计陀螺仪组件bmi088传感器 29 | - 基于iic驱动开发磁力计hmc0883传感器 30 | 31 | ### 黄贤景 32 | 33 | - 添加TI低功耗温湿度传感器HDC1000驱动包 34 | - 温度精度:±.2℃ 35 | - 湿度精度:±3% 36 | - 休眠电流:200nA 37 | - 使用IIC接口 38 | 39 | ### 唐嘉 40 | 41 | - 添加奥松电子的数字温湿度传感器AM2322驱动包 42 | - 温度精度:±.3℃ 43 | - 湿度精度:±2% 44 | - 使用单总线和标准IIC两种接口 45 | 46 | ### 卢华东 47 | 48 | - 添加奥松电子的数字温湿度传感器DHTxx驱动包,同时支持DHT11、DHT21、DHT22等传感器 49 | - 使用单总线接口 50 | 51 | ### 卢华东 52 | 53 | - 添加夏普的光学灰尘传感器GP2Y10驱动包 54 | - 灵敏度:0.5V/(0.1mg/m3) 55 | - 最小粒子检出值:0.8μm 56 | - 使用ADC接口 57 | 58 | ### 卢华东 59 | 60 | - 添加Sensirion的气体传感器SGP30驱动包,可检测TVOC和eCO2浓度 61 | - TVOC范围:0-60000ppb,精度:1ppb 62 | - eCO2范围:400-60000ppm,精度:1ppm 63 | - 使用IIC接口 64 | 65 | ### 单跃 66 | 67 | - 添加超声波传感器HC-SR04驱动包 68 | - 测量精度:±1cm 69 | - 添加温度补偿功能 70 | - 添加采样滤波功能 71 | 72 | ### 丁伟祥 73 | 74 | - 添加Analog低功耗加速度计驱动包 75 | - 待机电流:10uA 76 | - 使用SPI接口 77 | - 1.8 µA at 100 Hz ODR, 2.0 V supply 78 | - 3.0 µA at 400 Hz ODR, 2.0 V supply 79 | - 270 nA motion activated wake-up mode 80 | - 10 nA standby current 81 | - High resolution: 1 mg/LSB 82 | 83 | ### 卢华东 84 | 85 | - 添加AMS的气体传感器CCS811驱动包,可检测TVOC和eCO2浓度 86 | - TVOC范围:0-32768ppb,精度:1ppb 87 | - eCO2范围:400-29206ppm,精度:1ppm 88 | - 使用IIC接口 89 | 90 | ### 卢华东 91 | 92 | - 添加攀藤的PMS系列颗粒物浓度传感器PMSxx驱动包,PM1.0/PM2.5/PM10浓度,以及增强型的甲醛浓度、温湿度值 93 | - 颗粒物测量范围:0.3\~1.0, 1.0\~2.5, 2.5\~10 μm(微米) 94 | - 颗粒物质量浓度有效量程:0~500 μg/m3(微克/立方米) 95 | - 颗粒物质量浓度最大量程:>1000 μg/m3(微克/立方米) 96 | - 颗粒物质量浓度分辨率:1 μg/m3(微克/立方米) 97 | - 甲醛范围:0-2 毫克/立方米,精度:0.001 毫克/立方米 98 | - 温度范围:0-99 ℃,精度:±0.5 ℃ 99 | - 温度范围:0-99 %,精度:±2 % 100 | - 使用UART接口 101 | 102 | ### 卢华东 103 | 104 | - 添加Bosch的环境传感器BME680驱动包,可检测气压、温度、湿度和 IAQ 105 | - 气压范围:300-1100hPa,精度:±0.6hPa(300-1100hPa,0~65℃) 106 | - 温度范围:-40℃~+85℃,精度:±1.0℃(0~65℃) 107 | - 湿度范围:0-100%r.H.,精度:±3%r.H.(20-80% r.H.,25℃) 108 | - IAQ(室内空气质量)范围:0-500(值越大,空气质量越差) 109 | - 支持IIC和SPI接口 110 | -------------------------------------------------------------------------------- /2019/JOB201907.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201907】STM32 驱动开发 2 | 3 | 当前 RT-Thread 已经支持了很多 stm32 BSP, (https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32), 但是大部分 BSP 下仅支持了基本驱动,如 串口、GPIO,可以参考已经支持驱动较完善的 BSP,(https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32/stm32f429-atk-apollo), 来支持更多的外设驱动 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201907.md ) 6 | 7 | ## 小组成员 8 | 9 | ### 张红坤 10 | 11 | 支持stm32f103-mini-system片上外设驱动(SPI/ADC/TIME) 12 | 13 | ### 马龙伟 14 | 15 | 支持stm32f407-atk-explorer下的外部SRAM 16 | 17 | ### 杨连钊 18 | 19 | 支持stm32f407-atk-explorer下的 USB Host 20 | 21 | 22 | ### 刘端飞 23 | 24 | 支持stm32h743-atk-apollo下的 SDMMC 驱动 25 | 26 | ### 林艺阳 27 | 28 | 支持stm32f103-atk-warshipv3下的sdcard、sram 29 | 30 | ### 姜政 31 | 32 | 支持stm32l476-st-nucleo片上外设驱动(SPI/ADC/TIME) 33 | 34 | ### 韩晨阳 35 | 36 | 支持stm32f401-st-nucleo片上外设驱动(IIC/ADC/UART) 37 | 38 | ### 谢勇贤 39 | 40 | 支持stm32f413-st-nucleo片上外设驱动(SPI/I2C/timer/pwm/ADC/RTC/WDG/FLASH/OTGFS/RNG/UDID) -------------------------------------------------------------------------------- /2019/JOB201909.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201909】基于 RT-Robot 的智能车开发 2 | 3 | 基于 RT-Robot 软件包开发智能车,(https://github.com/RT-Thread-packages/rt-robot), 智能车实现功能范围没有要求 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201909.md ) 6 | 7 | ## 小组成员 8 | 9 | ### 张三(请自行增加并修改) 10 | 11 | 简述主要工作内容 -------------------------------------------------------------------------------- /2019/JOB201910.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201910】 让 RT-Thread 支持 LoRaWAN 2 | 3 | ## 1、介绍 4 | 5 | LoRa 作为低功耗局域网通信技术越来越流行,如果通过 LoRa 接入互联网,市面上还有挺多支持 LoRaWAN 的网关及节点设备。本活动希望节点侧的 LoRa 设备,能够使用 RT-Thread 操作系统,接入 LoRaWAN 网关,最终接入云平台。 6 | 7 | 节点侧的功能框图大致如下(by X-Jing@hangzhou): 8 | 9 | ![LoRaWAN_Architecture_Diagram](figures/LoRaWAN_Architecture_Diagram.jpg) 10 | 11 | 硬件平台:`RT-Thread 板卡` + ` SX12xx 模组` ,MCU 与模组之间通过 SPI 通信 12 | 13 | 项目将输出三个软件包,分别为: 14 | 15 | ### 1.1 LoRa Radio Driver 16 | 17 | 其代码将从 `LoRaMac-node` 提取,将 radio 的操作 API 集成在一个软件包内。 18 | 19 | 该软件包期望也能支持 nano ,甚至裸机。并在其中集成一些常用的射频测试函数,方便进行调试测试。 20 | 21 | 上层 LoRaWAN 软件包将依赖此软件包,实现底层通信解耦。 22 | 23 | ### 1.2 LoRa Multi-RTC Timer 24 | 25 | multi-rtc-timer 是个比较轻薄的接口封装层。 26 | 27 | 对上,提供了统一定时器 API 给 LoRaWAN Stack;对下,将硬件定时器相关的 HAL 接口做了封装。 28 | 29 | ### 1.3 LoRaWAN Stack 30 | 31 | 这里主要是移植官方的 [协议栈]( https://github.com/Lora-net/LoRaMac-node ) ,通过上述两个软件包,协议栈可以实现对于硬件的解耦。 32 | 33 | ## 会议纪要 34 | 35 | ### 2020-03-04 36 | 37 | - LoRa Radio Driver :准备提供设计文档,预计 03-12 评审 38 | - LoRa Multi-RTC Timer :已提供设计图,暂定 03-20 评审。需要考虑 nano 版本的支持,细节得考虑的更加清晰。 39 | 40 | ### 2020-03-13 41 | 42 | - LoRa Radio Driver 设计评审,初步确定了大致框架 43 | 44 | ### 2020-07-07 45 | 46 | - 确定 M1 时间安排,由 @Zhang 来做 LoRaWAN 软件包,07-20 出来第一个版本 47 | - 后续大家基于该版本软件包,逐步进行优化 48 | 49 | ## 路线图 50 | 51 | 项目大致分为以下几个阶段: 52 | 53 | - M0: 底层软件包开发阶段 54 | - LoRa Radio Driver/LoRa by,负责人 @killer 55 | - Multi-RTC Timer,负责人 @X-Jing 56 | - 设计阶段:01.16 - 02.15 57 | - 开发阶段:02.20 - 03.10 58 | - M1: LoRaWAN 节点协议栈移植适配阶段,优先级:ClassA->ClassC->ClassB,v1.0.3 为主,v1.1 后续再考虑 59 | - M2: LoRaWAN 协议栈测试,并接入云端 60 | - M3: LoRaWAN 网关预研、正式研发阶段 61 | 62 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201910.md ) 63 | 64 | ## 小组成员 65 | 66 | ### 陈均奎 67 | 68 | 有lorawan phy和mac的完整开发经验 69 | 70 | 1. 对上面三个软件包的方式表示认可 71 | 2.可以视当前具体开发情况进行M0或者M1阶段的开发 72 | 73 | -------------------------------------------------------------------------------- /2019/JOB202010.md: -------------------------------------------------------------------------------- 1 | ## 【JOB201908】imxRT 驱动开发 2 | 3 | 当前 RT-Thread 的 imxRT BSP 已经开发完成了很多外设驱动,(https://github.com/RT-Thread/rt-thread/tree/master/bsp/imxrt/libraries/drivers), 还需要开发 SDIO,USB Device, Host 驱动 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2019/JOB201908.md ) 6 | 7 | ## 小组成员 8 | 9 | ### 邓顺天 10 | 11 | USB Device驱动开发。 12 | -------------------------------------------------------------------------------- /2019/figures/LoRaWAN_Architecture_Diagram.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RT-Thread/community-activities/4da374044d827dfc5079db77732b7d3ecfe16c8c/2019/figures/LoRaWAN_Architecture_Diagram.jpg -------------------------------------------------------------------------------- /2020/JOB202001.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202001】基于 RT-Thread的视频教程制作 2 | 3 | 录制基于RT-Thread的教程(如rt-thread组件、软件包实验)或者技巧分享视频,建议时间在5min内,一个视频讲述一个技术点即可。 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2020/JOB202001.md ) 6 | 7 | ## 小组成员 8 | 简述主要工作内容 9 | 10 | ### hao.dong 11 | 12 | Linux下的RT-Thread开发环境设置参考讲解视频,并加上openocd配置和调试说明文档 13 | 14 | ### 李其建 15 | 16 | 基于RT-Thread Studio的Proteus仿真 17 | -------------------------------------------------------------------------------- /2020/JOB202002.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202002】基于 RT-Thread的应用DEMO制作 2 | 3 | 基于RT-Thread实现的综合应用DEMO,不限功能范围,源码公开,并有相关文档说明,及演示视频。 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2020/JOB202002.md ) 6 | 7 | ## 小组成员 8 | 9 | ### 王君杰 10 | 11 | 基于W601开发板与RT-Thread操作系统的温湿度监测及邮件报警系统。 12 | -------------------------------------------------------------------------------- /2020/JOB202003.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202003】基于RT-Thread的线上线下培训活动 2 | 3 | 基于RT-Thread的线上线下培训活动,申请时请注明线上或者线下(城市),培训主题 4 | 5 | ### [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2020/JOB202003.md ) 6 | 7 | ## 小组成员 8 | 9 | ### 张三(请自行增加并修改) 10 | 11 | 简述主要工作内容 12 | -------------------------------------------------------------------------------- /2020/JOB202004.md: -------------------------------------------------------------------------------- 1 | 2 | ## 【JOB202004】 基于RT-Thread的Starry Pilot开源无人机系统 3 | 4 | ## 1、介绍 5 | 6 | Starry Pilot项目开始于2016年,目的是打造一款轻量级,模块化的无人机系统。以无人机为基础,最终发展为机器人(如无人车,无人船等)的通用平台。 7 | 最新的Starry Pilot将是第一个基于MBD(Model Based Design)设计开源无人机系统。软件的框图如下图所示: 8 | ![starrypilot_arch.png](https://i.loli.net/2020/01/17/MWGLboSKa8OfvZN.png) 9 | 10 | 硬件平台:`Pixhawk` 11 | 12 | 项目将分为如下几个大的模块,分别为: 13 | - 嵌入式部分:包含starry fmu和starry io,主要提供系统的嵌入式软件部分,包括如上图框图所示的Kernal到Framework的部分,以及部分应用,如mav proxy, 14 | starry io和log. 15 | - MBD基于模型开发部分:这部分将在Matlab/Simulink下进行开发,通过code generation的方式,自动生成C/C++代码. 16 | - 建模与仿真:提供无人机的通用建模模型以及仿真测试环境,如SIL,HIL等. 17 | 18 | ### 1.1 Hardware 19 | 20 | 目前软件是在Pixhawk的硬件上进行开发的,后续会考虑支持更多的硬件。 21 | 22 | ### 1.2 Kernal 23 | 24 | Kernal基于RT-Thread开发,RT-Thread除了内核功能外,还提供了许多优秀的组件,如DFS文件系统,msh shell系统等。 25 | 26 | ### 1.3 Driver 27 | 28 | Driver层提供Pixhawk硬件上的各种原件的驱动支持,如传感器:IMU,磁力计,气压计,GPS等。其它设备驱动如:usb,PWM,sdio,gpio,uart,spi,i2c等的支持。 29 | 30 | ### 1.4 HAL 31 | 32 | HAL是建立在Driver之上的硬件抽象层,目的是给上层提供统一的设备接口,而不受不同硬件的影响,这样方便后续在不同硬件上的移植,而上层代码无需修改。 33 | 34 | ### 1.5 Framework 35 | 36 | Framework框架层提供系统的基础框架功能。 37 | - Sensor Hub:负责管理所有的sensor设备,提供统一的接口供其它应用以及导航调用,并定期发布传感器数据。 38 | - IPC(uMCN):提供一种主题订阅/发布的跨进程通信机制。 39 | - Mav Proxy:提供Mavlink相关协议的支持,跟上位机(QGC)进行交互。 40 | - Console:基于msh的控制台设备,提供一些指令功能。并且控制台信息可以被映射到不同的输出上,如serial,mavlink等。 41 | - FTP:基于Mavlink协议,提供FTP的文件上传和下载功能,用于跟飞控的文件系统进行文件交互。 42 | - HIL Interface:用于进行HIL硬件在环仿真,将模型发来的数据进行解析,并封装成传感器数据进行发布。 43 | - File Manager:负责文件相关的一些管理 44 | - Math:提供基础数学库支持 45 | - Param: 参数系统,基于xml/json,对参数进行动态管理。 46 | - Log: 实时日志系统。在保证系统的实时性的前提下,记录飞行的日志信息,供仿真调试时使用。 47 | - Calibration:磁力计和加速度计校准算法,支持非正交误差校准。 48 | 49 | ### 1.6 INS,Control,FMS模型 50 | 51 | 将基于模型的方法(MBD)开发导航(INS),控制以及飞行管理(FMS)的代码。这样的好处是可以大大简化手工编写代码的过程,提高代码复用性,让开发人员可以将更多 52 | 的精力放到算法本身上,而不用过多在意代码实现的细节。同时Matlab/Simulink提供了相当强大的仿真和Debug环境,可以更快速和高效的进行Debug。 53 | 54 | ## 路线图 55 | 56 | 项目大致分为以下几个阶段: 57 | 58 | - M0: 嵌入式代码开发/优化 59 | - 更好的支持RT-Thread原生系统的组件和功能 60 | - 优化代码结构,增加代码可读性和稳定性 61 | - 开发阶段:2020.01.01 - 2020.06.01 62 | - M1: 无人机建模以及仿真环境搭建 63 | - 多旋翼模型建立以及参数辨识 64 | - SIL,HIL仿真环境搭建 65 | - Visulization可视化平台 66 | - 开发阶段:2020.01.01 - 2020.04.01 67 | - M2: INS导航系统开发 68 | - 导航模型搭建,测试 69 | - 传感器模型搭建 70 | - 导航性能调优 71 | - 开发阶段:2020.01.01 - 2020.06.01 72 | - M3: Controller控制系统开发 73 | - 控制器模型搭建,测试 74 | - 控制器性能调优 75 | - 开发阶段:2020.01.01 - 2020.06.01 76 | - M4: FMS飞行管理系统开发 77 | - 飞行管理系统状态机开发 78 | - 逻辑测试 79 | - 开发阶段:2020.03.01 - 2020.06.01 80 | - M5: 上位机开发 81 | - 基于QGC进行深度客制化 82 | - 开发阶段:2020.03.01 - 2020.06.01 83 | 84 | ### [立即申请]( https://github.com/RT-Thread/community-activities/new/master/2020/JOB202004.md ) 85 | 86 | ## 小组成员 87 | 88 | - Echo:嵌入式系统,导航,控制,飞行管理,仿真系统 89 | - weety:嵌入式系统 90 | - zhiyong:嵌入式系统,上位机 91 | ### 92 | 93 | 具体工作内容及时间安排 94 | -------------------------------------------------------------------------------- /2020/JOB202005.md: -------------------------------------------------------------------------------- 1 | 2 | ## 【JOB202005】nRF5x BSP 框架搭建和完善 3 | 4 | ## 1、介绍 5 | 6 | Nordic nRF5x 系列 MCU 应用广泛,且功能齐全、灵活性高,非常适用于 Bluetooth 低功耗蓝牙和 2.4 GHz 超低功耗无线应用。 7 | 8 | 目前 RT-Thread BSP 中已经存在 `nrf51822` 和 `nrf52832` 两个 nRFx 系列设备 BSP ,不过其功能实现较为简单,且工程结构定义不合理,不利于底层功能的完善和更多 nRF5x 系列设备的添加,也不利于基于该 BSP 的应用开发。为此,本活动希望搭建和完善 nRF5x 系列设备 BSP 框架,接入部分常用 nRF5x 系列设备,并完善 BSP 底层驱动和上层应用。 9 | 10 | 硬件平台:`nrf52832(pca10040)`、`nrf52840`(pca10056) 11 | 12 | 项目将分为如下几个部分,分别为: 13 | 14 | ### 1.1 框架搭建 15 | 16 | 框架搭建需要确定 BSP 目录结构,可以参考 STM32 BSP 框架目录结构。 17 | 18 | 目标:列出 nRF5x BSP 框架目录结构,并给出对应目录介绍。 19 | 20 | ### 1.2 nRF5 SDK 整理 21 | 22 | Nordic 官方提供的 nRF5 SDK 功能齐全,适用于多种 nRF51 和 nRF52 系列开发板,SDK 包括不同类型设备的外设驱动、固件升级(DFU)功能、蓝牙低功耗配置、使用示例等,[SDK 下载地址](https://www.nordicsemi.com/-/media/Software-and-other-downloads/SDKs/nRF5/Binaries/nRF5SDK160098a08e2.zip)。 23 | 24 | 目标:移植 nRF5 SDK 并以软件包形式对外提供,主要用于 nRFx BSP 框架中,支持 nRF 系列开发板类型配置,支持对应模块外设驱动配置。 25 | 26 | ### 1.3 内核移植 27 | 28 | 在整理的 nRF5_SDK 基础上,在 nrf52832 、nrf52840 设备上移植 RT-Thread,包括: 29 | 30 | - 实现中断开关、系统调度、 systick 时钟节拍以及异常处理方式 ; 31 | - 编写链接脚本文件; 32 | - 通过 scons 脚本编译生成工程文件; 33 | - 添加 UART 驱动适配; 34 | - 处理固件烧录问题; 35 | 36 | 目标:nrf52832、nrf52840 设备上正常运行 RT-Thread 系统,正常运行串口 FinSH 控制台 。 37 | 38 | ### 1.4 驱动添加 39 | 40 | 模块移植完成,需要给 BSP 框架添加更多驱动支持,驱动添加时需要考虑对不同设备的兼容处理,尽量确保驱动通用与多中类型设备。nrf52832、nrf52840 设备上需要添加的驱动有:GPIO、SPI、Flash、TIMER、WDT、PWM、RTC、I2C、USB 等。 41 | 42 | 目标:完成上述驱动适配,并通过测试框架测试相关驱动。 43 | 44 | ### 1.5 应用开发 45 | 46 | 主要是基于BLE 蓝牙功能的应用开发,包括蓝牙 profile 支持,如:BAS(电池服务)、HRS(心率服务)、BLS(血压服务)、DIS(设备信息服务)、CTS(当前时间服务)等,以及针对不同服务的示例开发。 47 | 48 | 目标:蓝牙 profile 支持以软件包形式给出,支持配置添加不同类型 profile,profile 服务可在不同 nRFx 系列设备上通用。 49 | 50 | ## 2、会议纪要 51 | 52 | ### 2020-03-12 53 | 54 | - nrf52832 BSP 使用:熟悉 rt-thread nrf52832 BSP工程,并正常运行使用; 55 | - nrf5x BSP 框架搭建:搭建基础 BSP 框架,并给出目录结构介绍; 56 | - nrf5_sdk 软件包整理:熟悉 nrf5_sdk 目录结构和功能; 57 | 58 | ### 2020-03-23 59 | 60 | - nrf5x_sdk 软件包整理:整理 nrf 官方 sdk,以软件包形式给出,默认开启基础外设支持,默认支持 nrf52832 和 nrf52840 设备; 61 | - nrf52840 BSP 添加:基于最新 nrf5x BSP 框架添加 nrf52840 BSP 工程; 62 | 63 | ### 2020-04-15 64 | 65 | - 完善 nrf5x 框架:暂时删除 BSP 工程中蓝牙相关功能和代码,使整个 BSP 外设驱动正常运行;尽量使用系统默认 main 函数启动; 66 | - nrf5x_sdk 软件包完善:软件包到 nRF5_SDK_16.0.0 版本,完善软件包外设配置选项; 67 | - BSP 外设驱动添加:UART、GPIO、SPI、FLASH、I2C 外设驱动添加; 68 | 69 | ### 2020-05-14 70 | 71 | - 分配掉所有BSP外设模块任务 72 | - 讨论之后的协议栈支持方式,优先支持softdevice,后续nimble做备选 73 | - 在外设和蓝牙添加都做完之后,开始做BLE SAMPLE 74 | - 添加低功耗和easyflash等log措施来完善。 75 | 76 | ### 2020-07-18 77 | 78 | - guohp1128分享GPIO驱动如何实现。 79 | - xckhmf 最近出差,项目比较急,暂缓, 80 | - 在外设和蓝牙添加都做完之后,开始做BLE SAMPLE, sample app 任务已经分配。 81 | - 下一步,先熟悉相应的sample。 82 | - 驱动继续完善。 83 | - 84 | 85 | ### 2020-08-11 86 | 87 | - thomas分享“ble 广播以及扫描 ” 分享蓝牙基本功能 88 | 89 | - thomas完成nrf52832的led小灯的完成并提交PR 90 | - thomas PWM提交PR 91 | 92 | ### 2020-08-25 93 | 94 | - ylz0923 分享Watchdong驱动的编写,并提交PR 95 | - 提供技术支持给大家,如何快速使用官方的nordic的sdk 96 | - 提供指导方案,如何快速熟悉profile和理解代码 97 | - guohp112提交ADC的PR 98 | 99 | ### 2020-08-30 100 | 101 | - guohp112分享ADC驱动 https://www.bilibili.com/video/BV1F64y1F7iv/ 102 | - 分享markdown书写规则。 103 | - 各自分配翻译profile的任务。 104 | 105 | ### 2020-09-16 106 | 107 | - cheng分享和讨论rtc驱动的编写 108 | - guohp分享bas的profile的分享 109 | - yang分享dis的profile的分享 110 | - thomas分享和分配接下来的任务 111 | 112 | ### 2020-10-18 113 | 114 | - guohp分享ble_app_blinky 115 | - yang工领取任务NFC 116 | 117 | - 118 | 119 | ### 2020-11-01 120 | 121 | - cheng分享ble_app_uart 透传,实现console功能 122 | - xckhmf 领取任务I2C和修复SPI,以及修复UART 123 | 124 | - thomas完成readme文档的编写 125 | 126 | ### 2020-11-27 127 | 128 | - xckhmf 分享I2C移植经验 129 | - 讨论开始着手写BSAL的应用 130 | - cheng领取任务BSAL_BLE_APP_UART 131 | - xckhmf 领取任务BSAL_BLE_APP_HRS 132 | - guohp领取任务BSAL_BLE_APP_BLINKY 133 | 134 | 135 | 136 | 137 | ## 3、 路线图 138 | 139 | 项目大致分为以下几个阶段: 140 | 141 | ### M0: nrf5x BSP 框架搭建 142 | - 【已完成】BSP框架搭建:目前已完成基础 nrf5x BSP 框架搭建,[项目地址](https://gitee.com/chenyong9597/rt-thread-nrf5x);@chenyong 143 | - 【已完成】目录结构介绍:[相关文档](https://gitee.com/chenyong9597/rt-thread-nrf5x/blob/master/bsp/nrf5x/README.md);@chenyong 144 | 145 | ### M1: nrf5x_sdk 软件包设计与实现 146 | 147 | - 【已完成】nrf5x_sdk 软件包整理;@Thomas 148 | - 【已完成】nrf52840 BSP 工程添加;@Thomas 149 | 150 | ### M2: 框架功能完善和外设驱动添加及测试 151 | 152 | **框架功能完善** 153 | 154 | - 【已完成】完善 nrf5x BSP 工程中对蓝牙相关功能依赖关系;@xckhmf(4.20) 155 | - 【已完成】使用系统默认 main 函数(RT_USING_MAIN)启动;@xckhmf(4.20) 156 | - 完善 nrf52832/nrf52840 工程 README 文档(参考 STM32 BSP README 文档); 157 | 158 | ### M3: SOFTDEVICE 功能添加 159 | 160 | **框架功能完善** 161 | 162 | - 【已完成】添加softdevice软件包,完成ble_app_beaconsample;@thomas(7.28) 163 | - 【正在进行】抽象接口; 164 | 165 | ### M4: 完善softdevice的example 166 | 167 | **softdevice的example进行完善** 168 | 169 | - 【正在进行】完成各个sample的menuconfig脚本,完善文件。 170 | - 【正在进行】需要各个负责人完善sample和rtthread的bsp的连接; 171 | 172 | ### M5: 将之前的nimble和BSAL用上 173 | 174 | 已经提交 175 | 176 | ### M6: Mesh example 177 | 178 | | mesh_example | | | 179 | | ------------------- | ---- | ---- | 180 | | light_switch_server | | | 181 | | light_switch_client | | | 182 | | | | | 183 | 184 | 185 | 186 | 187 | 188 | **外设驱动添加和测试** 189 | 190 | | 外设驱动 | 申请人 | 预计完成时间 | 外设驱动 | 申请人 | 预计完成时间 | 191 | | :------------- | :--------- | -------- | :------- | :----- | -------- | 192 | | UART | @xckhmf | 已完成(需要完善多串口) | TIMER | @chen | | 193 | | GPIO | @guohp112 | 已完成 | WDT | @Yang| 已完成 | 194 | | SPI | @Thomas | 已完成 | PWM | @Thomas | 已完成 | 195 | |~~ONCHIP_FLASH~~/QSPI| @Thomas | 已完成 | RTC | @chen | 已完成 | 196 | | I2C | @xckhmf | 已完成 | ADC | @guohp1128| 已完成 | 197 | | BLE SoftDevice | @Thomas | 已完成ble_app_beacon | ble open stack| nimble | 已完成 | 198 | | USB | | | I2S | | | 199 | 200 | 201 | 202 | 203 | 204 | **软件包功能完善** 205 | 206 | - 【正在进行】nrfx 软件包整理添加;@xckhmf (4.18) 207 | 208 | - 【已完成】同步更新软件包到 nRF5_SDK_16.0.0 版本;@Thomas(7.28) 209 | 210 | - 【蓝牙接口】将sample抽象接口; 211 | 212 | - 【完善sample】; 213 | 214 | 215 | 216 | **BLE 功能支持完善和应用开发** 217 | 218 | 等待完善。主要处理BLE APP的应用 219 | 220 | **BLE SAMPLE** 221 | 222 | | APP | 申请人 | 预计完成时间 | 223 | | :------------- | :--------- | -------- | 224 | | ble_app_beacon | @thomas || 225 | | ble_app_bas | @guohp1128 || 226 | | ble_app_hrs | @xckhmf || 227 | | ble_app_uart | @cheng || 228 | | ble_app_dis | @Yang || 229 | | ble_app_blinky | @guohp1128 || 230 | | | || 231 | 232 | 233 | 234 | ## [立即申请]( https://github.com/RT-Thread/community-activities/edit/master/2020/JOB202005.md ) 235 | 236 | ## 小组成员 237 | 238 | ### guohp1128 239 | 240 | 熟悉nrf5x的资料。 241 | 外设驱动添加和测试。 242 | 243 | >> ~~GPIO 已完成~~ 244 | 245 | >> ADC 已完成 246 | >> 247 | >> bas profile 分享已完成 248 | 249 | >> ble_app_bas 对接adc驱动 250 | > 251 | >> ble_app_blinky 对接gpio驱动 252 | >> 253 | >> 功耗PM管理 254 | 255 | ### xckhmf 256 | 熟悉nRF SDK 257 | 外设驱动添加和测试 258 | 259 | >> ~~UART有时间继续完善 支持多串口,DMA UARTE~~ 260 | 261 | >> ~~I2C 已完成~~ 262 | 263 | >> ble_app_hrs 264 | 265 | 266 | ### Thomas 267 | 268 | >> ~~SPI 完成SPI外设功能 已完成~~ 269 | 270 | >> ~~QSPI flash 已完成~~ 271 | 272 | >> ~~PWM 已完成~~ 273 | 274 | >> ~~softdevice 已完成~~ 275 | 276 | >> ~~ble_app_beacon 已完成~~ 277 | >> 278 | >> ~~nimble 对接已完成~~ 279 | >> 280 | >> ~~softdevice sample对接 已完成~~ 281 | 282 | ### chenyingchun0312 283 | 284 | >> ~~RTC 已完成~~ 285 | 286 | >> ~~ble_app_uart 对接finish~~ 287 | >> 288 | >> 基于cotex -M系列的 segger rtt的(DATA,CLOCK)软件包(支持SWO) 289 | >> 290 | >> HWTIMER驱动 291 | >> 292 | >> 293 | 294 | ### Yang 295 | 296 | >> ~~WDT 已完成~~ 297 | >> 298 | >> ~~dis分享 已完成~~ 299 | 300 | >> ~~ble_app_dis 已完成~~ 301 | >> 302 | >> NFC驱动 303 | >> 304 | >> ~~ble_app_hrs 添加dis和bas服务 已完成~~ 305 | 306 | 307 | 308 | 309 | SDK 下载链接: 310 | 311 | http://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v16.x.x/nRF5_SDK_16.0.0_98a08e2.zip 312 | 313 | 文档链接: 314 | 315 | http://developer.nordicsemi.com/nRF5_SDK/nRF5_SDK_v16.x.x/nRF5_SDK_16.0.0_offline_doc.zip 316 | 317 | 蓝牙core spec: 318 | https://www.bluetooth.com/specifications/bluetooth-core-specification/ 319 | 320 | 蓝牙profile spec: 321 | https://www.bluetooth.com/specifications/gatt/ 322 | 323 | nrf sdk 16.0.0 在线国内文档: 324 | 325 | http://doc-nrf5-sdk-v16-0-0.wireless-tech.cn/nrf5/index.html 326 | 327 | nRF5 SDK for Mesh v4.0.0 在线国内文档: 328 | 329 | http://doc-mesh-sdkapi-v4-0-0.wireless-tech.cn/ 330 | 331 | nordic DK V0.9.2 换52840之后的bug 332 | 333 | https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/difference-between-nrf52840-engineering-a-and-b-re 334 | 335 | 青风视频教程: 336 | 337 | https://www.bilibili.com/video/BV18Z4y1K7GM/ 338 | 339 | 340 | 341 | 342 | 驱动编写意见: 343 | 1. 尽量转换成nrfx等函数 344 | 2. hardware的初始化init函数,通常可以用INIT_BOARD_EXPORT(rt_hw_pin_init);来代替,不需要放到board.c中 345 | 3. 将自行测试的sample 以命令留存,方便验证:MSH_CMD_EXPORT(ble_app_beacon, ble beacon); 346 | 347 | 4. sdk config.h 中尽量不修改,改到Kconfig中,参考softdevice 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | TODO list: 356 | 357 | #### BSP部分 358 | 359 | 1. NFC驱动 ☆☆☆☆ (杨工) 360 | 2. 功耗PM管理 ☆☆☆☆☆ (郭) 361 | 3. USB驱动 ☆☆☆☆☆ (thomas) 362 | 3. HWTIMER驱动 ☆☆☆ (cheng) 363 | 6. 基于cotex -M系列的 segger rtt的(DATA,CLOCK)软件包(支持SWO) ☆☆☆ (陈工,2个功能) 364 | 365 | #### BLE 部分 366 | 367 | 1. BSAL 对接(Thomas) 368 | 2. ble_app_bas 要对接adc sample制作和分享 以及 基于BSAL (郭工) 369 | 3. ble_app_dis sample制作和分享 以及BSAL (杨工) 370 | 4. ble_app_uart 和串口对接 并且可以配置 对接finish ☆☆☆☆☆ 以及BSAL (陈工) 371 | 5. ble_app_blinky 和LED BUTTON对接 对接 以及BSAL (郭工) 372 | 6. ble_app_hrs 代码整理和分享 加电池服务BAS和dis服务 ☆☆☆ 以及BSAL (杨工) 373 | 7. ble_central_app 主机APP SAMPLE添加 ☆☆☆☆☆ 以及BSAL (thomas) 374 | 8. ble_hid_mouse 模拟鼠标 以及BSAL (Thomas) 375 | 9. 376 | 377 | #### Mesh部分 378 | 379 | 1. light_switch_server 380 | 381 | 2. light_switch_client 382 | 383 | 3. provisioner 384 | 385 | 4. 开源mesh协议栈的移植基于BSAL 386 | 387 | 5. zephyer mesh 388 | 389 | 390 | 391 | 392 | #### 后续项目畅想 393 | 394 | - STM32WB55 支持 395 | - STM32 IOT board 支持 396 | - DIY智能家居,天猫精灵对接 397 | - MICROPYTHON BLE接口对接BSAL 398 | - nordic zephyr协议栈移植过来当一个软件包和softdevice类似。 399 | 400 | ### 产品验收测试: 401 | 402 | - RF 403 | - DTM测试 404 | - BQB测试认证 405 | 406 | -------------------------------------------------------------------------------- /2020/JOB202006.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202006】BSP制作 2 | 针对RT-Thread BSP中暂无的Board进行移植,增加对应BSP 3 | 4 | 若为STM32系列,请注意参考[BSP 制作教程](https://github.com/RT-Thread/rt-thread/tree/master/bsp/stm32) 5 | 6 | 需要注意代码需遵守[代码规范](https://github.com/RT-Thread/rt-thread/blob/master/documentation/coding_style_cn.md)。 7 | 8 | 9 | ## 小组成员 10 | 11 | ### 许鹏虎 12 | 13 | * 制作STM32L010RB NUCLEO开发板BSP 14 | 15 | ### hao.dong 16 | 17 | * 制作hifive1 revB的BSP 18 | * 发现已存在的[BSP](https://github.com/KatyushaScarlet/rt-thread-hifive1-revb),修正了时钟并加入了LED支持 19 | 20 | ### 卢华东 21 | 22 | * 制作STM32L412RB NUCLEO开发板BSP 23 | 24 | ### Niu 25 | * 制作STM32F103RET6 OneNET-NB-IOT开发板BSP 26 | 27 | ### NU-LL 28 | 29 | * 制作STM32G070RB NUCLEO开发板BSP 30 | * 制作WeAct Studio的STM32H7xx Core Board开发板BSP 31 | 32 | ### kevin-gk 33 | 34 | * 制作STM32G030C8 NUCLEO开发板BSP 35 | 36 | ### iysheng 37 | 38 | * 制作 GD32103C EVAL 开发板 BSP 39 | -------------------------------------------------------------------------------- /2020/JOB202007.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202007】第三方RTOS兼容层编写 2 | ## 概述 3 | 4 | 通过兼容层可以使目前正在使用其他RTOS的工程师快速转入RT-Thread,让他们可以继续沿用第三方RTOS的编程经验来使用RT-Thread,在使用过程中逐渐向RT-Thread过渡,以降低其学习门槛和对新事物的抗拒心理。从而让更多的工程师使用国产操作系统! 5 | 6 | 7 | 8 | 需要注意代码需遵守[代码规范](https://github.com/RT-Thread/rt-thread/blob/master/documentation/coding_style_cn.md)。但是由于第三方RTOS的数据类型、函数等命名等并不遵守该规范,**因此必要时可以违反该规范**,以求最大限度让用户无感的移植到RT-Thread。 9 | 10 | 11 | 12 | ## 兼容层目标 13 | 14 | - 让使用其他RTOS的用户之前所编写的应用层可以无感、快速地转移到RT-Thread 15 | - 可以让用户沿用之前的RTOS使用经验来编写RT-Thread 16 | - 尽可能尊重所编写的第三方RTOS的编程风格和习惯,保证原汁原味,以假乱真 17 | 18 | 19 | 20 | ## 目前已在计划的第三方RTOS兼容层编写与维护 21 | 22 | #### 包括但不限于以下RTOS,可以根据个人使用经验随时添加其他第三方RTOS的兼容层编写项目,多多益善 23 | 24 | ### 1. uCOS-III 25 | 26 | https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-III 27 | 28 | 目前已经由满鉴霆编写完成(2020.07),项目转入日常维护阶段。 29 | 30 | 欢迎其他使用过uCOS-III的社区小伙伴加入共同维护。 31 | 32 | 33 | 34 | ### 2. uCOS-II 35 | 36 | https://github.com/mysterywolf/RT-Thread-wrapper-of-uCOS-II 37 | 38 | 目前已经由满鉴霆编写完成(2020.12),项目转入日常维护阶段。 39 | 40 | 欢迎其他使用过uCOS-II的社区小伙伴加入共同维护。 41 | 42 | 43 | 44 | ### 3. FreeRTOS 45 | 46 | https://github.com/RT-Thread-packages/FreeRTOS-Wrapper 47 | 48 | 49 | 50 | ## 小组成员 51 | 52 | ### 满鉴霆 (Meco Man) 53 | 54 | * 负责uCOS-III兼容层编写(已完成2020.07)与维护 55 | * 负责uCOS-II兼容层编写(已完成2020.12)与维护 56 | 57 | ### 唐照洲 58 | 59 | * 负责FreeRTOS兼容层的编写与维护 60 | 61 | -------------------------------------------------------------------------------- /2020/JOB202008.md: -------------------------------------------------------------------------------- 1 | ## 【JOB202008】STM32WB55 BLE支持 2 | ## 概述 3 | 4 | 通过支持STM32WB55芯片的BSP以及蓝牙sample,来学习STM32的蓝牙协议栈。 5 | 6 | 7 | 8 | - 通过对STM32的蓝牙芯片支持,将基于STM32WB55的一些蓝牙相关的软件生态集成到RTTHREAD中去 9 | - 通过开源的蓝牙协议栈,来学习蓝牙相关的spec 10 | - 通过写蓝牙相关的sample来学习BLE GATT等操作 11 | 12 | 13 | 14 | ## STM32WB55相关学习资料 15 | 16 | [zephyr](https://github.com/zephyrproject-rtos/zephyr/tree/master/boards/arm/nucleo_wb55rg) 17 | 18 | [mbed-os](https://github.com/ARMmbed/mbed-os/tree/master/targets/TARGET_STM/TARGET_STM32WB) 19 | 20 | [btstack](https://github.com/bluekitchen/btstack/tree/master/port/stm32-wb55xx-nucleo-freertos) 21 | 22 | [micropython](https://github.com/micropython/micropython/tree/master/ports/stm32/boards/NUCLEO_WB55) 23 | 24 | [mynewt-core(apache)](https://github.com/apache/mynewt-core/tree/master/hw/bsp/p-nucleo-wb55) 25 | 26 | 27 | 28 | 29 | 30 | ## 小组成员 31 | 32 | ### xupenghu 33 | 34 | - 学习Android下面如何抓包学习蓝牙 35 | - 学习STM32WB55的介绍教程二 36 | 37 | 38 | 39 | ### luhuadong 40 | 41 | - 学习STM32WB55的介绍教程三 42 | - 尝试支持nordic的bsp/nrf51822 43 | 44 | 45 | 46 | ### dozingfiretruck 47 | 48 | - 学习STM32WB55 教程一 49 | - 学习STM32WB55 sample 50 | - 贡献STM32WB55 BSP 硬件支持包到RTTHREAD生态 51 | 52 | 53 | 54 | ### Jackistang 55 | 56 | - 学习STM32WB55教程四 57 | - 学习心率heartrate 并翻译spec 58 | - 学习如何在art-pi上面跑hearate sample 59 | 60 | 61 | 62 | ### helloworldzlg 63 | 64 | - 学习STM32WB55 教程五 65 | - 分享BLE基础知识 66 | - 分享GAP和GATT等知识 67 | - 学习mbed-os的生态,寻找值得贡献的软件包 68 | 69 | 70 | 71 | ### answerinthewind 72 | 73 | - 学习STM32WB55 教程六 74 | - 学习zephyr生态,寻找值得贡献的软件包 75 | 76 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Create Better English Documentation! 2 | 3 | In the spirit of openness, we are maintaining a documentation center for how we create this project and how you can quickly get started using this project. The original RT-Thread documentation was generated in Chinese and has been translated into English by RT-Thread community developers, Non-English speakers. So after the English documents got published, we received some complaints saying that some expressions in this document are not very understandable and have arisen confusion, especially they're new beginners to learn the embedded system. 4 | 5 | We're here calling embedded developers to help us perfect the documentation. And hopefully, you will also get to know the embedded system at a much deeper level than you're simply using the technology. 6 | 7 | ## Task List 8 | 9 | 10 | | Status | Id | docs | applicant | 11 | | :-----: | --------- | ------------------------------------------------------------ | ------------ | 12 | | opening | JOB2022xx | xxx | Tom(example) | 13 | | opening | JOB202201 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/basic/basic.md | [tushar-wiz](https://github.com/tushar-wiz) & [byte-me-stan](https://github.com/byte-me-stan)| 14 | | opening | JOB202202 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/env/env.md | byte-me-stan | 15 | | opening | JOB202203 |https://github.com/RT-Thread/rt-thread/tree/master/documentation/finsh/finsh.md | | 16 | | opening | JOB202204 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/filesystem/README.md | byte-me-stan | 17 | | opening | JOB202205 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/interrupt/interrupt.md | byte-me-stan | 18 | | opening | JOB202206 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/introduction/introduction.md | byte-me-stan | 19 | | opening | JOB202207 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/kernel-porting/kernel-porting.md | | 20 | | opening | JOB202208 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/thread-comm/thread-comm.md | | 21 | | opening | JOB202209 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/thread-sync/thread-sync.md | | 22 | | opening | JOB202210 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/thread/thread.md | | 23 | | opening | JOB202211 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/timer/timer.md | | 24 | | opening | JOB202212 | https://github.com/RT-Thread/rt-thread/tree/master/documentation/device/device.md | | 25 | 26 | ## How to Contribute? 27 | 28 | 1. Submit a PR to apply for a chapter 29 | 30 | 2. When PR is approved, you can get started 31 | 32 | 3. Review and fix the chapter 33 | 34 | - You can fix grammar, expressions, spellings, marks, or any related 35 | 36 | - You can add a description to elaborate on a certain point 37 | 38 | - You can add examples to show how the code works 39 | 40 | - ...Anything you think can improve this document is all welcome 41 | 42 | 3. Pull request 43 | 4. Waiting to be merged. 44 | 45 | **Every Contribution Counts Tremendously for Open Source Project** 46 | 47 | --------------------------------------------------------------------------------