Изменения по софту:
1. Объекты описываются в ini файле. До 128ми объектов.
2. Создан TCP сервер. Сервер получает 128 значений float и отдает их объектам (значение 1 отдается первому объекту...). Формат пакета 128 float значений, начиная с нуля.
3. Написан диспетчер для демо режима и калибровки. Запуск: dispdemo 127.0.0.1 17001 1
последняя цифра - режим. 1 демо. 2 калибровка.
Порядок создания объекта: (например стрелочный прибор)
1. Делаем шаблон прибора с шкалой в формате png с альфа каналом.
Закидываем его в папку textures.
2. Прописываем объект стрелочного прибора в ini файле.
В секции [objects] добавляем 3 строки, цифру после _ указываем следующую от последней.
- Code:
[objects]
enable_0=1;Разрешим объект
type_0=0;0 -стрелочный прибор, 1- знак, 2 - цифровой прибор
name_0=speedometr
где enable - включение объекта, type - тип объекта (в будущем объектов будет больше), name - имя секции описания объекта в ini файле.
3. Описание параметров самого объекта:
- Code:
;Настройка расположения и поведения стрелки спидометра
[speedometr]
enable=1; Выводить на экран
;Фон прибора
texture_temp=textures/dashboard_spedometr.png
xtemp=20
ytemp=350
lenxtemp=600
lenytemp=450
;Стрелка
div_centr_arrow=6; Делитель центра по X вращения стрелки. 2 середина, по умолчанию 6
texture_arrow=textures/arrow_texture4.png;Файл текстуры стрелки прибора
xarrow=250
yarrow=180
lenxarrow=300;Длина по X
lenyarrow=20;Ширина по Y
triangle=1; 0 - квадрат, 1 - треугольник
speed=0.3; float скорость возврата стрелки, меньше, медленее
startangle=-145;Стартовый угол стрелки в градусах (меньше значение, больше по часовой стрелке)
minporog=0;//0 прибора
maxporog=210;//Максимальное значение для прибора
porog_0=10;//Значение порога
koef_0=2;Коэфициент настройки (точная настройка)
defangle_0=-146;Угол смещения (грубая настройка)
porog_1=20
koef_1=2;
defangle_1=-147;
porog_2=30
koef_2=1.25;
defangle_2=-145;
porog_3=40
koef_3=1.05;
defangle_3=-145;
porog_4=50
koef_4=0.97;
defangle_4=-145;
porog_5=60
koef_5=0.925;
defangle_5=-145;
porog_6=70
koef_6=0.905;
defangle_6=-145;
porog_7=80
koef_7=0.890;
defangle_7=-145;
porog_8=90
koef_8=0.883;
defangle_8=-145;
porog_9=100
koef_9=0.880;
defangle_9=-145;
porog_10=110
koef_10=0.878;
defangle_10=-145;
porog_11=120
koef_11=0.875;
defangle_11=-145;
porog_12=130
koef_12=0.872;
defangle_12=-145;
porog_13=140
koef_13=0.865;
defangle_13=-145;
porog_14=150
koef_14=0.858;
defangle_14=-145;
porog_15=160
koef_15=0.85;
defangle_15=-145;
porog_16=170
koef_16=0.841;
defangle_16=-145;
porog_17=180
koef_17=0.832;
defangle_17=-145;
porog_18=190
koef_18=0.826;
defangle_18=-145;
porog_19=200
koef_19=0.822;
defangle_19=-145;
texture_temp - текстура шаблона прибора
texture_arrow - текстура стрелки
xarrow,yarrow - стартовая координата стрелки относительно координат шаблона
speed - скорость достижения текущего значения. На каждый тик стрелка меняет свое значение на значение speed. Нужно для создания реальности движения стрелки и плавности прохода корректировочных порогов.
triangle - вид стрелки. 0- прямоугольник, 1-квадрат. Далее сделаю сложный тип.
startangle - стартовый угол стрелки в градусах. Позволяет поставить стрелку ниже значения 0, для повторения поведения механической стрелки.
minporog - порог не чувствительности стрелки (нужен для создания прибора чувствительному к значениям к примеру 40-80).
maxporog - порог за который прибор не выйдет
Пороги. Нужны для калибровки стрелки к шаблону. Калибруется с помощью калибровочного режима (2) в демо диспетчере.
porog_ - Порог (float).
koef_ - Коэфициент настройки (точная настройка)(float)
defangle_- Угол смещения (грубая настройка).(float)
koef_ и defangle_ - одно и тоже. В планах оставить один коэфициент.
В планах:
- Класс цифровых индикаторов.
- Класс одометра.
- Диспетчер секи.
- Звуковое оповещение.
- GL компиляция объектов, если A20 не осилит отрисовку.
- Класс видео с камер UVC.
Начал сборку железа. Позже фото отчет.