Thay đổi chức năng trong thời gian chạy
Vì bạn có thể bật các tính năng mới (ví dụ: định kích thước vùng đệm động) bằng cách nâng cấp chương trình cơ sở trên Nhà cung cấp, nên chúng tôi muốn cung cấp một cách để có được các tính năng của Nhà cung cấp trong thời gian chạy. Để tránh truy vấn liên tục các chức năng, trước tiên, Nhà cung cấp phải gửi bản sửa đổi chương trình cơ sở cho Trình tìm kiếm thông qua luồng thông báo khi được kết nối. Vì vậy, chúng ta thêm một mã thông báo mới vào nhóm tin nhắn hiện có, đó là sự kiện thông tin thiết bị.
Tên nhóm tin nhắn | Giá trị |
---|---|
Sự kiện thông tin thiết bị | 0x03 |
Tên mã thông báo | Giá trị |
---|---|
Hiệu chỉnh chương trình cơ sở | 0x09 |
Khi nhận được mã sửa đổi chương trình cơ sở, Trình tìm kiếm sẽ kiểm tra mã đó với mã đã lưu vào bộ nhớ đệm. Nếu bản sửa đổi chương trình cơ sở đã được thay đổi, Trình tìm kiếm sẽ cập nhật bản sửa đổi chương trình cơ sở của bộ nhớ đệm và truy vấn các chức năng thông qua Luồng thông báo.
Chúng tôi cũng cho phép Nhà cung cấp trực tiếp đẩy các chức năng đến Trình tìm kiếm mà không cần yêu cầu trước, vì chúng tôi cho rằng trong tương lai, các thiết bị tinh vi hơn (có thể chạy trên Android) sẽ định cấu hình động dựa trên cờ cho cùng một bản sửa đổi chương trình cơ sở.
Vì vậy, chúng ta thêm bên dưới một nhóm tin nhắn và mã tin nhắn mới.
Tên nhóm tin nhắn | Giá trị |
---|---|
Sự kiện đồng bộ hoá chức năng của thiết bị | 0x06 |
Tên mã thông báo | Giá trị |
---|---|
Yêu cầu cập nhật tính năng (gửi từ Người tìm kiếm) | 0x01 |
Theo dõi FMDN | 0x03 |
Sau khi nhận 0x0601
,
- nếu Nhà cung cấp đã bật tính năng hỗ trợ theo dõi FMDN, thì Nhà cung cấp sẽ phản hồi như sau:
Hình bát giác | Loại dữ liệu | Nội dung mô tả | Giá trị |
---|---|---|---|
0 | uint8 | Sự kiện đồng bộ hoá chức năng của thiết bị | 0x06 |
1 | uint8 | Theo dõi FMDN | 0x03 |
2 – 3 | uint16 | Thời lượng dữ liệu bổ sung | 0x0007 |
4 | uint8 | Trạng thái cấp phép FMDN | 0x00 nếu không được cấp phép; 0x01 nếu được bất kỳ tài khoản nào cấp phép |
5 - 10 | uint8[] | Địa chỉ BLE MAC hiện tại của thiết bị | không cố định |