UniSet/ПредлагаемыеИзмененияВСистеме

Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Предлагаемые изменения в системе

Конфигурационный файл

  • В систему должен быть встроен механизм контроля одинаковости конф. файлов на основе номера версии.
  • По-хорошему должен быть добавлен алгоритм подписи файла, чтобы его модификация была исключена.


Получение идентификатора объекта

Применённое в Имитаторе получение ID выглядит ужасно:

conf->oind->getIdByName(conf->getObjectsSection() + "/GUI");

Предлагается ввести функцию

UniSetTypes::getObjectID("/Sensors/SendServer")

Функции

inline string getSensorsSection() const { return secSensors; }
inline string getObjectsSection() const { return secObjects; }
inline string getControllersSection() const { return secControlles; }
inline string getServicesSection() const { return secServices; }

упразднить или обосновать их существование



Предопределённые каталоги

Должны формироватся configure пути к используемым каталогам, и получаться стандартными средствами, как это делается в других программах.

Функции

inline const string getConfDir() const { return confDir; }
inline const string getDataDir() const { return dataDir; }
inline const string getBinDir() const { return binDir; }
inline const string getLogDir() const { return logDir; }
inline const string getLockDir() const { return lockDir; }
inline const string getDocDir() const { return docDir; }

по возможности упразднить.


Калибровка

  • У NotifyController-а две функции с название calibrate. Глобальную надо вообще убрать (как и saveValue). И продумать механизм доступа для отладки/администрирования.
  • Желательно встроить в SensorMessage информацию о калибровке (CalibrateInfo). Это не сложно, размер сообщения позволяет. Будет полезно для см. ниже...
  • В калибровку ввести "калибровочный" коэффициент. Необходимый для создания значений с плавающей точкой (а сейчас у нас для аналоговых значений используется long).
Т.е. например необходимо отображать значение 0-10 с точностью 0.02. Вводится калибровочный коэффициент равный 100.
При калибровке minCal и maxCal _умножаются_ на 100, т.е. диапазон калибровки становится 0 - 1000.
А при отображении полученное число _делится_ на 100 c преобразованием, например, к float.
Для этого конечно желательно иметь в SensorMessage информацию о коэффициенте... (см. пожелание в предыдущем пунтке)