Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
U
uniset2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
UniSet project repositories
uniset2
Commits
ceef1366
Commit
ceef1366
authored
May 03, 2015
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into devel/reserv-smemory
parents
1ff2eed2
5a71c135
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
7 deletions
+40
-7
libuniset2.spec
conf/libuniset2.spec
+4
-1
uniset-codegen.dox
docs/DocPages/uniset-codegen.dox
+34
-4
UDPPacket.h
extensions/UNetUDP/UDPPacket.h
+2
-2
No files found.
conf/libuniset2.spec
View file @
ceef1366
...
...
@@ -12,7 +12,7 @@
Name: libuniset2
Version: 2.0
Release: alt28.
1
Release: alt28.
2
Summary: UniSet - library for building distributed industrial control systems
...
...
@@ -409,6 +409,9 @@ mv -f %buildroot%python_sitelibdir_noarch/* %buildroot%python_sitelibdir/%oname
# ..
%changelog
* Thu Apr 23 2015 Pavel Vainerman <pv@etersoft.ru> 2.0-alt28.2
- unet-udp: special build... change maximum for digital and analog data. Set A=1500, D=5000.
* Thu Apr 23 2015 Pavel Vainerman <pv@etersoft.ru> 2.0-alt28.1
- unet-udp: special build... change maximum for digital and analog data. Set A=800, D=5000.
...
...
docs/DocPages/uniset-codegen.dox
View file @
ceef1366
...
...
@@ -6,6 +6,7 @@
- \ref pg_Codegen_SMap
- \ref pg_Codegen_MsgMap
- \ref pg_Codegen_Variables
- \ref pg_Codegen_argprefix
- \ref pg_Codegen_Configuration
- \ref pg_Codegen_TestMode
- \ref pg_Codegen_Make
...
...
@@ -75,7 +76,7 @@
<set name="msg-count" val="20"/>
<set name="sleep-msec" val="150"/>
</settings>
<variables
arg_prefix="test-"
>
<variables>
<!-- type = [int,str,bool,float]
int: max,min,no_range_exception=[0,1]
str:
...
...
@@ -168,9 +169,6 @@
- \b const - const="1" - сгенерировать как константу.
- \b private | \b public | \b protected - Область видимости. По умолчанию: \b protected.
Помимо этого в самой секции \<variables> можно указать свойство \b arg_prefix="...", которое используется при инициализации
при помощи аргументов командной строки.
В генерируемом коде для каждой переменной происходит её инициализация по следующему шаблону (псевдокод):
\code
varname = conf->getArgParam("--'arg_prefix'varname'",it.getProp("'varname'"));
...
...
@@ -188,6 +186,38 @@
\b private="1" и тогда они будут иметь соответствующую область видимости.
\section pg_Codegen_argprefix Аргументы командной строки
Для возможности переопределять различные парамеры при помощи аргументов командной строки, сделан следующий механизм.
В сгенерированном конструкторе (файл xx_SK.h) можно задать последний аргумент \b argprefix. Если он равен "", то в качестве
префикса используется ObjectName. Все переменные из секции \a <variables> можно переопределять аргументом
\b --prefix-varname \b val. В общем случае это будет: \b --ObjectName-varname \b val.
Помимо этого \b argprefix можно задать в секции <settings>
\code
<settings>
...
<set name="arg-prefix" val="test-"/>
...
</settings>
\endcode
Тогда вместо \a ObjectName будет использоваться указанный префикс \a --test- (обратите внимание на то, что префикс задаётся с \b - в конце).
Значения по умолчанию для \b входов (in_xxx) и \b выходов (out_xx) можно также определять через аргументы командной строки:
- \b --argprefix-xxxname-default val
Дополнительно при помощи командной строки можно переопределять следующие свойства:
- \b --argprefix-force-out 1/0
- \b --argprefix-heartbeat-id sensorID
- \b --argprefix-heartbeat-time msec
- \b --argprefix-heartbeat-max num
- \b --argprefix-sleep-msec msec
- \b --argprefix-resetMsgTime msec
- \b --argprefix-sm-test-id sensorID
- \b --argprefix-activate-timeout msec
- \b --argprefix-startup-timeout msec
- \b --argprefix-log-[add|del]-levels xxx,xxx,xxx
\section pg_Codegen_Configuration Конфигурирование
Для режима генерирования на основе отдельного xml-файла (\ref pg_Codegen_XmlFile) необходимо дополнительно производить конфигурирование.
\a Конфигурирование - это привязка конкретных имён датчиков к указанным полям класса. Для этого в конфигурационном файле проекта
...
...
extensions/UNetUDP/UDPPacket.h
View file @
ceef1366
...
...
@@ -51,9 +51,9 @@ namespace UniSetUDP
// Хотелось бы не вылезать за общий размер посылаемых пакетов 8192. (550,900 --> 8133)
// ------
// временное резрешение на A=800,D=5000! DI/DO
//
800*8 + 5000*4 + 5000/8 = 270
25 байт максимальный размер данных + служебные заголовки
//
1500*8 + 5000*4 + 5000/8 = 326
25 байт максимальный размер данных + служебные заголовки
static
const
size_t
MaxACount
=
8
00
;
static
const
size_t
MaxACount
=
15
00
;
static
const
size_t
MaxDCount
=
5000
;
static
const
size_t
MaxDDataCount
=
1
+
MaxDCount
/
8
*
sizeof
(
unsigned
char
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment