Files
LogViewNovel/Readme.md
2026-08-21 13:03:24 +03:00

32 KiB
Raw Permalink Blame History

История версий LogsView


build 1.2.99

  1. Галочка "Вкл." больше не сбрасывает масштаб по оси X. Приближённый участок времени остаётся на месте - каналы можно перебирать по очереди и сравнивать их на одном и том же интервале. Масштаб по Y по-прежнему подстраивается (если включён "АвтоМасштаб Y"), иначе только что включённый канал мог бы оказаться за границами вида. Вернуть полный диапазон по X - кнопка "AutoZoom" или F5.
  2. Колесо мыши меняет масштаб по X в любом месте графика. Раньше зум работал только у самих осей (курсор-"лупа") и целиться в тонкую полоску оси X было неудобно. Над областью оси Y колесо, как и раньше, меняет масштаб по Y этого слоя. Ctrl + колесо - сразу по X и Y.
  3. Перенос на слой одним кликом (иконка "Переместить" в колонке "Действие").
  • ЛКМ - канал сразу выносится на новый слой, без вопросов.
  • ПКМ - открывается меню выбора слоя, как раньше.
  • Если в таблице выделено несколько строк, операция выполняется над всей группой: все выделенные каналы уезжают на один новый слой. Клик по иконке в уже выделенной строке групповое выделение не сбрасывает.
  1. Цвета графиков при добавлении файлов больше не повторяются. Раньше каждый файл начинал раздачу цветов с начала палитры, и, например, 3-й канал первого файла совпадал по цвету с 3-м каналом второго - при сравнении одинаковых процессов это сбивало. Теперь каждый дополнительно открытый файл начинает со сдвигом +1 по палитре. Отключается галочкой Настройки -> "Сдвигать цвета для каждого нового файла" (по умолчанию включена). Файл, открытый взамен уже загруженных, всегда начинает с первого цвета.
  2. Обновлена встроенная справка (меню "?") под новое поведение: колесо мыши, перенос на слой через иконку, цвета при добавлении файлов.

build 1.2.98

  1. Обновлена встроенная справка (меню "?").
  • Новый раздел "FFT (БПФ)": окно спектра целиком - каналы окна и раскладки, выбор активного канала, анализ THD и шума, относительные амплитуды, сканер и маркеры, график сигнала.
  • Раздел "Форматы файлов": описано, когда программа спрашивает единицы времени, а когда определяет их сама; добавлено чтение CSV из DSView/sigrok.
  • Новый раздел "Инструменты": Сдвиг времени и Авто-поиск (обрезка/развёртка), включая кнопку "Авторазворот графика в ноль" на панели.

build 1.2.97

  1. Окно FFT: работа с несколькими каналами.
  • Каналы окна собраны в таблицу: показ, выбор канала, цвет, "Без DC", кнопки добавить/убрать. Одновременно до 8 каналов.
  • Раскладка: "Наложить" (все на одном графике), "Друг под другом", "Слева направо".
  • Активный канал выбирается кликом по строке таблицы, по легенде или по области графика. Его кривая выделяется толщиной, остальные приглушаются. Повторный клик снимает выбор - тогда все кривые рисуются одинаково.
  • Переключатель "Раздельный масштаб Y" для раскладок с отдельными областями. По умолчанию выключен: масштаб общий, спектры можно сравнивать на глаз.
  1. Окно FFT: анализ качества сигнала.
  • Гармонический сигнал: THD, THD+N, SINAD, SNR, частота и амплитуда 1-й гармоники. Гармоники помечаются на спектре (H1..Hn).
  • Постоянный сигнал: уровень DC, СКЗ и размах шума, пульсации в %, ОСШ и частота самой мощной помехи. Пики помех помечаются (P1..Pn). Раньше для такого сигнала считался THD и выдавал сотни процентов.
  • Тип сигнала определяется автоматически, можно задать вручную.
  • Краткая сводка по каждому каналу - в колонке "Анализ" таблицы, она считается всегда. Подробная строка и маркеры - по переключателю "Анализ".
  • Кнопка "Копировать" кладёт строку результата в буфер обмена.
  1. Окно FFT: относительные амплитуды. В режиме "Амплитуды: Относительные" уровни каждого канала делятся на его собственную опорную амплитуду - 1-ю гармонику или уровень DC. Сразу видно, насколько канал зашумлён относительно своего полезного сигнала.
  2. Окно FFT: мелочи.
  • Сканер работает по тому спектру, над которым мышь; в подписи курсора указано имя канала. Плашка у края графика больше не обрезается.
  • У графика сигнала сверху добавлена шкала номеров точек.
  • Перекрестие сканера стало тёмно-серым, чтобы не путаться с цветными кривыми; второй маркер отличается штриховкой.
  • Esc больше не закрывает окно - выход крестиком.

build 1.2.96

  1. Окно FFT: расчёт THD и наложение нескольких каналов на один спектр.
  2. Окно FFT: в списке каналов показывается номер файла - каналы с одинаковыми именами из разных файлов больше не путаются. Добавлен фильтр "Только показанные".
  3. Чтение CSV из DSView / sigrok (логический анализатор). Нерегулярный "сжатый" лог читается как есть, каналы рисуются ступеньками на Digital-слое, частота дискретизации берётся из шапки файла. Единицы времени не спрашиваются.
  4. Кнопка "Авторазворот графика в ноль" на панели: выполняет Авто-поиск (автообрезка хвостовых нулей + авторазвёртка по каналу-счётчику) без открытия диалога.

build 1.2.95

  1. Сохраняет обрезку/развёртку при полном ребилде графика.

build 1.2.94

  1. Новая форма "Авто-поиск" в меню Инструменты для текущего файла:
  • Автообрезка: spinEnd на последнюю строку, где хоть у одного канала данные != 0 (убирает незначащие хвостовые нули от чтения памяти с запасом).
  • Авторазвёртка: по каналу-счётчику (напр. count_step_run) ищет разрыв кольцевого буфера и ставит развёртку в реальное начало лога. Разность шага берётся по модулю 65536, поэтому переход через границу знакового 16-бит считается как +1, а настоящий разрыв выделяется.
  • AutoFind: сначала обрезка, затем развёртка.
  • Канал-счётчик определяется по имени count_step_run, иначе подбирается монотонный +1; можно выбрать вручную в комбобоксе.

build 1.2.93

  1. фикс значения под курсором в режиме Сканер

build 1.2.92

  1. Смена сервера обновлений.

build 1.2.91

  1. Самоописательный формат: в заголовок пишется Time, мсек / Time, сек, при чтении единица берётся из подписи (поддержка сек/мсек/мксек/нсек)
  2. Исправлен баг: колонка Time помечалась глобальным временем только по имени, из-за чего мсек читались как сек и не показывался диалог выбора единиц. Теперь распознавание единое и идёт по данным (looksLikeGlobalTimeColumn, добавлен формат даты dd/MM/yyyy)
  3. Старый простой Time с числами -> спрашивает единицу (отмена -> мсек)

build 1.2.90

  1. Улучшена страница Help. Добавлены описания возможностей программы.
  2. Оптимизация кода + фикс мелких ошибок.

build 1.2.88

  1. Фикс с авторазмером левой панели.

build 1.2.87

  1. В нижнем блоке битовых полей добавлена временная подсветка изменившихся битов.
  2. В таблице колонка Значение / Data теперь обновляется для всех каналов при включённом Сканере, а не только для видимых графиков.
  3. Очистка старых имён графиков при открытии нового файла.
  4. Сброс “Окно по X” после изменения Обрезки.

build 1.2.85

  1. Улучшили поведение автомасштаба в окне fft.

build 1.2.84

  1. Улучшили поведение меню переноса графика на слой. Теперь Аналог нельзя перенести на Digital слой.
  2. Исправление поведение легенд на графиках и слоях.

build 1.2.83

  1. Добавлены фильтры IIR в математику. Новые функции в формулах
    • lowpass(x, fc_hz, order)
    • highpass(x, fc_hz, order)
    • lowhighpass(x, f_low_hz, f_high_hz, order) (внутри: HP(order,f_low) → LP(order,f_high)) Узкополосный режектор (notch / band-stop). Теперь можно в формуле использовать:
    • notch(x, f0_hz, Q) — обычный notch 2-го порядка
    • notch_n(x, f0_hz, Q, order) — notch повышенного порядка как каскад biquad, order = 2,4,6..12 Важные ограничения (сделано намеренно):
    • Для логов с неравномерной сеткой времени (custom keys, isIntervalsEqual()==false) фильтр выдаст ошибку: filter: неравномерная сетка времени (custom keys) не поддержана
    • order ограничен 1..12 (защита по производительности/памяти)
  2. Добавлены FIR фильтры:
    • fir_lowpass(x, fc_hz, taps)
    • fir_highpass(x, fc_hz, taps)
    • fir_bandpass(x, f1_hz, f2_hz, taps) Реализация: windowed-sinc + окно Hamming, состояние — кольцевой буфер на taps, вычисление — честная свёртка O(taps) на точку.
  3. Мелкие улучшения UI.

build 1.2.82

  1. В расчете FFT добавлены новые алгоритмы расчета FFT :
    • FFTW (lib) - внешняя библиотека FFTW 3.0 - самая быстрая
    • PocketFFT - внешняя библиотека
    • Pad->Pow2 (Radix2)
    • Pad->Goodsize 2-3-5

build 1.2.81

  1. Зум мышью теперь нормальный. Изменено напрвление кручение колеса мыши для зума осей.

build 1.2.80

  1. Улучшен расчет fft. Добавлен режим Сгладить края. Улучшена работа масштаба графика.
  2. Мелкие фиксы.

build 1.2.79

  1. Подправлены константы time, pi в разделе Математики.

build 1.2.78

  1. Смена адреса обновления приложения с http:\ на https:\
  2. Мелкие правки в интерфейсе.

build 1.2.77

  1. Новый интерфейс просмотра при открытии нескольких файлов. Новая вкладка Файлы.

build 1.2.76

  1. Добавлена история введеных математических формул.
  2. В таблице графиков доступна сортировка, фильтраця, быстрые действия, быстрое меню переноса на слой.
  3. Поправлен запуск Сканера - иногда падал.
  4. Авторасчет fft для очень больших массивов теперь берется Radix2.
  5. Сдвиг времени файлов теперь выведен в отдельное меню Инструменты-Сдвиг времени...

build 1.2.74

  1. Фикс с автомасштабом осей.

build 1.2.73

  1. Добавлена возможность менять высоту слоев-графиков потянув за Splitter.
  2. Улучшен алгоритм определения цифровых данных. Ждем только 0/1 в данных.
  3. Добавлен режим автосокрытия цифровых графиков при открытии файла - для минимизации ненужных слоев.
  4. Более понятный зум осей с помощью колесика мыши. Зум происходит только если курсор мыши находится над осью X или Y. Добавлена иконка лупы в этом режиме.
  5. Режим перетаскивания на графиках по ЛКМ.
  6. Режим масштаба на графиках по Сtrl+ЛКМ.
  7. Даблклик по оси дает автомасштаб этой оси.
  8. Улучшение режима выкл/вкл слоев.

build 1.2.71

  1. Ускорен алгоритм удаления и восстановления графиков.

build 1.2.70

  1. Глобальный рефакторинг кода.
  2. Улучшена работа Сканера. Теперь прыгает по узлам.

build 1.2.67

  1. Добавлен функционал автоматического определения цифровых данных - логические сигналы 0/1. Сигналы отправятся на отдельный слой Digital. Просмотр как логический анализатор.
  2. Фикс работы на разном DPI.
  3. Добавлены кнопки Math, FFT на основную форму.
  4. Фикс определения времени для файлов tek*.csv

build 1.2.64

  1. В fft форму добавили возможность показать исходный сигнал по галочке.

build 1.2.63

  1. Переработка окна Обновление и Что нового, теперь в едином стиле с Помощью.

build 1.2.62

  1. Улучшение работы с вводом математических формул. Автоввод, заполнение, скобки.
  2. В расчет FFT добавлено новое окно Hamming и вычитание DC из сигнала.
  3. Поправлен расчет FFT с прореживанием.

build 1.2.61

  1. Добавлен экспорт данных таблицы (срез - одна точка во времени) в Excel по ПКМ.

build 1.2.60

  1. При сохранении файла :если 1 файл, то заголовки без изменений. а если 2+ файла, то сохраняем в имени принадлежность к # файла.
  2. Режим Удаления можно откатить по ПКМ - Отменить.

build 1.2.59

  1. Добавлена возможность удаление графиков из списка.

build 1.2.58

  1. MathEngine: расширение математических функций и преобразований:
  • Добавлены зарезервированные идентификаторы time (сек) и pi
  • Реализованы функции sin, cos, abs, ampl, im, WHamming
  • Добавлены прямые и обратные преобразования Clarke / Park:
  • clarke_, inv_clarke_
  • park_, inv_park_
  • прямые abc_d/q и обратные dq_a/b/c
  1. Расширен парсер формул: поддержка 34 аргументов, регистронезависимые имена
  2. Исправлена логика разбора аргументов функций

build 1.2.57

  1. Экспорт всегда через единую ось X

    • В файле всегда одна колонка Time
    • Она всегда ось X, а не “канал”
    • Никаких дубликатов Time / Время, мсек больше не возникает
  2. Пользователь управляет осью X при сохранении Диалог реально влияет на результат:

    • Значение Time

    • как отображается сейчас

    • глобальный DateTime

    • относительное (t t₀)

    • абсолютное числовое

      Сетка Time:

    • нерегулярная (union ключей)

    • регулярная (dt, auto/manual)

    Заполнение пропусков

    • пусто
    • last-hold
    • линейная интерполяция

    И всё это применяется одинаково к:

    • обычному CSV
    • calc CSV
  3. Импорт ↔ экспорт симметричны


build 1.2.55

  1. Убран лишний запрос про период данных, если есть поле Time.
  2. Оптимизация кода.
  3. Поле Time теперь показывается там где надо.

build 1.2.53

  1. Добавлен режим Глобального времени для логов не периодической формы с полем Time куда обычно кладется московское время.
  2. Возможно объединение логов с глобальным временем на одном графике.
  3. Возможно одновременное открытие разных логов с осциллографа с разной временной сеткой.
  4. Поддержка логов с пульта 23550.1

build 1.2.50

  1. Новый алгоритм расчета FFT.
  2. Автошаг для сдвига графиков по Х.

build 1.2.48

  1. Добавлен Измеритель. Показывает дельту между двумя точками измерения P1 и P2.

build 1.2.47

  1. Авто выбор режима расчета Фурье - Авто, Точный, Быстрый.
  2. Авто расчет шага для сдвига графиков по оси Х для нескольких файлов.
  3. Фильтр по файлам Вкл/Выкл.

build 1.2.46

  1. Мелкие правки с дизайном формы.

build 1.2.45

  1. Теперь можно открывать несколько файлов одновременно, с их объединением по оси Х. Вывод производится на один график. Номер файла выведен в доп колонке Файл#.

build 1.2.42

  1. Добавлена функция rms_t() и новый вариант rms() с возможностью задать окно.

build 1.2.41

  1. Мелкие правки. Иконки.
  2. В окне fft по умолчанию включен Сканер.

build 1.2.40

Множество изменений и улучшений.

  1. Добавлен механизм математики над каналами. Функции сложения, умножения, вычитания, фильтрации, rms, логические и т.д. Требуется внимательное тестирование.
  2. Лобавлен механизм расчета FFT БПФ. Для любого канала.
  3. Переработан механизм первоначального вырезания и разворацивания. Добавлено окно по оси Х работающее после Вырезания.
  4. Убрано моргание галочек при обновлении.
  5. Подписаны слои. Переработано меню переноса на слои.
  6. Множество других изменений и улучшений.

build 1.1.33

  1. Исправление ошибок отображения графиков при переносе на другой слой #38

build 1.1.32

  1. Не рабочая. Теперь при импорте/экспорте учитывается состояние Включено/Выключено. Старые файлы поддерживаются с оговоркой, что при их импорте все поля считаются включенными. #38

build 1.1.31

  1. Проверка на пустые строки в алгоритме восстановления порядка для корректного отображения масштаба.

build 1.1.30

  1. #36 Есть возможность установить отдельный диапазон, если центровая линия равна нулю. Пока что стоит (-1; +1)

build 1.1.29

  1. #36 Тестовое изменение алгоритма масштабирования

build 1.1.28

  1. Добавлена опциональная возможность при открытии файла с логами сформировать координатную ось для него #34
  2. Исправление проблемы некорректного отслеживания при экспорте и импорте настроек вида. #35
  3. Исправление бага, при котором отмена открытия файла на этапе ввода настроек, если этот или другой файл уже был открыт ранее, приводила к вылету программы.

build 1.1.27

Подправлена работа запуска программы и ее закрытие. Баг #33.


build 1.1.26

Add Convertor csd #30 #31

Добавлен конвертор, поддерживающий два режима работы:

  1. Последовательная конвертация файлов с применением общих настроек (изменение имён каналов).
  2. Слияние файлов с нескольких осциллографов на основе файлов первого осциллографа. Чтобы открыть конвертор, выберите в основном окне в меню сверху: Модули -> Конвертор csd. Поддерживаются файлы, содержащие до 8 каналов. Количество осциллографов задаётся в правом верхнем углу окна конвертора. Словарь можно выбрать, нажав на кнопку в левом верхнем углу окна Конвертора.

Добавлена функция отмены операции по слиянию файлов

Обновление алгоритма слияния файлов #32 Комментарии к CsdConvert

Обновление интерфейса осциллографа

Добавлена возможность посмотреть список выбранных файлов для осциллографа. Двойной клик показывает в проводнике расположение файла.

Добавлена возможность прервать операцию при закрытии главного окна


build 1.1.25

  • Добавлен экспорт файла как .csd #29 Файл -> Экспортировать как... -> .csd

build 1.1.24

  • Обновление #28 Во время проверки новой версии совершается запрос файла build_[номер версии].md Например "build_1.1.22.md" Если такой файл был обнаружен, то в предупреждении о новой версии появляется возможность посмотреть список изменений из этого файла, а также запустить установку обновления.
  • Изменение файла для истории обновлений #28 Теперь программа сверяется с файлом Readme.md содержащим всю историю обновлений. Программа сверяет свою версию по списку и отображает только нововведения, произошедшие после текущей сборки.
  • Добавлена возможность посмотреть историю обновлений #28

build 1.1.23

  • Исправление визуального бага. Корректное отображение слоёв, если слои у элементов в таблице идут не по порядку.

  • Обновление пункта "Вид" #27 Теперь, перед импортом новых настроек, происходит сброс старых.

  • Добавлена возможность сбросить настройки вида (Слой и альтернативная ось) к настройкам по умолчанию.

  • Добавлена возможность упорядочить график в случае, если произошёл разрыв между слоями (слой 0, 1, 3, 4), из-за чего возникает визуальный баг отображения графиков.


build 1.1.22

  • Оптимизация алгоритма отображения промежуточных слоёв.

build 1.1.21

  • Добавлена функция отмены закрытия программы.
  • Добавлено отображение полного имени файла в названии и в правом нижнем углу #26.
  • Минорные изменения алгоритма для корректного отображения временной линии.
  • Исправление визуального бага. Некорректное отображение временной линии при работе с несколькими слоями.
  • Обновление выбора даты и времени. Проверка файла с настройками вида. Добавлена пользовательская подсказка для выбора временной линии. Теперь в выборе доступны только элементы, содержащие дату и время, а не все.
  • Добавлена проверка файла с настройками вида на валидность.
  • Исправление визуального бага с подписями по оси "Время" при импорте настроек вида.

build 1.1.20

  • Сохранение настроек отображения слоёв #16. Добавил возможность импортировать и экспортировать параметры отображения графиков - текущий слой и настройку альтернативной оси.

build 1.1.19

  • Минорное обновление интерфейса

  • Исправлено отсутствие управления сканером через стрелки.

  • Исправление автоматического масштабирования #24. При открытии файла или добавлении нового слоя графики строятся в режиме масштабирования для корректного отображения.

  • Исправление фризов при массовом внесении изменений в таблицу #23. При изменении диапазона фризы появлялись из-за вызова функции valuesAtCursor(x) каждый раз при внесении изменений в строку таблицы.

    Сейчас алгоритм изменён: Изменения в таблицу записываются не построчно, а по столбцам. В конце итерации производится проверка - нужно ли обновление значений на сканере.


build 1.1.18

  • Хотфикс #24. Исправление ошибки отрисовки при переносе элемента на другой слой.

  • Исправление ошибки с отображением сканера при повторном открытии файла.

  • Изменение отображения времени. Теперь время в правом верхнем углу главного окна отображается с миллисекундами.

  • Отладочная заплатка #23. При изменении сканер отключается в начале и включается по завершению. Позиция сохраняется. Нужно проверить, пропадут ли фризы. У меня время изменения сократилось кратно.


build 1.1.17

  • Добавлена поддержка нескольких экранов #20.
  • Перемещение диалога с выбором слоя теперь ограничено доступной областью экрана #20.
  • Перемещение диалога с выбором слоя ближе к курсору #20.
  • Настройка минимального размера графика #16.
  • Добавлены отступы в таблице, удаление авторазмера #22.