Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PUT /siz/bmap clear – удаление всех записей

Bulk-конфигурация

Возможно чтение (GET) и загрузка (PUT) парсета целиком в виде бинарного образа. Для парсет-массивов образ содержит только непустые записи (строки массива).

Надо опрашивать соответствующий ресурс с Query Option blob. Образ передается в payload CoAP-пакета.

Образ содержит заголовок и данные. В заголовке содержатся идентификатор структуры парсета FieldsSignature и контрольная сумма CRC32. Расчет контрольной суммы см. TAGZONES subsystem (в конце)

FieldsSignature нужен для контроля правильности структуры парсета.

CRC32 нужна для контроля целостности образа при CoAP Block Transfer. Образ собирается в устройстве по мере прихода блоков и в конце применяется целиком с контролем целостности. Для сбора образа используется глобальный буфер, так что образ может быть искажен при параллельном доступе с нескольких клиентов.

Для парсета /siz/bmap образ имеет следующий вид (siz_bmap_blob_t):

Code Block
typedef struct __attribute__((packed)) {
    uint32_t FieldsSignature; /// for /siz/bmap must be 0xFD00E35D
    uint32_t CRC32;           /// cyg_ether_crc32() of following bytes
} parset_blob_header_t;

typedef struct __attribute__((packed)) {
    uint8_t idx;    /// index in array, equals to SIZ type
    uint8_t MAC[6]; /// beacon BLE device address, MSB first
    uint8_t Att_dB; /// max allowable BLE signal attenuation from beacon
} siz_bmap_record_t;

typedef struct __attribute__((packed)) {
    parset_blob_header_t header;
    siz_bmap_record_t records[N]; /// 0 <= N <=31
} siz_bmap_blob_t;

Примеры использования через CoBench (file_name можно оставлять пустым, будет запрошено через GUI):

GET /siz/bmap blob – запрос образа парсета, печать в HEX

GET /siz/bmap blob#>file_name – запрос образа парсета, сохранение в file_name

GET /siz/bmap blob#<file_name – запрос образа парсета, сравнение с file_name

PUT /siz/bmap blob#<file_name – передача образа парсета из file_name

PUT /siz/bmap blob#<<file_name – передача образа парсета из file_name с пересчетом CRC32

Для очистки конфигурации можно загрузить образ со всеми пустыми записями, но проще отправить PUT /siz/bmap clear