The bsSerialMsgs.xml specification defines the set of messages for BotSense virtual connections exstablished between BotSense clients and raw RS-232 serial devices proxied by the bsProxy server.
The serial messages are terminated between the BotSense client libbsclient_serial.so shared library or libbsclient_serial.a static library and the bsProxy plug-in libbsserver_serial.so interface module DLL.
The message encoding is 8-bit Id-Type-Value (itv). All message fields are packed in big-endian order.
1 <?
xml version=
"1.0" encoding=
"UTF-8" ?>
2 <!
DOCTYPE netmsgs PUBLIC "-//www.roadnarrows.com//DTD NETMSGS 1.0//EN" 3 "http://www.roadnarrows.com/xml/netmsgs/1.0/netmsgs.dtd">
53 <
netmsgs encoding=
"itv" endian=
"big">
60 BotSense bsProxy server -
client raw serial NetMsgs XML Definition 64 #
include "botsense/BotSense.h" 66 <
epilogue lang=
"h"></
epilogue>
67 <
prologue lang=
"c"></
prologue>
68 <
epilogue lang=
"c"></
epilogue>
69 <
prologue lang=
"python">
70 ##
maximum vector length 71 NMFVAL_LEN_MAX_VECTOR =
nmBase.NMVectorMaxCount 73 <
epilogue lang=
"python"></
epilogue>
89 <
msgdef msgid=
"ReqOpenArgs">
90 <
fielddef fname=
"baudrate" ftype=
"u32" />
91 <
fielddef fname=
"bytesize" ftype=
"u8" />
92 <
fielddef fname=
"parity" ftype=
"char" />
93 <
fielddef fname=
"stopbits" ftype=
"u8" />
94 <
fielddef fname=
"rtscts" ftype=
"bool" />
95 <
fielddef fname=
"xonxoff" ftype=
"bool" />
99 <
msgdef msgid=
"ReqRead">
100 <
fielddef fname=
"readlen" ftype=
"u8">
102 <
max>
NMFVAL_LEN_MAX_VECTOR</
max>
107 <
msgdef msgid=
"ReqTrans">
108 <
fielddef fname=
"writebuf" ftype=
"u8[]" />
109 <
fielddef fname=
"readlen" ftype=
"u8">
111 <
max>
NMFVAL_LEN_MAX_VECTOR</
max>
116 <
msgdef msgid=
"RspRead">
117 <
fielddef fname=
"readbuf" ftype=
"u8[]" />
121 <
msgdef msgid=
"ReqWrite">
122 <
fielddef fname=
"writebuf" ftype=
"u8[]" />
126 <
msgdef msgid=
"RspWrite">
127 <
fielddef fname=
"byteswritten" ftype=
"u8" />