UniSet/ПредлагаемыеИзмененияВСистеме
Материал из Etersoft wiki
Перейти к навигацииПерейти к поиску
Предлагаемые изменения в системе
Конфигурационный файл
- В систему должен быть встроен механизм контроля одинаковости конф. файлов на основе номера версии.
- По-хорошему должен быть добавлен алгоритм подписи файла, чтобы его модификация была исключена.
Получение идентификатора объекта
Применённое в Имитаторе получение 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 информацию о коэффициенте... (см. пожелание в предыдущем пунтке)