Поскольку ПРИСТ ответил, что OWON пинать бесполезно. Придется разбираться в формате .BIN их сырых данных АЦП самостоятельно, вот только "OWON Oscilloscope PC Guidance Manual" написан так непонятно, как "левой ногой". Может кто переведет "OWON Oscilloscope PC Guidance Manual" на понятный язык? Я скачал с Гитхаба некий Try2 (
https://sourceforge.net/projects/owdaan/) но он тоже не понимает OWON xxx.BIN....
Добавлено after 6 hours 49 minutes 20 seconds:
Перевел кое как, кто возьмется растолковать и улучшить? А?
OWON Oscilloscope PC Guidance Manual 1.3
Communication Protocols of USB and Introduction of data format.
Предварительное замечание. Формат кодирования Little Endian (Порядок от младшего к старшему) используется для всех 4 байтовых данных типа int.
1. Первый int это RESPONSE_START_LENGTH означает длину файла данных;
2. Второй int не используется;
3. Третий int используется как флаг, когда флаг == 0, то это файл векторных данных (.bin), когда флаг == 1, то это растровое изображение файл (.bmp), тогда данные будут отправлены и связь окончена. Когда флаг > = 128, это означает, что данные представляют собой файл векторных данных с большой памятью, а также, из-за огромных данных, передача будет разделена на несколько частей. Флаг 128 это номер канала. После получения байтов данных RESPONSE_START_LENGTH, будут отправлены данные и, после этого, если (flag-128) еще не 0, RESPONSE_START_LENGTH будет отправлен снова, и формат будет аналогичным, кроме флага который уменьшается на 1, и указывает другой канал, достижения == 0, общение окончено;
Oscilloscope file format
Следующие типы значения применяются int, float, short code методом Little-Endian
(Порядок от младшего к старшему) используется.
1. Заголовок файла: "SPBxxx" (шесть байтов, ASCII), последние три байта соответствуют типу прибора;
2. Длина файла: (4 байта, int), если длина файла является отрицательным числом, это означает, что тип прибора - настроенная машина, абсолютное значение которой указывает длину файла;
3. Спецификация канала waveform CHx" (3 bytes, ASCII);
4. Длина блока (4 bytes, int), «CHx» и длина блока предназначены для разделения каналов сигнала, если длина положительное число то это нормальная waveform, если длина отрицательное число то это глубокая память wave, или расширенная память wave, расширенное значение (4 байта, int). Когда длина блока отрицательна, это значение доступно для чтения. Два бита значения используется, остальные биты являются резервом. Бит0: флаг глубокой памяти, 0 - нормальная волна , 1 - глубокая память, Бит 1: флаг машины имеет глубокую память , 0 - нет , 1 – да. Смещение (4 байта, только для серии SDS, другие пропускаются) Нарисуйте волну из таких точек;
5. Точки сбора всего экрана: (4 байта, int) Точка сбора содержится в горизонтальной линии экрана. Например взять 4 байтовое значение как int 10048, что означает байты между "CH1" и "CH2" (или следующий канал) составляет 10048;
6. Номер точки сбора: (4 байта, int) Фактическое количество точек сбора инструмента.
Добавлено after 5 hours 9 minutes 33 seconds:
Короче, я понял в чем дело. Время потрачено не зря. Чтобы заработало как надо, нужно переоткрыть файл. Сразу после получения данных со скопа он некорректно выгружает в Excel. Если файл переоткрыть, то все проходит успешно... Всем спасибо.
Добавлено after 5 minutes 40 seconds:
Нифига, это работает только для файлов с Memory Depch 1 килобайт. Все что больше по прежнему не работают. Теперь я полностью уверен что это сделано намерено...
Добавлено after 5 minutes 20 seconds:
Никто это исправлять поэтому не будет, так как это такое ограничение, остается разбираться в бинарнике. Это не просто, потому, что есть предположение что он закрыт шифром, для Memory Depch > 1 килобайт, видимо это тоже ограничение.....