Opened 6 лет ago

Closed 6 лет ago

#105 closed баг (fixed)

Отрицательные значения в ДГ

Сообщил: san Владелец: alx
Приоритет: средний Этап разработки: 1-я очередь
Ключевые слова: Копия:

Описание (последним изменил san)

Артём записал динамограмму на r602, сегодня в 7-00 UTC
Вот её отображение на дисплее:

Видно что ДГ содержит как минимум одно отрицательное значение и Gmin = -819 кг. Однако в сохраненном файле я отрицательных значений не вижу, хочется разобраться почему.
Файл ДГ прилагаю к тикету.
А вот отображение файла ДГ в ПО Динамограф:

p.s. Кстати, хоть это и не касается тикета, но на всякий случай отмечу, что в ТЗ есть упущение в описании формата данных для ПО динамограф - данные в файле должны быть беззнаковые, сейчас я это исправлю в тексте.

Вложения (3)

sugp_20180925_0700.bin (9.5 KB ) - added by san 6 лет ago.
1.jpg (21.7 KB ) - added by san 6 лет ago.
2.jpg (71.7 KB ) - added by san 6 лет ago.

Download all attachments as: .zip

История изменений (6)

by san, 6 лет ago

Вложение: sugp_20180925_0700.bin added

by san, 6 лет ago

Вложение: 1.jpg added

by san, 6 лет ago

Вложение: 2.jpg added

comment:1 by san, 6 лет ago

Описание: изменено (отличие)

comment:2 by alx, 6 лет ago

Из-за какой-то ошибки (сам пока не понял, в чем конкретно она состоит) в функции записи файла динамограммы отрицательные значения записываются в файл как два нулевых байта.

comment:3 by alx, 6 лет ago

Решение: fixed
Состояние: newclosed

In 607/smartHDC:

Исправлена ошибка в функции записи динамограммы в файл:
так как htons(), используемая для преобразования значения из
little-endian в big-endian формат, имеет беззнаковый тип аргумента,
отрицательные значения нагрузки типа float превращались в значение 0.
Теперь преобразование производится в два этапа: сначала float в int,
затем int в uint16_t. Closes #105.

Note: See TracTickets for help on using tickets.