615 lines
47 KiB
Markdown
615 lines
47 KiB
Markdown
# История версий LogsView
|
||
***
|
||
## build 1.2.108
|
||
1. Авто-поиск: поддержка двухкомпонентных логов (склейка быстрого и
|
||
медленного кусков записи в один файл, различаются по каналу
|
||
"global_seconds*10"). Диалог "Авто-поиск" и кнопка "Авторазворот графика
|
||
в ноль" теперь показывают предупреждение о находке и предлагают оставить
|
||
быстрый или медленный кусок - выбор за пользователем.
|
||
2. Одиночные "провалы до нуля" (сбой записи на одну точку среди значащих
|
||
соседей) больше не путают ни поиск границы двухкомпонентного лога, ни
|
||
классическую авторазвёртку по счётчику (count_step_run).
|
||
3. Автообрезка хвостовых нулей стала точнее: строка считается концом
|
||
значащих данных, только если ненулевых каналов не меньше двух. Раньше
|
||
хватало одного - изредка в дочитанном "с запасом" хвосте остаётся
|
||
случайный ненулевой "огрызок" в одном канале, и обрезка на нём
|
||
останавливалась на строку раньше, чем нужно.
|
||
---
|
||
## build 1.2.107
|
||
1. Верхняя ось "Точки" больше не пропадает на неравномерных логах.
|
||
Раньше номера точек считались пересчётом времени по постоянному шагу,
|
||
поэтому на логе с неравномерной сеткой ось просто скрывалась. Теперь номер
|
||
берётся у фактической точки, и ось работает на любом логе одного файла.
|
||
При нескольких открытых файлах ось по-прежнему не показывается: "точка N"
|
||
у разных файлов приходится на разное время, общего номера у них нет.
|
||
2. Убрана пустая полоса над верхним графиком. Когда ось "Точки" не
|
||
показывалась, её заголовок всё равно занимал строку - около 50 пикселей
|
||
пустоты сверху.
|
||
3. Подписям нижней оси X теперь выделяется собственное место. Раньше они
|
||
заходили в промежуток между слоями и в подпись "Время, мсек" - при
|
||
включённом глобальном времени, когда снизу добавляются ещё и даты по краям,
|
||
это было особенно заметно.
|
||
4. Даты по краям оси X перестали "плавать". Их отступ от графика считался
|
||
в процентах от высоты слоя: на высоком слое они уезжали далеко вниз,
|
||
на низком - налезали на подписи времени. Теперь отступ постоянный.
|
||
5. Легенда больше не закрывает данные.
|
||
Раньше она лежала внутри графика, в левом верхнем углу, поверх кривых -
|
||
полупрозрачность помогала слабо. Теперь по умолчанию легенда идёт полосой
|
||
НАД областью построения. Слой теряет высоту ровно на строку легенды, и
|
||
только тот слой, где она реально показана. Если имена каналов не влезают
|
||
в одну строку, лишние переносятся на вторую.
|
||
6. Расположение легенды выбирается для каждого слоя.
|
||
Нижняя кнопка в столбце слоя открывает меню: "Над графиком",
|
||
"В графике: сверху слева / справа", "снизу слева / справа",
|
||
"Не показывать". Значок на кнопке показывает текущее расположение, так что
|
||
состояние слоя видно без открытия меню.
|
||
Расположение по умолчанию - меню Настройки -> "Легенда": применяется сразу
|
||
ко всем слоям и запоминается между запусками.
|
||
7. На цифровых слоях кнопки масштаба больше не показываются: диапазон там
|
||
фиксирован под ступеньки, а имена каналов и так подписаны у своих кривых.
|
||
Такие слои снова стали компактнее по высоте.
|
||
8. Полоса легенды переносится на несколько строк (до четырёх), поэтому
|
||
каналов в ней помещается заметно больше, чем прежние десять. Сколько имён
|
||
влезет в строку - зависит от ширины окна: разверните окно пошире, и
|
||
легенда покажет больше каналов. Если строк набирается больше четырёх,
|
||
легенда прячется - окинуть её взглядом уже не получится.
|
||
9. Клик по имени канала в легенде выделяет этот канал: кривая подсвечивается,
|
||
таблица встаёт на его строку - то же самое, что клик по самой кривой.
|
||
Повторный клик снимает выделение.
|
||
10. Подпись Сканера с номером точки больше не перекрывается легендой:
|
||
когда легенда стоит полосой над графиком, подписи резервируется своё место
|
||
над областью построения. Заодно увеличен зазор между полосой легенды и
|
||
подписями верхней оси "Точки" - раньше они выглядели слипшимися.
|
||
---
|
||
## build 1.2.105
|
||
1. Кнопки масштаба переехали: место на экране расходуется экономнее.
|
||
- Кнопки оси X (время) больше не повторяются на каждом слое. Ось времени
|
||
общая для всех графиков, поэтому теперь это одна группа внизу окна, рядом
|
||
с подписью "Время, мсек": "Ось X: (+) (-) (Авто)".
|
||
- Кнопки оси Y стоят вертикальным столбцом слева от своего слоя, сверху:
|
||
(+) (-) (Авто) и замок. Столбец занял пустую полосу между краем графика
|
||
и подписями оси, поэтому высоту слоя он не отнимает - раньше на каждый
|
||
слой уходило по 22 пикселя высоты.
|
||
- "Авто" по оси X теперь показывает все данные окна, а не только того слоя,
|
||
на котором нажали.
|
||
Убрать все кнопки по-прежнему можно: Настройки -> "Кнопки масштаба
|
||
на графике". Выбор запоминается.
|
||
---
|
||
## build 1.2.104
|
||
1. Исправлены легенды графиков при импорте настроек вида (меню "Вид").
|
||
Легенда на слое могла не появиться после импорта, даже если на слое всего
|
||
несколько графиков - её видимость не пересчитывалась и оставалась такой,
|
||
какой была до импорта.
|
||
2. Восстановление математических каналов при импорте.
|
||
И "Вид -> Импортировать", и "Импорт настроек" теперь умеют довосстановить
|
||
математические каналы, которых нет среди текущих загруженных (например,
|
||
после переоткрытия файла с нуля). Если в файле есть формулы, которых
|
||
сейчас нет, - один общий вопрос "Добавить?" со списком формул. Каналы,
|
||
которые уже есть (совпадают по формуле - добавлены вручную или из
|
||
предыдущего импорта), не дублируются.
|
||
---
|
||
## build 1.2.103
|
||
1. Ускорено чтение CSV с числовыми каналами, где встречается десятичная
|
||
запятая (например, температуры вида "4,3"). Раньше замена запятой на
|
||
точку выполнялась для каждой ячейки без разбора, даже для целых чисел -
|
||
теперь только там, где запятая действительно есть.
|
||
---
|
||
## build 1.2.102
|
||
1. Исправлено зависание при открытии больших логов, склеенных из нескольких
|
||
кусков записи (например, из нескольких суток), где время в файле не идёт
|
||
строго по порядку. Раньше построение графиков на таком файле могло висеть
|
||
десятки минут и постепенно съедать всю память программы - теперь такие
|
||
файлы открываются штатно.
|
||
2. Для таких же "склеенных" логов исправлен номер точки под курсором и
|
||
в измерителе (Сканер, P1/P2) - раньше он мог указывать на соседнюю по
|
||
времени точку из другого куска записи.
|
||
3. Немного ускорено и облегчено по памяти чтение CSV с общей колонкой Time.
|
||
---
|
||
## build 1.2.100
|
||
1. Кнопки масштаба прямо на графике.
|
||
В верхнем поле каждого слоя, слева, появился ряд кнопок:
|
||
"Ось X: (+) (-) (Авто)" и "Ось Y: (+) (-) (Авто) (замок)".
|
||
- X (+) / (-) - приблизить / отдалить по времени. Ось X общая, поэтому
|
||
масштаб меняется сразу на всех слоях.
|
||
- X (Авто) - показать по X все данные этого слоя.
|
||
- Y (+) / (-) / (Авто) - то же по вертикали, но только для своего слоя.
|
||
Ряд занимает часть высоты слоя. Если слоёв много и высота дорога, ряд
|
||
убирается: Настройки -> "Кнопки масштаба на слоях". Выбор запоминается.
|
||
2. Замок - фиксация масштаба Y отдельного слоя.
|
||
Закрытый замок означает "не трогать ось Y этого слоя": автоматика больше
|
||
не пересчитывает её ни при включении/выключении каналов, ни при переносе
|
||
канала на слой, ни при "АвтоМасштаб Y". Сам замок ничего не пересчитывает
|
||
в момент нажатия - он запоминает ровно тот масштаб, который вы настроили.
|
||
У каждого слоя замок свой. Ручные кнопки Y (+) (-) (Авто) работают и при
|
||
закрытом замке.
|
||
Общие кнопки формы сильнее замков: "АвтоМасштаб X", "АвтоМасштаб Y",
|
||
"АвтоЗум", "Обновить" и Escape в фокусе графика снимают фиксацию со всех
|
||
слоёв и пересчитывают масштаб заново.
|
||
3. Исправлен автомасштаб по Y для каналов с постоянным (или почти
|
||
постоянным) значением. Раньше каждое нажатие "Авто" делало такой график
|
||
всё мельче: запас по краям добавлялся к уже расширенному диапазону, а
|
||
сузить диапазон для канала без размаха было нечем. Теперь границы всегда
|
||
считаются заново по данным - повторные нажатия ничего не меняют, а
|
||
плоский канал получает разумный диапазон вокруг своего уровня.
|
||
4. Зазор по краям оси X стал одинаковым везде.
|
||
Раньше он зависел от способа: "АвтоЗум" оставлял один зазор, кнопка "Авто"
|
||
на слое - другой, а после сброса обрезки зазора не было вовсе. Теперь это
|
||
одна и та же небольшая величина в пикселях, чтобы крайние точки не
|
||
сливались с рамкой.
|
||
5. Перенос канала на другой слой больше не сбивает масштаб соседних слоёв.
|
||
Масштаб по Y пересчитывается только у слоя-приёмника и у слоя, откуда
|
||
канал уехал.
|
||
6. Обновлена встроенная справка (меню "?"): раздел "Кнопки масштаба на слое"
|
||
в "Графики и слои", поведение автомасштаба в "Масштаб и навигация".
|
||
---
|
||
## build 1.2.99
|
||
1. Галочка "Вкл." больше не сбрасывает масштаб по оси X.
|
||
Приближённый участок времени остаётся на месте - каналы можно перебирать
|
||
по очереди и сравнивать их на одном и том же интервале.
|
||
Масштаб по Y по-прежнему подстраивается (если включён "АвтоМасштаб Y"),
|
||
иначе только что включённый канал мог бы оказаться за границами вида.
|
||
Вернуть полный диапазон по X - кнопка "AutoZoom" или F5.
|
||
2. Колесо мыши меняет масштаб по X в любом месте графика.
|
||
Раньше зум работал только у самих осей (курсор-"лупа") и целиться
|
||
в тонкую полоску оси X было неудобно. Над областью оси Y колесо, как
|
||
и раньше, меняет масштаб по Y этого слоя. Ctrl + колесо - сразу по X и Y.
|
||
3. Перенос на слой одним кликом (иконка "Переместить" в колонке "Действие").
|
||
- ЛКМ - канал сразу выносится на новый слой, без вопросов.
|
||
- ПКМ - открывается меню выбора слоя, как раньше.
|
||
- Если в таблице выделено несколько строк, операция выполняется над всей
|
||
группой: все выделенные каналы уезжают на один новый слой. Клик по иконке
|
||
в уже выделенной строке групповое выделение не сбрасывает.
|
||
4. Цвета графиков при добавлении файлов больше не повторяются.
|
||
Раньше каждый файл начинал раздачу цветов с начала палитры, и, например,
|
||
3-й канал первого файла совпадал по цвету с 3-м каналом второго - при
|
||
сравнении одинаковых процессов это сбивало. Теперь каждый дополнительно
|
||
открытый файл начинает со сдвигом +1 по палитре.
|
||
Отключается галочкой Настройки -> "Сдвигать цвета для каждого нового файла"
|
||
(по умолчанию включена). Файл, открытый взамен уже загруженных, всегда
|
||
начинает с первого цвета.
|
||
5. Обновлена встроенная справка (меню "?") под новое поведение: колесо мыши,
|
||
перенос на слой через иконку, цвета при добавлении файлов.
|
||
---
|
||
## build 1.2.98
|
||
1. Обновлена встроенная справка (меню "?").
|
||
- Новый раздел "FFT (БПФ)": окно спектра целиком - каналы окна и раскладки,
|
||
выбор активного канала, анализ THD и шума, относительные амплитуды,
|
||
сканер и маркеры, график сигнала.
|
||
- Раздел "Форматы файлов": описано, когда программа спрашивает единицы
|
||
времени, а когда определяет их сама; добавлено чтение CSV из DSView/sigrok.
|
||
- Новый раздел "Инструменты": Сдвиг времени и Авто-поиск (обрезка/развёртка),
|
||
включая кнопку "Авторазворот графика в ноль" на панели.
|
||
---
|
||
## build 1.2.97
|
||
1. Окно FFT: работа с несколькими каналами.
|
||
- Каналы окна собраны в таблицу: показ, выбор канала, цвет, "Без DC",
|
||
кнопки добавить/убрать. Одновременно до 8 каналов.
|
||
- Раскладка: "Наложить" (все на одном графике), "Друг под другом",
|
||
"Слева направо".
|
||
- Активный канал выбирается кликом по строке таблицы, по легенде или
|
||
по области графика. Его кривая выделяется толщиной, остальные приглушаются.
|
||
Повторный клик снимает выбор - тогда все кривые рисуются одинаково.
|
||
- Переключатель "Раздельный масштаб Y" для раскладок с отдельными областями.
|
||
По умолчанию выключен: масштаб общий, спектры можно сравнивать на глаз.
|
||
2. Окно FFT: анализ качества сигнала.
|
||
- Гармонический сигнал: THD, THD+N, SINAD, SNR, частота и амплитуда
|
||
1-й гармоники. Гармоники помечаются на спектре (H1..Hn).
|
||
- Постоянный сигнал: уровень DC, СКЗ и размах шума, пульсации в %, ОСШ
|
||
и частота самой мощной помехи. Пики помех помечаются (P1..Pn).
|
||
Раньше для такого сигнала считался THD и выдавал сотни процентов.
|
||
- Тип сигнала определяется автоматически, можно задать вручную.
|
||
- Краткая сводка по каждому каналу - в колонке "Анализ" таблицы, она
|
||
считается всегда. Подробная строка и маркеры - по переключателю "Анализ".
|
||
- Кнопка "Копировать" кладёт строку результата в буфер обмена.
|
||
3. Окно FFT: относительные амплитуды.
|
||
В режиме "Амплитуды: Относительные" уровни каждого канала делятся на его
|
||
собственную опорную амплитуду - 1-ю гармонику или уровень DC. Сразу видно,
|
||
насколько канал зашумлён относительно своего полезного сигнала.
|
||
4. Окно 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
|
||
|
||
2. Расширен парсер формул: поддержка 3–4 аргументов, регистронезависимые имена
|
||
3. Исправлена логика разбора аргументов функций
|
||
---
|
||
## 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. Подписаны слои. Переработано меню переноса на слои.
|
||
5. Множество других изменений и улучшений.
|
||
|
||
---
|
||
## 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.
|
||
|
||
|