ГНЦ ИФВЭ
ОУ У-70
Система Управления комплекса У-70  

Программирование на Верхнем Уровне СУ

Библиотеки алгоритмов СУ

Сжатие данных в Контроллере Оборудования

Сжатие данных предназначено для уменьшения трафика MIL-1553. Большие объемы данных, обычно, имеют место в процессах измерения. Поэтому рекомендуется использовать специальную процедуру компрессии (см.ниже) измеренных данных и записи их в таблицу БД ССУДА.
Двоичный файл PRG_PACK.OBJ (21336 байт) приведенной ниже процедуры можно взять здесь.

unsigned short int PrgPackT_compress (int nmethod, void *buf_inp, short int lbuf_inp, int *rbyte, void *buf_out, short int lbuf_out, int *wbyte, short int *tid);

Определить целесообразность и возможность компрессии, метод компрессии и возможность повторной компрессии. Выполнить компрессию данных, если это возможно. Записать компрессированные или исходные данные в таблицу БД ССУДА:

nmethod - номер метода компрессии, рекомендуется задавать 0 для автоматического подбора метода;
buf_inp - буфер данных, которые подлежит компрессировать;
lbuf_inp - размер буфера buf_inp в байтах;
rbyte - число байт, прочитанных из буфера buf_inp;
buf_out - буфер компрессированных данных;
lbuf_out - размер буфера buf_out в байтах;
wbyte - число байт, записанных в буфер buf_out;
tid - идентификатор таблицы в БД ССУДА.

В случае успеха возвращает значение 0.

В случае ошибки возвращает код ошибки ССУДА. если он определен.

Автор © Клименков Е.В.