# MYSBootloader 1.3.0-rc.1
MySensors bootloader supporting over-the-air firmware updates
<h1>Technical details to write your own controller</h1>
All initialization the bootloader does (finding parent / requesting nodeId on first start) uses the same packets as a normal MySensors sketch. There is no need for the controller to distinguish between packets from the bootloader and packets from normal sketch execution. The controller only needs to care about two additional request/response communications. All communication is binary.
<h2>FirmwareConfig</h2>
<ul>
<li>the bootloader sends a RequestFirmwareConfig packet to the gateway to request information about the firmware it should execute:
<p>
typedef struct {<br/>
uint16_t type;<br/>
uint16_t version;<br/>
uint16_t blocks;<br/>
uint16_t crc;<br/>
uint16_t BLVersion;<br/>
} RequestFirmwareConfig;<br/>
</p>
<li>the gateway (the controller) responds with a NodeFirmwareConfig including details about the firmware the sensor should execute:
<p>
typedef struct {<br/>
uint16_t type;<br/>
uint16_t version;<br/>
uint16_t blocks;<br/>
uint16_t crc;<br/>
} NodeFirmwareConfig;<br/>
</p>
</ul>
<h2>Firmware</h2>
<ul>
<li>the bootloader sends a RequestFirmwareBlock packet to the gateway to request a specific subset (block) of the compiled firmware:
<p>
typedef struct {<br/>
uint16_t type;<br/>
uint16_t version;<br/>
uint16_t block;<br/>
} RequestFirmwareBlock;<br/>
</p>
<li>the gateway (the controller) responds with a ResponseFirmwareBlock including the specific block of the compiled firmware:
<p>
typedef struct {<br/>
uint16_t type;<br/>
uint16_t version;<br/>
uint16_t block;<br/>
uint8_t data[FIRMWARE_BLOCK_SIZE];<br/>
} ResponseFirmwareBlock;<br/>
</p>
</ul>
没有合适的资源?快使用搜索试试~ 我知道了~
MySensors 引导加载程序支持无线固件更新_C语言_代码_相关文件_下载
共1344个文件
hex:1324个
h:12个
original:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 53 浏览量
2022-07-13
21:27:05
上传
评论
收藏 3.65MB ZIP 举报
温馨提示
编写自己的控制器的技术细节 引导加载程序所做的所有初始化(在第一次启动时查找父级/请求 nodeId)使用与普通 MySensors 草图相同的数据包。控制器无需区分来自引导加载程序的数据包和来自正常草图执行的数据包。控制器只需要关心两个额外的请求/响应通信。所有通信都是二进制的。 固件配置 引导加载程序向网关发送一个 RequestFirmwareConfig 数据包,以请求有关它应该执行的固件的信息: typedef struct { uint16_t 类型; uint16_t 版本; uint16_t 块; uint16_t CRC; uint16_t BLVersion; } 请求固件配置; 网关(控制器)使用 NodeFirmwareConfig 进行响应,其中包括有关传感器应执行的固件的详细信息: typedef struct { uint16_t 类型; uint16_t 版本; uint16_t 块; uint16_t CRC; } 节点固件配置; 固件 更多详情、使用方法,请下载后细读README.md文件
资源推荐
资源详情
资源评论
收起资源包目录
MySensors 引导加载程序支持无线固件更新_C语言_代码_相关文件_下载
(1344个子文件)
MYSBootloader.c 4KB
.gitignore 55B
boot.h 33KB
MyMessage.h 17KB
MySensorsBootloader.h 14KB
HW.h 8KB
string.h 6KB
RF24.h 5KB
MyEepromAddresses.h 5KB
RF24_registers.h 3KB
STK500Bootloader.h 3KB
Core.h 2KB
stk500.h 2KB
Definitions.h 1KB
MYSBootloader_8MHz.hex 6KB
MYSBootloader.ch36.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch12.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch2.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch92.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch84.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch64.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch66.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch9.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch74.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch35.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch98.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch34.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch104.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch9.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch11.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch88.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch108.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch29.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch38.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch56.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch77.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch79.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch22.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch33.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch85.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch31.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch90.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch72.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch32.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch81.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch72.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch25.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch102.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch36.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch81.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch92.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch41.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch1.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch99.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch58.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch46.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch80.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch13.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch80.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch14.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch64.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch91.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch40.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch10.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch16.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch91.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch57.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch19.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch37.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch68.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch42.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch41.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch12.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch83.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch76.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch45.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch1.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch89.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch100.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch94.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch13.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch19.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch21.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch97.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch27.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch14.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch94.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch73.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch98.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch78.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch20.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch93.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch27.8000000L.RF24_PA_MAX.hex 6KB
MYSBootloader.ch77.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch66.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch57.8000000L.RF24_PA_MIN.hex 6KB
MYSBootloader.ch44.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch94.8000000L.RF24_PA_HIGH.hex 6KB
MYSBootloader.ch36.8000000L.RF24_PA_LOW.hex 6KB
MYSBootloader.ch86.8000000L.RF24_PA_HIGH.hex 6KB
共 1344 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
快撑死的鱼
- 粉丝: 2w+
- 资源: 9157
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【企业文化分析模型-1】克拉克洪—斯托特柏克构架.docx
- 【企业文化分析模型-7】郑伯埙的VOCS量表.docx
- 【企业文化分析模型-3】弗恩斯·特朗皮纳斯的组织文化模型.docx
- 【企业文化分析模型-2】霍夫斯泰德的组织文化模型.docx
- 【范文】企业文化管理制度2.docx
- 【学习】如何创建学习型组织2.ppt
- 《华为的企业文化》-27页.ppt
- 【案例分析】惠普—康柏企业文化整合方案-29页 英文.ppt
- 【案例分析】沃尔玛的企业文化.ppt
- 【培训课件】华夏基石—企业文化落地与传播-68页.ppt
- 【培训课件】联想核心价值观培训(2006年)-75页.ppt
- 惠普-文化尽职调查研究-29页 英文版本.PPT
- 【培训课件】企業文化---培訓教材.ppt
- 前端技术实现圣诞树与飘雪花特效
- 【培训课件】中兴通讯-企业文化建设方案-42页.ppt
- 《白沙企业文化大纲》-21页.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功