Вверх ↑
Ответов: 5227
Рейтинг: 588
#1: 2020-10-18 08:51:36 ЛС | профиль | цитата
Мужики, я вернулся (сады закончились, снег выпал)
Презент кувал всю ночь (нужно было перед таблицей размяться)

Презент от автора

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

Компонент предоставляет следующие свойства:

Произвольное количество каналов ввода данных
Синхронизация по любому каналу
Произвольный масштаб по осям X Y.
Синхронизация по переднему и заднему фронту
Полярный график зависимости X от Y для любого количества каналов.
Произвольный цвет луча для любого канала.
Чувствительность синхронизации настраивается
Любой канал независимо блокируется
Независимые сдвиги лучей по осям X и Y (в том числе независимо для каждого канала...)
Интенсивность лучей настраивается (как на реальном приборе)
Произвольная сетка на экране (настраиваемая)
Произвольный фокусный прямоугольник
Произволные по ширине Inner/Outer bevel и border
Все графические навороты отключаемые
Произвольный выбор цвета для всего
Произвольный выбор материалов (skins) для границ и экрана

Пока ini такой

ChannelCount=Количество каналов развёртки(1-3)|1|1
BufferSize=Размер буфера данных для каждого канала|1|320
Color1=Цвет первого канала|8|clRed
Color2=Цвет второго канала|8|clYellow
Color3=Цвет третьего канала|8|clBlue
@ColorOfGrid=Цвет сетки|8|6316128
@BevelColor=Цвет обрамления|8|clGray
OuterBevel=Тип внешней рамки|14|0|iaopbUP,iaopbDown,iaopbNone
InnerBevel=Тип внутренней рамки|14|1|iaopbUP,iaopbDown,iaopbNone
InnerBevelDepth=Ширина внутренней рамки|1|2
OuterBevelDepth=Ширина внешней рамки|1|2
BorderDepth=Ширина границы|1|2
@ShowGrid=Показывать или нет сетку|14|0|True,False
@ShowFocusRect=Показывать или нет фокусный прямоугольник|14|0|True,False
@GridHParts=Количество ячеек в сетке по горизонтали|1|10
@GridVParts=Количество ячеек в сетке по вертикали|1|10
@ShowMainTicks=Показывать или нет главные оси экрана|14|0|True,False
@FocusRectPercent=Размер фокусного прямоугольника в единицах экрана|1|67
BevelSkin=Материал обрамления|11|
BevelSkinMode=Способ применения материала обрамления|14|0|iaopbmTile,iaopbmStretch
Skin=Материал экрана|11|0
SkinMode=Как применять материал экрана|14|0|iaopbmTile,iaopbmStretch
@XYMode=Включена ли мода полярного графика|14|0|True,False
@YScale=Масштаб по оси Y в вольтах на половину высоты экрана|1|1
@XScale=Масштаб по оси X для полярного графика в вольтах на половину ширины экрана|7|1
@XTimeScale=Время развертки в секундах|7|0.01
@XDataDt=Промежуток времени между отсчетами в каналах|7|2e-5
SyncronizingChannel=Номер канала синхронизации|1|0
@Sensitivity=Чуствительность синхронизации чем больше тем чуствительность ниже|7|0.05
@ShiftX=Сдвиг по оси X в единицах экрана|7|0
@ShiftY=Сдвиг по оси Y в единицах экрана|7|0
@LightCoeff=Яркость луча (0..3)|7|1
@SyncronizingMode=Синхронизация по переднему или заднему фронту|14|0|iaopsmUP,iaopsmDOWN
@AutoReducing=Отображает только реально необходимые точки, экономя время вывода|14|0|True,False


[Methods]
doDataActive=Астивирует True или блокирует канал False, индекс канала берётся с точки Index|1|0
doDataColor=Установка цвета луча для канала с индексом Index, цвет луча передаётся в потоке|1|0
PointerData=Указатель на многомерный массив данных типа Real для каналов развёртки|4|1
Index=Индекс канала для установки свойств|4|1
*ChannelsNumber=Количество каналов данных|3|1

демка пока не не напился тут -> https://forum.hiasm.com/getfile/39157

Леонид надеюсь поможешь довести до лгического конца

p.s не обесудте пойду выпью ещё и грохнусь поспать
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0