Cambia capacidades en el entorno de ejecución

Dado que se pueden habilitar nuevas funciones (p.ej., tamaño de búfer dinámico) mediante la actualización del firmware en el proveedor, queremos ofrecer una forma de obtener las capacidades del proveedor en el tiempo de ejecución. Para evitar consultar capacidades repetidas, primero, el proveedor debe enviar la revisión del firmware al buscador a través del flujo de mensajes cuando está conectado. Por lo tanto, agregamos un nuevo código de mensaje al grupo de mensajes existente, el evento de información del dispositivo.

Nombre del grupo de mensajes Valor
Evento de información del dispositivo 0x03
Nombre código del mensaje Valor
Revisión de firmware 0 × 09

Una vez que se obtenga el código de revisión del firmware, el Seeker lo comparará con el almacenado en caché. Si se cambió la revisión de firmware, Seeker actualizará la revisión de firmware de la caché y consultará las capacidades a través del flujo de mensajes.

También permitimos que el proveedor envíe capacidades directamente a Seeker sin tener que enviarla primero, porque creemos que, en el futuro, los dispositivos más sofisticados (quizás basados en Android) realizarán una configuración dinámica basada en marcas para la misma revisión de firmware.

Así que agregamos un nuevo grupo de mensajes y códigos de mensaje a continuación.

Nombre del grupo de mensajes Valor
Evento de sincronización de capacidad del dispositivo 0 × 06
Nombre código del mensaje Valor
Solicitar actualización de funciones (enviada desde Seeker) 0 × 01
Seguimiento de FMDN 0x03

Luego de recibir 0x0601,

  • Si el proveedor habilitó la compatibilidad con el seguimiento de FMDN, debería responder de la siguiente manera:
Octeto Tipo de datos Descripción Valor
0 uint8 Evento de sincronización de capacidad del dispositivo 0 × 06
1 uint8 Seguimiento de FMDN 0x03
2 - 3 uint16 Longitud de datos adicional 0x0007
4 uint8 Estado de aprovisionamiento de FMDN 0x00 si no se aprovisionó; 0x01 si lo aprovisionó una cuenta
5 - 10 uint8 La dirección MAC actual de BLE del dispositivo varía