pax_global_header00006660000000000000000000000064141673047330014522gustar00rootroot0000000000000052 comment=b299064bdb315265f9140af381846e449ee75693 canmatrix-0.9.5/000077500000000000000000000000001416730473300135235ustar00rootroot00000000000000canmatrix-0.9.5/.coveragerc000066400000000000000000000001111416730473300156350ustar00rootroot00000000000000[run] branch = True source = canmatrix [report] show_missing = True canmatrix-0.9.5/.gitattributes000066400000000000000000000000431416730473300164130ustar00rootroot00000000000000canmatrix/_version.py export-subst canmatrix-0.9.5/.gitignore000066400000000000000000000016011416730473300155110ustar00rootroot00000000000000test/converted/ # Don't track backup files *.bak # https://github.com/github/gitignore/blob/da00310ccba9de9a988cc973ef5238ad2c1460e9/Python.gitignore # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *,cover .hypothesis/ # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # PyBuilder target/ /.mypy_cache /.idea canmatrix-0.9.5/.idea/000077500000000000000000000000001416730473300145035ustar00rootroot00000000000000canmatrix-0.9.5/.idea/coverage.bat000066400000000000000000000007221416730473300167670ustar00rootroot00000000000000@echo off rem ------------------------------------------------------------- rem In PyCharm create "external tool" pointing to this file, with rem Arguments: $PyInterpreterDirectory$ $FilePath$ rem WorkingDirectory $ProjectFileDir$ rem ------------------------------------------------------------- set python=%1\python.exe set arguments=%2 %python% -m coverage run -m pytest %arguments% if %errorlevel% EQU 0 ( %python% -m coverage html cd htmlcov index.html ) canmatrix-0.9.5/.idea/vcs.xml000066400000000000000000000002641416730473300160220ustar00rootroot00000000000000 canmatrix-0.9.5/.travis.yml000066400000000000000000000013511416730473300156340ustar00rootroot00000000000000language: python matrix: include: - python: 3.7 dist: xenial sudo: true env: TOXENV=dist - python: 2.7 - python: pypy - python: 3.5 - python: pypy3.5 - python: 3.6 - python: 3.7 dist: xenial sudo: true - python: 3.8 - python: 3.7 dist: xenial sudo: true env: TOXENV=old_tests - python: 3.6 env: TOXENV=mypy - python: 3.9 - python: 3.10 allow_failures: - python: 3.6 # until we solve all typing issues env: TOXENV=mypy install: - pip install tox tox-travis script: - tox - tox -e codecov deploy: provider: pypi username: __token__ skip_existing: true skip_cleanup: true on: tags: true branch: master canmatrix-0.9.5/LICENSE000066400000000000000000000024341416730473300145330ustar00rootroot00000000000000Copyright (c) 2013-2015, Eduard Broecker Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. canmatrix-0.9.5/MANIFEST.in000066400000000000000000000001031416730473300152530ustar00rootroot00000000000000include versioneer.py include canmatrix/_version.py include LICENSEcanmatrix-0.9.5/README.md000066400000000000000000000026351416730473300150100ustar00rootroot00000000000000## **Canmatrix** is a python package to read and write several CAN (Controller Area Network) database formats. ## [![PyPI](https://img.shields.io/pypi/v/canmatrix.svg)](https://pypi.org/project/canmatrix/) [![PyPI - Python Version](https://img.shields.io/pypi/pyversions/canmatrix.svg)](https://pypi.org/project/canmatrix/) [![Build Status](https://travis-ci.org/ebroecker/canmatrix.svg?branch=development)](https://travis-ci.org/ebroecker/canmatrix) [![Codecov branch](https://img.shields.io/codecov/c/github/ebroecker/canmatrix/development.svg)](https://codecov.io/gh/ebroecker/canmatrix/) [![GitHub issues](https://img.shields.io/github/issues-raw/ebroecker/canmatrix.svg)](https://github.com/ebroecker/canmatrix/issues) ### About *Canmatrix* implements a "Python Can Matrix Object" which describes the can-communication and the needed objects (Boardunits, Frames, Signals, Values, ...) *Canmatrix* also includes two **Tools** (canconvert and cancompare) for converting and comparing **CAN** databases. https://canmatrix.readthedocs.io/en/latest/ ### Install instructions https://canmatrix.readthedocs.io/en/latest/installation.html [Chinese Translation / 安装中文方法解释及注意事项](https://github.com/ebroecker/canmatrix/wiki/%E5%AE%89%E8%A3%85%E4%B8%AD%E6%96%87%E6%96%B9%E6%B3%95%E8%A7%A3%E9%87%8A%E5%8F%8A%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9) Have Fun, feel free to contact me for any suggestions Eduard canmatrix-0.9.5/appveyor.yml000066400000000000000000000025751416730473300161240ustar00rootroot00000000000000# appveyor.yml - https://www.appveyor.com/docs/lang/python --- image: - Visual Studio 2022 skip_branch_with_pr: true environment: matrix: - TOXENV: py27 - TOXENV: py35 - TOXENV: py36 - TOXENV: py37 - TOXENV: py38 - TOXENV: py39 - TOXENV: py310 - TOXENV: pypy - TOXENV: pypy3 - TOXENV: dist matrix: allow_failures: - TOXENV: pypy # until we get pypy in chocolatey - TOXENV: pypy3 # until we get pypy3 in chocolatey # https://www.appveyor.com/docs/how-to/rdp-to-build-worker/ init: - ps: if (Get-ChildItem Env:ENABLE_RDP -ErrorAction SilentlyContinue) {iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))} else {echo RDP not enabled} install: - if "%TOXENV%"=="pypy" choco install python.pypy - if "%TOXENV%"=="pypy3" choco install python.pypy3 - py -m pip install tox - ps: Update-AppveyorBuild -Version "v$(py get_version.py) b$Env:APPVEYOR_BUILD_NUMBER" build_script: - py -m tox - py -m tox -e codecov artifacts: - path: "dist\\*" # https://www.appveyor.com/docs/how-to/rdp-to-build-worker/ on_finish: - ps: if (Get-ChildItem Env:ENABLE_RDP -ErrorAction SilentlyContinue) {$blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))} else {echo RDP not enabled} canmatrix-0.9.5/cmTemplate.xlsx000066400000000000000000000246631416730473300165510ustar00rootroot00000000000000PK! yk [Content_Types].xml (n0 USa& 9nHc%.H(6 ~i hBQ}q&d+-ٰ tJyɾfo#ːU8 %f4x,f[,YM8GYC#plܩ\h0^ȅ tRN^KC:~0Ȳ.eLxoU|K(bfZ{6%;y4A+Ȧ"лh 6DžŷsHKWUZrr 55HkmwS0 l=_>[H2'Hxvȵ>)ɸ|ľ1NP6;QiI_qt;@˖K$\dz<]f_PK!^e _rels/.rels (N0 HCn ]&*`QA$F؟?)8|h*r)j6|)WR`ϖPK!>xl/_rels/workbook.xml.rels (J0nӮ""Ej}Lm2㟾ۅef2k&WP%&w ޚ[= &$W4KH"xR㣔dNҨ9ɨAw(7ey/O ނhm| }Dg"$4FY.2#59鳔Y]bd @%s"ݚ0tB)[ȓPK!ЫT\ uxl/workbook.xmlSQo0~YH} !2@ѪuT2ɅX8vd4,^d}>ϯRІ+Ӡ?d2.1xJe2cBI ^|0?)})u  ML k@b&WdCMe K%mf0T*= m A0M+C xlVUYkA`n2n!CuwXt8R&&(ѯpJe!ut?=FEpجD6n|1yMq{ܢ=ѷYnt.!sF"E?'\XkloĶ[۫Oe/h_"!BqD|YX Io 3YQj^ ^lp4MkjfO(gih'`pūAYZVtS X:j~cPK!Dexl/sharedStrings.xml|T[0dBwl'LKp<40IRT:^gvcǠ{}#a4ہG씏3mNzz)j8(\SNVh6SK&>](Xp4S,up4Ez&   r;EUߤR QʃL½ ,g3QmF`[%*ޮ{2_M< \]#$y&N:ܬQ3 QTWRYNJg3?M(=2q@r_,.v F^_?_Ťd8WBŴbġ^sNLzvITy%Q2UPK!tG|xl/theme/theme1.xmlYOoE#F{oc'vGuرhR-qN=' G$$DA\q@@VR>MԯNvM6!ٝ޼~Aկ 4aEc `BXsf/KCj{'aA^=^=rO=:y,qP\O#ӯ_>/_>B -$zœ_=y'}-҈HtCn0d$.bb!Ю S=Ǭ ! UP|+>Eni^ gqP\̊Cxwq츶7KnfAؾGcR=JS_p' ݣiItb./*ՎmgUZ# YC33*C ̅_Oq~ Ct>G.R(:9/"w(h)(F\U!K 8"-DDo`&*5ݩl3 urx[6lbUɳ{X/ Ko+ +\(PuCbmzG; elI|K؁} ͑G$G5Hp!U 4uO dJ:(NfCyO"tH1RX1ZlZJt{fu-ԹՍh*:rL5AЯYÁ32v>bp.!GZﲏIYz`Ч3Vd߀yTdX.ޛx)tdq19Y^72pT!}Q\FoKMo|54I \s~|4i]~pYSlطJ$M6n \n F&I:tǃrw< mܬոhx]S]#܃byi5ltЇQ|=UOox8I; myረlO2nq"mMQ7PK!H8xl/worksheets/sheet1.xml]SHjC*D-^0H$MQT/ t?=Nb{[o,/"lӵ-|/яm"HAS6?Xa<-_5c‚i1Bd'SkEg,ϊI gY΂Ď9Iv$|B6&a(,̿XGYђw%A~< "#Vܾ<1!V?I+сpN9Qc؁Hg*mr휝mѸQY eV%Ŝ``Kd1ʮ`zʕZp*c؅Y2cAe$J\F{@76l`/<~U?Y& ː1p :aT:5=R"(%b- %[X~?a|euG)7Sd1dEbtB4JIFlYv|w( @h{z-P| &@ށF *U@l_·yN;wvzC?ޫX.d~0 ;on %QZH\,B^`.:RG ˈan%R J@g9ZpWHJh¨)Јt.GvYyivąNmR'61 M\Aa։6q6q6qm^'\Ա!]֩!}}0 3B:h@Hk Je.isYwuW&q5Vr*G€DDx|:_"r˽7B؎wA_#ʸ-%ea{x2~db@%zDY(DY3Dhh%{2 dTɊ?uZ`4G~[9zn H=KD̺E/vFh㉆>5ZHU&C!=xI9ޏLt'EMK{TzJ~D_'<uT3rovSޣNBՉYE\Q \7}7kL~C{4uG&:DUES'"R#R|"'B l9P'ꔣӀPu"bV'zQ W0BA1MU'-$t&C!=x:#Y"YvԣhDP# >}N@jΖ uKdK>%,ňkuA 0+jQ55P-5Q=5aB Sjx5QbSۤwy:giNҸU>i \ ;-B'7`L<]53!^c q̰c4*,$pCJ,Ǵ0g-mÂ,n,*)a lajTlk4[>/V!(y`hq S`U lD)y9<-ZCx&KiGtk,[vkNq)|wrEXCa 5؎z nO[st}x5)PPK!_ʠdocProps/core.xml (|N M|µEl&SX8B 0Ťt[4&\9?] c:H1!loia<ӂՍ1^NM ׶1`I1~8 AP|jb>_ ~DB # 8hP`Bl(KzZKw'{b,b~J.obԭWpY{k( ;7|p nƖ_31gV4N+t/"k-lตƇuĭ@Q͜ | &_ִ&/Q?7] P%\\gNN).SzG V4:<|hߺԪYf Ui96k@fz6EPhPK!JQdocProps/custom.xml (Mo0};(hva/imV7컯o}I?9Q183~nvW4Ty(!2jFp9PX6;P56vP#4XSn6v5tykd.H[oiMKxay > Ͳ SC ES 8=^}!kxl/_rels/workbook.xml.relsPK-!ЫT\ u xl/workbook.xmlPK-!DeG xl/sharedStrings.xmlPK-!tG|b xl/theme/theme1.xmlPK-!g90iN #xl/styles.xmlPK-!H8xl/worksheets/sheet1.xmlPK-!~docProps/app.xmlPK-!_ʠ{!docProps/core.xmlPK-!JQR$docProps/custom.xmlPK &canmatrix-0.9.5/docs/000077500000000000000000000000001416730473300144535ustar00rootroot00000000000000canmatrix-0.9.5/docs/api.rst000066400000000000000000000020021416730473300157500ustar00rootroot00000000000000API === canmatrix.py ____________ .. automodule:: canmatrix.canmatrix :members: .. automodule:: canmatrix.Ecu :members: .. automodule:: canmatrix.Frame :members: .. automodule:: canmatrix.Signal :members: .. automodule:: canmatrix.SignalGroup :members: .. automodule:: canmatrix.DecodedSignal :members: .. automodule:: canmatrix.unpack_bitstring :members: .. automodule:: canmatrix.pack_bitstring :members: .. automodule:: canmatrix.ArbitrationId :members: .. automodule:: canmatrix.Define :members: cancluster.py _____________ .. automodule:: canmatrix.cancluster :members: compare.py __________ .. automodule:: canmatrix.compare :members: convert.py __________ .. automodule:: canmatrix.convert :members: copy.py _______ .. automodule:: canmatrix.copy :members: j1939_decoder.py ________________ .. automodule:: canmatrix.j1939_decoder :members: utils.py ________________ .. automodule:: canmatrix.j1939_decoder :members: canmatrix-0.9.5/docs/cli.rst000066400000000000000000000274231416730473300157640ustar00rootroot00000000000000Command Line Interface ====================== 1. **canconvert**: converts CAN database formats between all supported formats. Example: "*canconvert* someArSystemdescription.arxml file.dbc" 2. **cancompare**: compares 2 CAN databases (of different or same format). Example: "*cancompare* file1.dbc file2.dbc" General _______ If you properly install canmatrix using *pip,* the setuptools create two ecxcutables for you: `canconvert` and `cancompare`. You can find these executables near to your `python(.exe)` If you aren't able to find the scripts, you can still run it as :: $ python -m canmatrix.cli.compare [args] $ python -m canmatrix.cli.convert [args] To show help message/usage call :: $ canconvert -h $ canconvert --help Another arguments are :: $ canconvert -v Output verbosity :: $ canconvert -s don't print status messages to stdout. (only errors) :: $ canconvert -f FORCE_OUTPUT enforce output format, ignoring output file extension (e.g., -f csv) Conversion of file formats __________________________ **convert dbc file to xlsx:** :: $ canconvert source.dbc target.xlsx **convert dbc file to dbf:** :: $ canconvert source.dbc target.dbf **convert arxml file to dbc:** :: $ canconvert source.arxml target.dbc Note: in case of ``.arxml`` there can be multiple can databases in. Thus the target ``target.dbc`` may in this case be called ``BUS-NAME-IN-ARXML_target.dbc``. There will be one target ``.dbc`` for each database in ``.arxml``. Note: in case of ``.arxml`` CAN Frames can be in the Container PDU format. In this case by default all PDU contained frame are converted to multiplexed frame. This can be avoided with ``--ignorePduContainer/--no-ignorePduContainer`` option and PDU contained frames will be dropped You can even convert to the same format: **convert dbc file to dbc:** :: $ canconvert source.dbc target.dbc Multiple charset support: **convert dbc file to dbc with different charset:** :: $ canconvert --dbcImportEncoding=iso-8859-1 --dbcImportCommentEncoding=cp-1252 --dbcExportEncoding=utf-8 --dbcExportCommentEncoding=utf-8 source.dbc target.dbc This converts ``source.dbc`` where units are coded in ``iso-8859-1`` and comments are coded in ``cp-1252`` in a ``target.dbc`` where everything is coded in ``utf-8``. Similar charset conversions are possible or even mandatory for following formats: dbc, dbf and sym. possible Modifications: _______________________ **delete zero sized signals:** :: $ canconvert --deleteZeroSignals source.dbc target.dbc will delete signals with 0 bit length from matrix **delete unwanted attributes from signals:** :: $ canconvert --deleteSignalAttributes GenMsgCycleTime,MyAttrib source.dbc target.dbc will delete the attributes ``GenMsgCycleTime`` and ``MyAttrib`` from all signals in ``source.dbc`` and save the result in ``target.dbc`` **delete unwanted attributes from frames:** :: $ canconvert --deleteFrameAttributes GenMsgCycleTime,MyAttrib source.dbc target.dbc will delete the attributes ``GenMsgCycleTime`` and ``MyAttrib`` from all frames in ``source.dbc`` and save the result in ``target.dbc`` **recalculate DLC:** :: $ canconvert --recalcDLC=max source.dbc target.dbc this will recalculate DLC for each frame in ``source.dbc``. In ``target.dlc`` the same DLC like in ``source.dbc`` will be stored, except the calculated DLC is bigger. Than the calculated DLC will be stored. **recalculate DLC:** :: $ canconvert --recalcDLC=force source.dbc target.dbc this will recalculate DLC for each frame in ``source.dbc``. In ``target.dlc`` the calculated DLC will be stored independently from ``source.dbc``. **delete unneeded/obsolete defines:** :: $ canconvert --deleteObsoleteDefines source.dbc target.dbc this will remove all defines which no attribute exist for in ``source.dbc`` and store the result in ``target.dlc``. **delete ECU:** :: $ canconvert --deleteECU=myEcu,myEcu2 source.dbc target.dbc this will remove ECUs ``myEcu`` and ``myEcu2`` in ``source.dbc`` and store the result in ``target.dlc``. **rename ECU:** :: $ canconvert --renameECU=myEcu:myNewEcu,myEcu2:myNewEcu2 source.dbc target.dbc this will load ``source.dbc`` and rename ECU ``myEcu`` in ``myNewEcu`` and ``myEcu2`` in ``myNewEcu2``. The result is stored in ``target.dlc``. **delete Frame:** :: $ canconvert --deleteFrame=myFrame,myFrame2 source.dbc target.dbc this will remove frames ``myFrame`` and ``myFrame2`` in ``source.dbc`` and store the result in ``target.dlc``. **rename Frame:** :: $ canconvert --renameFrame=myFrame:myNewFrame,myFrame2:myNewFrame2 source.dbc target.dbc this will load ``source.dbc`` and rename frames ``myFrame`` in ``myNewFrame`` and ``myFrame2`` in ``myNewFrame2``. The result is stored in ``target.dlc``. **delete Signal:** :: $ canconvert --deleteSignal=mySignal,mySignal2 source.dbc target.dbc this will remove signales ``mySignal`` and ``mySignal2`` in ``source.dbc`` and store the result in ``target.dlc``. **rename Signal:** :: $ canconvert --renameSignal=mySignal:myNewSignal,mySignal2:myNewSignal2 source.dbc target.dbc this will load ``source.dbc`` and rename signals ``mySignal`` in ``myNewSignal`` and ``mySignal2`` in ``myNewSignal2``. The result is stored in ``target.dlc``. :: $ canconvert --signalNameFromAttrib=CompuMethodName source.ARXML target.dbc this will load ``source.arxml`` and create ``target.dlc`` while all signals are named from CompuMethodName in ARXML. Also known values from ARXML are SysSignalName and ISignalName **canFD:** :: $ canconvert --setFrameFd=myFrame,myFrame2 source.dbc target.dbc this will set frame-type of ``myFrame`` and ``myFrame2`` in ``source.dbc`` to CANFD and store the result in ``target.dlc`` list) Syntax: --setFrameFd=myFrame1,mySecondFrame :: $ canconvert --unsetFrameFd=myFrame,myFrame2 source.dbc target.dbc this will set frame-type of ``myFrame`` and ``myFrame2`` in ``source.dbc`` to normal (not FD) and store the result in ``target.dlc`` list) Syntax: --unsetFrameFd=myFrame1,mySecondFrame Extract and Merge: __________________ **extract one ecu out of matrix** :: $ canconvert --ecus=REAR_ECU source.dbc target.dbc This generates a ``target.dbc`` with all Informations out of ``source.dbc`` which are needed for ``REAR_ECU``. All frames which are received or sent by ``REAR_ECU`` are extracted. Also all attributes of the frames and the ECU. This is some *lite* ECU-Extract. **extract multiple ecus out of matrix:** :: $ canconvert --ecus=FRONT_ECU,REAR_ECU source.dbc target.dbc **extract matrix with frames which FRONT_ECU receives and with frames REAR_ECUS transmits:** :: $ canconvert --ecus=FRONT_ECU:rx,REAR_ECU:tx source.dbc target.dbc **extract frame[s] out of matrix:** :: $ canconvert --frames=REAR_FRAME,FRONT_FRAME source.dbc target.dbc Extracts the frames ``REAR_FRAME`` and ``FRONT_FRAME`` with the needed ECUs and attributes. **merge multiple databases:** :: $ canconvert --merge=second.dbc source.dbc target.dbc Merges ``source.dbc`` and ``second.dbc`` in ``target.dbc``. **merge ECU from other database:** :: $ canconvert --merge=second.dbc:ecu=REAR_ECU source.dbc target.dbc Merges REAR_ECU out of ``second.dbc`` with ``source.dbc`` and store result in ``target.dbc``. **merge FRAME from other database:** :: $ canconvert --merge=second.dbc:frame=REAR_FRAME source.dbc target.dbc Merges REAR_FRAME out of ``second.dbc`` with ``source.dbc`` and store result in ``target.dbc``. **combinations and multiple extraction possible:** :: $ canconvert --merge=second.dbc:ecu=REAR_ECU:ecu=FRONT_ECU:frame=FRAME1:FRAME=FRAME2 source.dbc target.dbc Merges REAR_ECU and FRONT_ECU and FRAME1 and FRAME2 out of ``second.dbc`` with ``source.dbc`` and store result in ``target.dbc``. Commandline overview ____________________ * all formats support im-/export of signals and frames -h, --help show help message and exit -v Output verbosity -s don't print status messages to stdout. (only errors) -f FORCE_OUTPUT enforce output format, ignoring output file extension (e.g., -f csv) --deleteZeroSignals delete zero length signals (signals with 0 bit length) from matrix default False --recalcDLC=RECALCDLC recalculate dlc; max: use maximum of stored and calculated dlc; force: force new calculated dlc --jsonExportCanard Export Canard compatible json format --ecus=ECUS Copy only given ECUs (comma separated list) to target matrix --frames=FRAMES Copy only given Framess (comma separated list) to target matrix --merge=MERGE merge additional can databases. Syntax: --merge filename[:ecu=SOMEECU][:frame=FRAME1][:frame=FRAME2],filename2 --deleteEcu=DELETEECU delete Ecu form databases. (comma separated list) Syntax: --deleteEcu=myEcu,mySecondEcu --renameEcu=RENAMEECU rename Ecu form databases. (comma separated list) Syntax: --renameEcu=myOldEcu:myNewEcu,mySecondEcu:mySecondNewEcu --deleteFrame=DELETEFRAME delete Frame form databases. (comma separated list) Syntax: --deleteFrame=myFrame1,mySecondFrame --renameFrame=RENAMEFRAME rename Frame form databases. (comma separated list) Syntax: --renameFrame=myOldFrame:myNewFrame,mySecondFrame:mySecondNewFrame --deleteSignal=DELETESIGNAL delete Signal form databases. (comma separated list) Syntax: --deleteSignal=mySignal1,mySecondSignal --renameSignal=RENAMESIGNAL rename Signal form databases. (comma separated list) Syntax: --renameSignal=myOldSignal:myNewSignal,mySecondSignal:mySecondNewSignal --signalNameFromAttrib=ATTRIBUTENAME change signal_name to given signal attribute Syntax: --signalNameFromAttrib=SysSignalName Example --signalNameFromAttrib SysSignalName ARXML known Attributes: SysSignalName, ISignalName, CompuMethodName * dbc: --dbcImportEncoding Import charset of dbc (relevant for units), maybe utf-8 default iso-8859-1 --dbcImportCommentEncoding Import charset of Comments in dbc default iso-8859-1 --dbcExportEncoding Export charset of dbc (relevant for units), maybe utf-8 default iso-8859-1 --dbcExportCommentEncoding Export charset of comments in dbc default iso-8859-1 * dbf: --dbfImportEncoding Import charset of dbf, maybe utf-8 default iso-8859-1 --dbfExportEncoding Export charset of dbf, maybe utf-8 default iso-8859-1 * sym: --symImportEncoding Import charset of sym format, maybe utf-8 default iso-8859-1 --symExportEncoding Export charset of sym format, maybe utf-8 default iso-8859-1 * xls(x): --xlsMotorolaBitFormat Excel format for startbit of motorola coded signals. Valid values: msb, lsb, msbreverse default msbreverse. [more about starbits...](https://github.com/ebroecker/canmatrix/wiki/signal-Byteorder) * csv/xls/xlsx: --additionalSignalAttributes//--additionalFrameAttributes append additional signal/frame-colums to csv, example: is_signed,attributes["GenSigStartValue"] * arxml: --arxmlIgnoreClusterInfo Ignore any can cluster info from arxml; Import all frames in one matrix default 0 --arxmlExportVersion Ignore any can cluster info from arxml; set arxml version to either 3.2.3 or 4.1.0, default is 3.2.3 * yaml * scapy * lua * json: --jsonExportCanard Export Canard compatible json format --jsonMotorolaBitFormat canmatrix-0.9.5/docs/conf.py000066400000000000000000000034571416730473300157630ustar00rootroot00000000000000# Configuration file for the Sphinx documentation builder. # # This file only contains a selection of the most common options. For a full # list see the documentation: # http://www.sphinx-doc.org/en/master/config # -- Path setup -------------------------------------------------------------- # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. # # import os # import sys # sys.path.insert(0, os.path.abspath('.')) # -- Project information ----------------------------------------------------- project = 'canmatrix' copyright = '2019, Eduard Bröcker' author = 'Eduard Bröcker' # -- General configuration --------------------------------------------------- # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom # ones. extensions = ['sphinx.ext.autodoc' ] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] # List of patterns, relative to source directory, that match files and # directories to ignore when looking for source files. # This pattern also affects html_static_path and html_extra_path. exclude_patterns = [] # -- Options for HTML output ------------------------------------------------- # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # html_theme = 'sphinx_rtd_theme' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ['_static'] canmatrix-0.9.5/docs/contents.rst000066400000000000000000000000011416730473300170310ustar00rootroot00000000000000 canmatrix-0.9.5/docs/formats.rst000066400000000000000000000160471416730473300166700ustar00rootroot00000000000000Supported File Fomats ===================== There are several importers (read) and exporters (write) for this object. * supported file formats for import: * .dbc candb / [Vector](http://vector.com) * .dbf [Busmaster](https://rbei-etas.github.io/busmaster/) (open source!) * .kcd [kayak](http://kayak.2codeornot2code.org/) (open source!) * .arxml [autosar](http://autosar.org) system description * .yaml dump of the python object * .xls(x) excel xls-import, works with .xls-file generated by this lib * .sym [peak](http://www.peak-system.com) pcan can description * supported file formats for export: * .dbc * .dbf * .kcd * .xls(x) * .json [Canard](https://github.com/ericevenchick/CANard) (open source!) * .arxml (very basic implementation) * .yaml (dump of the python object) * .sym * .xml fibex * .py [scapy] (https://scapy.net/) scapy can message decoder * .lua [wireshark] wireshark can subdissector Export ______ +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |Format|ECUs|Mux |S/R of Signal|Cycletype|Cycletime|Baudrate |Extended|Byteorder|scaling|min/max|attributes|value tables|signal groups| +======+====+=====+=============+=========+=========+=========+========+=========+=======+=======+==========+============+=============+ |arxml | |+ | | | |+ |+ |+ | | | | | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |dbc |+ |+ |+ |+ |+ | |+ |+ |+ |+ |+ |+ |+ | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |dbf |+ |+ |+ |+ |+ | |+ |+ |+ |+ |+ |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |json | | | | | | | | |+ | | | | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |kcd |+ |+ | |+ |+ |+ | | | | | |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |sym | |+ | | | | |+ |+ |+ |+ | |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |xls(x)|+ |+ |+ |+ |+ | | |+ |+ |+ | |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |csv |+ |+ |+ |+ |+ | | |+ |+ |+ |* |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |xml |+ | |+ | | | | |+ |+ |+ | | | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ Import ______ +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |Format|ECUs|Mux |S/R of Signal|Cycletype|Cycletime|Baudrate |Extended|Byteorder|scaling|min/max|attributes|value tables|signal groups| +======+====+=====+=============+=========+=========+=========+========+=========+=======+=======+==========+============+=============+ |arxml |+ |+ |+ |+ |+ |+ |+ |+ |+ |+ | |+ |+ | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |dbc |+ |+ |+ |+ |+ | |+ |+ |+ |+ |+ |+ |+ | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |dbf |+ |+ |+ |+ |+ | |+ |+ |+ |+ |+ |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |kcd |+ |+ | |+ |+ | | | | | | |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |sym | |+ | | | | |+ |+ |+ |+ | |+ | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ |xls(x)|+ |+ |+ |+ |+ | | |+ |p |p | |p | | +------+----+-----+-------------+---------+---------+---------+--------+---------+-------+-------+----------+------------+-------------+ Scapy Export ____________ Create can frame decoder for some can definition Example: $ canconvert source.dbc target.py in scapy use like this: .. code-block:: python load_contrib("target") sock = CANSocket("can0", basecls=DBC) pkt = sock.recv() Wireshark Dissector ___________________ $ canconvert source.dbc target.py Example: $ canconvert source.sdbc target.lua in wireshark use like this: $ wireshark -X lua_script:target.lua Linux socketcan can directly traced with wireshark. In wireshark select some can frame. Right-click and select *decode as* and select *SIGNALDECODE* as subdissector *dissect_canneloni.lua* in the canmatrix example folder shows an example for decoding can frames which are packet in UDP frames by cannelone (https://github.com/mguentner/cannelloni, https://github.com/PhilippFux/cannelloni) you could use it like: .. code-block:: bash $ chdir canmatrix/examples $ canconvert some.dbc can_database.lua $ wireshark wireshark -X lua_script:dissect_cannelloni.lua note: default cannelloni is mapped to UDP port 3333, you have to change it note: *can_database* is hard coded in *dissect_cannelloni.lua*, you can customize it there canmatrix-0.9.5/docs/index.rst000066400000000000000000000014061416730473300163150ustar00rootroot00000000000000.. canmatrix documentation master file, created by sphinx-quickstart on Mon Apr 29 21:54:05 2019. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. Welcome to canmatrix's documentation! ===================================== *Canmatrix* implements a *Python Can Matrix Object* which describes the can-communication and the needed objects (Boardunits, Frames, Signals, Values, ...) *Canmatrix* also includes two **Command line tools** (*canconvert* and *cancompare*) for converting and comparing **CAN** databases. .. toctree:: :maxdepth: 2 :caption: Contents: installation cli formats api Indices and tables ================== * :ref:`genindex` * :ref:`modindex` * :ref:`search` canmatrix-0.9.5/docs/installation.rst000066400000000000000000000017561416730473300177170ustar00rootroot00000000000000Installation ============ Install *canmatrix* with either :: $ pip install canmatrix or :: $ pip install . This installs the *canmatrix* package into your python installation. In addition to the *canmatrix* package there are 2 scripts installed with this package: for additional formats [arxml, kcd, fibex, xls, xlsx] use syntax like: :: $ pip install git+https://github.com/ebroecker/canmatrix#egg=canmatrix[kcd] If you are using a \*NIX-System, these scripts should be callable from command line If you are using a Windows system, these scripts are usually installed at the location of your python installation. For example `C:\\python3.4\\Scripts` or `C:\\python2.7\\Scripts` Dependencies ____________ * Canmatrix depends on: * xlrd (http://www.python-excel.org/) * xlwt-future (https://pypi.python.org/pypi/xlwt-future) * XlsxWriter (https://github.com/jmcnamara/XlsxWriter) * PyYAML (https://pypi.python.org/pypi/pyaml) * lxml (https://pypi.python.org/pypi/lxml)canmatrix-0.9.5/examples/000077500000000000000000000000001416730473300153415ustar00rootroot00000000000000canmatrix-0.9.5/examples/BusmasterRestbus.py000077500000000000000000000155451416730473300212450ustar00rootroot00000000000000#!/usr/bin/env python2 # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import division import math from struct import * import zipfile import sys sys.path.append('..') import canmatrix.formats import os import glob import string def genString(string): retStr = "%c" % len(string) retStr += string return retStr def genZeros(count): retStr = "" for i in range(count): retStr += "\x00" return retStr def genSimulatonFile(nodes): # header retStr = "ff\xA6\x3F" retStr += genString("RBEI_FRAME") retStr += genString("CAN") retStr += genString("1.8.0") # count of nodes: retStr += "%c" % len(nodes) retStr += genZeros(4) # each node for (nodename, source) in list(nodes.items()): retStr += genString(source).encode('ascii') retStr += genString(nodename).encode('ascii') retStr += genZeros(10) # checksum temp = 0 for c in retStr: ibyte = unpack('B', c) temp = (temp ^ ibyte[0]) retStr = retStr[:-1] + "%c" % temp return retStr def createNode(structNames, timedPrototypes, timedCallbacks): nodetemplate = """ /* This file is generated by BUSMASTER */ /* VERSION [1.1] */ /* BUSMASTER VERSION [1.8.0] */ /* PROTOCOL [CAN] */ /* Start BUSMASTER include header */ #include #include /* End BUSMASTER include header */ /* Start BUSMASTER global variable */ """ nodetemplate2 = """ /* End BUSMASTER global variable */ /* Start BUSMASTER Function Prototype */ """ return nodetemplate + structNames + nodetemplate2 + timedPrototypes + \ "/* End BUSMASTER Function Prototype */\n" + timedCallbacks def genCallbacks(cycle, bId, db): botsch = db.frames.byId(bId).name callbacks = "/* Start BUSMASTER generated function - OnTimer_" + \ botsch + "_" + str(cycle) + " */\n" callbacks += "void OnTimer_" + botsch + "_" + str(cycle) + "( )\n" callbacks += "{\n" canData = db.frames.byId(bId).attributes["GenMsgStartValue"][1:-2] dlc = math.floor(len(canData) / 2) callbacks += " SendMsg(" + botsch + ");\n" callbacks += "\n} " callbacks += "/* End BUSMASTER generated function - OnTimer_" + \ botsch + "_" + str(cycle) + " */\n\n" prototype = "GCC_EXTERN void GCC_EXPORT OnTimer_" + \ botsch + "_" + str(cycle) + "( );\n" structNames = "STCAN_MSG " + botsch + \ " = { " + hex(bId) + ", 0, 0, " + \ str(math.floor(len(canData) / 2)) + ", 1," for i in range(dlc): structNames += " 0x" + canData[i * 2:i * 2 + 2] if i < dlc - 1: structNames += ", " exports = "OnTimer_" + botsch + "_" + str(cycle) + "\n" structNames += "};\n" return structNames, prototype, callbacks, exports exportTemplate = """EXPORTS vSetEnableLoggingProcAddress vSetDisableLoggingProcAddress vSetWriteToLogFileProcAddress vSetConnectProcAddress vSetDisconnectProcAddress vSetGoOnlineProcAddress vSetGoOfflineProcAddress vSetStartTimerProcAddress vSetStopTimerProcAddress vSetSetTimerValProcAddress vSetEnableMsgHandlersProcAddress vSetEnableErrorHandlersProcAddress vSetEnableKeyHandlersProcAddress vSetEnableDisableMsgTxProcAddress vSetSendMsgProcAddress vSetGetDllHandleProcAddress vSetTraceProcAddress vSetResetControllerProcAddress bGetProgramVersion vSetKeyPressed vSetGetMessageName vSetTimeNow vSetGetFirstCANdbName """ def ticker_ecus(db, dbcname): nodeList = {} zf = zipfile.ZipFile(dbcname + '_Simulation.zip', mode='w', compression=zipfile.ZIP_DEFLATED, ) MyBuList = [] for bu in db.ecus: if bu.name not in MyBuList: MyBuList.append(bu.name) # no duplicate Nodes else: continue bu._cycles = {} for frame in db.frames: if bu.name in frame.transmitters: if frame.effective_cycle_time != 0 and "GenMsgStartValue" in frame.attributes: data = frame.attributes["GenMsgStartValue"][1:-2] dlc = (math.floor(len(data) / 2)) cycleTime = frame.effective_cycle_time if float(cycleTime) > 0: if cycleTime in bu._cycles: bu._cycles[cycleTime].append(frame.arbitration_id.id) else: bu._cycles[cycleTime] = [frame.arbitration_id.id] nodeList[bu.name] = bu.name + ".cpp" timedPrototypes = "" timedCallbacks = "" structNames = "" exports = "" for cycle in bu._cycles: for frame in bu._cycles[cycle]: (tempstructNames, tempPrototypes, tempCallbacks, tempExports) = genCallbacks(cycle, frame, db) structNames += tempstructNames timedPrototypes += tempPrototypes timedCallbacks += tempCallbacks exports += tempExports nodeString = createNode(structNames, timedPrototypes, timedCallbacks) zf.writestr(bu.name + ".cpp", nodeString) zf.writestr(bu.name + ".def", exportTemplate + exports) zf.writestr(dbcname + '.sim', genSimulatonFile(nodeList)) zf.close() def main(): if len(sys.argv) < 3: sys.stderr.write('Usage: sys.argv[0] import-file export-file\n') sys.stderr.write('import-file: *.dbc|*.dbf|*.kcd\n') sys.stderr.write('export-file: somefile.zip\n') sys.exit(1) infile = sys.argv[1] outfile = os.path.splitext(sys.argv[2])[0] db = next(iter(canmatrix.formats.loadp(infile).values())) ticker_ecus(db, outfile) main() canmatrix-0.9.5/examples/cmTemplate.xlsx000066400000000000000000000344051416730473300203620ustar00rootroot00000000000000PK!!oIa[Content_Types].xml (UKO0 #\њ!# ? $y(q !6K_;k$Wi%>ޟ7@Rި&x P܍FXpJDVJ58eyeSįi*35y5^K<bנtmbQ剅2pOW@0ƑV ˟Ak~cw0&Ay8>^\;[~{Gk y*'_l !y۠=3 zk2oPK!^e _rels/.rels (MK1!̽;*"l/EMd1`7FAtzwyfx{vE fӻVKrFH"l3*>⢄.%uGVł=\i8XrZJ%\P4H;s>67Mizoɥ#+DΐYB5V$~"c'ZkRRF%8EsܙF|02Xn/ɢ1=cW7޲PK!JaGxl/_rels/workbook.xml.rels (j0 ѽqP:{)0Mlc?y6У$41f9#u)(ڛε ^OW 3H./6kNOd@"8R`ÃT[4e>KAsc+EY5iQw~ om4]~ ɉ -i^Yy\YD>qW$KS3b2k T>:3[/%s* }+4?rV PK! رKxl/workbook.xmlTMo@W+K=a #jEI\,EkU]XU{g!N}I fޛ7L;?@i&EL8 R1ɷە;!6TdK19&糷o{7R>: tLrctCAu_ d+UA .ӥ +(Ek0vRXȴ*@D9+uV+zJ7Eƙ94)r'k!`ZnM6leZZ_iapp2c{xbO(o\+d7X/A؛Hj (A $RIիNrq{)l)~iэ&w*cDk.S%N@(VEAԦij{ȼͮlj|`iN}D&18=L {r{n=c24"5̀ >_-l<+QÉ|.yUl^dy)b0 <kH,M؀?']oM/zG(`Y`١Jw\7.ݑe M3mXL~~0˱{1rBEryK8U6 m~Khb61^kuLu |(5$ԥuoPK! xl/styles.xmlX_o6 ݑd٪eX.j% tdC_iRAѩa}we1)Pwyd j݄GE)+&6C1^f-Z}~KBz7҆7rGpja6AST- 5<a4 ̛5 Q_Q)l8rq#"k ){nq߰RVY׬VArQK[{3?h0"WQ xjhy%墔\*Om֙_a YrZ1$֤ahNxKT q6xH crBm*ePUAޢ(k; چ\@5Uwz8  X/~Qh%gwwE" #/&c:r-UW4riWܡ5rQ1p,^- M z #k5I \Rs}6+P{bXe>$X+8}z5Fj7z2*F=#6Fɬ>p 5,T|M_*)]ӰvGj0 .ٌZuEtJ~!_=}E=')`֥"^Wy"k~[5àsx8J2ժ83VKwթqvv}hM\?yVl@O_ 2 w(9'PDESXtngɧXzA)Tr CKv9ؿ y.fV,t .t;'fJeRx잦i']ms<.$ h.P¥5X\]]c}92v眧4u) ٳs){D8Ǧz\4uqmzxIRכK8Mql ntsz͕]kv6[. Ac8Ɵ< K &8|j^n.+ƣY&1v4" a h2o9\Oi80;oCq~Fᨈh4Il4K騘FdӁӷA=?kPDOC**`A߇PK!`P#xl/worksheets/_rels/sheet1.xml.relsMN0H=v\BN7RP`Ib5m =(Rr}3rǔm $7S}yG̰8BrocfⳂ(D6=:yIiCrP:ŢE:z6inmmk ywDػa G:uXp.^>% s2çK4rN/^RQi⬖KwsB_xLە} PK!`]B xl/worksheets/sheet2.xmlKo0 vZG^MfXaEtYXey<.H"W `Esx 598R*[!go) wVom%ZEoD%:3f1JhJV>ܜ;'liP6`mFU i?{ {Eqf2w +yU\j~o칓sgt*mfD(bIԁ?77 ;5F8#  2n! 1ǚ55׌~Ě4!{mjx;;k#|..X#\ߌ5vЌtv،5wV:t jpq{ kZvL TBpҴKHKm0TJT9{Iwʤҏ &+;RK4FJfpa F0Uyk$wabUnГ> d9hЖ4LSd5-ns즳PK!nXxl/theme/theme1.xmlYϋ7? swkfl/{lg&!䨵eɻ1!PcP^ P%kMiSȿ'#nn -Y27ߓ4/ݍsSNXv*dvop1,mw{i.-;?[FB̶e>f/Nل1pNݘkJPI\'A16vҤ4ާp.F4ݗCaLJU 9B8cvd&` /}'<Ó?f;(_|ٟ_㹎O~s;&[x{W# >$1U|`1Mydc!b@ض^] ju[) xy~sA,#_b+r,y2u lc(1B۟@Ydau8‘!Ɩ&pn%Cr`$Ri -˨m=|d"@B~h.Pl39D1Dd#HG:Dz)sc̹ϵ ={tTC]Ę0Bʙ$B":63yq@p"BptUT$|2O->.a2 $9SONԳtZ;)Z;|?(=4Ocxg ;~^7څPuv7.'}x;4@Vj+72(iT'e#"`_U)MO3cVYm)j08۱VrwGhvm 4]ʼNnyI@'$Lu Ʋw$΅E¢)/C@mX?9j Qr_{PK!i'Uxl/worksheets/sheet1.xmlXRJ}?URy@P.Q@z0@$ ~k`bNbxNa~ǴJӠV/_Wq⯈|1?idO{·hK)7u-A\-HTbAfG8nQRF[V*e8{h`cwy$.u(:*${5'b/֤z.?ϱC5/+ǩlJ}N v/p@qKu,4<5,$KNê;%ɻ??Om uǼZfۖ'}78Y.KmNW@ ,xk~K]cށ1oaN@hUe?KބXV p@|j|.5j;c.$C9!LUf$JMlƐM, nEE)LV}f _p /}Iih,IDo[Qi\~6KVrQm9?Pg-)q#}.d_䑷V=0м8lB1!8FҪ4kEп$ulvp=U\~κ,UVCv E(@xÈ8vp=4(\`PGV8ꏚb]$ps,n]cqĬ&D’XǖXpE|J{QDO*"c9沜ހgEVxX*0T  ax-,Jnjqޭ0qGX*6^QS♈򨫈~Pyąx#.U R<"F>j 򹬞:xA}}@PcLAk s9f(QG_*xnGet@`&rR-a1w꿊NFAt@pkFo*1wXW:t;1p,y*Q#MDӐ5!J<&86ŭilyH  iZ5ԢgEROFhFam'y @0}6/Yo>/5,5Ҕz2dx~UM U4IR@DZ WX S7'X`&=kmZ,g1k:|j9XÂX#M!cMV1@RБ4I Y Y(1k녬k5gmMY=fmVYO-ZkXk)4d 6V& `f3}"(JF!ka߳-H nwXǂ{,x `X0Ƃ Q(C <'j*{205*}e7tC(a Ii P6'& %ΟoZpkLS# .XpSd+D#/[ _63V$A/2f3`b~nJ$.HKÔFzX"b9p*Ÿkl~ Xs,cPK!,xl/drawings/drawing1.xmlSMo0 t_K.Yvk˱P}f;~d7i]A>=RfXUAW)%LUX_?֔X+YzS~kvo(cZֹ.O[LSXm05Ǥ60 IvAm[>V&+Zgn;&ĭZm"-cTiQO?Y=̰g2N6]g+VtZle{<َH.(%Npq4aHu?k<4[Q@ :N%-kMqq=zBn;]=[#rdׂ:[>[M\})$,:$Ow]tnxQO )If-K;;c7%AA Y[0>p4ǧ0QCx>6nIVw($weA/M%~Uu1F}=ݽӁ Δۃ/o#`_.PK!b;xl/comments1.xmlTPj0J)s =~D=v&=3J?/_RN BF;)`Om ۰{C.ԑX-S< p5w<,&&iyH="N/Q{A%ķBץ:BMsT8hRRo/أ*O ҶTA& m'x1vLLW8ORӊ1!KWoR :JNj h .:MIən\PK!r'8'xl/printerSettings/printerSettings1.bin `papc0b0a 00aa~0ۄ#A HCHG*F fb]m@g#2=GXN@@2KBB!AI)E11FM"!+mr~P"7 $/A3_PK!JOdocProps/custom.xml (Mo0};(hva/imV7컯o}I?9Q183~nvW4Ty(!2jFp9PX6;P56vP#4XSn6v%tykd.H[oiM)j|fAe \ÉK?]pd{ǵB}(y2Jko4@C"x]`/نbp6J:nƍz6NU@}J \izyz3<ɭȰw=!}9w@'Ī3%PK!YdocProps/core.xml (N M|µ1&S.1Fq`%>/IVh4sΟ+?~SzdR@ZH=r 0riZ/b{+&㵅+[^C]?yo2B\/(t>V1L;%6DgyF`b:"^"ff@ w(z F֔J 5-]g ;p>Fȟu,5\g^ |_!-0_bd?? t&f FqEd030G bSߌ«l֣d ǎ@GYUrZq$=L^I,MZZ&7(I =*)Y`1TLOga YlamqPK!q"docProps/app.xml (S]k0}?x~S"J@ܾ:%#݄dgdlMAvtt:٢ʚ<4A#m*O4m }z%>~sgt'<]5SƼ\c ~&t*jU$Z;ϲ/ wri8{AK+#?T@XF@FrJIăz[Qm'Qs6l)Ga4 Q١sP %Yx;h|&KCa8%mON\%*K:Tia.y;vX7hogrH:8֣P<CyZ~8 vɐb/ zfƟ;Q>S:({c`_>]41<Ǧ|eM;Afk0+,_f^7c?,&E8qvPK-!!oIa[Content_Types].xmlPK-!^e _rels/.relsPK-!JaGxl/_rels/workbook.xml.relsPK-! رKL xl/workbook.xmlPK-! * xl/styles.xmlPK-!`P#xl/worksheets/_rels/sheet1.xml.relsPK-!`]B xl/worksheets/sheet2.xmlPK-!nXxl/theme/theme1.xmlPK-!i'Uxl/worksheets/sheet1.xmlPK-!ek2"xl/sharedStrings.xmlPK-!K:&*%xl/drawings/vmlDrawing1.vmlPK-!,'xl/drawings/drawing1.xmlPK-!b;)xl/comments1.xmlPK-!r'8')+xl/printerSettings/printerSettings1.binPK-!JO,docProps/custom.xmlPK-!Y.docProps/core.xmlPK-!q"d1docProps/app.xmlPKzu4canmatrix-0.9.5/examples/compare.py000077500000000000000000000001721416730473300173440ustar00rootroot00000000000000#!/usr/bin/env python3 import sys sys.path.append('..') import canmatrix.cli.compare canmatrix.cli.compare.cli_compare() canmatrix-0.9.5/examples/convert.py000077500000000000000000000001721416730473300173760ustar00rootroot00000000000000#!/usr/bin/env python3 import sys sys.path.append('..') import canmatrix.cli.convert canmatrix.cli.convert.cli_convert() canmatrix-0.9.5/examples/createCMacros.py000077500000000000000000000151401416730473300204320ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2016, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. import sys sys.path.append('..') import canmatrix.formats def createStoreMacro(signal, prefix="", frame="frame"): startBit = signal.get_startbit(bit_numbering=1, start_little=1) byteOrder = signal.is_little_endian length = signal.size startByte = int(startBit / 8) startBitInByte = startBit % 8 currentTargetLength = (8 - startBitInByte) mask = ((0xffffffffffffffff) >> (64 - length)) code = "#define storeSignal%s%s(value) do{" % (prefix, signal.name) if signal.is_signed: code += "value|=((value&0x8000000000000000)>>(64-length));" code += "value&=0x%X;" % (mask) code += "%s[%d]|=value<<%d;" % (frame, startByte, startBitInByte) if byteOrder: endByte = int((startBit + length) / 8) for count in range(startByte + 1, endByte): code += "%s[%d]|=value<<%d;" % (frame, count, currentTargetLength) currentTargetLength += 8 else: # motorola / big-endian endByte = int((startByte * 8 + 8 - startBitInByte - length) / 8) for count in range(startByte - 1, endByte - 1, -1): code += "%s[%d]|=value<<%d;" % (frame, count, currentTargetLength) currentTargetLength += 8 code += "}while(0);\n" return code def createDecodeMacro( signal, prefix="", macrosource="source", source="source"): startBit = signal.get_startbit(bit_numbering=1, start_little=1) byteOrder = signal.is_little_endian length = signal.signalsize mask = ((0xffffffffffffffff) >> (64 - length)) startByte = int(startBit / 8) startBitInByte = startBit % 8 code = "#define get_signal%s%s(%s) ((((%s[%d])>>%d" % ( prefix, signal.name, macrosource, source, startByte, startBitInByte) currentTargetLength = (8 - startBitInByte) if byteOrder: endByte = int((startBit + length) / 8) if (startBit + length) % 8 == 0: endByte -= 1 for count in range(startByte + 1, endByte + 1): code += "|(%s[%d])<<%d" % (source, count, currentTargetLength) currentTargetLength += 8 else: # motorola / big-endian endByte = int((startByte * 8 + 8 - startBitInByte - length) / 8) for count in range(startByte - 1, endByte - 1, -1): code += "|%s[%d]<<%d" % (source, count, currentTargetLength) currentTargetLength += 8 code += ")&0x%X)" % (mask) if signal.is_signed: msb_sign_mask = 1 << (length - 1) code += "^0x%x)-0x%x " % (msb_sign_mask, msb_sign_mask) else: code += ")" code += "\n" return code def createDecodeMacrosForFrame( Frame, prefix="", macrosource="source", source="source"): code = "" for signal in Frame.signals: code += createDecodeMacro(signal, prefix, macrosource, source) return code def createStoreMacrosForFrame(Frame, prefix="", framename="frame"): code = "" for signal in Frame.signals: code += createStoreMacro(signal, prefix, frame=framename) return code def main(): from optparse import OptionParser usage = """ %prog [options] canDatabaseFile targetFile.c import-file: *.dbc|*.dbf|*.kcd|*.arxml|*.xls(x)|*.sym """ parser = OptionParser(usage=usage) parser.add_option("", "--frame", dest="exportframe", default=None, help="create macros for Frame(s); Comma seperated list of Names ") parser.add_option("", "--ecu", dest="exportecu", default=None, help="create macros for Ecu(s) Comma seperated ") (cmdlineOptions, args) = parser.parse_args() if len(args) < 2: parser.print_help() sys.exit(1) infile = args[0] outfile = args[1] dbs = canmatrix.formats.loadp(infile) db = next(iter(dbs.values())) sourceCode = "" if cmdlineOptions.exportframe is None and cmdlineOptions.exportecu is None: for frame in db.frames: sourceCode += createDecodeMacrosForFrame( frame, "_" + frame.name + "_") sourceCode += createStoreMacrosForFrame( frame, "_" + frame.name + "_") if cmdlineOptions.exportframe is not None: for frameId in cmdlineOptions.exportframe.split(','): try: frame = db.frame_by_id(canmatrix.ArbitrationId(frameId)) except ValueError: frame = db.frame_by_name(frameId) if frame is not None: sourceCode += createDecodeMacrosForFrame( frame, "_" + frame.name + "_") sourceCode += createStoreMacrosForFrame( frame, "_" + frame.name + "_") if cmdlineOptions.exportecu is not None: ecuList = cmdlineOptions.exportecu.split(',') for frame in db.frames: for ecu in ecuList: if ecu in frame.transmitters: sourceCode += createStoreMacrosForFrame( frame, "_" + frame.name + "_") for signal in frame.signals: if ecu in signal.receiver: sourceCode += createDecodeMacro(signal, "_" + frame.name + "_") cfile = open(outfile, "w") cfile.write(sourceCode) cfile.close() if __name__ == '__main__': sys.exit(main()) canmatrix-0.9.5/examples/createJ1939Dbc.py000066400000000000000000000026001416730473300202250ustar00rootroot00000000000000#!/usr/bin/env python3 import canmatrix.formats cm = canmatrix.CanMatrix() # # create frame Node604 # frame1 = canmatrix.Frame("Node604", j1939_pgn = 0xff00, j1939_prio = 0x6, j1939_source = 0x80, comment = "J1939 packet containing >8 byte payload") for i in range(1,9): sig = canmatrix.Signal("ch%d" % i, size = 32, is_float = True, is_little_endian = False, startBit = (i-1)*32) frame1.add_signal(sig) cm.add_frame(frame1) # # create frame Node605 # frame2 = canmatrix.Frame("Node605", j1939_pgn = 0xff01, j1939_prio = 0x6, j1939_source = 0x80, comment="J1939 packet containing 8 byte payload") sig = canmatrix.Signal("ch1", size=32, is_float=True, is_little_endian=False, startBit=0) sig2 = canmatrix.Signal("ch2", size=32, is_float=True, is_little_endian=False, startBit=32) frame2.add_signal(sig) frame2.add_signal(sig2) cm.add_frame(frame2) # # create frame Node606 # frame3 = canmatrix.Frame("Node606", j1939_pgn = 0xff02, j1939_prio = 0x6, j1939_source = 0x80, comment="J1939 packet containing <8 byte payload") sig = canmatrix.Signal("ch1", size=32, is_float=True, is_little_endian=False, startBit=0) frame3.add_signal(sig) cm.add_frame(frame3) cm.recalc_dlc("force") # save dbc canmatrix.formats.dumpp({"":cm}, "example_j1939.dbc") canmatrix-0.9.5/examples/createccl.py000077500000000000000000000120621416730473300176440ustar00rootroot00000000000000#!/usr/bin/env python # Copyright (c) 2016, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. import sys sys.path.append('..') import canmatrix.formats from createCMacros import * typedef = """ typedef struct Mailbox { uint8_t data[8]; } Mailbox_t; """ processFrame = """ void processFrame(uint32_t canId, uint8_t *framedata, uint8_t dlc) { Mailbox_t *mailbox; mailbox = getRxCanMailBox(canId); if (mailbox != NULL) { memcpy(mailbox->data, framedata, (dlc>8)?8:dlc); } } """ receiveIdArray = "uint32_t receiveFrameIds[COUNTRXMAILBOXES] = {%s};" rxMailboxStruct = "Mailbox_t RxCanMailboxes[COUNTRXMAILBOXES];" txMailboxStruct = "Mailbox_t TxCanMailboxes[COUNTTXMAILBOXES];" getRxCanMailBox = """ struct Mailbox *getRxCanMailBox(uint32_t canId) { uint32_t i; for(i = 0; i< COUNTRXMAILBOXES; i++) { if(canId == receiveFrameIds[i]) return &(RxCanMailboxes[i]); } return 0; } """ def main(): if len(sys.argv) <= 2: print "not yet working script for generating a communication layer for dedicated ECU out of can database" print "! missing support for sending cyclic messages" print "! missing any TEST ! " print " this code is just proofe of concept \n" print "Usage: createccl.py CanDatabaseFile ECU_Name " exit() ccl_h = "#ifndef __CCL_H__\n#define __CCL_H__\n\n" ccl_h += "typedef unsigned char uint8;\ntypedef unsigned int uint32;\n\n" ccl_c = "#include \n#include \n#include \"ccl.h\"\n\n" infile = sys.argv[1] ecu = sys.argv[2] dbs = canmatrix.formats.loadp(infile) db = next(iter(dbs.values())) receiveArray = [] receiveDict = {} receiveIndex = 0 sendIndex = 0 txDict = {} for frame in db.frames: if ecu in frame.receivers: receiveArray.append(frame.arbitration_id.id) receiveDict[frame] = receiveIndex receiveIndex += 1 if ecu in frame.transmitters: txDict[frame] = sendIndex sendIndex += 1 # print frame.name # if frame.effective_cycletime != 0: # print frame.name, # print frame.effective_cycletime # ccl_h += createStoreMacrosForFrame(frame, "_" + frame.name + "_") tempStr = "" for canid in receiveArray: tempStr += hex(canid) + ", " ccl_c += rxMailboxStruct + "\n" ccl_c += txMailboxStruct + "\n" ccl_c += receiveIdArray % (tempStr) + "\n" ccl_c += getRxCanMailBox + "\n" ccl_c += processFrame + "\n" ccl_h += "#define COUNTRXMAILBOXES %d" % (receiveArray.__len__()) + "\n" ccl_h += "#define COUNTTXMAILBOXES %d" % (txDict.__len__()) + "\n" ccl_h += typedef + "\n" ccl_h += "extern " + rxMailboxStruct + "\n" ccl_h += "extern " + txMailboxStruct + "\n" for frame in receiveDict: for signal in frame.signals: if ecu in signal.receivers: ccl_h += createDecodeMacro(signal, "_" + frame.name + "__", "", "RxCanMailboxes[%d].data" % (receiveDict[frame])) # for complete frame: # ccl_h += createDecodeMacrosForFrame(frame, "_" + frame.name + "__", "", "RxCanMailboxes[%d].data" % (receiveDict[frame])) for frame in txDict: ccl_h += createStoreMacrosForFrame(frame, "_" + frame.name + "_", framename="TxCanMailboxes[%d].data" % txDict[frame]) ccl_h += "\n\n#endif /* __CCL_H___ */" cfile = open("ccl.c", "w") cfile.write(ccl_c) cfile.close() hfile = open("ccl.h", "w") hfile.write(ccl_h) hfile.close() if __name__ == '__main__': sys.exit(main()) canmatrix-0.9.5/examples/decodeFrame.py000066400000000000000000000021431416730473300201110ustar00rootroot00000000000000#!/usr/bin/env python3 import canmatrix.formats import sys # command line options... usage = """ %prog [options] matrix frame matrixX can be any of *.dbc|*.dbf|*.kcd|*.arxml frame is AAA#YYYYYYYYYYYYYYYY or BBBBB#YYYYYYYYYYYYYYYY or where AAA is standard ID and BBBBB is extended ID """ if len(sys.argv) < 3: print(usage) sys.exit(1) # load matrix db = canmatrix.formats.loadp_flat(sys.argv[1]) # load frame data from argv frame_string = sys.argv[2] (arbitration_id_string, hexdata) = frame_string.split('#') # set arbitration_id if len(arbitration_id_string) <= 3: arbitration_id = canmatrix.ArbitrationId(int(arbitration_id_string, 16), extended = False) else: # extended frame arbitration_id = canmatrix.ArbitrationId(int(arbitration_id_string, 16), extended = True) # find frame to given arbitration_id frame = db.frame_by_id(arbitration_id) can_data = bytearray.fromhex(hexdata) # decode frame decoded = frame.decode(can_data) #print decoded signals for (signal, value) in decoded.items(): print (signal + "\t" + hex(value.raw_value) + "\t(" + str(value.phys_value)+ ")") canmatrix-0.9.5/examples/dissect_cannelloni.lua000066400000000000000000000052651416730473300217140ustar00rootroot00000000000000--- dissects cannelloni packages --- https://github.com/mguentner/cannelloni --- https://github.com/PhilippFux/cannelloni --- --- canneloni frame cannelloni_protocol = Proto("Cannelloni", "Can over UPD Cannelloni") cannelloni_version = ProtoField.int8("canneloni.version", "version", base.DEC) cannelloni_opcode = ProtoField.int8("canneloni.opcode", "opcode", base.DEC) cannelloni_seq_no = ProtoField.int8("canneloni.seq_no", "seq_no", base.DEC) cannelloni_count = ProtoField.int16("canneloni.count", "count", base.DEC) cannelloni_protocol.fields = {cannelloni_version, cannelloni_opcode, cannelloni_seq_no, cannelloni_count} --- Can Frame can_frame = Proto("MyFrame", "My Can Frame") can_frame_id = ProtoField.uint32("can.frame.arbitration_id", "can_id", base.HEX) can_frame_is_extended = ProtoField.string("can.frame.is_extended", "is_extended") can_frame_dlc = ProtoField.uint8("can.frame.dlc", "dlc", base.DEC) can_frame_pdu = ProtoField.uint64("can.frame.pdu", "pdu", base.HEX) can_frame.fields = {can_frame_id, can_frame_is_extended, can_frame_dlc, can_frame_pdu} --- select your database - generated with canmatrix here [canconvert some.dbc can_database.lua] require "can_database" debug_example_protocol = false cannelloni_header_offset = 5 function cannelloni_protocol.dissector(buffer, pinfo, tree) length = buffer:len() if length == 0 then return end pinfo.cols.protocol = cannelloni_protocol.name local subtree = tree:add(cannelloni_protocol, buffer(), "Cannelloni Protocol Data") subtree:add(cannelloni_version, buffer(0,1)) subtree:add(cannelloni_opcode, buffer(1,1)) subtree:add(cannelloni_seq_no, buffer(2,1)) subtree:add(cannelloni_count, buffer(3,2)) local count = buffer(3,2):uint() buffer_offset = cannelloni_header_offset --- each frame: for i=1,count do local framesubtree = subtree:add(can_frame, buffer(), "Can Frame" .. tostring(i)) can_id = buffer(buffer_offset,4) framesubtree:add(can_frame_id, can_id:bitfield(1,31)) if can_id:bitfield(0,1) == 1 then framesubtree:add(can_frame_is_extended, "True") else framesubtree:add(can_frame_is_extended, "False") end framesubtree:add(can_frame_dlc, buffer(buffer_offset+4,1)) local dlc = buffer(buffer_offset+4,1):uint() pdu = buffer(buffer_offset+5,dlc) framesubtree:add(can_frame_pdu, pdu) add_frame_info(can_id:uint(), pdu, dlc, framesubtree) buffer_offset = buffer_offset + 4 + 1 + dlc end end example_add_tree_info = true local udp_port = DissectorTable.get("udp.port") udp_port:add(3333, cannelloni_protocol)canmatrix-0.9.5/examples/encodeFrame.py000066400000000000000000000037561416730473300201360ustar00rootroot00000000000000#!/usr/bin/env python3 import canmatrix.formats import sys import optparse # command line options... usage = """ %prog [options] matrix matrixX can be any of *.dbc|*.dbf|*.kcd|*.arxml """ parser = optparse.OptionParser(usage=usage) parser.add_option( "-f", "--frames", dest="frames", help="encode list of frames", default="*") (cmdlineOptions, args) = parser.parse_args() if len(args) < 1: parser.print_help() sys.exit(1) # load matrix db = canmatrix.formats.loadp_flat(args[0]) #get all frames which match the commandline frames = db.glob_frames(cmdlineOptions.frames) #helper to read physical value from user def read_signal_value_from_user(signal): a = input("Enter Value for " + signal.name + " ") if signal.is_float: return float(a) else: return int(a) # go through all frames for frame in frames: print (frame.name) if frame.is_complex_multiplexed: # ignore complex multiplexed signals continue if frame.is_multiplexed: # if multiplexed frame search for multiplexer multiplexer_signal = frame.get_multiplexer # read multiplexer value a = input("Enter Value for Multiplexer " + multiplexer_signal.name + " ") signalDict = dict() signalDict[multiplexer_signal.name] = int(a) # read signals for the given multiplexer value for signal in frame.get_signals_for_multiplexer_value(int(a)): signalDict[signal.name] = read_signal_value_from_user(signal) else: # not multiplexed frame signalDict = dict() # go through all signals for signal in frame.signals: signalDict[signal.name] = read_signal_value_from_user(signal) frame_data = frame.encode(signalDict) if frame.arbitration_id.extended: print("{:05X}#".format(frame.arbitration_id.id) + "".join(["%02X" % i for i in frame_data])) else: print("{:03X}#".format(frame.arbitration_id.id) + "".join(["%02X" % i for i in frame_data])) canmatrix-0.9.5/examples/exampleJoin.py000066400000000000000000000005451416730473300201720ustar00rootroot00000000000000#!/usr/bin/env python3 import canmatrix.formats from canmatrix.join import join_frame_by_signal_start_bit files = ["../test/db_B.dbc", "../test/db_A.dbc"] target = join_frame_by_signal_start_bit(files) # # export the new (target)-Matrix for example as .dbc: # canmatrix.formats.dumpp(target, "target.dbc") canmatrix.formats.dumpp(target, "target.xlsx") canmatrix-0.9.5/examples/exampleMerge.py000077500000000000000000000022151416730473300203310ustar00rootroot00000000000000#!/usr/bin/env python3 import sys sys.path.append('..') # importany loads all import filter import canmatrix import canmatrix.copy import canmatrix.formats # fuer Fileio: import sys # # read source Can-Matrixes # # import of one CAN-Matrix (*.dbc, *.dbf, *.kcd, *.arxml) db1 = canmatrix.formats.loadp_flat("first.dbc") # import of a second CAN-Matrix (*.dbc, *.dbf, *.kcd, *.arxml) db2 = canmatrix.formats.loadp_flat("second.dbc") # # create target Matrix # db3 = canmatrix.CanMatrix() # # Here a new Can-Matrix can be 'programmed': # ----------------------------------------------------- # # Copy Can-ID 1234 from second CAN-Matrix to target-Matrix canmatrix.copy.copy_frame(canmatrix.ArbitrationId(100), db2, db3) # Copy frame "Engine_123" from first CAN-Matrix to target-Matrix canmatrix.copy.copy_frame(canmatrix.ArbitrationId(200), db1, db3) # Copy ECU (with all Frames) "Gateway" from first CAN-Matrix to target-Matrix canmatrix.copy.copy_ecu_with_frames("Gateway", db1, db3) # # ----------------------------------------------------- # # # # export the new (target)-Matrix for example as .dbc: # canmatrix.formats.dumpp({"":db3}, "target.dbc") canmatrix-0.9.5/examples/fr_dump.py000066400000000000000000000011511416730473300173450ustar00rootroot00000000000000#!/usr/bin/env python3 import canmatrix.formats import sys cluster = canmatrix.formats.loadp(sys.argv[1], decode_flexray = True) for cm in cluster: for frame in cluster[cm]: frame_info = "{}-{}-{}".format(frame.slot_id, frame.base_cycle, frame.repitition_cycle) for pdu in frame.pdus: for signal in pdu.signals: sig_group = pdu.get_signal_group_for_signal(signal) sig_group = "None" if sig_group is None else sig_group.name print("{}: {}, {}, {}, {}, {}".format(frame_info, frame.size, pdu.pdu_type, pdu.name, sig_group, signal.name)) canmatrix-0.9.5/get_version.py000066400000000000000000000001271416730473300164210ustar00rootroot00000000000000import sys import versioneer sys.stdout.write(versioneer.get_versions()["version"]) canmatrix-0.9.5/mypy.ini000066400000000000000000000016261416730473300152270ustar00rootroot00000000000000# usage: # pythom -m pip intall mypy # python -m mypy ./src/canmatrix --config-file ./mypy.ini # # or configure "external tool" in pycharm: # program: $ModuleSdkPath$ # arguments: -m mypy $FilePath$ --config-file $ProjectFileDir$\mypy.ini # working directory: C:\tmp (whatever outside the project to force mypy write absolute paths) # with "output filter": $FILE_PATH$:$LINE$: [mypy] mypy_path = stubs show_column_numbers = True warn_unused_configs = True warn_unused_ignores = True check_untyped_defs = True # allow_redefinition = True # we want to delete this row later: strict_optional = False # for even later: # warn_return_any = True # per module settings: [mypy-canmatrix.tests.*] # check_untyped_defs = False ignore_missing_imports = True ignore_errors = True [mypy-canmatrix._version] ignore_errors = True # other settings: [mypy-xlsxwriter,past,past.builtins,pathlib2] ignore_missing_imports = True canmatrix-0.9.5/setup.cfg000066400000000000000000000002211416730473300153370ustar00rootroot00000000000000[versioneer] VCS = git style = pep440-post versionfile_source = src/canmatrix/_version.py versionfile_build = canmatrix/_version.py tag_prefix = canmatrix-0.9.5/setup.py000066400000000000000000000061451416730473300152430ustar00rootroot00000000000000""" Support and convert several CAN (Controller Area Network) database formats .arxml .dbc .dbf .kcd .sym fibex xls(x) ... Canmatrix implements a "Python Can Matrix Object" which describes the can-communication and the needed objects (Boardunits, Frames, Signals, Values, ...) Canmatrix also includes two Tools (canconvert and cancompare) for converting and comparing CAN databases. There are also some extract and merge options for dealing with can databases. **supported file formats for import:** .dbc candb / Vector .dbf Busmaster (open source!) .kcd kayak (open source!) .arxml autosar system description .yaml dump of the python object .xls(x) excel xls-import, works with .xls-file generated by this lib .sym peak pcan can description **supported file formats for export:** .dbc .dbf .kcd .xls(x) .json Canard (open source!) .arxml (very basic implementation) .yaml (dump of the python object) .sym .xml (fibex) """ classifiers = """\ Development Status :: 4 - Beta Environment :: Console License :: OSI Approved :: BSD License Topic :: Scientific/Engineering Programming Language :: Python Programming Language :: Python :: 2.7 Programming Language :: Python :: 3.4 Programming Language :: Python :: 3.5 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 """ from setuptools import find_packages, setup import versioneer doclines = __doc__.split("\n") setup( name = "canmatrix", version = versioneer.get_version(), cmdclass = versioneer.get_cmdclass(), maintainer = "Eduard Broecker", maintainer_email = "eduard@gmx.de", url = "http://github.com/ebroecker/canmatrix", classifiers = list(filter(None, classifiers.split("\n"))), description = doclines[0], keywords = "CAN dbc arxml kcd dbf sym", long_description = "\n".join(doclines[2:]), license = "BSD", platforms = ["any"], install_requires = [ "attrs>=19.2.0", "click", "enum34; python_version < '3.4'", "future", "six", "typing; python_version < '3.5'", ], extras_require = { "arxml": ["lxml"], "csv": [], "dbc": [], "dbf": [], "fibex": ["lxml"], "json": [], "kcd": ["lxml"], "ldf": ["ldfparser"], "odx": ["lxml"], "scapy": [], "sym": [], "test": ["pathlib2; python_version < '3.4'", "pytest"], "wireshark": [], "xls": ["xlrd", "xlwt"], "xlsx": ["xlsxwriter"], "yaml": ["pyyaml"], }, packages = find_packages("src"), package_dir = {"": "src"}, package_data = {"canmatrix" : ["tests/*.dbc", "tests/*.arxml", "j1939.dbc"]}, entry_points={'console_scripts': ['cancompare = canmatrix.cli.compare:cli_compare', 'canconvert = canmatrix.cli.convert:cli_convert']} ) canmatrix-0.9.5/src/000077500000000000000000000000001416730473300143125ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/000077500000000000000000000000001416730473300163005ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/__init__.py000066400000000000000000000014341416730473300204130ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import import logging import canmatrix._version __version__ = canmatrix._version.get_versions()['version'] import canmatrix.formats as formats import canmatrix.cancluster as cancluster from canmatrix.canmatrix import ( Ecu, Signal, SignalGroup, DecodedSignal, ArbitrationId, Frame, Define, CanMatrix, ) from canmatrix.canmatrix import ( StartbitLowerZero, EncodingComplexMultiplexed, MissingMuxSignal, DecodingComplexMultiplexed, DecodingFrameLength, ArbitrationIdOutOfRange ) # todo remove this later from canmatrix.canmatrix import * # Set default logging handler to avoid "No handler found" warnings in python 2. logging.getLogger(__name__).addHandler(logging.NullHandler()) canmatrix-0.9.5/src/canmatrix/_version.py000066400000000000000000000443351416730473300205070ustar00rootroot00000000000000# -*- coding: utf-8 -*- # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build # directories (produced by setup.py build) will contain a much shorter file # that just contains the computed version number. # This file is released into the public domain. Generated by # versioneer-0.18 (https://github.com/warner/python-versioneer) """Git implementation of _version.py.""" import errno import os import re import subprocess import sys import typing def get_keywords(): """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must # each be defined on a line of their own. _version.py will just call # get_keywords(). git_refnames = "$Format:%d$" git_full = "$Format:%H$" git_date = "$Format:%ci$" keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} return keywords class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_config(): """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py cfg = VersioneerConfig() cfg.VCS = "git" cfg.style = "pep440-post" cfg.tag_prefix = "" cfg.parentdir_prefix = "None" cfg.versionfile_source = "canmatrix/_version.py" cfg.verbose = False return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" LONG_VERSION_PY = {} # type: typing.Mapping[typing.Any, typing.Any] HANDLERS = {} # type: typing.MutableMapping[str, typing.Mapping[str, typing.Callable]] def register_vcs_handler(vcs, method): # tyoe: (str, str) -> typing.Callable # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %s" % dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %s" % (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %s (error)" % dispcmd) print("stdout was %s" % stdout) return None, p.returncode return stdout, p.returncode def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %s but none started with prefix %s" % (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%s', no digits" % ",".join(refs - tags)) if verbose: print("likely tags: %s" % ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %s not under git control" % root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%s*" % tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%s'" % describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%s' doesn't start with prefix '%s'" print(fmt % (full_tag, tag_prefix)) pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" % (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%d" % pieces["distance"] else: # exception #1 rendered = "0.post.dev%d" % pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%s" % pieces["short"] else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%s" % pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%s'" % style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} def get_versions(): """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. cfg = get_config() verbose = cfg.verbose try: return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, verbose) except NotThisMethod: pass try: root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. for i in cfg.versionfile_source.split('/'): root = os.path.dirname(root) except NameError: return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to find root of source tree", "date": None} try: pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) return render(pieces, cfg.style) except NotThisMethod: pass try: if cfg.parentdir_prefix: return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) except NotThisMethod: pass return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} canmatrix-0.9.5/src/canmatrix/cancluster.py000066400000000000000000000061531416730473300210220ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import, division, print_function import typing from builtins import * import canmatrix class CanCluster(dict): def __init__(self, *arg, **kw): super(CanCluster, self).__init__(*arg, **kw) self._frames = [] # type: typing.List[canmatrix.Frame] self._signals = [] # type: typing.List[canmatrix.Signal] self._ecus = [] # type: typing.List[canmatrix.Ecu] self.update() def update_frames(self): # type: () -> typing.MutableSequence[canmatrix.Frame] frames = [] # type: typing.List[canmatrix.Frame] frame_names = [] # type: typing.List[str] for matrixName in self: for frame in self[matrixName].frames: # type: canmatrix.Frame if frame.name not in frame_names: frame_names.append(frame.name) frames.append(frame) else: index = frame_names.index(frame.name) for transmitter in frame.transmitters: frames[index].add_transmitter(transmitter) for receiver in frame.receivers: frames[index].add_receiver(receiver) self._frames = frames return frames def update_signals(self): # type: () -> typing.MutableSequence[canmatrix.Signal] signals = [] # type: typing.List[canmatrix.Signal] signal_names = [] # type: typing.List[str] for matrixName in self: for frame in self[matrixName].frames: # type: canmatrix.Frame for signal in frame.signals: if signal.name not in signal_names: signal_names.append(signal.name) signals.append(signal) else: index = signal_names.index(signal.name) for receiver in signal.receivers: signals[index].add_receiver(receiver) self._signals = signals return signals def update_ecus(self): # type: () -> typing.MutableSequence[canmatrix.Ecu] ecus = [] # type: typing.List[canmatrix.Ecu] ecu_names = [] # type: typing.List[str] for matrixName in self: for ecu in self[matrixName].ecus: # type: canmatrix.Ecu if ecu.name not in ecu_names: ecu_names.append(ecu.name) ecus.append(ecu) self._ecus = ecus return ecus def update(self): self.update_frames() self.update_signals() self.update_ecus() @property def ecus(self): # type: () -> typing.MutableSequence[canmatrix.Ecu] if not self._ecus: self.update_ecus() return self._ecus @property def frames(self): # type: () -> typing.MutableSequence[canmatrix.Frame] if not self._frames: self.update_frames() return self._frames @property def signals(self): # type: () -> typing.MutableSequence[canmatrix.Signal] if not self._signals: self.update_signals() return self._signals canmatrix-0.9.5/src/canmatrix/canmatrix.py000066400000000000000000002472441416730473300206550ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, # this list of conditions and the following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, # this list of conditions and the following disclaimer in the documentation # and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # TODO: Definitions should be disassembled from __future__ import absolute_import, division, print_function import decimal import fnmatch import itertools import logging import math import struct import typing import warnings from builtins import * import attr from past.builtins import basestring from six.moves import zip_longest import canmatrix.copy import canmatrix.types import canmatrix.utils if attr.__version__ < '17.4.0': # type: ignore raise RuntimeError("need attrs >= 17.4.0") logger = logging.getLogger(__name__) defaultFloatFactory = decimal.Decimal # type: typing.Callable[[typing.Any], canmatrix.types.PhysicalValue] class ExceptionTemplate(Exception): def __call__(self, *args): return self.__class__(*(self.args + args)) class StartbitLowerZero(ExceptionTemplate): pass class EncodingComplexMultiplexed(ExceptionTemplate): pass class MissingMuxSignal(ExceptionTemplate): pass class DecodingComplexMultiplexed(ExceptionTemplate): pass class DecodingFrameLength(ExceptionTemplate): pass class ArbitrationIdOutOfRange(ExceptionTemplate): pass class J1939needsExtendedIdetifier(ExceptionTemplate): pass class DecodingConatainerPdu(ExceptionTemplate): pass class EncodingConatainerPdu(ExceptionTemplate): pass def arbitration_id_converter(source): # type: (typing.Union[int, ArbitrationId]) -> ArbitrationId """Converter for attrs which accepts ArbitrationId itself or int.""" return source if isinstance(source, ArbitrationId) else ArbitrationId.from_compound_integer(source) @attr.s class Ecu(object): """ Represents one ECU. """ name = attr.ib() # type: str comment = attr.ib(default=None) # type: typing.Optional[str] attributes = attr.ib(factory=dict, repr=False) # type: typing.MutableMapping[str, typing.Any] def attribute(self, attribute_name, db=None, default=None): # type: (str, CanMatrix, typing.Any) -> typing.Any """Get Board unit attribute by its name. :param str attribute_name: attribute name. :param CanMatrix db: Optional database parameter to get global default attribute value. :param default: Default value if attribute doesn't exist. :return: Return the attribute value if found, else `default` or None """ if attribute_name in self.attributes: return self.attributes[attribute_name] elif db is not None: if attribute_name in db.ecu_defines: define = db.ecu_defines[attribute_name] return define.defaultValue return default def add_attribute(self, attribute, value): # type (attribute: str, value: typing.Any) -> None """ Add the Attribute to current ECU. If the attribute already exists, update the value. :param str attribute: Attribute name :param any value: Attribute value """ self.attributes[attribute] = value def del_attribute(self, attribute): if attribute in self.attributes: del self.attributes[attribute] def add_comment(self, comment): # type: (str) -> None """ Set ECU comment. :param str comment: BU comment/description. """ self.comment = comment def normalize_value_table(table): # type: (typing.Mapping) -> typing.MutableMapping[int, typing.Any] return {int(k): v for k, v in table.items()} @attr.s(eq=False) class Signal(object): """ Represents a Signal in CAN Matrix. Signal has following attributes: * name * start_bit (internal start_bit, see get/set_startbit also) * size (in Bits) * is_little_endian (1: Intel, 0: Motorola) * is_signed (bool) * factor, offset, min, max * receivers (ECU Name) * attributes, _values, unit, comment * _multiplex ('Multiplexor' or Number of Multiplex) """ name = attr.ib(default="") # type: str # float_factory = attr.ib(default=defaultFloatFactory) float_factory = defaultFloatFactory # type: typing.Callable[[typing.Any], canmatrix.types.PhysicalValue] start_bit = attr.ib(default=0) # type: int size = attr.ib(default=0) # type: int is_little_endian = attr.ib(default=True) # type: bool is_signed = attr.ib(default=True) # type: bool offset = attr.ib(converter=float_factory, default=float_factory(0.0)) # type: canmatrix.types.PhysicalValue factor = attr.ib(converter=float_factory, default=float_factory(1.0)) # type: canmatrix.types.PhysicalValue unit = attr.ib(default="") # type: str receivers = attr.ib(factory=list) # type: typing.MutableSequence[str] comment = attr.ib(default=None) # type: typing.Optional[str] multiplex = attr.ib(default=None) # type: typing.Union[str, int] mux_value = attr.ib(default=None) is_float = attr.ib(default=False) # type: bool is_ascii = attr.ib(default=False) # type: bool type_label = attr.ib(default="") enumeration = attr.ib(default=None) # type: typing.Optional[str] comments = attr.ib(factory=dict) # type: typing.MutableMapping[int, str] attributes = attr.ib(factory=dict) # type: typing.MutableMapping[str, typing.Any] values = attr.ib(converter=normalize_value_table, factory=dict) # type: typing.MutableMapping[int, str] mux_val_grp = attr.ib(factory=list) # type: typing.MutableSequence[list] muxer_for_signal = attr.ib(default=None) # type: typing.Optional[str] # offset = attr.ib(converter=float_factory, default=0.0) # type: float # ?? calc_min_for_none = attr.ib(default=True) # type: bool calc_max_for_none = attr.ib(default=True) # type: bool cycle_time = attr.ib(default=0) # type: int initial_value = attr.ib(converter=float_factory, default=float_factory(0.0)) # type: canmatrix.types.PhysicalValue min = attr.ib( converter=lambda value, float_factory=float_factory: ( float_factory(value) if value is not None else value ) ) # type: typing.Union[int, decimal.Decimal, None] @min.default def set_default_min(self): # type: () -> canmatrix.types.OptionalPhysicalValue return self.set_min() max = attr.ib( converter=lambda value, float_factory=float_factory: ( float_factory(value) if value is not None else value ) ) # type: canmatrix.types.OptionalPhysicalValue @max.default def set_default_max(self): return self.set_max() def __attrs_post_init__(self): self.multiplex = self.multiplex_setter(self.multiplex) @property def spn(self): # type: () -> typing.Optional[int] """Get signal J1939 SPN or None if not defined. :rtype: typing.Optional[int]""" return self.attributes.get("SPN", None) def multiplex_setter(self, value): self.mux_val = None self.is_multiplexer = False ret_multiplex = None if value is not None and value != 'Multiplexor': ret_multiplex = int(value) self.mux_val = int(value) elif value == 'Multiplexor': self.is_multiplexer = True ret_multiplex = value return ret_multiplex def multiplexer_value_in_range(self, mux_value): if len(self.mux_val_grp) > 0 and mux_value is not None: for mux_min, mux_max in self.mux_val_grp: if mux_value >= mux_min and mux_value <= mux_max: return True else: return False else: return mux_value == self.mux_val def attribute(self, attributeName, db=None, default=None): # type: (str, CanMatrix, typing.Any) -> typing.Any """Get any Signal attribute by its name. :param str attributeName: attribute name, can be mandatory (ex: start_bit, size) or optional (customer) attribute. :param CanMatrix db: Optional database parameter to get global default attribute value. :param default: Default value if attribute doesn't exist. :return: Return the attribute value if found, else `default` or None """ if attributeName in attr.fields_dict(type(self)): return getattr(self, attributeName) if attributeName in self.attributes: return self.attributes[attributeName] if db is not None: if attributeName in db.signal_defines: define = db.signal_defines[attributeName] return define.defaultValue return default def add_comment(self, comment): """ Set signal description. :param str comment: description """ self.comment = comment def add_receiver(self, receiver): """Add signal receiver (ECU). :param str receiver: ECU name. """ if receiver not in self.receivers: self.receivers.append(receiver) def del_receiver(self, receiver): """ Remove receiver (ECU) from signal :param str receiver: ECU name. """ if receiver in self.receivers: self.receivers.remove(receiver) def add_attribute(self, attribute, value): """ Add user defined attribute to the Signal. Update the value if the attribute already exists. :param str attribute: attribute name :param value: attribute value """ self.attributes[attribute] = value def del_attribute(self, attribute): """ Remove user defined attribute from Signal. :param str attribute: attribute name """ if attribute in self.attributes: del self.attributes[attribute] def add_values(self, value, valueName): """ Add named Value Description to the Signal. :param int or str value: signal value (0xFF) :param str valueName: Human readable value description ("Init") """ if isinstance(value, defaultFloatFactory): self.values[value.to_integral()] = valueName else: self.values[int(str(value), 0)] = valueName def set_startbit(self, start_bit, bitNumbering=None, startLittle=None): """ Set start_bit. bitNumbering is 1 for LSB0/LSBFirst, 0 for MSB0/MSBFirst. If bit numbering is consistent with byte order (little=LSB0, big=MSB0) (KCD, SYM), start bit unmodified. Otherwise reverse bit numbering. For DBC, ArXML (OSEK), both little endian and big endian use LSB0. If bitNumbering is None, assume consistent with byte order. If startLittle is set, given start_bit is assumed start from lsb bit rather than the start of the signal data in the message data. """ # bit numbering not consistent with byte order. reverse if bitNumbering is not None and bitNumbering != self.is_little_endian: start_bit = start_bit - (start_bit % 8) + 7 - (start_bit % 8) # if given start_bit is for the end of signal data (lsbit), # convert to start of signal data (msbit) if startLittle is True and self.is_little_endian is False: start_bit = start_bit + 1 - self.size if start_bit < 0: raise StartbitLowerZero( "wrong start_bit found Signal: %s Startbit: %d" % (self.name, start_bit) ) self.start_bit = start_bit def get_startbit(self, bit_numbering=None, start_little=None): """Get signal start bit. Handle byte and bit order.""" startBitInternal = self.start_bit # convert from big endian start bit at # start bit(msbit) to end bit(lsbit) if start_little is True and self.is_little_endian is False: startBitInternal = startBitInternal + self.size - 1 # bit numbering not consistent with byte order. reverse if bit_numbering is not None and bit_numbering != self.is_little_endian: startBitInternal = startBitInternal - (startBitInternal % 8) + 7 - (startBitInternal % 8) return int(startBitInternal) def calculate_raw_range(self): """Compute raw signal range based on Signal bit width and whether the Signal is signed or not. :return: Signal range, i.e. (0, 15) for unsigned 4 bit Signal or (-8, 7) for signed one. :rtype: tuple """ factory = ( self.float_factory if self.is_float else int ) size_to_calc = self.size if self.size <= 128 else 128 if size_to_calc != self.size: logger.info("max calculation for {} not possible using 128 as base for max value".format(self.size)) rawRange = 2 ** (size_to_calc - (1 if self.is_signed else 0)) return ( factory(-rawRange if self.is_signed else 0), factory(rawRange - 1), ) def set_min(self, min=None): # type: (canmatrix.types.OptionalPhysicalValue) -> canmatrix.types.OptionalPhysicalValue """Set minimal physical Signal value. :param min: minimal physical value. If None and enabled (`calc_min_for_none`), compute using `calc_min` """ self.min = min if self.calc_min_for_none and self.min is None: self.min = self.calc_min() return self.min def calc_min(self): # type: () -> canmatrix.types.PhysicalValue """Compute minimal physical Signal value based on offset and factor and `calculate_raw_range`.""" rawMin = self.calculate_raw_range()[0] return self.offset + (self.float_factory(rawMin) * self.factor) def set_max(self, max=None): # type: (canmatrix.types.OptionalPhysicalValue) -> canmatrix.types.OptionalPhysicalValue """Set maximal signal value. :param max: minimal physical value. If None and enabled (`calc_max_for_none`), compute using `calc_max` """ self.max = max if self.calc_max_for_none and self.max is None: self.max = self.calc_max() return self.max def calc_max(self): # type: () -> canmatrix.types.PhysicalValue """Compute maximal physical Signal value based on offset, factor and `calculate_raw_range`.""" rawMax = self.calculate_raw_range()[1] return self.offset + (self.float_factory(rawMax) * self.factor) def phys2raw(self, value=None): # type: (canmatrix.types.OptionalPhysicalValue) -> canmatrix.types.RawValue """Return the raw value (= as is on CAN). :param value: (scaled) value compatible with `decimal` or value choice to encode :return: raw unscaled value as it appears on the bus :rtype: int or decimal.Decimal """ if value is None: value = self.initial_value if not (self.min <= value <= self.max): value = self.min if isinstance(value, basestring): for value_key, value_string in self.values.items(): if value_string == value: value = value_key break else: raise ValueError( "{} is invalid value choice for {}".format(value, self) ) if not (self.min <= value <= self.max): logger.info( "Value {} is not valid for {}. Min={} and Max={}".format( value, self, self.min, self.max) ) raw_value = (value - self.offset) / self.factor if not self.is_float: raw_value = int(raw_value) return raw_value def raw2phys(self, value, decode_to_str=False): # type: (canmatrix.types.RawValue, bool) -> typing.Union[canmatrix.types.PhysicalValue, str] """Decode the given raw value (= as is on CAN). :param value: raw value compatible with `decimal`. :param bool decode_to_str: If True, try to get value representation as *string* ('Init' etc.) :return: physical value (scaled) """ if self.is_float: value = self.float_factory(value) result = value * self.factor + self.offset # type: typing.Union[canmatrix.types.PhysicalValue, str] if decode_to_str: for value_key, value_string in self.values.items(): if value_key == result: result = value_string break return result def __str__(self): # type: () -> str return self.name @attr.s(eq=False) class SignalGroup(object): """ Represents signal-group, containing multiple Signals. """ name = attr.ib() # type: str id = attr.ib() # type: int signals = attr.ib(factory=list, repr=False) # type: typing.MutableSequence[Signal] e2e_trans = attr.ib(default=None) def add_signal(self, signal): # type: (Signal) -> None """Add a Signal to SignalGroup. :param Signal signal: signal to add """ if signal not in self.signals: self.signals.append(signal) def del_signal(self, signal): # type: (Signal) -> None """Remove Signal from SignalGroup. :param Signal signal: signal to remove """ if signal in self.signals: self.signals.remove(signal) def by_name(self, name): # type: (str) -> typing.Union[Signal, None] """ Find a Signal in the group by Signal name. :param str name: Signal name to find :return: signal contained in the group identified by name :rtype: Signal """ for test in self.signals: if test.name == name: return test return None def __iter__(self): # type: () -> typing.Iterable[Signal] """Iterate over all contained signals.""" return iter(self.signals) def __getitem__(self, name): # type: (str) -> Signal signal = self.by_name(name) if signal: return signal raise KeyError("Signal '{}' doesn't exist".format(name)) @attr.s class DecodedSignal(object): """ Contains a decoded signal (frame decoding) * rawValue : rawValue (value on the bus) * physValue: physical Value (the scaled value) * namedValue: value of Valuetable * signal: pointer signal (object) which was decoded """ raw_value = attr.ib() # type: canmatrix.types.RawValue signal = attr.ib() # type: Signal @property def phys_value(self): # type: () -> canmatrix.types.PhysicalValue """ :return: physical Value (the scaled value) :rtype: typing.Union[int, decimal.Decimal] """ return self.signal.raw2phys(self.raw_value) @property def named_value(self): """ :return: value of Valuetable :rtype: typing.Union[str, int, decimal.Decimal] """ return self.signal.raw2phys(self.raw_value, decode_to_str=True) # https://docs.python.org/3/library/itertools.html def grouper(iterable, n, fillvalue=None): """Collect data into fixed-length chunks or blocks.""" # grouper('ABCDEFG', 3, 'x') --> ABC DEF Gxx" args = [iter(iterable)] * n return zip_longest(*args, fillvalue=fillvalue) def unpack_bitstring(length, is_float, is_signed, bits): # type: (int, bool, bool, typing.Any) -> typing.Union[float, int] """ returns a value calculated from bits :param length: length of signal in bits :param is_float: value is float :param bits: value as bits (array/iterable) :param is_signed: value is signed :return: """ if is_float: types = { 32: '>f', 64: '>d' } float_type = types[length] value, = struct.unpack(float_type, bytearray(int(''.join(b), 2) for b in grouper(bits, 8))) else: value = int(bits, 2) if is_signed and bits[0] == '1': value -= (1 << len(bits)) return value def pack_bitstring(length, is_float, value, signed): """ returns a value in bits :param length: length of signal in bits :param is_float: value is float :param value: value to encode :param signed: value is signed :return: """ if is_float: types = { 32: '>f', 64: '>d' } float_type = types[length] x = bytearray(struct.pack(float_type, value)) bitstring = ''.join('{:08b}'.format(b) for b in x) else: b = '{:0{}b}'.format(int((2 << length) + value), length) bitstring = b[-length:] return bitstring @attr.s class ArbitrationId(object): standard_id_mask = ((1 << 11) - 1) extended_id_mask = ((1 << 29) - 1) compound_extended_mask = (1 << 31) id = attr.ib(default=None) extended = attr.ib(default=False) # type: bool def __attrs_post_init__(self): if self.extended is None: # Mimicking old behaviour for now -- remove in the future self.extended = True warnings.warn( "Please set 'extended' attribute as a boolean instead of " "None when creating an instance of ArbitrationId class", DeprecationWarning ) if self.extended: mask = self.extended_id_mask else: mask = self.standard_id_mask if self.id != self.id & mask: raise ArbitrationIdOutOfRange('ID out of range') @property def j1939_pgn(self): return self.pgn @property def pgn(self): if not self.extended: raise J1939needsExtendedIdetifier # PGN is bits 8-25 of the 29-Bit Extended CAN-ID # Made up of PDU-S (8-15), PDU-F (16-23), Data Page (24) & Extended Data Page (25) # If PDU-F >= 240 the PDU-S is interpreted as Group Extension # If PDU-F < 240 the PDU-S is interpreted as a Destination Address _pgn = 0 if self.j1939_pdu_format == 2: _pgn += self.j1939_ps _pgn += self.j1939_pf << 8 _pgn += self.j1939_dp << 16 _pgn += self.j1939_edp << 17 return _pgn @pgn.setter def pgn(self, value): # type: (int) -> None self.extended = True _pgn = value & 0x3FFFF self.id &= 0xfc0000ff self.id |= (_pgn << 8 & 0x3FFFF00) # default pgn is None -> mypy reports error @property def j1939_tuple(self): # type: () -> typing.Tuple[int, int, int] """Get tuple (destination, PGN, source) :rtype: tuple""" return self.j1939_destination, self.pgn, self.j1939_source @property def j1939_destination(self): if not self.extended: raise J1939needsExtendedIdetifier if self.j1939_pdu_format == 1: destination = self.j1939_ps else: destination = None return destination @property def j1939_source(self): if not self.extended: raise J1939needsExtendedIdetifier return self.id & 0xFF @j1939_source.setter def j1939_source(self, value): # type: (int) -> None self.extended = True self.id = (self.id & 0xffffff00) | (value & 0xff) @property def j1939_ps(self): if not self.extended: raise J1939needsExtendedIdetifier return (self.id >> 8) & 0xFF @property def j1939_pf(self): if not self.extended: raise J1939needsExtendedIdetifier return (self.id >> 16) & 0xFF @property def j1939_pdu_format(self): return 1 if (self.j1939_pf < 240) else 2 @property def j1939_dp(self): if not self.extended: raise J1939needsExtendedIdetifier return (self.id >> 24) & 0x1 @property def j1939_edp(self): if not self.extended: raise J1939needsExtendedIdetifier return (self.id >> 25) & 0x1 @property def j1939_priority(self): if not self.extended: raise J1939needsExtendedIdetifier return (self.id >> 26) & 0x7 @j1939_priority.setter def j1939_priority(self, value): # type: (int) -> None self.extended = True self.id = (self.id & 0x3ffffff) | ((value & 0x7) << 26) @property def j1939_str(self): # type: () -> str return "DA:0x{da:02X} PGN:0x{pgn:04X} SA:0x{sa:02X}".format( da=self.j1939_destination, pgn=self.pgn, sa=self.j1939_source) @classmethod def from_compound_integer(cls, i): # type: (typing.Any) -> ArbitrationId return cls( id=i & cls.extended_id_mask, extended=(i & cls.compound_extended_mask) != 0, ) @classmethod def from_pgn(cls, pgn): # type: (int) -> ArbitrationId return cls( id = (pgn << 8), extended = True ) def to_compound_integer(self): if self.extended: return self.id | self.compound_extended_mask else: return self.id def __eq__(self, other): return ( self.id == other.id and ( self.extended is None or other.extended is None or self.extended == other.extended ) ) @attr.s(eq=False) class Pdu(object): """ Represents a PDU. PDUs are hierarchical groups of signals which are needed to represent Flexray busses Whereas a PDU is the same than a frame on CAN bus, at flexray a frame may consist of multiple PDUs (a bit like multiple signal layout for multiplexed can frames). This class is only used for flexray busses. """ name = attr.ib(default="") # type: str size = attr.ib(default=0) # type: int id = attr.ib(default=0) # type: int triggering_name = attr.ib(default="") # type: str pdu_type = attr.ib(default="") # type: str port_type = attr.ib(default="") # type: str signals = attr.ib(factory=list) # type: typing.MutableSequence[Signal] signalGroups = attr.ib(factory=list) # type: typing.MutableSequence[SignalGroup] cycle_time = attr.ib(default=0) # type: int def add_signal(self, signal): # type: (Signal) -> Signal """ Add Signal to Pdu. :param Signal signal: Signal to be added. :return: the signal added. """ self.signals.append(signal) return self.signals[len(self.signals) - 1] def add_signal_group(self, Name, Id, signalNames, e2e_trans=None): # type: (str, int, typing.Sequence[str]) -> None """Add new SignalGroup to the Frame. Add given signals to the group. :param str Name: Group name :param int Id: Group id :param list of str signalNames: list of Signal names to add. Non existing names are ignored. """ newGroup = SignalGroup(Name, Id, e2e_trans=e2e_trans) self.signalGroups.append(newGroup) for signal in signalNames: signal = signal.strip() if signal.__len__() == 0: continue signalId = self.signal_by_name(signal) if signalId is not None: newGroup.add_signal(signalId) def get_signal_group_for_signal(self, signal_to_find): for signal_group in self.signalGroups: for signal in signal_group: if signal == signal_to_find: return signal_group return None def signal_by_name(self, name): # type: (str) -> typing.Union[Signal, None] """ Get signal by name. :param str name: signal name to be found. :return: signal with given name or None if not found """ for signal in self.signals: if signal.name == name: return signal return None @attr.s(eq=False) class Frame(object): """ Represents CAN Frame. The Frame has following mandatory attributes * arbitration_id, * name, * transmitters (list of ECU names), * size (DLC), * signals (list of signal-objects), * attributes (list of attributes), * receivers (list of ECU names), * comment and any *custom* attributes in `attributes` dict. Frame signals can be accessed using the iterator. """ name = attr.ib(default="") # type: str # mypy Unsupported converter: arbitration_id = attr.ib(converter=arbitration_id_converter, default=0) # type: ArbitrationId size = attr.ib(default=0) # type: int transmitters = attr.ib(factory=list) # type: typing.MutableSequence[str] # extended = attr.ib(default=False) # type: bool is_complex_multiplexed = attr.ib(default=False) # type: bool is_fd = attr.ib(default=False) # type: bool comment = attr.ib(default="") # type: str signals = attr.ib(factory=list) # type: typing.MutableSequence[Signal] mux_names = attr.ib(factory=dict) # type: typing.MutableMapping[int, str] attributes = attr.ib(factory=dict) # type: typing.MutableMapping[str, typing.Any] receivers = attr.ib(factory=list) # type: typing.MutableSequence[str] signalGroups = attr.ib(factory=list) # type: typing.MutableSequence[SignalGroup] cycle_time = attr.ib(default=0) # type: int is_j1939 = attr.ib(default=False) # type: bool # ('cycleTime', '_cycleTime', int, None), # ('sendType', '_sendType', str, None), pdus = attr.ib(factory=list) # type: typing.MutableSequence[Pdu] header_id = attr.ib(default=None) #type: int # header_id @property def is_multiplexed(self): # type: () -> bool """Frame is multiplexed if at least one of its signals is a multiplexer.""" for sig in self.signals: if sig.is_multiplexer: return True return False @property def get_multiplexer(self): # type: () -> typing.Union[Signal, None] """get multiplexer signal if any in frame.""" for sig in self.signals: if sig.is_multiplexer: return sig return None @property def get_multiplexer_values(self): # type: () -> typing.Sequence[int] """get possible multiplexer values.""" multiplexer_values = { sig.mux_val for sig in self.signals if sig.mux_val is not None } return list(multiplexer_values) def get_signals_for_multiplexer_value(self, mux_value): # type: (int) -> typing.Sequence[Signal] """Find Frame Signals by given muxer value. :param int mux_value: muxer value :return: list of signals relevant for given muxer value. :rtype: list of signals """ muxed_signals = [] for sig in self.signals: if (sig.mux_val is None and not sig.is_multiplexer) or sig.mux_val == mux_value: muxed_signals.append(sig) return muxed_signals @property def is_pdu_container(self): # type: () -> bool return len(self.pdus) > 0 @property def get_pdu_id_values(self): # type: () -> typing.Sequence[int] return list({pdu.id for pdu in self.pdus}) @property def pgn(self): # type: () -> int return self.arbitration_id.pgn @pgn.setter def pgn(self, value): # type: (int) -> None self.arbitration_id.pgn = value @property def priority(self): # type: () -> int """Get J1939 priority.""" return self.arbitration_id.j1939_priority @priority.setter def priority(self, value): # type: (int) -> None """Set J1939 priority.""" self.arbitration_id.j1939_priority = value @property def source(self): # type: () -> int """Get J1939 source.""" return self.arbitration_id.j1939_source @source.setter def source(self, value): # type: (int) -> None """Set J1939 source.""" self.arbitration_id.j1939_source = value @property def effective_cycle_time(self): """Calculate effective cycle time for frame, depending on singal cycle times""" min_cycle_time_list = [y for y in [x.cycle_time for x in self.signals] + [self.cycle_time] if y != 0] if len(min_cycle_time_list) == 0: return 0 elif len(min_cycle_time_list) == 1: return min_cycle_time_list[0] else: gcd = canmatrix.utils.get_gcd(min_cycle_time_list[0], min_cycle_time_list[1]) for i in range(2, len(min_cycle_time_list)): gcd = canmatrix.utils.get_gcd(gcd, min_cycle_time_list[i]) return gcd # return min(min_cycle_time_list) # @property # def sendType(self, db = None): # if self._sendType is None: # self._sendType = self.attribute("GenMsgSendType") # return self._sendType # # @sendType.setter # def sendType(self, value): # self._sendType = value def attribute(self, attribute_name, db=None, default=None): # type: (str, typing.Optional[CanMatrix], typing.Any) -> typing.Any """Get any Frame attribute by its name. :param str attribute_name: attribute name, can be mandatory (ex: id) or optional (customer) attribute. :param CanMatrix db: Optional database parameter to get global default attribute value. :param default: Default value if attribute doesn't exist. :return: Return the attribute value if found, else `default` or None """ if attribute_name in attr.fields_dict(type(self)): return getattr(self, attribute_name) if attribute_name in self.attributes: return self.attributes[attribute_name] elif db is not None and attribute_name in db.frame_defines: define = db.frame_defines[attribute_name] return define.defaultValue return default def __iter__(self): # type: () -> typing.Iterator[Signal] """Iterator over all signals.""" return iter(self.signals) def add_signal_group(self, Name, Id, signalNames, e2e_trans=None): # type: (str, int, typing.Sequence[str]) -> None """Add new SignalGroup to the Frame. Add given signals to the group. :param str Name: Group name :param int Id: Group id :param list of str signalNames: list of Signal names to add. Non existing names are ignored. """ newGroup = SignalGroup(Name, Id, e2e_trans=e2e_trans) self.signalGroups.append(newGroup) for signal in signalNames: signal = signal.strip() if signal.__len__() == 0: continue signalId = self.signal_by_name(signal) if signalId is not None: newGroup.add_signal(signalId) def signal_group_by_name(self, name): # type: (str) -> typing.Union[SignalGroup, None] """Get signal group. :param str name: group name :return: SignalGroup by name or None if not found. :rtype: SignalGroup """ for signalGroup in self.signalGroups: if signalGroup.name == name: return signalGroup return None def add_pdu(self, pdu): # type: (Pdu) -> Pdu """ Add Pdu to Frame. :param Pdu pdu: Pdu to be added. :return: the pdu added. """ self.pdus.append(pdu) return self.pdus[len(self.pdus) - 1] def pdu_by_name(self, name): # type: (str) -> typing.Union[Pdu, None] """Get PDU. :param str name: PDU name :return: PDU by name or None if not found. :rtype: Pdu """ for pdu in self.pdus: if pdu.name == name: return pdu return None def pdu_by_id(self, pdu_id): # type: (int) -> typing.Union[Pdu, None] """Get PDU. :param int pdu_id: PDU id :return: PDU by id or None if not found. :rtype: Pdu """ for pdu in self.pdus: if pdu.id == pdu_id: return pdu return None def add_signal(self, signal): # type: (Signal) -> Signal """ Add Signal to Frame. :param Signal signal: Signal to be added. :return: the signal added. """ self.signals.append(signal) return self.signals[len(self.signals) - 1] def add_transmitter(self, transmitter): # type: (str) -> None """Add transmitter ECU Name to Frame. :param str transmitter: transmitter name """ if transmitter not in self.transmitters: self.transmitters.append(transmitter) def del_transmitter(self, transmitter): # type: (str) -> None """Delete transmitter ECU Name from Frame. :param str transmitter: transmitter name """ if transmitter in self.transmitters: self.transmitters.remove(transmitter) def add_receiver(self, receiver): # type: (str) -> None """Add receiver ECU Name to Frame. :param str receiver: receiver name """ if receiver not in self.receivers: self.receivers.append(receiver) def signal_by_name(self, name): # type: (str) -> typing.Union[Signal, None] """ Get signal by name. :param str name: signal name to be found. :return: signal with given name or None if not found """ for signal in self.signals: if signal.name == name: return signal return None def glob_signals(self, glob_str): # type: (str) -> typing.Sequence[Signal] """Find Frame Signals by given glob pattern. :param str glob_str: glob pattern for signal name. See `fnmatch.fnmatchcase` :return: list of Signals by glob pattern. :rtype: list of Signal """ return_array = [] for signal in self.signals: if fnmatch.fnmatchcase(signal.name, glob_str): return_array.append(signal) return return_array def add_attribute(self, attribute, value): # type: (str, typing.Any) -> None """ Add the attribute with value to customer Frame attribute-list. If Attribute already exits, modify its value. :param str attribute: Attribute name :param any value: attribute value """ try: self.attributes[attribute] = str(value) except UnicodeDecodeError: self.attributes[attribute] = value if type(self.attributes[attribute]) == str: self.attributes[attribute] = self.attributes[attribute].strip() def del_attribute(self, attribute): # type: (str) -> typing.Any """ Remove attribute from customer Frame attribute-list. :param str attribute: Attribute name """ if attribute in self.attributes: del self.attributes[attribute] def add_comment(self, comment): # type: (str) -> None """ Set Frame comment. :param str comment: Frame comment """ self.comment = comment def calc_dlc(self): # type: () -> None """ Compute minimal Frame DLC (length) based on its Signals :return: Message DLC """ max_bit = 0 for sig in self.signals: if sig.get_startbit() + int(sig.size) > max_bit: max_bit = sig.get_startbit() + int(sig.size) max_byte = (max_bit + 7) // 8 if self.is_pdu_container: max_byte *= len(self.pdus) for pdu in self.pdus: max_byte += pdu.size self.size = max(self.size, max_byte) def fit_dlc(self): """ Compute next allowed DLC (length) for current Frame """ max_byte = self.size last_size = 8 for max_size in [12, 16, 20, 24, 32, 48, 64]: if max_byte > last_size and max_byte < max_size: self.size = max_size break last_size = max_size def get_frame_layout(self): # type: () -> typing.Sequence[typing.Sequence[str]] """ get layout of frame. Represents the bit usage in the frame by means of a list with n items (n bits of frame length). Every item represents one bit and contains a list of signals (object refs) with each signal, occupying that bit. Bits with empty list are unused. Example: [[], [], [], [sig1], [sig1], [sig1, sig5], [sig2, sig5], [sig2], []] :return: list of lists with signalnames :rtype: list of lists """ little_bits = [[] for _dummy in range((self.size * 8))] # type: typing.List[typing.List] big_bits = [[] for _dummy in range((self.size * 8))] # type: typing.List[typing.List] for signal in self.signals: if signal.is_little_endian: least = len(little_bits) - signal.start_bit most = least - signal.size for little_bit_signals in little_bits[most:least]: little_bit_signals.append(signal) else: most = signal.start_bit least = most + signal.size for big_bit_signals in big_bits[most:least]: big_bit_signals.append(signal) little_bits_iter = reversed(tuple(grouper(little_bits, 8))) little_bits = list(itertools.chain(*little_bits_iter)) return_list = [ little + big for little, big in zip(little_bits, big_bits) ] return return_list def create_dummy_signals(self): # type: () -> None """Create big-endian dummy signals for unused bits. Names of dummy signals are *_Dummy__* """ bitfield = self.get_frame_layout() startBit = -1 sigCount = 0 for index, bit_signals in enumerate(bitfield): if bit_signals == [] and startBit == -1: startBit = index if (index == (len(bitfield)-1) or bit_signals != []) and startBit != -1: if index == (len(bitfield)-1): index = len(bitfield) self.add_signal(Signal("_Dummy_%s_%d" % (self.name, sigCount), size=index - startBit, start_bit=startBit, is_little_endian = False)) startBit = -1 sigCount += 1 def update_receiver(self): # type: () -> None """ Collect Frame receivers out of receiver given in each signal. Add them to `self.receiver` list. """ for sig in self.signals: for receiver in sig.receivers: self.add_receiver(receiver) def signals_to_bytes(self, data): # type: (typing.Mapping[str, canmatrix.types.RawValue]) -> bytes """Return a byte string containing the values from data packed according to the frame format. :param data: data dictionary of signal : rawValue :return: A byte string of the packed values. """ little_bits = [None] * (self.size * 8) # type: typing.List[typing.Optional[str]] big_bits = list(little_bits) for signal in self.signals: if signal.name in data: value = data.get(signal.name) bits = pack_bitstring(signal.size, signal.is_float, value, signal.is_signed) if signal.is_little_endian: least = self.size * 8 - signal.start_bit most = least - signal.size little_bits[most:least] = bits else: most = signal.start_bit least = most + signal.size big_bits[most:least] = bits little_bits_iter = reversed(tuple(grouper(little_bits, 8))) little_bits = list(itertools.chain(*little_bits_iter)) bitstring = ''.join( next(x for x in (l, b, '0') if x is not None) # l if l != ' ' else (b if b != ' ' else '0') for l, b in zip(little_bits, big_bits) ) return bytearray( int(''.join(b), 2) for b in grouper(bitstring, 8) ) def encode(self, data=None): # type: (typing.Optional[typing.Mapping[str, typing.Any]]) -> bytes """Return a byte string containing the values from data packed according to the frame format. :param dict data: data dictionary :return: A byte string of the packed values. """ data = dict() if data is None else data if self.is_complex_multiplexed: raise EncodingComplexMultiplexed elif self.is_pdu_container: raise EncodingConatainerPdu # TODO add encoding elif self.is_multiplexed: # search for mulitplexer-signal for signal in self.signals: if signal.is_multiplexer: muxSignal = signal muxVal = data.get(signal.name) break else: raise MissingMuxSignal # create list of signals which belong to muxgroup encodeSignals = [muxSignal.name] for signal in self.signals: if signal.mux_val == muxVal or signal.mux_val is None: encodeSignals.append(signal.name) newData = dict() # kick out signals, which do not belong to this mux-id for signalName in data: if signalName in encodeSignals: newData[signalName] = data[signalName] data = newData return self.signals_to_bytes(data) @staticmethod def bytes_to_bitstrings(data): # type: (bytes) -> typing.Tuple[str, str] """Return two arrays big and little containing bits of given data (bytearray) :param data: bytearray of bits (little endian). i.e. bytearray([0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8]) :return: bit arrays in big and little byteorder """ b = tuple('{:08b}'.format(b) for b in data) little = ''.join(reversed(b)) big = ''.join(b) return little, big @staticmethod def bitstring_to_signal_list(signals, big, little, size): # type: (typing.Sequence[Signal], str, str, int) -> typing.Sequence[canmatrix.types.RawValue] """Return OrderedDictionary with Signal Name: object decodedSignal (flat / without support for multiplexed frames) :param signals: Iterable of signals (class signal) to decode from frame. :param big: bytearray of bits (big endian). :param little: bytearray of bits (little endian). :param size: number of bits. :return: array with raw values (same order like signals) """ unpacked = [] for signal in signals: if signal.is_little_endian: least = size - signal.start_bit most = least - signal.size bits = little[most:least] else: most = signal.start_bit least = most + signal.size bits = big[most:least] unpacked.append(unpack_bitstring(signal.size, signal.is_float, signal.is_signed, bits)) return unpacked def unpack(self, data, report_error=True): # type: (bytes, bool) -> typing.Mapping[str, DecodedSignal] """Return OrderedDictionary with Signal Name: object decodedSignal (flat / without support for multiplexed frames) decodes every signal in signal-list. :param data: bytearray i.e. bytearray([0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8]) :param report_error: set to False to silence error output :return: OrderedDictionary """ rx_length = len(data) if rx_length != self.size and report_error: raise DecodingFrameLength( 'Received message 0x{self.arbitration_id.id:08X} ' 'with length {rx_length}, expected {self.size}'.format(**locals()) ) elif self.is_pdu_container: header_id_signal = self.signal_by_name("Header_ID") header_dlc_signal = self.signal_by_name("Header_DLC") if header_id_signal is None or header_dlc_signal is None: raise DecodingConatainerPdu( 'Received message 0x{:08X} without Header_ID or ' 'Header_DLC signal'.format(self.arbitration_id.id) ) # TODO: may be we need to check that ID/DLC signals are contiguous header_size = header_id_signal.size + header_dlc_signal.size little, big = self.bytes_to_bitstrings(data) size = self.size * 8 return_dict = dict({"pdus": []}) # decode signal which are not in PDUs signals = [s for s in self.signals if s not in [header_id_signal, header_dlc_signal]] if signals: unpacked = self.bitstring_to_signal_list(signals, big, little, size) for s, v in zip(signals, unpacked): return_dict[s.name] = DecodedSignal(v, s) # decode PDUs offset = header_id_signal.start_bit header_signals = [header_id_signal, header_dlc_signal] while (offset + header_size) < size: unpacked = self.bitstring_to_signal_list( header_signals, big[offset:offset + header_size], little[size - offset - header_size:size - offset], header_size ) offset += header_size pdu_id = unpacked[0] pdu_dlc = unpacked[1] for s, v in zip(header_signals, unpacked): if s.name not in return_dict: return_dict[s.name] = [] return_dict[s.name].append(DecodedSignal(v, s)) pdu = self.pdu_by_id(pdu_id) if pdu is None: return_dict['pdus'].append(None) else: unpacked = self.bitstring_to_signal_list( pdu.signals, big[offset:offset + pdu_dlc * 8], little[size - offset - pdu_dlc * 8:size - offset], pdu_dlc * 8 ) pdu_dict = dict() for s, v in zip(pdu.signals, unpacked): pdu_dict[s.name] = DecodedSignal(v, s) return_dict["pdus"].append({pdu.name: pdu_dict}) offset += (pdu_dlc * 8) return return_dict else: little, big = self.bytes_to_bitstrings(data) unpacked = self.bitstring_to_signal_list(self.signals, big, little, self.size * 8) return_dict = dict() for s, v in zip(self.signals, unpacked): return_dict[s.name] = DecodedSignal(v, s) return return_dict def _get_sub_multiplexer(self, parent_multiplexer_name, parent_multiplexer_value): """ get any sub-multiplexer in frame used for complex-multiplexed frame decoding :param parent_multiplexer_name: string with name of parent multiplexer :param parent_multiplexer_value: raw_value (int) of parent multiplexer :return: muxer signal or None """ for signal in self.signals: if signal.is_multiplexer and signal.muxer_for_signal == parent_multiplexer_name and signal.multiplexer_value_in_range(parent_multiplexer_value): return signal def _filter_signals_for_multiplexer(self, multiplexer_name, multiplexer_value): """ filter a list of signals with given multiplexer (name and value) used for complex-multiplexed frame decoding :param multiplexer_name: string with name of parent multiplexer :param multiplexer_value: raw_value (int) of parent multiplexer :return: filtered array of canmatrix.Signal """ filtered_signals = [] for signal in self.signals: if signal.multiplexer_value_in_range(multiplexer_value) and signal.muxer_for_signal == multiplexer_name and not signal.is_multiplexer: filtered_signals.append(signal) elif signal.name == multiplexer_name: filtered_signals.append(signal) return filtered_signals def decode(self, data): # type: (bytes) -> typing.Mapping[str, typing.Any] """Return OrderedDictionary with Signal Name: object decodedSignal (support for multiplexed frames) decodes only signals matching to muxgroup :param data: bytearray . i.e. bytearray([0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8]) :return: OrderedDictionary """ decoded = self.unpack(data) if self.is_complex_multiplexed: decoded_values = dict() filtered_signals = self._filter_signals_for_multiplexer(None, None) multiplex_name = None multiplex_value = None sub_multiplexer = self._get_sub_multiplexer(multiplex_name, multiplex_value) while sub_multiplexer is not None: multiplex_name = sub_multiplexer.name multiplex_signal = decoded_values[multiplex_name] = decoded[multiplex_name] multiplex_value = multiplex_signal.raw_value filtered_signals += self._filter_signals_for_multiplexer(multiplex_name, multiplex_value) sub_multiplexer = self._get_sub_multiplexer(multiplex_name, multiplex_value) for signal in filtered_signals: decoded_values[signal.name] = decoded[signal.name] return decoded_values elif self.is_multiplexed and not self.is_pdu_container: decoded_values = dict() # find multiplexer and decode only its value: for signal in self.signals: if signal.is_multiplexer: muxVal = decoded[signal.name].raw_value # find all signals with the identified multiplexer-value for signal in self.signals: if signal.mux_val == muxVal or signal.mux_val is None: decoded_values[signal.name] = decoded[signal.name] return decoded_values else: return decoded def __str__(self): # type: () -> str """Represent the frame by its name only.""" return self.name # add more details than the name only? class Define(object): """ Hold the defines and default-values. """ def __init__(self, definition): # type (str) -> None """Initialize Define object. :param str definition: definition string. Ex: "INT -5 10" """ definition = definition.strip() self.definition = definition self.type = None # type: typing.Optional[str] self.defaultValue = None # type: typing.Any def safe_convert_str_to_int(inStr): # type: (str) -> int """Convert string to int safely. Check that it isn't float. :param str inStr: integer represented as string. :rtype: int """ out = int(defaultFloatFactory(inStr)) if out != defaultFloatFactory(inStr): logger.warning("Warning, integer was expected but got float: got: {0} using {1}\n".format(inStr, str(out))) return out # for any known type: if definition[0:3] == 'INT': self.type = 'INT' min, max = definition[4:].split(' ', 2) self.min = safe_convert_str_to_int(min) self.max = safe_convert_str_to_int(max) elif definition[0:6] == 'STRING': self.type = 'STRING' self.min = None self.max = None elif definition[0:4] == 'ENUM': self.type = 'ENUM' tempValues = canmatrix.utils.quote_aware_comma_split(definition[5:]) self.values = [] # type: typing.List[str] for value in tempValues: value = value.replace("vector_leerstring", "") self.values.append(value) elif definition[0:3] == 'HEX': # differently rendered in DBC editor, but values are saved like for an INT self.type = 'HEX' min, max = definition[4:].split(' ', 2) self.min = safe_convert_str_to_int(min) self.max = safe_convert_str_to_int(max) elif definition[0:5] == 'FLOAT': self.type = 'FLOAT' min, max = definition[6:].split(' ', 2) self.min = defaultFloatFactory(min) self.max = defaultFloatFactory(max) def set_default(self, default): # type: (typing.Any) -> None """Set Definition default value. :param default: default value; number, str or quoted str ("value") """ if default is not None and len(default) > 1 and default[0] == '"' and default[-1] == '"': default = default[1:-1] self.defaultValue = default def update(self): # type: () -> None """Update definition string for type ENUM. For type ENUM rebuild the definition string from current values. Otherwise do nothing. """ if self.type != 'ENUM': return self.definition = 'ENUM "' + '","' .join(self.values) +'"' import enum class matrix_class(enum.Enum): CAN = 1 FLEXRAY = 2 SOMEIP = 3 @attr.s(eq=False) class CanMatrix(object): """ The Can-Matrix-Object attributes (global canmatrix-attributes), ecus (list of ECUs), frames (list of Frames) signal_defines (list of signal-attribute types) frame_defines (list of frame-attribute types) ecu_defines (list of ECU-attribute types) global_defines (list of global attribute types) value_tables (global defined values) """ type = attr.ib(default=matrix_class.CAN) #type: matrix_class attributes = attr.ib(factory=dict) # type: typing.MutableMapping[str, typing.Any] ecus = attr.ib(factory=list) # type: typing.MutableSequence[Ecu] frames = attr.ib(factory=list) # type: typing.MutableSequence[Frame] signal_defines = attr.ib(factory=dict) # type: typing.MutableMapping[str, Define] frame_defines = attr.ib(factory=dict) # type: typing.MutableMapping[str, Define] global_defines = attr.ib(factory=dict) # type: typing.MutableMapping[str, Define] env_defines = attr.ib(factory=dict) # type: typing.MutableMapping[str, Define] ecu_defines = attr.ib(factory=dict) # type: typing.MutableMapping[str, Define] value_tables = attr.ib(factory=dict) # type: typing.MutableMapping[str, typing.MutableMapping] env_vars = attr.ib(factory=dict) # type: typing.MutableMapping[str, typing.MutableMapping] signals = attr.ib(factory=list) # type: typing.MutableSequence[Signal] baudrate = attr.ib(default=0) # type:int fd_baudrate = attr.ib(default=0) # type:int load_errors = attr.ib(factory=list) # type: typing.MutableSequence[Exception] def __iter__(self): # type: () -> typing.Iterator[Frame] """Matrix iterates over Frames (Messages).""" return iter(self.frames) def add_env_var(self, name, envVarDict): # type: (str, typing.MutableMapping) -> None self.env_vars[name] = envVarDict def add_env_attribute(self, env_name, attribute_name, attribute_value): # type: (str, str, typing.Any) -> None if env_name in self.env_vars: if not "attributes" in self.env_vars[env_name]: self.env_vars[env_name]["attributes"] = dict() self.env_vars[env_name]["attributes"][attribute_name] = attribute_value @property def contains_fd(self): # type: () -> bool for frame in self.frames: if frame.is_fd: return True return False @property def contains_j1939(self): # type: () -> bool """Check whether the Matrix contains any J1939 Frame.""" for frame in self.frames: if frame.is_j1939: return True return False def attribute(self, attributeName, default=None): # type(str, typing.Any) -> typing.Any """Return custom Matrix attribute by name. :param str attributeName: attribute name :param default: default value if given attribute doesn't exist :return: attribute value or default or None if no such attribute found. """ if attributeName in self.attributes: return self.attributes[attributeName] elif attributeName in self.global_defines: define = self.global_defines[attributeName] return define.defaultValue else: return default def add_value_table(self, name, valueTable): # type: (str, typing.Mapping) -> None """Add named value table. :param str name: value table name :param valueTable: value table itself """ self.value_tables[name] = normalize_value_table(valueTable) def add_attribute(self, attribute, value): # type: (str, typing.Any) -> None """ Add attribute to Matrix attribute-list. :param str attribute: attribute name :param value: attribute value """ self.attributes[attribute] = value def add_signal_defines(self, type, definition): """ Add signal-attribute definition to canmatrix. :param str type: signal type :param str definition: signal-attribute string definition, see class Define """ if type not in self.signal_defines: self.signal_defines[type] = Define(definition) def add_frame_defines(self, name, definition): # type: (str, str) -> None """ Add frame-attribute definition to canmatrix. :param str name: frame type :param str definition: frame definition as string """ if name not in self.frame_defines: self.frame_defines[name] = Define(definition) def add_ecu_defines(self, name, definition): # type: (str, str) -> None """ Add Boardunit-attribute definition to canmatrix. :param str name: Boardunit type :param str definition: BU definition as string """ if name not in self.ecu_defines: self.ecu_defines[name] = Define(definition) def add_env_defines(self, name, definition): # type: (str, str) -> None """ Add enviroment variable-attribute definition to canmatrix. :param str name: enviroment variable type :param str definition: enviroment variable definition as string """ if name not in self.env_defines: self.env_defines[name] = Define(definition) def add_global_defines(self, name, definition): # type: (str, str) -> None """ Add global-attribute definition to canmatrix. :param str name: attribute type :param str definition: attribute definition as string """ if name not in self.global_defines: self.global_defines[name] = Define(definition) def add_define_default(self, name, value): # type: (str, typing.Any) -> None if name in self.signal_defines: self.signal_defines[name].set_default(value) if name in self.frame_defines: self.frame_defines[name].set_default(value) if name in self.ecu_defines: self.ecu_defines[name].set_default(value) if name in self.global_defines: self.global_defines[name].set_default(value) def delete_obsolete_ecus(self): # type: () -> None """Delete all unused ECUs """ used_ecus = [ecu for f in self.frames for ecu in f.transmitters] used_ecus += [ecu for f in self.frames for ecu in f.receivers] used_ecus += [ecu for f in self.frames for s in f.signals for ecu in s.receivers] used_ecus += [ecu for s in self.signals for ecu in s.receivers] ecus_to_delete = [ecu.name for ecu in self.ecus if ecu.name not in used_ecus] for ecu in ecus_to_delete: self.del_ecu(ecu) def delete_obsolete_defines(self): # type: () -> None """Delete all unused Defines. Delete them from frame_defines, ecu_defines and signal_defines. """ defines_to_delete = set() # type: typing.Set[str] for frameDef in self.frame_defines: for frame in self.frames: if frameDef in frame.attributes: break else: defines_to_delete.add(frameDef) for element in defines_to_delete: del self.frame_defines[element] defines_to_delete = set() for ecu_define in self.ecu_defines: for ecu in self.ecus: if ecu_define in ecu.attributes: break else: defines_to_delete.add(ecu_define) for element in defines_to_delete: del self.ecu_defines[element] defines_to_delete = set() for signal_define in self.signal_defines: for frame in self.frames: for signal in frame.signals: if signal_define in signal.attributes: break else: defines_to_delete.add(signal_define) for element in defines_to_delete: del self.signal_defines[element] def frame_by_id(self, arbitration_id): # type: (ArbitrationId) -> typing.Union[Frame, None] """Get Frame by its arbitration id. :param ArbitrationId arbitration_id: Frame id as canmatrix.ArbitrationId :rtype: Frame or None """ for test in self.frames: if test.arbitration_id == arbitration_id: # found ID while ignoring extended or standard return test return None def frame_by_pgn(self, pgn): # type: (int) -> typing.Union[Frame, None] """Get Frame by pgn (j1939). :param int pgn: pgn to search for :rtype: Frame or None """ for test in self.frames: if test.arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(pgn).pgn: # canmatrix.ArbitrationId.from_pgn(pgn).pgn instead # of just pgn is needed to do the pf >= 240 check return test return None def frame_by_name(self, name): # type: (str) -> typing.Union[Frame, None] """Get Frame by name. :param str name: Frame name to search for :rtype: Frame or None """ for test in self.frames: if test.name == name: return test return None def glob_frames(self, globStr): # type: (str) -> typing.List[Frame] """Find Frames by given glob pattern. :param str globStr: glob pattern to filter Frames. See `fnmatch.fnmatchcase`. :rtype: list of Frame """ return_array = [] for test in self.frames: if fnmatch.fnmatchcase(test.name, globStr): return_array.append(test) return return_array def ecu_by_name(self, name): # type: (str) -> typing.Union[Ecu, None] """ Returns Boardunit by Name. :param str name: BoardUnit name :rtype: Ecu or None """ for test in self.ecus: if test.name == name: return test return None def glob_ecus(self, globStr): # type: (str) -> typing.List[Ecu] """ Find ECUs by given glob pattern. :param globStr: glob pattern to filter BoardUnits. See `fnmatch.fnmatchcase`. :rtype: list of Ecu """ return_array = [] for test in self.ecus: if fnmatch.fnmatchcase(test.name, globStr): return_array.append(test) return return_array def add_frame(self, frame): # type: (Frame) -> Frame """Add the Frame to the Matrix. :param Frame frame: Frame to add :return: the inserted Frame """ self.frames.append(frame) return self.frames[len(self.frames) - 1] def remove_frame(self, frame): # type: (Frame) -> None """Remove the Frame from Matrix. :param Frame frame: frame to remove from CAN Matrix """ self.frames.remove(frame) def add_signal(self, signal): # type: (Signal) -> Signal """ Add Signal to Frame. :param Signal signal: Signal to be added. :return: the signal added. """ self.signals.append(signal) return self.signals[len(self.signals) - 1] def remove_signal(self, signal): # type: (Signal) -> None """Remove the Frame from Matrix. :param Signal signal: frame to remove from CAN Matrix """ self.signals.remove(signal) def delete_zero_signals(self): # type: () -> None """Delete all signals with zero bit width from all Frames.""" for frame in self.frames: for signal in frame.signals: if 0 == signal.size: frame.signals.remove(signal) def del_signal_attributes(self, unwanted_attributes): # type: (typing.Sequence[str]) -> None """Delete Signal attributes from all Signals of all Frames. :param list of str unwanted_attributes: List of attributes to remove """ for frame in self.frames: for signal in frame.signals: for attrib in unwanted_attributes: signal.del_attribute(attrib) def del_frame_attributes(self, unwanted_attributes): # type: (typing.Sequence[str]) -> None """Delete Frame attributes from all Frames. :param list of str unwanted_attributes: List of attributes to remove """ for frame in self.frames: for attrib in unwanted_attributes: frame.del_attribute(attrib) def recalc_dlc(self, strategy): # type: (str) -> None """Recompute DLC of all Frames. :param str strategy: selected strategy, "max" or "force". """ for frame in self.frames: if "max" == strategy: frame.calc_dlc() if "force" == strategy: maxBit = 0 for sig in frame.signals: if sig.get_startbit() + int(sig.size) > maxBit: maxBit = sig.get_startbit() + int(sig.size) max_byte = (maxBit + 7) // 8 if frame.is_pdu_container: max_byte *= len(frame.pdus) for pdu in self.pdus: max_byte += pdu.size frame.size = max_byte def rename_ecu(self, ecu_or_name, new_name): # type: (typing.Union[Ecu, str], str) -> None """Rename ECU in the Matrix. Update references in all Frames. :param str or Ecu ecu_or_name: old name or ECU instance :param str new_name: new name """ ecu = ecu_or_name if isinstance(ecu_or_name, Ecu) else self.ecu_by_name(ecu_or_name) if ecu is None: return old_name = ecu.name ecu.name = new_name for frame in self.frames: if old_name in frame.transmitters: frame.transmitters.remove(old_name) frame.add_transmitter(new_name) for signal in frame.signals: if old_name in signal.receivers: signal.receivers.remove(old_name) signal.add_receiver(new_name) frame.update_receiver() def add_ecu(self, ecu): # type(Ecu) -> None # todo return Ecu? """Add new ECU to the Matrix. Do nothing if ecu with the same name already exists. :param Ecu ecu: ECU name to add """ for bu in self.ecus: if bu.name.strip() == ecu.name: return self.ecus.append(ecu) def del_ecu(self, ecu_or_glob): # type: (typing.Union[Ecu, str]) -> None """Remove ECU from Matrix and all Frames. :param str or Ecu ecu_or_glob: ECU instance or glob pattern to remove from list """ ecu_list = [ecu_or_glob] if isinstance(ecu_or_glob, Ecu) else self.glob_ecus(ecu_or_glob) for ecu in ecu_list: if ecu in self.ecus: self.ecus.remove(ecu) for frame in self.frames: frame.del_transmitter(ecu.name) for signal in frame.signals: signal.del_receiver(ecu.name) frame.update_receiver() def update_ecu_list(self): # type: () -> None """Check all Frames and add unknown ECUs to the Matrix ECU list.""" for frame in self.frames: for transmit_ecu in frame.transmitters: self.add_ecu(Ecu(transmit_ecu)) frame.update_receiver() for signal in frame.signals: for receive_ecu in signal.receivers: self.add_ecu(Ecu(receive_ecu)) def rename_frame(self, frame_or_name, new_name): # type: (typing.Union[Frame,str], str) -> None """Rename Frame. :param Frame or str frame_or_name: Old Frame instance or name or part of the name with '*' at the beginning or the end. :param str new_name: new Frame name, suffix or prefix """ old_name = frame_or_name.name if isinstance(frame_or_name, Frame) else frame_or_name for frame in self.frames: if old_name[-1] == '*': old_prefix_len = len(old_name)-1 if frame.name[:old_prefix_len] == old_name[:-1]: frame.name = new_name + frame.name[old_prefix_len:] if old_name[0] == '*': old_suffix_len = len(old_name)-1 if frame.name[-old_suffix_len:] == old_name[1:]: frame.name = frame.name[:-old_suffix_len] + new_name elif frame.name == old_name: frame.name = new_name def del_frame(self, frame_or_name): # type: (typing.Union[Frame, str]) -> None """Delete Frame from Matrix. :param Frame or str frame_or_name: Frame or name to delete""" frame = frame_or_name if isinstance(frame_or_name, Frame) else self.frame_by_name(frame_or_name) if frame: self.frames.remove(frame) def rename_signal(self, signal_or_name, new_name): # type: (typing.Union[Signal, str], str) -> None """Rename Signal. :param Signal or str signal_or_name: Old Signal instance or name or part of the name with '*' at the beginning or the end. :param str new_name: new Signal name, suffix or prefix """ old_name = signal_or_name.name if isinstance(signal_or_name, Signal) else signal_or_name for frame in self.frames: if old_name[-1] == '*': old_prefix_len = len(old_name) - 1 for signal in frame.signals: if signal.name[:old_prefix_len] == old_name[:-1]: signal.name = new_name + signal.name[old_prefix_len:] elif old_name[0] == '*': old_suffix_len = len(old_name) - 1 for signal in frame.signals: if signal.name[-old_suffix_len:] == old_name[1:]: signal.name = signal.name[:-old_suffix_len] + new_name else: signal_found = frame.signal_by_name(old_name) if signal_found: signal_found.name = new_name def del_signal(self, signal): # type: (typing.Union[Signal, str]) -> None """Delete Signal from Matrix and all Frames. :param Signal or str signal: Signal instance or glob pattern to be deleted""" if isinstance(signal, Signal): for frame in self.frames: if signal in frame.signals: frame.signals.remove(signal) else: for frame in self.frames: signal_list = frame.glob_signals(signal) for sig in signal_list: frame.signals.remove(sig) def add_signal_receiver(self, globFrame, globSignal, ecu): # type: (str, str, str) -> None """Add Receiver to all Frames and Signals by glob pattern. :param str globFrame: glob pattern for Frame name. :param str globSignal: glob pattern for Signal name. Only signals under globFrame are filtered. :param str ecu: Receiver ECU name """ frames = self.glob_frames(globFrame) for frame in frames: for signal in frame.glob_signals(globSignal): signal.add_receiver(ecu) frame.update_receiver() def del_signal_receiver(self, globFrame, globSignal, ecu): # type: (str, str, str) -> None """Delete Receiver from all Frames by glob pattern. :param str globFrame: glob pattern for Frame name. :param str globSignal: glob pattern for Signal name. Only signals under globFrame are filtered. :param str ecu: Receiver ECU name """ frames = self.glob_frames(globFrame) for frame in frames: for signal in frame.glob_signals(globSignal): signal.del_receiver(ecu) frame.update_receiver() def add_frame_transmitter(self, globFrame, ecu): # type: (str, str) -> None """Add Transmitter to all Frames by glob pattern. :param str globFrame: glob pattern for Frame name. :param str ecu: Receiver ECU name """ frames = self.glob_frames(globFrame) for frame in frames: frame.add_transmitter(ecu) def add_frame_receiver(self, globFrame, ecu): # type: (str, str) -> None """Add Receiver to all Frames by glob pattern. :param str globFrame: glob pattern for Frame name. :param str ecu: Receiver ECU name """ frames = self.glob_frames(globFrame) for frame in frames: for signal in frame.signals: signal.add_receiver(ecu) def del_frame_transmitter(self, globFrame, ecu): # type: (str, str) -> None """Delete Transmitter from all Frames by glob pattern. :param str globFrame: glob pattern for Frame name. :param str ecu: Receiver ECU name """ frames = self.glob_frames(globFrame) for frame in frames: frame.del_transmitter(ecu) def merge(self, mergeArray): # type: (typing.Sequence[CanMatrix]) -> None """Merge multiple Matrices to this Matrix. Try to copy all Frames and all environment variables from source Matrices. Don't make duplicates. Log collisions. :param list of Matrix mergeArray: list of source CAN Matrices to be merged to to self. """ for dbTemp in mergeArray: # type: CanMatrix for frame in dbTemp.frames: copyResult = canmatrix.copy.copy_frame(frame.arbitration_id, dbTemp, self) if copyResult is False: logger.error( "ID Conflict, could not copy/merge frame " + frame.name + " %xh " % frame.arbitration_id.id + self.frame_by_id(frame.arbitration_id).name ) for envVar in dbTemp.env_vars: if envVar not in self.env_vars: self.add_env_var(envVar, dbTemp.env_vars[envVar]) else: logger.error( "Name Conflict, could not copy/merge EnvVar " + envVar) def set_fd_type(self): # type: () -> None """Try to guess and set the CAN type for every frame. If a Frame is longer than 8 bytes, it must be Flexible Data Rate frame (CAN-FD). If not, the Frame type stays unchanged. """ for frame in self.frames: if frame.size > 8: frame.is_fd = True def encode(self, frame_id, data): # type: (ArbitrationId, typing.Mapping[str, typing.Any]) -> bytes """Return a byte string containing the values from data packed according to the frame format. :param frame_id: frame id :param data: data dictionary :return: A byte string of the packed values. """ return self.frame_by_id(frame_id).encode(data) def decode_pycan(self, pycan_msg): """Return OrderedDictionary with Signal Name: object decodedSignal :param pycan_msg: python-can message :return: OrderedDictionary """ canmatrix_arbitration_id = canmatrix.ArbitrationId(pycan_msg.arbitration_id, extended=pycan_msg.is_extended_id) return self.decode(canmatrix_arbitration_id, pycan_msg.data) def decode(self, frame_id, data): # type: (ArbitrationId, bytes) -> typing.Mapping[str, typing.Any] """Return OrderedDictionary with Signal Name: object decodedSignal :param frame_id: frame id :param data: Iterable or bytes. i.e. (0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8) :return: OrderedDictionary """ if not self.contains_j1939: return self.frame_by_id(frame_id).decode(data) elif frame_id.extended: frame = self.frame_by_id(frame_id) if frame is None: frame = self.frame_by_pgn(frame_id.pgn) if frame: return frame.decode(data) else: return {} else: return {} def enum_attribs_to_values(self): # type: () -> None for define in self.ecu_defines: if self.ecu_defines[define].type == "ENUM": for bu in self.ecus: if define in bu.attributes: bu.attributes[define] = self.ecu_defines[define].values[int(bu.attributes[define])] for define in self.frame_defines: if self.frame_defines[define].type == "ENUM": for frame in self.frames: if define in frame.attributes: frame.attributes[define] = self.frame_defines[define].values[int(frame.attributes[define])] for define in self.signal_defines: if self.signal_defines[define].type == "ENUM": for frame in self.frames: for signal in frame.signals: if define in signal.attributes: signal.attributes[define] = self.signal_defines[define].values[int(signal.attributes[define])] def enum_attribs_to_keys(self): # type: () -> None for define in self.ecu_defines: if self.ecu_defines[define].type == "ENUM": for bu in self.ecus: if define in bu.attributes: if len(bu.attributes[define]) > 0: bu.attributes[define] = self.ecu_defines[define].values.index(bu.attributes[define]) bu.attributes[define] = str(bu.attributes[define]) for define in self.frame_defines: if self.frame_defines[define].type == "ENUM": for frame in self.frames: if define in frame.attributes: if len(frame.attributes[define]) > 0: frame.attributes[define] = self.frame_defines[define].values.index(frame.attributes[define]) frame.attributes[define] = str(frame.attributes[define]) for define in self.signal_defines: if self.signal_defines[define].type == "ENUM": for frame in self.frames: for signal in frame.signals: if define in signal.attributes: signal.attributes[define] = self.signal_defines[define].values.index(signal.attributes[define]) signal.attributes[define] = str(signal.attributes[define]) canmatrix-0.9.5/src/canmatrix/cli/000077500000000000000000000000001416730473300170475ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/cli/__init__.py000066400000000000000000000000001416730473300211460ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/cli/compare.py000066400000000000000000000105171416730473300210530ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import logging import sys import typing from builtins import * import click import canmatrix.compare logger = logging.getLogger(__name__) @click.command() @click.option('-v', '--verbose', 'verbosity', help="Output verbosity", count=True, default=1) @click.option('-s', '--silent', is_flag=True, default=False, help="don't print status messages to stdout. (only errors)") @click.option('-f', '--frames', is_flag=True, default=False, help="show list of frames") @click.option('-c', '--comments', 'check_comments', is_flag=True, default=False, help="look for changed comments") @click.option('-a', '--attributes', 'check_attributes', is_flag=True, default=False, help="look for changed attributes") @click.option('-t', '--valueTable', 'ignore_valuetables', is_flag=True, default=False, help="ignore changed valuetables") @click.argument('matrix1', required=True) @click.argument('matrix2', required=True) def cli_compare(matrix1, matrix2, verbosity, silent, check_comments, check_attributes, ignore_valuetables, frames): """ canmatrix.cli.compare [options] matrix1 matrix2 matrixX can be any of *.dbc|*.dbf|*.kcd|*.arxml|*.xls(x)|*.sym """ import canmatrix.log root_logger = canmatrix.log.setup_logger() if silent: # Only print ERROR messages (ignore import warnings) verbosity = -1 canmatrix.log.set_log_level(root_logger, verbosity) # import only after setting log level, to also disable warning messages in silent mode. import canmatrix.formats # due this import we need the import alias for log module logger.info("Importing " + matrix1 + " ... ") db1 = canmatrix.formats.loadp_flat(matrix1) logger.info("%d Frames found" % (db1.frames.__len__())) logger.info("Importing " + matrix2 + " ... ") db2 = canmatrix.formats.loadp_flat(matrix2) logger.info("%d Frames found" % (db2.frames.__len__())) ignore = {} # type: typing.Dict[str, typing.Union[str, bool]] if not check_comments: ignore["comment"] = "*" if not check_attributes: ignore["ATTRIBUTE"] = "*" if ignore_valuetables: ignore["VALUETABLES"] = True if frames: only_in_matrix1 = [ frame.name for frame in db1.frames if db2.frame_by_name(frame.name) is None ] only_in_matrix2 = [ frame.name for frame in db2.frames if db1.frame_by_name(frame.name) is None ] print("Frames only in " + matrix1 + ": " + " ".join(only_in_matrix1)) print("Frames only in " + matrix2 + ": " + " ".join(only_in_matrix2)) else: # ignore["ATTRIBUTE"] = "*" # ignore["DEFINE"] = "*" obj = canmatrix.compare.compare_db(db1, db2, ignore) canmatrix.compare.dump_result(obj) return 0 # to be run as module `python -m canmatrix.compare`, NOT as script with argument `canmatrix/compare.py` if __name__ == '__main__': sys.exit(cli_compare()) canmatrix-0.9.5/src/canmatrix/cli/convert.py000066400000000000000000000315761416730473300211150ustar00rootroot00000000000000#!/usr/bin/env python3 # -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import logging import sys import click import canmatrix.convert import canmatrix.log logger = logging.getLogger(__name__) def get_formats(): input = "" output = "" for suppFormat, features in canmatrix.formats.supportedFormats.items(): if 'load' in features: input += suppFormat + "\n" if 'dump' in features: output += suppFormat + "\n" return (input, output) @click.command() # global switches @click.option('-v', '--verbose', 'verbosity', count=True, default=1) @click.option('-s', '--silent/--no-silent', is_flag=True, default=False, help="don't print status messages to stdout. (only errors)") @click.option('-f', '--force_output', help="enforce output format, ignoring output file extension (e.g., -f csv).\nSupported formats for writing:\n" + get_formats()[1]) @click.option('-i', '--input_format', 'import_type', help="give hint for input format\nSupported formats for reading:\n" + get_formats()[0]) @click.option('--ignoreEncodingErrors/--no-ignoreEncodingErrors', 'ignoreEncodingErrors', default=False, help="ignore character encoding errors during export (dbc,dbf,sym)") # manipulation and filter switches @click.option('--deleteObsoleteDefines/--no-deleteObsoleteDefines', 'deleteObsoleteDefines', default=False, help="delete defines from all ECUs, frames and Signals\nExample --deleteObsoleteDefines") @click.option('--deleteEcu', 'deleteEcu', help="delete Ecu form databases. (comma separated list)\nSyntax: --deleteEcu=myEcu,mySecondEcu") @click.option('--deleteObsoleteEcus/--no-deleteObsoleteEcus', 'deleteObsoleteEcus', default=False, help="delete ECUs which are not references as transmitter or receiver\nExample --deleteObsoleteEcus") @click.option('--renameEcu', 'renameEcu', help="rename Ecu form databases. (comma separated list)\nSyntax: --renameEcu=myOldEcu:myNewEcu,mySecondEcu:mySecondNewEcu") @click.option('--deleteSignal', 'deleteSignal', help="delete Signal form databases. (comma separated list)\nSyntax: --deleteSignal=mySignal1,mySecondSignal") @click.option('--renameSignal', 'renameSignal', help="rename Signal form databases. (comma separated list)\nSyntax: --renameSignal=myOldSignal:myNewSignal,mySecondSignal:mySecondNewSignal") @click.option('--signalNameFromAttrib', 'signalNameFromAttrib', help="change signal_name to given signal attribute\n\ Example --signalNameFromAttrib SysSignalName\nARXML known Attributes: SysSignalName, ISignalName, CompuMethodName", default=None) @click.option('--deleteZeroSignals/--no-deleteZeroSignals', 'deleteZeroSignals', default=False, help="delete zero length signals (signals with 0 bit length) from matrix\ndefault False") @click.option('--deleteSignalAttributes', 'deleteSignalAttributes', help="delete attributes from all signals\nExample --deleteSignalAttributes GenMsgSomeVar,CycleTime") @click.option('--deleteFrame', 'deleteFrame', help="delete Frame form databases. (comma separated list)\nSyntax: --deleteFrame=myFrame1,mySecondFrame") @click.option('--renameFrame', 'renameFrame', help="increment each frame.id in database by increment\nSyntax: --frameIdIncrement=increment") @click.option('--addFrameReceiver', 'addFrameReceiver', help="add receiver Ecu to frame(s) (comma separated list)\nSyntax: --addFrameReceiver=framename:myNewEcu,mySecondEcu:myNEWEcu") @click.option('--changeFrameId', 'changeFrameId', help="change frame.id in database\nSyntax: --changeFrameId=oldId:newId") @click.option('--setFrameFd', 'setFrameFd', help="set Frame from database to canfd. (comma separated list)\nSyntax: --setFrameFd=myFrame1,mySecondFrame") @click.option('--unsetFrameFd', 'unsetFrameFd', help="set Frame from database to normal (not FD). (comma separated list)\nSyntax: --unsetFrameFd=myFrame1,mySecondFrame") @click.option('--recalcDLC', 'recalcDLC', help="recalculate dlc; max: use maximum of stored and calculated dlc; force: force new calculated dlc") @click.option('--skipLongDlc', 'skipLongDlc', help="skip all Frames with dlc bigger than given threshold") @click.option('--cutLongFrames', 'cutLongFrames', help="cut all signals out of Frames with dlc bigger than given threshold") @click.option('--deleteFrameAttributes', 'deleteFrameAttributes', help="delete attributes from all frames\nExample --deleteFrameAttributes GenMsgSomeVar,CycleTime") @click.option('--ecus', help="Copy only given ECUs (comma separated list) to target matrix; suffix 'rx' or 'tx' for selection: Example: --ecus FirstEcu:rx,SecondEcu:tx,ThirdEcu") @click.option('--frames', help="Copy only given Frames (comma separated list) to target matrix") @click.option('--signals', help="Copy only given Signals (comma separated list) to target matrix just as 'free' signals without containing frame") @click.option('--merge', help="merge additional can databases.\nSyntax: --merge filename[:ecu=SOMEECU][:frame=FRAME1][:frame=FRAME2],filename2") @click.option('--ignorePduContainer/--no-ignorePduContainer', 'ignorePduContainer', default = False, help="Ignore any Frame with PDU container; if no export as multiplexed Frames\ndefault False") @click.option('--calcSignalMax/--no-calcSignalMax', 'calcSignalMax', default = False, help="Calculate Signals Maximum Physical Value; If maximum value is set to 0\ndefault False") @click.option('--recalcSignalMax/--no-recalcSignalMax', 'recalcSignalMax', default = False, help="Recalculate Signals Maximum Physical Value for the entire database\ndefault False") @click.option('--deleteFloatingSignals/--no-deleteFloatingSignals', 'deleteFloatingSignals', default = False, help="if deleteFloatingSignals is set , then unassigned signals to a frame/message will be deleted \tdefault: False") #Frame/Signal Check switches @click.option('--checkFloatingFrames/--no-checkFloatingFrames', 'checkFloatingFrames', default = False, help="if checkFloatingFrames is set, CAN message/frame without sender node will be warned .\tdefault: False") @click.option('--checkSignalRange/--no-checkSignalRange', 'checkSignalRange', default = False, help="if checkSignalRange is set, then signals consisting raw min/max value set to 0 will be warned. \tdefault: False ") @click.option('--checkSignalUnit/--no-checkSignalUnit', 'checkSignalUnit', default = False, help="if checkSignalUnit is set , then signals without units and value table will be warned. \tdefault: False") @click.option('--checkSignalReceiver/--no-checkSignalReceiver', 'checkSignalReceiver', default = False, help="if checkSignalReceiver is set, then signals without an assigned Receiver will be warned \tdefault: False") @click.option('--checkFloatingSignals/--no-checkFloatingSignals', 'checkFloatingSignals', default = False, help="if checkFloatingSignals is set, then unassigned signals to a frame/message will be warned \tdefault: False") # arxml switches @click.option('--arxmlIgnoreClusterInfo/--no-arxmlIgnoreClusterInfo', 'arxmlIgnoreClusterInfo', default=False, help="Ignore any can cluster info from arxml; Import all frames in one matrix\ndefault False") @click.option('--arxmlExportVersion', 'arVersion', default="3.2.3", help="Set output AUTOSAR version\ncurrently only 3.2.3 and 4.1.0 are supported\ndefault 3.2.3") @click.option('--arxmlFlexray/--no-arxmlFlexray', 'decode_flexray', default = False, help="EXPERIMENTAL: import basic flexray data from ARXML") @click.option('--arxmlEthernet/--no-arxmlEthernet', 'decode_ethernet', default = False, help="EXPERIMENTAL: import basic ethernet data from ARXML") # dbc switches @click.option('--dbcImportEncoding', 'dbcImportEncoding', default="iso-8859-1", help="Import charset of dbc (relevant for units), maybe utf-8\ndefault iso-8859-1") @click.option('--dbcImportCommentEncoding', 'dbcImportCommentEncoding', default="iso-8859-1", help="Import charset of Comments in dbc\ndefault iso-8859-1") @click.option('--dbcExportEncoding', 'dbcExportEncoding', default="iso-8859-1", help="Export charset of dbc (relevant for units), maybe utf-8\ndefault iso-8859-1") @click.option('--dbcExportCommentEncoding', 'dbcExportCommentEncoding', default="iso-8859-1", help="Export charset of comments in dbc\ndefault iso-8859-1") @click.option('--dbcUniqueSignalNames/--no-dbcUniqueSignalNames', 'dbcUniqueSignalNames', default=True, help="Check if signal names are unique per frame") @click.option('--convertToExtended/--no-convertToExtended', 'convertToExtended', default = False, help="if convertToExtended is set , then the canmatrix will convert the dbc to extended format \tdefault: False") @click.option('--convertToJ1939/--no-convertToJ1939', 'convertToJ1939', default = False, help="if convertToJ1939 is set , then the canmatrix will convert the dbc to J1939 format \tdefault: False") # dbf switches @click.option('--dbfImportEncoding', 'dbfImportEncoding', default="iso-8859-1", help="Import charset of dbf, maybe utf-8\ndefault iso-8859-1") @click.option('--dbfExportEncoding', 'dbfExportEncoding', default="iso-8859-1", help="Export charset of dbf, maybe utf-8\ndefault iso-8859-1") # sym switches @click.option('--symImportEncoding', 'symImportEncoding', default="iso-8859-1", help="Import charset of sym format, maybe utf-8\ndefault iso-8859-1") @click.option('--symExportEncoding', 'symExportEncoding', default="iso-8859-1", help="Export charset of sym format, maybe utf-8\ndefault iso-8859-1") # xls/csv switches @click.option('--xlsMotorolaBitFormat', 'xlsMotorolaBitFormat', default="msbreverse", help="Excel format for startbit of motorola codescharset signals\nValid values: msb, lsb, msbreverse\n default msbreverse") @click.option('--additionalFrameAttributes', 'additionalFrameAttributes', default="", help="append columns to csv/xls(x), example: is_fd") @click.option('--additionalSignalAttributes', 'additionalSignalAttributes', default="", help="append columns to csv/xls(x), example: is_signed,attributes[\"GenSigStartValue\"]") @click.option('--xlsValuesInSeperateLines/--no-xlsValuesInSeperateLines', 'xlsValuesInSeperateLines', default = False, help="Excel format: create seperate line for each value of signal value table\tdefault: False") # json switches @click.option('--jsonExportCanard/--no-jsonExportCanard', 'jsonExportCanard', default=False, help="Export Canard compatible json format") @click.option('--jsonExportAll/--no-jsonExportAll', 'jsonExportAll', default=False, help="Export more data to json format") @click.option('--jsonMotorolaBitFormat', 'jsonMotorolaBitFormat', default="lsb", help="Json format: startbit of motorola signals\nValid values: msb, lsb, msbreverse\n default lsb") @click.option('--jsonNativeTypes/--no-jsonNativeTypes', 'jsonNativeTypes', default=False, help="Uses native json representation for decimals instead of string.") #sym switches @click.option('--symExportEncoding', 'symExportEncoding', default="iso-8859-1", help="Export charset of sym format, maybe utf-8\ndefault iso-8859-1") # in and out file @click.argument('infile', required=True) @click.argument('outfile', required=True) # def cli_convert(infile, outfile, silent, verbosity, **options): """ canmatrix.cli.convert [options] import-file export-file import-file: *.dbc|*.dbf|*.kcd|*.arxml|*.json|*.xls(x)|*.sym export-file: *.dbc|*.dbf|*.kcd|*.arxml|*.json|*.xls(x)|*.sym|*.py \n""" root_logger = canmatrix.log.setup_logger() if silent is True: # only print error messages, ignore verbosity flag verbosity = -1 options["silent"] = True canmatrix.log.set_log_level(root_logger, verbosity) if options["ignoreEncodingErrors"]: options["ignoreEncodingErrors"] = "ignore" else: options["ignoreEncodingErrors"] = "strict" canmatrix.convert.convert(infile, outfile, **options) return 0 if __name__ == '__main__': sys.exit(cli_convert()) canmatrix-0.9.5/src/canmatrix/compare.py000066400000000000000000000443621416730473300203110ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import logging import sys import typing from builtins import * import attr import canmatrix logger = logging.getLogger(__name__) ConfigDict = typing.Optional[typing.Mapping[str, typing.Union[str, bool]]] WithAttribute = typing.TypeVar("WithAttribute", canmatrix.CanMatrix, canmatrix.Ecu, canmatrix.Frame, canmatrix.Signal) @attr.s class CompareResult(object): """Hold comparison results in logical tree.""" result = attr.ib(default=None) # type: typing.Optional[str] # any of equal, added, deleted, changed type = attr.ib(default=None) # type: typing.Optional[str] # db, ecu, frame, signal, signalGroup or attribute ref = attr.ib(default=None) # type: typing.Any # reference to related object changes = attr.ib(default=None) # type: typing.Optional[typing.List] _children = attr.ib(factory=list) # type: typing.List[CompareResult] # nested CompareResults def add_child(self, child): # type: (CompareResult) -> None self._children.append(child) @property def children(self): # type: () -> typing.List[CompareResult] return self._children def propagate_changes(res): # type: (CompareResult) -> int change = 0 for child in res.children: change += propagate_changes(child) if change != 0: res.result = "changed" if res.result != "equal": return 1 else: return 0 def compare_db(db1, db2, ignore=None): # type: (canmatrix.CanMatrix, canmatrix.CanMatrix, ConfigDict) -> CompareResult result = CompareResult() if ignore is None: ignore = dict() for f1 in db1.frames: f2 = db2.frame_by_name(f1.name) f2id = db2.frame_by_id(f1.arbitration_id) if f2 is None: if f2id is None: result.add_child(CompareResult("deleted", "FRAME", f1)) else: result.add_child(compare_frame(f1, f2id, ignore)) else: result.add_child(compare_frame(f1, f2, ignore)) for f2 in db2.frames: f1 = db1.frame_by_name(f2.name) f1id = db1.frame_by_id(f2.arbitration_id) if f1id is None and f1 is None: result.add_child(CompareResult("added", "FRAME", f2)) if "ATTRIBUTE" in ignore and ignore["ATTRIBUTE"] == "*": pass else: result.add_child(compare_attributes(db1, db2, ignore)) for ecu1 in db1.ecus: ecu2 = db2.ecu_by_name(ecu1.name) if ecu2 is None: result.add_child(CompareResult("deleted", "ecu", ecu1)) else: result.add_child(compare_ecu(ecu1, ecu2, ignore)) for ecu2 in db2.ecus: ecu1 = db1.ecu_by_name(ecu2.name) if ecu1 is None: result.add_child(CompareResult("added", "ecu", ecu2)) if "DEFINE" in ignore and ignore["DEFINE"] == "*": pass else: result.add_child( compare_define_list( db1.global_defines, db2.global_defines)) temp = compare_define_list(db1.ecu_defines, db2.ecu_defines) temp.type = "ECU Defines" result.add_child(temp) temp = compare_define_list(db1.frame_defines, db2.frame_defines) temp.type = "Frame Defines" result.add_child(temp) temp = compare_define_list(db1.signal_defines, db2.signal_defines) temp.type = "Signal Defines" result.add_child(temp) if "VALUETABLES" in ignore and ignore["VALUETABLES"]: pass else: for vt1 in db1.value_tables: if vt1 not in db2.value_tables: result.add_child( CompareResult( "deleted", "valuetable " + vt1, db1.value_tables)) else: result.add_child( compare_value_table( db1.value_tables[vt1], db2.value_tables[vt1])) for vt2 in db2.value_tables: if vt2 not in db1.value_tables: result.add_child( CompareResult( "added", "valuetable " + vt2, db2.value_tables)) propagate_changes(result) return result def compare_value_table(vt1, vt2): # type: (typing.Mapping, typing.Mapping) -> CompareResult result = CompareResult("equal", "Valuetable", vt1) for value in vt1: if value not in vt2: result.add_child( CompareResult( "removed", "Value " + str(value), vt1[value])) elif vt1[value] != vt2[value]: result.add_child(CompareResult("changed", "Value " + str(value) + " " + str(vt1[value].encode('ascii', 'ignore')), [vt1[value], vt2[value]])) for value in vt2: if value not in vt1: result.add_child( CompareResult( "added", "Value " + str(value), vt2[value])) return result def compare_signal_group(sg1, sg2): # type: (canmatrix.SignalGroup, canmatrix.SignalGroup) -> CompareResult result = CompareResult("equal", "SignalGroup", sg1) if sg1.name != sg2.name: result.add_child( CompareResult( "changed", "SignalName", [ sg1.name, sg2.name])) if sg1.id != sg2.id: result.add_child(CompareResult( "changed", "SignalName", [str(sg1.id), str(sg2.id)])) if sg1.signals is None or sg2.signals is None: logger.debug("Strange - sg wo members???") return result for signal in sg1.signals: if sg2.by_name(signal.name) is None: result.add_child(CompareResult("deleted", str(signal.name), signal)) for signal in sg2.signals: if sg1.by_name(signal.name) is None: result.add_child(CompareResult("added", str(signal.name), signal)) return result def compare_define_list(d1list, d2list): # type: (typing.Mapping[str, canmatrix.Define], typing.Mapping[str, canmatrix.Define]) -> CompareResult result = CompareResult("equal", "DefineList", d1list) for definition in d1list: if definition not in d2list: result.add_child( CompareResult( "deleted", "Define" + str(definition), d1list)) else: d2 = d2list[definition] d1 = d1list[definition] if d1.definition != d2.definition: result.add_child( CompareResult( "changed", "Definition", d1.definition, [ d1.definition, d2.definition])) if d1.defaultValue != d2.defaultValue: result.add_child( CompareResult( "changed", "DefaultValue", d1.definition, [ d1.defaultValue, d2.defaultValue])) for definition in d2list: if definition not in d1list: result.add_child( CompareResult( "added", "Define" + str(definition), d2list)) return result def compare_attributes(ele1, ele2, ignore=None): # type: (WithAttribute, WithAttribute, ConfigDict) -> CompareResult if ignore is None: ignore = dict() result = CompareResult("equal", "ATTRIBUTES", ele1) if "ATTRIBUTE" in ignore and ( ignore["ATTRIBUTE"] == "*" or ignore["ATTRIBUTE"] == ele1): return result for attribute in ele1.attributes: if attribute not in ele2.attributes: result.add_child( CompareResult( "deleted", str(attribute), ele1.attributes[attribute])) elif ele1.attributes[attribute] != ele2.attributes[attribute]: result.add_child( CompareResult( "changed", str(attribute), ele1.attributes[attribute], [ ele1.attributes[attribute], ele2.attributes[attribute]])) for attribute in ele2.attributes: if attribute not in ele1.attributes: result.add_child( CompareResult( "added", str(attribute), ele2.attributes[attribute])) return result def compare_ecu(ecu1, ecu2, ignore=None): # type: (canmatrix.Ecu, canmatrix.Ecu, ConfigDict) -> CompareResult if ignore is None: ignore = dict() result = CompareResult("equal", "ECU", ecu1) if "comment" not in ignore: if ecu1.comment != ecu2.comment: result.add_child( CompareResult( "changed", "ECU", ecu1, [ ecu1.comment, ecu2.comment])) if "ATTRIBUTE" in ignore and ignore["ATTRIBUTE"] == "*": pass else: result.add_child(compare_attributes(ecu1, ecu2, ignore)) return result def compare_frame(f1, f2, ignore=None): # type: (canmatrix.Frame, canmatrix.Frame, ConfigDict) -> CompareResult if ignore is None: ignore = dict() result = CompareResult("equal", "FRAME", f1) for s1 in f1: s2 = f2.signal_by_name(s1.name) if not s2: result.add_child(CompareResult("deleted", "SIGNAL", s1)) else: result.add_child(compare_signal(s1, s2, ignore)) if f1.name != f2.name: result.add_child( CompareResult( "changed", "Name", f1, [ f1.name, f2.name])) if f1.size != f2.size: result.add_child( CompareResult( "changed", "dlc", f1, [ "dlc: %d" % f1.size, "dlc: %d" % f2.size])) if f1.arbitration_id.id != f2.arbitration_id.id: result.add_child( CompareResult( "changed", "ID", f1, [ "ID: %xh" % f1.arbitration_id.id, "ID: %xh" % f2.arbitration_id.id])) if f1.arbitration_id.extended != f2.arbitration_id.extended: result.add_child( CompareResult( "changed", "FRAME", f1, [ "extended-Flag: %d" % f1.arbitration_id.extended, "extended-Flag: %d" % f2.arbitration_id.extended])) if "comment" not in ignore: if f2.comment is None: f2.add_comment("") if f1.comment is None: f1.add_comment("") if f1.comment != f2.comment: result.add_child( CompareResult( "changed", "FRAME", f1, [ "comment: " + f1.comment, "comment: " + f2.comment])) for s2 in f2.signals: s1 = f1.signal_by_name(s2.name) if not s1: result.add_child(CompareResult("added", "SIGNAL", s2)) if "ATTRIBUTE" in ignore and ignore["ATTRIBUTE"] == "*": pass else: result.add_child(compare_attributes(f1, f2, ignore)) temp = [str(item) for item in f2.transmitters] for transmitter in f1.transmitters: if transmitter not in temp: result.add_child(CompareResult("removed", "Frame-Transmitter", f1)) temp = [str(item) for item in f1.transmitters] for transmitter in f2.transmitters: if transmitter not in temp: result.add_child(CompareResult("added", "Frame-Transmitter", f2)) for sg1 in f1.signalGroups: sg2 = f2.signal_group_by_name(sg1.name) if sg2 is None: result.add_child(CompareResult("removed", "Signalgroup", sg1)) else: result.add_child(compare_signal_group(sg1, sg2)) for sg2 in f2.signalGroups: if f1.signal_group_by_name(sg2.name) is None: result.add_child(CompareResult("added", "Signalgroup", sg2)) return result def compare_signal(s1, s2, ignore=None): # type: (canmatrix.Signal, canmatrix.Signal, ConfigDict) -> CompareResult if ignore is None: ignore = dict() result = CompareResult("equal", "SIGNAL", s1) if s1.start_bit != s2.start_bit: result.add_child( CompareResult( "changed", "startbit", s1, [ " %d" % s1.start_bit, " %d" % s2.start_bit])) if s1.size != s2.size: result.add_child( CompareResult( "changed", "signalsize", s1, [ " %d" % s1.size, " %d" % s2.size])) if float(s1.factor) != float(s2.factor): result.add_child( CompareResult( "changed", "factor", s1, [ s1.factor, s2.factor])) if float(s1.offset) != float(s2.offset): result.add_child( CompareResult( "changed", "offset", s1, [ s1.offset, s2.offset])) if float(s1.min) != float(s2.min): result.add_child( CompareResult( "changed", "min", s1, [ s1.min, s2.min])) if float(s1.max) != float(s2.max): result.add_child( CompareResult( "changed", "max", s1, [ s1.max, s2.max])) if s1.is_little_endian != s2.is_little_endian: result.add_child( CompareResult( "changed", "is_little_endian", s1, [ " %d" % s1.is_little_endian, " %d" % s2.is_little_endian])) if s1.is_signed != s2.is_signed: result.add_child( CompareResult( "changed", "sign", s1, [ " %d" % s1.is_signed, " %d" % s2.is_signed])) if s1.multiplex != s2.multiplex: result.add_child(CompareResult("changed", "multiplex", s1, [ str(s1.multiplex), str(s2.multiplex)])) if s1.unit != s2.unit: result.add_child( CompareResult( "changed", "unit", s1, [ s1.unit, s2.unit])) if "comment" not in ignore: if s1.comment is not None and s2.comment is not None and s1.comment != s2.comment: if s1.comment.replace("\n", " ") != s2.comment.replace("\n", " "): result.add_child( CompareResult( "changed", "comment", s1, [ s1.comment, s2.comment])) else: result.add_child( CompareResult( "changed", "comment", s1, [ "only whitespaces differ", ""])) for receiver in s1.receivers: if receiver.strip() not in s2.receivers: result.add_child( CompareResult( "removed", "receiver " + receiver, s1.receivers)) for receiver in s2.receivers: if receiver.strip() not in s1.receivers: result.add_child( CompareResult( "added", "receiver " + receiver, s1.receivers)) if "ATTRIBUTE" in ignore and ignore["ATTRIBUTE"] == "*": pass else: result.add_child(compare_attributes(s1, s2, ignore)) if "VALUETABLES" in ignore and ignore["VALUETABLES"]: pass else: result.add_child(compare_value_table(s1.values, s2.values)) return result def dump_result(res, depth=0): # type: (CompareResult, int) -> None if res.type is not None and res.result != "equal": for _ in range(0, depth): print(" ", end=' ') print(res.type + " " + res.result + " ", end=' ') if hasattr(res.ref, 'name'): print(res.ref.name) else: print(" ") if res.changes is not None and res.changes[0] is not None and res.changes[1] is not None: for _ in range(0, depth): print(" ", end=' ') print(type(res.changes[0])) if sys.version_info[0] < 3: if isinstance(res.changes[0], type(u'')): res.changes[0] = res.changes[0].encode('ascii', 'ignore') if isinstance(res.changes[1], type(u'')): res.changes[1] = res.changes[1].encode('ascii', 'ignore') else: if type(res.changes[0]) == str: res.changes[0] = res.changes[0].encode('ascii', 'ignore') if type(res.changes[1]) == str: res.changes[1] = res.changes[1].encode('ascii', 'ignore') print("old: " + str(res.changes[0]) + " new: " + str(res.changes[1])) for child in res.children: dump_result(child, depth + 1)canmatrix-0.9.5/src/canmatrix/convert.py000066400000000000000000000371111416730473300203350ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import copy import logging import sys import typing from builtins import * import canmatrix import canmatrix.copy import canmatrix.formats import canmatrix.log logger = logging.getLogger(__name__) sys.path.append('..') # todo remove? def convert_pdu_container_to_multiplexed(frame): # type: (canmatrix.Frame) -> canmatrix.Frame new_frame = copy.deepcopy(frame) if not frame.is_pdu_container: return new_frame header_id_signal = new_frame.signal_by_name("Header_ID") header_dlc_signal = new_frame.signal_by_name("Header_DLC") if header_id_signal is not None and header_dlc_signal is not None: header_id_signal.multiplex_setter("Multiplexor") bit_offset = header_id_signal.size + header_dlc_signal.size else: bit_offset = 0 for sg_id, pdu in enumerate(new_frame.pdus): mux_val = pdu.id signal_group = [] for signal in pdu.signals: signal.multiplex_setter(mux_val) signal.start_bit += bit_offset signal_group.append(signal.name) new_frame.add_signal(signal) signal_group_name = pdu.name if len(signal_group_name) == 0: signal_group_name = "HEARDER_ID_" + str(mux_val) new_frame.add_signal_group(signal_group_name, sg_id + 1, signal_group) new_frame.pdus = [] return new_frame def convert(infile, out_file_name, **options): # type: (str, str, **str) -> None logger.info("Importing " + infile + " ... ") dbs = canmatrix.formats.loadp(infile, **options) logger.info("done\n") logger.info("Exporting " + out_file_name + " ... ") out_dbs = {} # type: typing.Dict[str, canmatrix.CanMatrix] for name in dbs: db = None if options.get('ecus', False): ecu_list = options['ecus'].split(',') db = canmatrix.CanMatrix() direction = None for ecu in ecu_list: if ":" in ecu: ecu, direction = ecu.split(":") canmatrix.copy.copy_ecu_with_frames(ecu, dbs[name], db, rx=(direction != "tx"), tx=(direction != "rx")) if options.get('frames', False): frame_list = options['frames'].split(',') db = canmatrix.CanMatrix() if db is None else db for frame_name in frame_list: frame_to_copy = dbs[name].frame_by_name(frame_name) canmatrix.copy.copy_frame(frame_to_copy.arbitration_id, dbs[name], db) if options.get('signals', False): signal_list = options['signals'].split(',') db = canmatrix.CanMatrix() if db is None else db for signal_name in signal_list: canmatrix.copy.copy_signal(signal_name, dbs[name], db) if db is None: db = dbs[name] if 'merge' in options and options['merge'] is not None: merge_files = options['merge'].split(',') for database in merge_files: merge_string = database.split(':') db_temp_list = canmatrix.formats.loadp(merge_string[0]) for dbTemp in db_temp_list: if merge_string.__len__() == 1: print("merge complete: " + merge_string[0]) db.merge([db_temp_list[dbTemp]]) # for frame in db_temp_list[dbTemp].frames: # copyResult = canmatrix.copy.copy_frame(frame.id, db_temp_list[dbTemp], db) # if copyResult == False: # logger.error("ID Conflict, could not copy/merge frame " + frame.name + " %xh " % frame.id + database) for mergeOpt in merge_string[1:]: if mergeOpt.split('=')[0] == "ecu": canmatrix.copy.copy_ecu_with_frames( mergeOpt.split('=')[1], db_temp_list[dbTemp], db) if mergeOpt.split('=')[0] == "frame": frame_to_copy = db_temp_list[name].frame_by_name(mergeOpt.split('=')[1]) canmatrix.copy.copy_frame(frame_to_copy.arbitration_id, db_temp_list[dbTemp], db) if 'renameEcu' in options and options['renameEcu'] is not None: rename_tuples = options['renameEcu'].split(',') for renameTuple in rename_tuples: old, new = renameTuple.split(':') db.rename_ecu(old, new) if 'deleteEcu' in options and options['deleteEcu'] is not None: delete_ecu_list = options['deleteEcu'].split(',') for ecu in delete_ecu_list: db.del_ecu(ecu) if 'renameFrame' in options and options['renameFrame'] is not None: rename_tuples = options['renameFrame'].split(',') for renameTuple in rename_tuples: old, new = renameTuple.split(':') db.rename_frame(old, new) if 'deleteFrame' in options and options['deleteFrame'] is not None: delete_frame_names = options['deleteFrame'].split(',') for frame_name in delete_frame_names: db.del_frame(frame_name) if 'addFrameReceiver' in options and options['addFrameReceiver'] is not None: touples = options['addFrameReceiver'].split(',') for touple in touples: (frameName, ecu) = touple.split(':') frames = db.glob_frames(frameName) for frame in frames: for signal in frame.signals: signal.add_receiver(ecu) frame.update_receiver() if 'frameIdIncrement' in options and options['frameIdIncrement'] is not None: id_increment = int(options['frameIdIncrement']) for frame in db.frames: frame.arbitration_id.id += id_increment if 'changeFrameId' in options and options['changeFrameId'] is not None: change_tuples = options['changeFrameId'].split(',') for renameTuple in change_tuples: old, new = renameTuple.split(':') frame = db.frame_by_id(canmatrix.ArbitrationId(int(old))) if frame is not None: frame.arbitration_id.id = int(new) else: logger.error("frame with id {} not found", old) if 'setFrameFd' in options and options['setFrameFd'] is not None: fd_frame_list = options['setFrameFd'].split(',') for frame_name in fd_frame_list: frame_ptr = db.frame_by_name(frame_name) if frame_ptr is not None: frame_ptr.is_fd = True if 'unsetFrameFd' in options and options['unsetFrameFd'] is not None: fd_frame_list = options['unsetFrameFd'].split(',') for frame_name in fd_frame_list: frame_ptr = db.frame_by_name(frame_name) if frame_ptr is not None: frame_ptr.is_fd = False frame_ptr.del_attribute("VFrameFormat") if 'skipLongDlc' in options and options['skipLongDlc'] is not None: delete_frame_list = [ frame for frame in db.frames if frame.size > int(options['skipLongDlc']) ] for frame in delete_frame_list: db.del_frame(frame) if 'cutLongFrames' in options and options['cutLongFrames'] is not None: for frame in db.frames: if frame.size > int(options['cutLongFrames']): delete_signal_list = [ sig for sig in frame.signals if sig.get_startbit() + int(sig.size) > int(options['cutLongFrames'])*8 ] for sig in delete_signal_list: frame.signals.remove(sig) frame.size = 0 frame.calc_dlc() if 'renameSignal' in options and options['renameSignal'] is not None: rename_tuples = options['renameSignal'].split(',') for renameTuple in rename_tuples: old, new = renameTuple.split(':') db.rename_signal(old, new) if 'deleteSignal' in options and options['deleteSignal'] is not None: delete_signal_names = options['deleteSignal'].split(',') for signal_name in delete_signal_names: db.del_signal(signal_name) if 'deleteZeroSignals' in options and options['deleteZeroSignals']: db.delete_zero_signals() if 'deleteSignalAttributes' in options and options[ 'deleteSignalAttributes']: unwanted_attributes = options['deleteSignalAttributes'].split(',') db.del_signal_attributes(unwanted_attributes) if 'deleteFrameAttributes' in options and options[ 'deleteFrameAttributes']: unwanted_attributes = options['deleteFrameAttributes'].split(',') db.del_frame_attributes(unwanted_attributes) if 'deleteObsoleteDefines' in options and options[ 'deleteObsoleteDefines']: db.delete_obsolete_defines() if 'deleteObsoleteEcus' in options and options[ 'deleteObsoleteEcus']: db.delete_obsolete_ecus() if 'recalcDLC' in options and options['recalcDLC']: db.recalc_dlc(options['recalcDLC']) # PDU contained frames handling frame_pdu_container_list = [ frame for frame in db.frames if frame.is_pdu_container ] if options.get('ignorePduContainer'): for frame in frame_pdu_container_list: db.del_frame(frame) else: # convert PDU contained frames to multiplexed frame for frame in frame_pdu_container_list: logger.warning("%s converted to Multiplexed frame", frame.name) new_frame = convert_pdu_container_to_multiplexed(frame) db.del_frame(frame) db.add_frame(new_frame) if options.get('signalNameFromAttrib') is not None: for signal in [b for a in db for b in a.signals]: signal.name = signal.attributes.get(options.get('signalNameFromAttrib'), signal.name) # Max Signal Value Calculation , if max value is 0 if options.get('calcSignalMax') is not None and options['calcSignalMax']: for signal in [b for a in db for b in a.signals]: if signal.max == 0 or signal.max is None: signal.calc_max_for_none = True signal.set_max(None) # Max Signal Value Calculation if options.get('recalcSignalMax') is not None and options['recalcSignalMax']: for signal in [b for a in db for b in a.signals]: signal.calc_max_for_none = True signal.set_max(None) # Delete Unassigned Signals to a Valid Frame/Message if options.get('deleteFloatingSignals') is not None and options['deleteFloatingSignals']: for frame in db.frames: if frame.name == 'VECTOR__INDEPENDENT_SIG_MSG': for signal in frame: db.del_signal(signal) logger.info("Deleted %s",(frame.name+"::"+signal.name)) db.del_frame(frame) # Check & Warn for Receiver Node against signals if options.get('checkSignalReceiver') is not None and options['checkSignalReceiver']: for frame in db.frames: for signal in frame: if len(signal.receivers) == 0: logger.warning("Please add Receiver for the signal %s ",(frame.name+"::"+signal.name)) # Check & Warn Unassigned Signals to a Valid Frame/Message if options.get('checkFloatingSignals') is not None and options['checkFloatingSignals']: for frame in db.frames: if frame.name == 'VECTOR__INDEPENDENT_SIG_MSG': for signal in frame: logger.warning("Please map the signal %s to a valid frame or delete by deleteFloatingSignals", signal.name) # Check & Warn for Frame/Messages without Transmitter Node if options.get('checkFloatingFrames') is not None and options['checkFloatingFrames']: for frame in db.frames: if len(frame.transmitters) is 0: logger.warning("No Transmitter Node Found for Frame %s", frame.name) # Check & Warn for Signals with Min/Max set to 0 if options.get('checkSignalRange') is not None and options['checkSignalRange']: for frame in db.frames: for signal in frame.signals: if (signal.phys2raw(signal.max) - signal.phys2raw(signal.min)) is 0: logger.warning("Invalid Min , Max value of %s", (frame.name+"::"+signal.name)) # Check for Signals without unit and Value table , the idea is to improve signal readability if options.get('checkSignalUnit') is not None and options['checkSignalUnit']: for frame in db.frames: for signal in frame: if signal.unit is "" and len(signal.values) == 0: logger.warning("Please add value table for the signal %s or add appropriate Unit", (frame.name+"::"+signal.name)) # Convert dbc from J1939 to Extended format if options.get('convertToExtended') is not None and options['convertToExtended']: for frame in db.frames: frame.is_j1939=False db.add_attribute("ProtocolType","ExtendedCAN") # Convert dbc from Extended to J1939 format if options.get('convertToJ1939') is not None and options['convertToJ1939']: for frame in db.frames: frame.is_j1939=True db.add_attribute("ProtocolType","J1939") logger.info(name) logger.info("%d Frames found" % (db.frames.__len__())) out_dbs[name] = db if 'force_output' in options and options['force_output'] is not None: canmatrix.formats.dumpp(out_dbs, out_file_name, export_type=options[ 'force_output'], **options) else: canmatrix.formats.dumpp(out_dbs, out_file_name, **options) logger.info("done") canmatrix-0.9.5/src/canmatrix/copy.py000066400000000000000000000274641416730473300176410ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import copy import logging import typing from builtins import * import canmatrix logger = logging.getLogger(__name__) def copy_ecu(ecu_or_glob, source_db, target_db): # type: (typing.Union[canmatrix.Ecu, str], canmatrix.CanMatrix, canmatrix.CanMatrix) -> None """ Copy ECU(s) identified by Name or as Object from source CAN matrix to target CAN matrix. This function additionally copy all relevant Defines. :param ecu_or_glob: Ecu instance or glob pattern for Ecu name :param source_db: Source CAN matrix :param target_db: Destination CAN matrix """ # check whether ecu_or_glob is object or symbolic name if isinstance(ecu_or_glob, canmatrix.Ecu): ecu_list = [ecu_or_glob] else: ecu_list = source_db.glob_ecus(ecu_or_glob) for ecu in ecu_list: target_db.add_ecu(copy.deepcopy(ecu)) # copy all ecu-defines for attribute in source_db.ecu_defines: if ecu.attribute(attribute, source_db) is None: continue if attribute not in target_db.ecu_defines: target_db.add_ecu_defines( copy.deepcopy(attribute), copy.deepcopy(source_db.ecu_defines[attribute].definition)) target_db.add_define_default( copy.deepcopy(attribute), copy.deepcopy(source_db.ecu_defines[attribute].defaultValue)) # only default value exists in source but is different to default value in target if attribute not in ecu.attributes and ecu.attribute(attribute, source_db) is not None and \ ecu.attribute(attribute, source_db) != ecu.attribute(attribute, target_db): target_db.ecu_by_name(ecu.name).add_attribute(attribute, ecu.attribute(attribute, source_db)) # update enum data types if needed: if source_db.ecu_defines[attribute].type == 'ENUM': temp_attr = ecu.attribute(attribute, db=source_db) if temp_attr not in target_db.ecu_defines[attribute].values: target_db.ecu_defines[attribute].values.append(copy.deepcopy(temp_attr)) target_db.ecu_defines[attribute].update() def copy_ecu_with_frames(ecu_or_glob, source_db, target_db, rx=True, tx=True, direct_ecu_only=True): # type: (typing.Union[canmatrix.Ecu, str], canmatrix.CanMatrix, canmatrix.CanMatrix) -> None """ Copy ECU(s) identified by Name or as Object from source CAN matrix to target CAN matrix. This function additionally copy all relevant Frames and Defines. :param ecu_or_glob: Ecu instance or glob pattern for Ecu name :param source_db: Source CAN matrix :param target_db: Destination CAN matrix :param rx: copy rx-Frames (default: True) :param tx: copy tx-Frames (default: True) """ # check whether ecu_or_glob is object or symbolic name if isinstance(ecu_or_glob, canmatrix.Ecu): ecu_list = [ecu_or_glob] else: ecu_list = source_db.glob_ecus(ecu_or_glob) for ecu in ecu_list: logger.info("Copying ECU " + ecu.name) copy_ecu(ecu, source_db, target_db) # copy tx-frames if tx is True: for frame in source_db.frames: if ecu.name in frame.transmitters: copy_frame(frame.arbitration_id, source_db, target_db) # copy rx-frames if rx is True: for frame in source_db.frames: for signal in frame.signals: if ecu.name in signal.receivers: copy_frame(frame.arbitration_id, source_db, target_db) break target_db.update_ecu_list() if direct_ecu_only: # delete ecu-names if not direct in communication to ecu ecus_to_delete = [] for ecu in target_db.ecus: if ecu not in ecu_list: # ecu is not a wanted ecu found = False for frame in target_db.frames: if ecu.name in frame.transmitters: found = True # ecu is a sender of a received frame if not found: ecus_to_delete.append(ecu) for ecu in ecus_to_delete: target_db.del_ecu(ecu) def copy_signal(signal_glob, source_db, target_db): # type: (str, canmatrix.CanMatrix, canmatrix.CanMatrix) -> None """ Copy Signals identified by name from source CAN matrix to target CAN matrix. In target CanMatrix the signal is put without frame, just on top level. :param signal_glob: Signal glob pattern :param source_db: Source CAN matrix :param target_db: Destination CAN matrix """ for frame in source_db.frames: for source_signal in frame.glob_signals(signal_glob): target_signal = copy.deepcopy(source_signal) target_db.add_signal(target_signal) for attribute in source_db.signal_defines: target_db.add_signal_defines( copy.deepcopy(attribute), copy.deepcopy(source_db.signal_defines[attribute].definition)) target_db.add_define_default( copy.deepcopy(attribute), copy.deepcopy(source_db.signal_defines[attribute].defaultValue)) # update enum data types if needed: if source_db.signal_defines[attribute].type == 'ENUM': temp_attr = source_signal.attribute(attribute, db=source_db) if temp_attr not in target_db.signal_defines[attribute].values: target_db.signal_defines[attribute].values.append(copy.deepcopy(temp_attr)) target_db.signal_defines[attribute].update() # only default value exists in source but is different to default value in target if attribute not in source_signal.attributes and source_signal.attribute(attribute, source_db) is not None and \ source_signal.attribute(attribute, source_db) != source_signal.attribute(attribute, target_db): target_signal.add_attribute(attribute, source_signal.attribute(attribute, source_db)) def copy_frame(frame_id, source_db, target_db): # type: (canmatrix.ArbitrationId, canmatrix.CanMatrix, canmatrix.CanMatrix) -> bool """ Copy a Frame identified by ArbitrationId from source CAN matrix to target CAN matrix. This function additionally copy all relevant ECUs and Defines. :param frame_id: Frame arbitration od :param source_db: Source CAN matrix :param target_db: Destination CAN matrix """ frame_list = [source_db.frame_by_id(frame_id)] for frame in frame_list: logger.info("Copying Frame " + frame.name) if target_db.frame_by_id(frame.arbitration_id) is not None: # frame already in target_db... return False # copy Frame-Object: target_db.add_frame(copy.deepcopy(frame)) # ECUs: # each transmitter of Frame could be ECU that is not listed already for transmitter in frame.transmitters: target_ecu = target_db.ecu_by_name(transmitter) source_ecu = source_db.ecu_by_name(transmitter) if source_ecu is not None and target_ecu is None: copy_ecu(source_ecu, source_db, target_db) # trigger all signals of Frame for sig in frame.signals: # each receiver of Signal could be ECU that is not listed already for receiver in sig.receivers: target_ecu = target_db.ecu_by_name(receiver) source_ecu = source_db.ecu_by_name(receiver) if source_ecu is not None and target_ecu is None: copy_ecu(source_ecu, source_db, target_db) # copy all frame-defines for attribute in source_db.frame_defines: if frame.attribute(attribute, source_db) is None: continue if attribute not in target_db.frame_defines: target_db.add_frame_defines( copy.deepcopy(attribute), copy.deepcopy(source_db.frame_defines[attribute].definition)) target_db.add_define_default( copy.deepcopy(attribute), copy.deepcopy(source_db.frame_defines[attribute].defaultValue)) # only default value exists in source but is different to default value in target if attribute not in frame.attributes and frame.attribute(attribute, source_db) is not None and \ frame.attribute(attribute, source_db) != frame.attribute(attribute, target_db): target_db.frame_by_id(frame.arbitration_id).add_attribute(attribute, frame.attribute(attribute, source_db)) # update enum data types if needed: if source_db.frame_defines[attribute].type == 'ENUM': temp_attr = frame.attribute(attribute, db=source_db) if temp_attr not in target_db.frame_defines[attribute].values: target_db.frame_defines[attribute].values.append(copy.deepcopy(temp_attr)) target_db.frame_defines[attribute].update() # trigger all signals of Frame for sig in frame.signals: # delete all 'unknown' attributes for attribute in source_db.signal_defines: if sig.attribute(attribute, source_db) is None: continue target_db.add_signal_defines( copy.deepcopy(attribute), copy.deepcopy(source_db.signal_defines[attribute].definition)) target_db.add_define_default( copy.deepcopy(attribute), copy.deepcopy(source_db.signal_defines[attribute].defaultValue)) # update enum data types if needed: if source_db.signal_defines[attribute].type == 'ENUM': temp_attr = sig.attribute(attribute, db=source_db) if temp_attr not in target_db.signal_defines[attribute].values: target_db.signal_defines[attribute].values.append(copy.deepcopy(temp_attr)) target_db.signal_defines[attribute].update() # only default value exists in source but is different to default value in target if attribute not in sig.attributes and sig.attribute(attribute, source_db) is not None and \ sig.attribute(attribute, source_db) != sig.attribute(attribute, target_db): target_db.frame_by_id(frame.arbitration_id).signal_by_name(sig.name).add_attribute(attribute, sig.attribute(attribute, source_db)) return True canmatrix-0.9.5/src/canmatrix/formats/000077500000000000000000000000001416730473300177535ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/formats/__init__.py000066400000000000000000000127521416730473300220730ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import, division, print_function import importlib import logging import os import sys import typing from builtins import str from io import BytesIO import canmatrix import canmatrix.cancluster logger = logging.getLogger(__name__) moduleList = ["arxml", "csv", "dbc", "dbf", "json", "ldf", "kcd", "fibex", "sym", "xls", "xlsx", "yaml", "scapy", "wireshark", "odx"] loadedFormats = [] supportedFormats = {} # type: typing.MutableMapping[str, typing.MutableSequence[str]] extensionMapping = {} for module in moduleList: try: importlib.import_module("canmatrix.formats." + module) loadedFormats.append(module) except ImportError: logger.warning("%s is not supported", module) for loadedModule in loadedFormats: supportedFormats[loadedModule] = [] moduleInstance = sys.modules["canmatrix.formats." + loadedModule] if "load" in dir(moduleInstance): supportedFormats[loadedModule].append("load") if "dump" in dir(moduleInstance): supportedFormats[loadedModule].append("dump") if "clusterImporter" in dir(moduleInstance): supportedFormats[loadedModule].append("clusterImporter") if "clusterExporter" in dir(moduleInstance): supportedFormats[loadedModule].append("clusterExporter") if "extension" in dir(moduleInstance): supportedFormats[loadedModule].append("extension") extensionMapping[loadedModule] = moduleInstance.extension # type: ignore else: extensionMapping[loadedModule] = loadedModule def loads(string, import_type=None, key="", encoding="utf-8", **options): # type: (typing.Union[bytes,str], str, str, str, **str) -> typing.Union[typing.Dict[str, canmatrix.CanMatrix], None] bytes_str = string.encode(encoding=encoding) if isinstance(string, str) else string file_object = BytesIO(bytes_str) return load(file_object, import_type, key, **options) def loads_flat(string, import_type=None, key="", **options): # type: (str, str, typing.Optional[str], **str) -> typing.Union[canmatrix.CanMatrix, None] dbs = loads(string, import_type, key, **options) return dbs.popitem()[1] if dbs else None def loadp(path, import_type=None, key="", **options): # type: (str, str, str, **str) -> typing.Union[typing.Dict[str, canmatrix.CanMatrix], None] with open(path, "rb") as fileObject: if not import_type: for supportedImportType, extension in extensionMapping.items(): if path.lower().endswith(extension) and "load" in supportedFormats[supportedImportType]: import_type = supportedImportType break if import_type: return load(fileObject, import_type, key, **options) else: logger.error("This file format is not supported for reading") return None def loadp_flat(path, import_type=None, key="", **options): # type: (str, str, str, **str) -> typing.Union[canmatrix.CanMatrix, None] dbs = loadp(path, import_type, key, **options) return dbs.popitem()[1] if dbs else None def load(file_object, import_type, key="", **options): # type: (typing.BinaryIO, str, str, **str) -> typing.Union[typing.Dict[str, canmatrix.CanMatrix], None] dbs = {} # type: typing.Dict[str, canmatrix.CanMatrix] module_instance = sys.modules["canmatrix.formats." + import_type] if "clusterImporter" in supportedFormats[import_type]: dbs = module_instance.load(file_object, **options) # type: ignore else: dbs[key] = module_instance.load(file_object, **options) # type: ignore return dbs def load_flat(file_object, import_type, key="", **options): # type: (typing.BinaryIO, str, str, **str) -> typing.Union[canmatrix.CanMatrix, None] dbs = load(file_object, import_type, key, **options) return dbs.popitem()[1] if dbs else None def dump(can_matrix_or_cluster, file_object, export_type, **options): # type: (typing.Union[canmatrix.CanMatrix, typing.Mapping[str, canmatrix.CanMatrix]], typing.IO, str, **str) -> None module_instance = sys.modules["canmatrix.formats." + export_type] if isinstance(can_matrix_or_cluster, canmatrix.CanMatrix): module_instance.dump(can_matrix_or_cluster, file_object, **options) # type: ignore elif "clusterExporter" in supportedFormats[export_type]: module_instance.dump(can_matrix_or_cluster, file_object, **options) # type: ignore def dumpp(can_cluster, path, export_type=None, **options): # type: (typing.Mapping[str, canmatrix.CanMatrix], str, str, **str) -> None if not export_type: for key, extension in extensionMapping.items(): if path.lower().endswith("." + extension) and "dump" in supportedFormats[key]: export_type = key break if export_type: if "clusterExporter" in supportedFormats[export_type]: file_object = open(path, "wb") # type: typing.IO dump(can_cluster, file_object, export_type, **options) else: for name in can_cluster: if len(name) > 0: (file_path, ext) = os.path.splitext(path) outfile = file_path + "_" + name + ext else: outfile = path db = can_cluster[name] file_object = open(outfile, "wb") dump(db, file_object, export_type, **options) file_object.close() else: logger.error("This file format is not supported for writing") canmatrix-0.9.5/src/canmatrix/formats/arxml.py000066400000000000000000002646051416730473300214650ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports arxml-files from a canmatrix-object # arxml-files are the can-matrix-definitions and a lot more in AUTOSAR-Context # currently Support for Autosar 3.2 and 4.0-4.3 is planned from __future__ import absolute_import, division, print_function import decimal import copy import logging import typing from builtins import * import lxml.etree import canmatrix import canmatrix.types import canmatrix.utils import re logger = logging.getLogger(__name__) default_float_factory = decimal.Decimal clusterExporter = 1 clusterImporter = 1 # for typing only _Element = lxml.etree._Element _MultiplexId = typing.Union[str, int, None] _FloatFactory = typing.Callable[[typing.Any], typing.Any] class Earxml: def __init__(self): self.xml_element_cache = dict() # type: typing.Dict[str, _Element] self.path_cache = {} def fill_caches(self, start_element=None, ar_path=""): if start_element is None: start_element = self.root self.path_cache = {} if start_element.tag == self.ns + "SHORT-NAME": return start_element.text for sub_element in start_element: text = sub_element.text if text is not None and len(text) > 0 and text.startswith('/'): if text not in self.path_cache: self.path_cache[text] = [] self.path_cache[text].append(sub_element) new_ar_path = self.fill_caches(sub_element, ar_path) if new_ar_path != "": ar_path += '/' + new_ar_path self.xml_element_cache[ar_path] = start_element return '' def open(self, filename): self.tree = lxml.etree.parse(filename) self.root = self.tree.getroot() # type: _Element self.ns = "{" + self.tree.xpath('namespace-uri(.)') + "}" # type: str self.nsp = self.tree.xpath('namespace-uri(.)') self.fill_caches() def findall(self, xpath, start_element=None): if start_element is None: start_element = self.root return start_element.findall('.//' + self.ns + xpath) def find(self, xpath, start_element=None): if start_element is None: start_element = self.root return start_element.find('.//' + self.ns + xpath) @staticmethod def ar_path_to_x_path(ar_path, dest_element=None): # type: (str, typing.Optional[str]) -> str """Get path in translation-dictionary.""" ar_path_elements = ar_path.strip('/').split('/') xpath = "." for element in ar_path_elements[:-1]: xpath += "//A:SHORT-NAME[text()='" + element + "']/.." if dest_element: xpath += "//A:" + dest_element + "/A:SHORT-NAME[text()='" + ar_path_elements[-1] + "']/.." else: xpath += "//A:SHORT-NAME[text()='" + ar_path_elements[-1] + "']/.." return xpath def get_short_name_path_of_element(self, xml_element): path = "" while xml_element != self.root: current_short_name = self.get_short_name(xml_element) if len(current_short_name) > 0: path = "/" + current_short_name + path xml_element = xml_element.getparent() return path.strip() def get_referencable_parent(self, xml_element): path = "" while xml_element != self.root: current_short_name = self.get_short_name(xml_element) if len(current_short_name) > 0: return xml_element xml_element = xml_element.getparent() return xml_element def find_references_of_type(self, element, xml_tag, referencable_parent=False): referencing_elements = [] current_ar_path = self.get_short_name_path_of_element(element) for reference in self.path_cache[current_ar_path]: element = self.get_referencable_parent(reference) if element.tag == self.ns + xml_tag: referencing_elements.append(reference) if referencable_parent: referencing_elements = [self.get_referencable_parent(a) for a in referencing_elements] return referencing_elements def get_short_name_path(self, shortname_path): if shortname_path in self.xml_element_cache: return self.xml_element_cache[shortname_path] def get_short_name(self, element): # type: (_Element, str) -> str """Get element short name.""" if element is None: return "" name = element.find('./' + self.ns + 'SHORT-NAME') if name is not None and name.text is not None: return name.text return "" def follow_ref(self, start_element, element_name): ref_element = self.find(element_name, start_element) if ref_element is None: return None target_element = self.get_short_name_path(ref_element.text) return target_element def follow_all_ref(self, start_element, element_name): if start_element is None: return [] ref_elements = self.findall(element_name, start_element) if ref_elements is None: return None target_elements = [self.get_short_name_path(item.text) for item in ref_elements] return target_elements def get_all_sub_by_name(self, start_element, name): return self.findall(name, start_element) def get_sub_by_name(self, start_element, name): return self.find(name, start_element) def find_children_by_path(self, from_element, path): # type: (_Element, str, _DocRoot, str) -> typing.Sequence[_Element] path_elements = path.split('/') element = from_element for element_name in path_elements[:-1]: element = self.get_child(element, element_name) children = self.get_children(element, path_elements[-1]) return children def get_element_name(self, parent): # type: (_Element, str) -> str """Get element short name.""" name = self.find('SHORT-NAME', parent) if name is not None and name.text is not None: return name.text return "" def get_child(self, parent, tag_name): # type: (_Element, str, _DocRoot, str) -> typing.Optional[_Element] """Get first sub-child or referenced sub-child with given name.""" # logger.debug("get_child: " + tag_name) if parent is None: return None ret = self.find(tag_name, parent) if ret is None: # no direct element - try reference reference = self.find(tag_name + '-REF', parent) if reference is not None: # ret = self.get_short_name_path(reference.text) raise "use follow_ref!" return ret def get_children(self, parent, tag_name): # type: (_Element, str, _DocRoot, str) -> typing.Sequence[_Element] if parent is None: return [] ret = self.findall(tag_name, parent) if not ret: # no direct element - get references ret_list = self.findall(tag_name + '-REF', parent) ret = [self.get_short_name_path(item.text) for item in ret_list] if len(ret) > 0: raise "use follow_all_ref!" return ret def get_element_desc(self, element): # type: (_Element, _DocRoot, str) -> str """Get element description from XML.""" desc = self.get_child(element, "DESC") txt = self.get_child(desc, 'L-2[@L="DE"]') if txt is None: txt = self.get_child(desc, 'L-2[@L="EN"]') if txt is None: txt = self.get_child(desc, 'L-2') if txt is not None: return txt.text else: return "" def get_ecu_instance(self, element): # type: (_Element) -> typing.Union[_Element, None] if element is not None: if element.tag.replace(self.ns, "") == "ECU-INSTANCE": return element else: return self.get_ecu_instance(element.getparent()) else: return None def selector(self, start_element, selector): start_pos = 0 token = "" result_list = [start_element] last_found_token = 0 while start_pos < len(selector): token_match = re.search(r'//|/|>>|>|<<|<|#|$', selector[start_pos:]) found_token = token_match.span() if start_pos > 0: # at least one Token found... value = selector[last_found_token:start_pos + found_token[0]] if token == "//": result_list = [c for a in result_list for c in self.findall(value, a)] elif token == "/": if value == "..": result_list = [self.get_referencable_parent(a.getparent()) for a in result_list] else: result_list = [self.get_sub_by_name(a, value) for a in result_list] elif token == ">>": result_list = [self.xml_element_cache[a.text][0].getparent() for start in result_list for a in self.get_all_sub_by_name(start, value) if a.text in self.xml_element_cache] elif token == ">": result_list = [self.xml_element_cache[self.get_sub_by_name(a, value).text][0].getparent() for a in result_list if self.get_sub_by_name(a, value) is not None and self.get_sub_by_name(a, value).text in self.xml_element_cache] elif token == "<<": result_list = [c for a in result_list for c in self.find_references_of_type(a, value, referencable_parent=True)] elif token == "<": result_list = [self.find_references_of_type(a, value, referencable_parent=True)[0] for a in result_list if len(self.find_references_of_type(a, value, referencable_parent=True)) > 0] elif token == "#": sn_snippets = value.split("|") filtered_results = [] for tag in result_list: sn = self.get_short_name(tag) for test_name in sn_snippets: if test_name in sn: filtered_results.append(tag) result_list = filtered_results result_list = list(set(result_list)) last_found_token = found_token[1] + start_pos token = selector[start_pos + found_token[0]:start_pos + found_token[1]] start_pos += found_token[1] return sorted(result_list, key=lambda element: element.sourceline) def create_sub_element(parent, element_name, text=None, dest=None): # type: (_Element, str, typing.Optional[str]) -> _Element sn = lxml.etree.SubElement(parent, element_name) if text is not None: sn.text = str(text) if dest is not None: sn.set("DEST", dest) return sn def get_base_type_of_signal(signal): # type: (canmatrix.Signal) -> typing.Tuple[str, int] """Get signal arxml-type and size based on the Signal properties.""" if signal.is_float: if signal.size > 32: create_type = "double" size = 64 else: create_type = "single" size = 32 else: if signal.size > 32: if signal.is_signed: create_type = "sint64" else: create_type = "uint64" size = 64 elif signal.size > 16: if signal.is_signed: create_type = "sint32" else: create_type = "uint32" size = 32 elif signal.size > 8: if signal.is_signed: create_type = "sint16" else: create_type = "uint16" size = 16 else: if signal.is_signed: create_type = "sint8" else: create_type = "uint8" size = 8 return create_type, size def dump(dbs, f, **options): # type: (typing.Mapping[str, canmatrix.CanMatrix], typing.IO, **str) -> None ar_version = options.get("arVersion", "3.2.3") for name in dbs: db = dbs[name] for frame in db.frames: for signal in frame.signals: for rec in signal.receivers: frame.add_receiver(rec.strip()) if ar_version[0] == "3": xsi = 'http://www.w3.org/2001/XMLSchema-instance' root = lxml.etree.Element( 'AUTOSAR', nsmap={ None: 'http://autosar.org/' + ar_version, 'xsi': xsi}) root.attrib['{{{pre}}}schemaLocation'.format( pre=xsi)] = 'http://autosar.org/' + ar_version + ' AUTOSAR_' + ar_version.replace('.', '') + '.xsd' top_level_packages = create_sub_element(root, 'TOP-LEVEL-PACKAGES') else: xsi = 'http://www.w3.org/2001/XMLSchema-instance' root = lxml.etree.Element( 'AUTOSAR', nsmap={ None: "http://autosar.org/schema/r4.0", 'xsi': xsi}) root.attrib['{{{pre}}}schemaLocation'.format( pre=xsi)] = 'http://autosar.org/schema/r4.0 AUTOSAR_' + ar_version.replace('.', '-') + '.xsd' top_level_packages = create_sub_element(root, 'AR-PACKAGES') # # AR-PACKAGE Cluster # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'Cluster') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] # if len(name) == 0: # (path, ext) = os.path.splitext(filename) # bus_name = path # else: if len(name) > 0: bus_name = name else: bus_name = "CAN" can_cluster = create_sub_element(elements, 'CAN-CLUSTER') create_sub_element(can_cluster, 'SHORT-NAME', bus_name) if ar_version[0] == "3": # createSubElement(can_cluster, 'SPEED', '50000') physical_channels = create_sub_element(can_cluster, 'PHYSICAL-CHANNELS') physical_channel = create_sub_element(physical_channels, 'PHYSICAL-CHANNEL') create_sub_element(physical_channel, 'SHORT-NAME', 'CAN') frame_triggering = create_sub_element(physical_channel, 'FRAME-TRIGGERINGSS') else: can_cluster_variants = create_sub_element(can_cluster, 'CAN-CLUSTER-VARIANTS') can_cluster_conditional = create_sub_element(can_cluster_variants, 'CAN-CLUSTER-CONDITIONAL') physical_channels = create_sub_element(can_cluster_conditional, 'PHYSICAL-CHANNELS') physical_channel = create_sub_element(physical_channels, 'CAN-PHYSICAL-CHANNEL') create_sub_element(physical_channel, 'SHORT-NAME', 'CAN') frame_triggering = create_sub_element(physical_channel, 'FRAME-TRIGGERINGS') for frame in db.frames: if frame.is_complex_multiplexed: logger.error("Export complex multiplexers is not supported - ignoring frame %s", frame.name) continue can_frame_triggering = create_sub_element(frame_triggering, 'CAN-FRAME-TRIGGERING') create_sub_element(can_frame_triggering, 'SHORT-NAME', frame.name) frame_port_refs = create_sub_element(can_frame_triggering, 'FRAME-PORT-REFS') for transmitter in frame.transmitters: frame_port_ref = create_sub_element(frame_port_refs, 'FRAME-PORT-REF', dest='FRAME-PORT', text="/ECU/{0}/CN_{0}/{1}".format(transmitter, frame.name)) for rec in frame.receivers: frame_port_ref = create_sub_element(frame_port_refs, 'FRAME-PORT-REF', dest='FRAME-PORT', text="/ECU/{0}/CN_{0}/{1}".format(rec, frame.name)) frame_ref = create_sub_element(can_frame_triggering, 'FRAME-REF') if ar_version[0] == "3": frame_ref.set('DEST', 'FRAME') frame_ref.text = "/Frame/FRAME_{0}".format(frame.name) pdu_triggering_refs = create_sub_element(can_frame_triggering, 'I-PDU-TRIGGERING-REFS') pdu_triggering_ref = create_sub_element(pdu_triggering_refs, 'I-PDU-TRIGGERING-REF', dest='I-PDU-TRIGGERING') else: frame_ref.set('DEST', 'CAN-FRAME') frame_ref.text = "/CanFrame/FRAME_{0}".format(frame.name) pdu_triggering = create_sub_element(can_frame_triggering, 'PDU-TRIGGERINGS') pdu_triggering_ref_conditional = create_sub_element(pdu_triggering, 'PDU-TRIGGERING-REF-CONDITIONAL') pdu_triggering_ref = create_sub_element(pdu_triggering_ref_conditional, 'PDU-TRIGGERING-REF', dest='PDU-TRIGGERING') if frame.arbitration_id.extended is False: create_sub_element(can_frame_triggering, 'CAN-ADDRESSING-MODE', 'STANDARD') else: create_sub_element(can_frame_triggering, 'CAN-ADDRESSING-MODE', 'EXTENDED') if frame.is_fd: create_sub_element(can_frame_triggering, 'CAN-FRAME-RX-BEHAVIOR', "CAN-FD") create_sub_element(can_frame_triggering, 'CAN-FRAME-RX-BEHAVIOR', "CAN-FD") create_sub_element(can_frame_triggering, 'IDENTIFIER', str(frame.arbitration_id.id)) pdu_triggering_ref.text = "/Cluster/CAN/IPDUTRIGG_{0}".format(frame.name) if ar_version[0] == "3": ipdu_triggerings = create_sub_element(physical_channel, 'I-PDU-TRIGGERINGS') for frame in db.frames: if frame.is_complex_multiplexed: continue ipdu_triggering = create_sub_element(ipdu_triggerings, 'I-PDU-TRIGGERING') create_sub_element(ipdu_triggering, 'SHORT-NAME', "IPDUTRIGG_{0}".format(frame.name)) ipdu_ref = create_sub_element(ipdu_triggering, 'I-PDU-REF', dest='SIGNAL-I-PDU', text="/PDU/PDU_{0}".format(frame.name)) isignal_triggerings = create_sub_element(physical_channel, 'I-SIGNAL-TRIGGERINGS') for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: isignal_triggering = create_sub_element(isignal_triggerings, 'I-SIGNAL-TRIGGERING') create_sub_element(isignal_triggering, 'SHORT-NAME', signal.name) isignal_port_refs = create_sub_element(isignal_triggering, 'I-SIGNAL-PORT-REFS') for receiver in signal.receivers: isignal_port_ref = create_sub_element( isignal_port_refs, 'I-SIGNAL-PORT-REF', '/ECU/{0}/CN_{0}/{1}'.format(receiver, signal.name), dest='SIGNAL-PORT') isignal_ref = create_sub_element( isignal_triggering, 'SIGNAL-REF', dest='I-SIGNAL', text="/ISignal/{}".format(signal.name)) else: isignal_triggerings = create_sub_element(physical_channel, 'I-SIGNAL-TRIGGERINGS') for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: isignal_triggering = create_sub_element(isignal_triggerings, 'I-SIGNAL-TRIGGERING') create_sub_element(isignal_triggering, 'SHORT-NAME', signal.name) isignal_port_refs = create_sub_element(isignal_triggering, 'I-SIGNAL-PORT-REFS') for receiver in signal.receivers: isignal_port_ref = create_sub_element( isignal_port_refs, 'I-SIGNAL-PORT-REF', '/ECU/{0}/CN_{0}/{1}'.format(receiver, signal.name), dest='I-SIGNAL-PORT') isignal_ref = create_sub_element(isignal_triggering, 'I-SIGNAL-REF', dest='I-SIGNAL', text="/ISignal/{0}".format(signal.name)) ipdu_triggerings = create_sub_element(physical_channel, 'PDU-TRIGGERINGS') for frame in db.frames: if frame.is_complex_multiplexed: continue ipdu_triggering = create_sub_element(ipdu_triggerings, 'PDU-TRIGGERING') create_sub_element( ipdu_triggering, 'SHORT-NAME', "IPDUTRIGG_{0}".format(frame.name)) # missing: I-PDU-PORT-REFS ipdu_ref = create_sub_element(ipdu_triggering, 'I-PDU-REF', dest='I-SIGNAL-I-PDU', text="/PDU/PDU_{0}".format(frame.name)) # missing: I-SIGNAL-TRIGGERINGS # TODO # ipdu_triggerings = createSubElement(physical_channel, 'PDU-TRIGGERINGS') # for frame in db.frames: # ipdu_triggering = createSubElement(ipdu_triggerings, 'PDU-TRIGGERING') # createSubElement(ipdu_triggering, 'SHORT-NAME', "PDUTRIGG_{0}".format(frame.name)) # ipdu_ref = createSubElement(ipdu_triggering, 'I-PDU-REF') # ipdu_ref.set('DEST','SIGNAL-I-PDU') # ipdu_ref.text = "/PDU/PDU_{0}".format(frame.name) # # AR-PACKAGE FRAME # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') if ar_version[0] == "3": create_sub_element(ar_package, 'SHORT-NAME', 'Frame') else: create_sub_element(ar_package, 'SHORT-NAME', 'CanFrame') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] # TODO: reused frames will be paced multiple times in file for frame in db.frames: if frame.is_complex_multiplexed: continue if ar_version[0] == "3": frame_ele = create_sub_element(elements, 'FRAME') else: frame_ele = create_sub_element(elements, 'CAN-FRAME') create_sub_element(frame_ele, 'SHORT-NAME', "FRAME_{0}".format(frame.name)) if frame.comment: desc = create_sub_element(frame_ele, 'DESC') l2 = create_sub_element(desc, 'L-2') l2.set("L", "FOR-ALL") l2.text = frame.comment create_sub_element(frame_ele, 'FRAME-LENGTH', "%d" % frame.size) pdu_mappings = create_sub_element(frame_ele, 'PDU-TO-FRAME-MAPPINGS') pdu_mapping = create_sub_element(pdu_mappings, 'PDU-TO-FRAME-MAPPING') create_sub_element(pdu_mapping, 'SHORT-NAME', frame.name) create_sub_element(pdu_mapping, 'PACKING-BYTE-ORDER', "MOST-SIGNIFICANT-BYTE-LAST") pdu_ref = create_sub_element(pdu_mapping, 'PDU-REF', text="/PDU/PDU_{0}".format(frame.name)) create_sub_element(pdu_mapping, 'START-POSITION', '0') if ar_version[0] == "3": pdu_ref.set('DEST', 'SIGNAL-I-PDU') else: pdu_ref.set('DEST', 'I-SIGNAL-I-PDU') # # AR-PACKAGE PDU # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'PDU') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue if ar_version[0] == "3": signal_ipdu = create_sub_element(elements, 'SIGNAL-I-PDU') create_sub_element(signal_ipdu, 'SHORT-NAME', "PDU_{}".format(frame.name)) create_sub_element(signal_ipdu, 'LENGTH', str(frame.size * 8)) else: signal_ipdu = create_sub_element(elements, 'I-SIGNAL-I-PDU') create_sub_element(signal_ipdu, 'SHORT-NAME', "PDU_{}".format(frame.name)) create_sub_element(signal_ipdu, 'LENGTH', str(frame.size)) # I-PDU-TIMING-SPECIFICATION if ar_version[0] == "3": signal_to_pdu_mappings = create_sub_element(signal_ipdu, 'SIGNAL-TO-PDU-MAPPINGS') else: signal_to_pdu_mappings = create_sub_element(signal_ipdu, 'I-SIGNAL-TO-PDU-MAPPINGS') for signal in frame.signals: signal_to_pdu_mapping = create_sub_element(signal_to_pdu_mappings, 'I-SIGNAL-TO-I-PDU-MAPPING') create_sub_element(signal_to_pdu_mapping, 'SHORT-NAME', signal.name) if ar_version[0] == "3": if signal.is_little_endian: # Intel create_sub_element( signal_to_pdu_mapping, 'PACKING-BYTE-ORDER', 'MOST-SIGNIFICANT-BYTE-LAST') else: # Motorola create_sub_element( signal_to_pdu_mapping, 'PACKING-BYTE-ORDER', 'MOST-SIGNIFICANT-BYTE-FIRST') signal_ref = create_sub_element(signal_to_pdu_mapping, 'SIGNAL-REF') else: signal_ref = create_sub_element(signal_to_pdu_mapping, 'I-SIGNAL-REF') if signal.is_little_endian: # Intel create_sub_element( signal_to_pdu_mapping, 'PACKING-BYTE-ORDER', 'MOST-SIGNIFICANT-BYTE-LAST') else: # Motorola create_sub_element( signal_to_pdu_mapping, 'PACKING-BYTE-ORDER', 'MOST-SIGNIFICANT-BYTE-FIRST') signal_ref.text = "/ISignal/{0}".format(signal.name, dest='I-SIGNAL') create_sub_element(signal_to_pdu_mapping, 'START-POSITION', str(signal.get_startbit(bit_numbering=1))) # missing: TRANSFER-PROPERTY: PENDING/... for group in frame.signalGroups: signal_to_pdu_mapping = create_sub_element(signal_to_pdu_mappings, 'I-SIGNAL-TO-I-PDU-MAPPING') create_sub_element(signal_to_pdu_mapping, 'SHORT-NAME', group.name) signal_ref = create_sub_element(signal_to_pdu_mapping, 'SIGNAL-REF', text="/ISignal/{}".format(group.name), dest='I-SIGNAL') # TODO: TRANSFER-PROPERTY: PENDING??? # # AR-PACKAGE ISignal # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'ISignal') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: signal_ele = create_sub_element(elements, 'I-SIGNAL') create_sub_element(signal_ele, 'SHORT-NAME', signal.name) if ar_version[0] == "4": create_sub_element(signal_ele, 'LENGTH', str(signal.size)) network_represent_props = create_sub_element( signal_ele, 'NETWORK-REPRESENTATION-PROPS') sw_data_def_props_variants = create_sub_element( network_represent_props, 'SW-DATA-DEF-PROPS-VARIANTS') sw_data_def_props_conditional = create_sub_element( sw_data_def_props_variants, 'SW-DATA-DEF-PROPS-CONDITIONAL') base_type_ref = create_sub_element(sw_data_def_props_conditional, 'BASE-TYPE-REF') base_type_ref.set('DEST', 'SW-BASE-TYPE') create_type, size = get_base_type_of_signal(signal) base_type_ref.text = "/DataType/{}".format(create_type) compu_method_ref = create_sub_element( sw_data_def_props_conditional, 'COMPU-METHOD-REF', '/DataType/Semantics/{}'.format(signal.name)) compu_method_ref.set('DEST', 'COMPU-METHOD') unit_ref = create_sub_element( sw_data_def_props_conditional, 'UNIT-REF', '/DataType/Unit/{}'.format(signal.name), dest='UNIT') sys_sig_ref = create_sub_element(signal_ele, 'SYSTEM-SIGNAL-REF') sys_sig_ref.text = "/Signal/{}".format(signal.name) sys_sig_ref.set('DEST', 'SYSTEM-SIGNAL') for group in frame.signalGroups: signal_ele = create_sub_element(elements, 'I-SIGNAL') create_sub_element(signal_ele, 'SHORT-NAME', group.name) sys_sig_ref = create_sub_element(signal_ele, 'SYSTEM-SIGNAL-REF', text="/Signal/{}".format(group.name), dest='SYSTEM-SIGNAL-GROUP') # # AR-PACKAGE Signal # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'Signal') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: signal_ele = create_sub_element(elements, 'SYSTEM-SIGNAL') create_sub_element(signal_ele, 'SHORT-NAME', signal.name) if signal.comment: desc = create_sub_element(signal_ele, 'DESC') l2 = create_sub_element(desc, 'L-2') l2.set("L", "FOR-ALL") l2.text = signal.comment if ar_version[0] == "3": data_type_ref = create_sub_element(signal_ele, 'DATA-TYPE-REF', text="/DataType/{}".format(signal.name)) if signal.is_float: data_type_ref.set('DEST', 'REAL-TYPE') else: data_type_ref.set('DEST', 'INTEGER-TYPE') create_sub_element(signal_ele, 'LENGTH', str(signal.size)) # init_value_ref = create_sub_element(signal_ele, 'INIT-VALUE-REF') # init_value_ref.set('DEST', 'INTEGER-LITERAL') # init_value_ref.text = "/CONSTANTS/{}".format(signal.name) for group in frame.signalGroups: group_ele = create_sub_element(elements, 'SYSTEM-SIGNAL-GROUP') create_sub_element(group_ele, 'SHORT-NAME', group.name) if ar_version[0] == "3": data_type_ref.set('DEST', 'INTEGER-TYPE') # todo check this sys_signal_refs = create_sub_element( group_ele, 'SYSTEM-SIGNAL-REFS') for member in group.signals: member_ele = create_sub_element( sys_signal_refs, 'SYSTEM-SIGNAL-REF', dest='SYSTEM-SIGNAL', text="/Signal/{}".format(member.name)) # # AR-PACKAGE Datatype # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'DataType') elements = create_sub_element(ar_package, 'ELEMENTS') if ar_version[0] == "3": for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: if signal.is_float: type_ele = create_sub_element(elements, 'REAL-TYPE') else: type_ele = create_sub_element(elements, 'INTEGER-TYPE') create_sub_element(type_ele, 'SHORT-NAME', signal.name) sw_data_def_props = create_sub_element( type_ele, 'SW-DATA-DEF-PROPS') if signal.is_float: encoding = create_sub_element(type_ele, 'ENCODING') if signal.size > 32: encoding.text = "DOUBLE" else: encoding.text = "SINGLE" compu_method_ref = create_sub_element(sw_data_def_props, 'COMPU-METHOD-REF', dest='COMPU-METHOD', text="/DataType/Semantics/{}".format(signal.name)) else: created_types = [] # type: typing.List[str] for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: create_type, size = get_base_type_of_signal(signal) if create_type not in created_types: created_types.append(create_type) sw_base_type = create_sub_element(elements, 'SW-BASE-TYPE') create_sub_element(sw_base_type, 'SHORT-NAME', create_type) create_sub_element(sw_base_type, 'CATEGORY', 'FIXED_LENGTH') create_sub_element(sw_base_type, 'BASE-TYPE-SIZE', str(size)) if signal.is_float: create_sub_element(sw_base_type, 'BASE-TYPE-ENCODING', 'IEEE754') if ar_version[0] == "3": subpackages = create_sub_element(ar_package, 'SUB-PACKAGES') else: subpackages = create_sub_element(ar_package, 'AR-PACKAGES') ar_package = create_sub_element(subpackages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'Semantics') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: compu_method = create_sub_element(elements, 'COMPU-METHOD') create_sub_element(compu_method, 'SHORT-NAME', signal.name) # missing: UNIT-REF compu_int_to_phys = create_sub_element( compu_method, 'COMPU-INTERNAL-TO-PHYS') compu_scales = create_sub_element(compu_int_to_phys, 'COMPU-SCALES') for value in sorted(signal.values, key=lambda x: int(x)): compu_scale = create_sub_element(compu_scales, 'COMPU-SCALE') desc = create_sub_element(compu_scale, 'DESC') l2 = create_sub_element(desc, 'L-2') l2.set('L', 'FOR-ALL') l2.text = signal.values[value] create_sub_element(compu_scale, 'LOWER-LIMIT', str(value)) create_sub_element(compu_scale, 'UPPER-LIMIT', str(value)) compu_const = create_sub_element(compu_scale, 'COMPU-CONST') create_sub_element(compu_const, 'VT', signal.values[value]) else: compu_scale = create_sub_element(compu_scales, 'COMPU-SCALE') # createSubElement(compuScale, 'LOWER-LIMIT', str(#TODO)) # createSubElement(compuScale, 'UPPER-LIMIT', str(#TODO)) compu_rationsl_coeff = create_sub_element(compu_scale, 'COMPU-RATIONAL-COEFFS') compu_numerator = create_sub_element(compu_rationsl_coeff, 'COMPU-NUMERATOR') create_sub_element(compu_numerator, 'V', "%g" % signal.offset) create_sub_element(compu_numerator, 'V', "%g" % signal.factor) compu_denomiator = create_sub_element(compu_rationsl_coeff, 'COMPU-DENOMINATOR') create_sub_element(compu_denomiator, 'V', "1") ar_package = create_sub_element(subpackages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'Unit') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: unit = create_sub_element(elements, 'UNIT') create_sub_element(unit, 'SHORT-NAME', signal.name) create_sub_element(unit, 'DISPLAY-NAME', signal.unit) tx_ipdu_groups = {} # type: typing.Dict[str, typing.List[str]] rx_ipdu_groups = {} # type: typing.Dict[str, typing.List[str]] # # AR-PACKAGE ECU # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'ECU') elements = create_sub_element(ar_package, 'ELEMENTS') for name in dbs: db = dbs[name] for ecu in db.ecus: ecu_instance = create_sub_element(elements, 'ECU-INSTANCE') create_sub_element(ecu_instance, 'SHORT-NAME', ecu.name) if ecu.comment: desc = create_sub_element(ecu_instance, 'DESC') l2 = create_sub_element(desc, 'L-2') l2.set('L', 'FOR-ALL') l2.text = ecu.comment if ar_version[0] == "3": asso_ipdu_group_refs = create_sub_element( ecu_instance, 'ASSOCIATED-I-PDU-GROUP-REFS') connectors = create_sub_element(ecu_instance, 'CONNECTORS') comm_connector = create_sub_element(connectors, 'COMMUNICATION-CONNECTOR') else: asso_ipdu_group_refs = create_sub_element(ecu_instance, 'ASSOCIATED-COM-I-PDU-GROUP-REFS') connectors = create_sub_element(ecu_instance, 'CONNECTORS') comm_connector = create_sub_element(connectors, 'CAN-COMMUNICATION-CONNECTOR') create_sub_element(comm_connector, 'SHORT-NAME', 'CN_' + ecu.name) ecu_comm_port_instances = create_sub_element(comm_connector, 'ECU-COMM-PORT-INSTANCES') rec_temp = None send_temp = None for frame in db.frames: if frame.is_complex_multiplexed: continue if ecu.name in frame.transmitters: frame_port = create_sub_element(ecu_comm_port_instances, 'FRAME-PORT') create_sub_element(frame_port, 'SHORT-NAME', frame.name) create_sub_element(frame_port, 'COMMUNICATION-DIRECTION', 'OUT') send_temp = 1 if ecu.name + "_Tx" not in tx_ipdu_groups: tx_ipdu_groups[ecu.name + "_Tx"] = [] tx_ipdu_groups[ecu.name + "_Tx"].append(frame.name) # missing I-PDU-PORT for signal in frame.signals: if ar_version[0] == "3": signal_port = create_sub_element(ecu_comm_port_instances, 'SIGNAL-PORT') else: signal_port = create_sub_element(ecu_comm_port_instances, 'I-SIGNAL-PORT') create_sub_element(signal_port, 'SHORT-NAME', signal.name) create_sub_element(signal_port, 'COMMUNICATION-DIRECTION', 'OUT') if ecu.name in frame.receivers: frame_port = create_sub_element(ecu_comm_port_instances, 'FRAME-PORT') create_sub_element(frame_port, 'SHORT-NAME', frame.name) create_sub_element(frame_port, 'COMMUNICATION-DIRECTION', 'IN') rec_temp = 1 if ecu.name + "_Rx" not in rx_ipdu_groups: rx_ipdu_groups[ecu.name + "_Rx"] = [] rx_ipdu_groups[ecu.name + "_Rx"].append(frame.name) # missing I-PDU-PORT for signal in frame.signals: if ecu.name in signal.receivers: if ar_version[0] == "3": signal_port = create_sub_element(ecu_comm_port_instances, 'SIGNAL-PORT') else: signal_port = create_sub_element(ecu_comm_port_instances, 'I-SIGNAL-PORT') create_sub_element(signal_port, 'SHORT-NAME', signal.name) create_sub_element(signal_port, 'COMMUNICATION-DIRECTION', 'IN') if rec_temp is not None: if ar_version[0] == "3": asso_ipdu_group_ref = create_sub_element(asso_ipdu_group_refs, 'ASSOCIATED-I-PDU-GROUP-REF', dest="I-PDU-GROUP") else: asso_ipdu_group_ref = create_sub_element(asso_ipdu_group_refs, 'ASSOCIATED-COM-I-PDU-GROUP-REF', dest="I-SIGNAL-I-PDU-GROUP") asso_ipdu_group_ref.text = "/IPDUGroup/{0}_Rx".format(ecu.name) if send_temp is not None: if ar_version[0] == "3": asso_ipdu_group_ref = create_sub_element(asso_ipdu_group_refs, 'ASSOCIATED-I-PDU-GROUP-REF', dest="I-PDU-GROUP") else: asso_ipdu_group_ref = create_sub_element(asso_ipdu_group_refs, 'ASSOCIATED-COM-I-PDU-GROUP-REF', dest="I-SIGNAL-I-PDU-GROUP") asso_ipdu_group_ref.text = "/IPDUGroup/{}_Tx".format(ecu.name) # # AR-PACKAGE IPDUGroup # ar_package = create_sub_element(top_level_packages, 'AR-PACKAGE') create_sub_element(ar_package, 'SHORT-NAME', 'IPDUGroup') elements = create_sub_element(ar_package, 'ELEMENTS') for pdu_group in tx_ipdu_groups: if ar_version[0] == "3": ipdu_grp = create_sub_element(elements, 'I-PDU-GROUP') else: ipdu_grp = create_sub_element(elements, 'I-SIGNAL-I-PDU-GROUP') create_sub_element(ipdu_grp, 'SHORT-NAME', pdu_group) create_sub_element(ipdu_grp, 'COMMUNICATION-DIRECTION', "OUT") if ar_version[0] == "3": ipdu_refs = create_sub_element(ipdu_grp, 'I-PDU-REFS') for frame_name in tx_ipdu_groups[pdu_group]: ipdu_ref = create_sub_element(ipdu_refs, 'I-PDU-REF', dest="SIGNAL-I-PDU", text="/PDU/PDU_{}".format(frame_name)) else: isignal_ipdus = create_sub_element(ipdu_grp, 'I-SIGNAL-I-PDUS') for frame_name in tx_ipdu_groups[pdu_group]: isignal_ipdu_ref_conditional = create_sub_element(isignal_ipdus, 'I-SIGNAL-I-PDU-REF-CONDITIONAL') ipdu_ref = create_sub_element(isignal_ipdu_ref_conditional, 'I-SIGNAL-I-PDU-REF', dest="I-SIGNAL-I-PDU", text="/PDU/PDU_{}".format(frame_name)) if ar_version[0] == "3": for pdu_group in rx_ipdu_groups: ipdu_grp = create_sub_element(elements, 'I-PDU-GROUP') create_sub_element(ipdu_grp, 'SHORT-NAME', pdu_group) create_sub_element(ipdu_grp, 'COMMUNICATION-DIRECTION', "IN") ipdu_refs = create_sub_element(ipdu_grp, 'I-PDU-REFS') for frame_name in rx_ipdu_groups[pdu_group]: ipdu_ref = create_sub_element(ipdu_refs, 'I-PDU-REF', dest="SIGNAL-I-PDU", text="/PDU/PDU_{}".format(frame_name)) else: for pdu_group in rx_ipdu_groups: ipdu_grp = create_sub_element(elements, 'I-SIGNAL-I-PDU-GROUP') create_sub_element(ipdu_grp, 'SHORT-NAME', pdu_group) create_sub_element(ipdu_grp, 'COMMUNICATION-DIRECTION', "IN") isignal_ipdus = create_sub_element(ipdu_grp, 'I-SIGNAL-I-PDUS') for frame_name in rx_ipdu_groups[pdu_group]: isignal_ipdu_ref_conditional = create_sub_element(isignal_ipdus, 'I-SIGNAL-I-PDU-REF-CONDITIONAL') ipdu_ref = create_sub_element(isignal_ipdu_ref_conditional, 'I-SIGNAL-I-PDU-REF', dest="I-SIGNAL-I-PDU", text="/PDU/PDU_" + frame_name) f.write(lxml.etree.tostring(root, pretty_print=True, xml_declaration=True)) ################################### # read ARXML ################################### frames_cache = {} # type: typing.Dict[_Element, canmatrix.Frame] def get_signalgrp_and_signals(sys_signal, sys_signal_array, frame, group_id, ea): # type: (_Element, typing.Sequence[_Element], canmatrix.Frame, int, str) -> None members = [ea.get_element_name(signal) for signal in sys_signal_array] # get data related to E2E-Protection transform_ele = ea.follow_ref(sys_signal, "TRANSFORMER-REF") e2e_transform = None if transform_ele is not None: e2e_transform = { 'profile': ea.get_child(transform_ele, "PROFILE-NAME").text, } data_id_elems = ea.get_children(ea.get_child(sys_signal, "TRANSFORMATION-I-SIGNAL-PROPSS"), "DATA-ID") if data_id_elems is not None: e2e_transform['data_ids'] = [int(x.text) for x in data_id_elems] frame.add_signal_group(ea.get_element_name(sys_signal), group_id, members, e2e_transform) def decode_compu_method(compu_method, ea, float_factory): # type: (_Element, _DocRoot, str, _FloatFactory) -> typing.Tuple values = {} factor = float_factory(1.0) offset = float_factory(0) if compu_method is None: return values, factor, offset, None, None unit = ea.follow_ref(compu_method, "UNIT-REF") const = None compu_scales = ea.find_children_by_path(compu_method, "COMPU-INTERNAL-TO-PHYS/COMPU-SCALES/COMPU-SCALE") for compu_scale in compu_scales: ll = ea.get_child(compu_scale, "LOWER-LIMIT") ul = ea.get_child(compu_scale, "UPPER-LIMIT") sl = ea.get_child(compu_scale, "SHORT-LABEL") if sl is None: desc = ea.get_element_desc(compu_scale) else: desc = sl.text ##################################################################################################### # Modification to support sourcing the COMPU_METHOD info from the Vector NETWORK-REPRESENTATION-PROPS # keyword definition. 06Jun16 ##################################################################################################### if ll is not None and desc is not None and canmatrix.utils.decode_number(ul.text, float_factory) == canmatrix.utils.decode_number( ll.text, float_factory): ##################################################################################################### ##################################################################################################### values[ll.text] = desc # scale_desc = ea.get_element_desc(compu_scale) rational = ea.get_child(compu_scale, "COMPU-RATIONAL-COEFFS") if rational is not None: numerator_parent = ea.get_child(rational, "COMPU-NUMERATOR") numerator = ea.get_children(numerator_parent, "V") denominator_parent = ea.get_child(rational, "COMPU-DENOMINATOR") denominator = ea.get_children(denominator_parent, "V") try: factor = float_factory(numerator[1].text) / float_factory(denominator[0].text) offset = float_factory(numerator[0].text) / float_factory(denominator[0].text) except decimal.DivisionByZero: if numerator[0].text != denominator[0].text or numerator[1].text != denominator[1].text: logger.warning( "ARXML signal scaling: polynom is not supported and it is replaced by factor=1 and offset =0.") factor = float_factory(1) offset = float_factory(0) else: const = ea.get_child(compu_scale, "COMPU-CONST") # add value if const is None: logger.warning("Unknown Compu-Method: at sourceline %d ", compu_method.sourceline) return values, factor, offset, unit, const def eval_type_of_signal(type_encoding, base_type, ea): if type_encoding == "NONE": is_signed = False is_float = False elif type_encoding == "2C": is_signed = True is_float = False elif type_encoding == "IEEE754" or type_encoding == "SINGLE" or type_encoding == "DOUBLE": is_signed = True is_float = True elif type_encoding == "BOOLEAN": is_signed = False is_float = False elif base_type is not None: is_float = False type_name = ea.get_element_name(base_type) if type_name[0] == 'u': is_signed = False # unsigned else: is_signed = True # signed else: is_float = False is_signed = False # signed return is_signed, is_float def ar_byteorder_is_little(in_string): if in_string == 'MOST-SIGNIFICANT-BYTE-LAST' or in_string == 'OPAQUE': return True return False def get_signals(signal_array, frame, ea, multiplex_id, float_factory, bit_offset=0): # type: (typing.Sequence[_Element], typing.Union[canmatrix.Frame, canmatrix.Pdu], Earxml, int, typing.Callable, int) -> None """Add signals from xml to the Frame.""" group_id = 1 if signal_array is None: # Empty signalarray - nothing to do return for signal in signal_array: compu_method = None motorola = ea.get_child(signal, "PACKING-BYTE-ORDER") start_bit = ea.get_child(signal, "START-POSITION") isignal = ea.follow_ref(signal, "SIGNAL-REF") if isignal is None: isignal = ea.follow_ref(signal, "I-SIGNAL-REF") # AR4 if isignal is None: isignal = ea.follow_ref(signal, "I-SIGNAL-GROUP-REF") if isignal is not None: logger.debug("get_signals: found I-SIGNAL-GROUP ") isignal_array = ea.follow_all_ref(isignal, "I-SIGNAL-REF") get_signalgrp_and_signals(isignal, isignal_array, frame, group_id, ea) group_id = group_id + 1 continue if isignal is None: logger.debug( 'Frame %s, no isignal for %s found', frame.name, ea.get_child(signal, "SHORT-NAME").text) base_type = ea.follow_ref(isignal, "BASE-TYPE-REF") # AR4 if base_type is None: a = ea.selector(isignal, ">SYSTEM-SIGNAL-REF>DATA-TYPE-REF>BASE-TYPE-REF") if len(a) > 0: base_type = a[0] try: type_encoding = ea.get_child(base_type, "BASE-TYPE-ENCODING").text except AttributeError: type_encoding = "None" signal_name = None # type: typing.Optional[str] signal_name_elem = ea.get_child(isignal, "LONG-NAME") if signal_name_elem is not None: signal_name_elem = ea.get_child(signal_name_elem, "L-4") if signal_name_elem is not None: signal_name = signal_name_elem.text system_signal = ea.follow_ref(isignal, "SYSTEM-SIGNAL-REF") if system_signal is None: logger.debug('Frame %s, signal %s has no system-signal', frame.name, isignal.tag) if system_signal is not None and "SYSTEM-SIGNAL-GROUP" in system_signal.tag: system_signals = ea.selector(system_signal, "SYSTEM-SIGNAL-REFS>>SYSTEM-SIGNAL-REF") get_sys_signals(system_signal, system_signals, frame, group_id, ea) group_id = group_id + 1 continue length = ea.get_child(isignal, "LENGTH") # AR4 ? if length is None: length = ea.get_child(system_signal, "LENGTH") signal_min = None # type: canmatrix.types.OptionalPhysicalValue signal_max = None # type: canmatrix.types.OptionalPhysicalValue receiver = [] # type: typing.List[str] signal_description = ea.get_element_desc(system_signal) datatype = ea.follow_ref(system_signal, "DATA-TYPE-REF") if datatype is None: # AR4? data_constr = None compu_method = None base_type = None for test_signal in [isignal, system_signal]: if data_constr is None: data_constr = ea.follow_ref(test_signal, "DATA-CONSTR-REF") if compu_method is None: compu_method = ea.follow_ref(test_signal, "COMPU-METHOD-REF") if base_type is None: base_type = ea.follow_ref(test_signal, "BASE-TYPE-REF") lower = ea.get_child(data_constr, "LOWER-LIMIT") upper = ea.get_child(data_constr, "UPPER-LIMIT") else: lower = ea.get_child(datatype, "LOWER-LIMIT") upper = ea.get_child(datatype, "UPPER-LIMIT") type_encoding = ea.get_child(datatype, "ENCODING") if lower is not None and upper is not None: signal_min = float_factory(lower.text) signal_max = float_factory(upper.text) datdefprops = ea.get_child(datatype, "SW-DATA-DEF-PROPS") if compu_method is None and datdefprops is not None: compu_method = ea.follow_ref(datdefprops, "COMPU-METHOD-REF") if compu_method is None: # AR4 compu_method = ea.follow_ref(isignal, "COMPU-METHOD-REF") base_type = ea.follow_ref(isignal, "BASE-TYPE-REF") encoding = ea.get_child(base_type, "BASE-TYPE-ENCODING") if encoding is not None and encoding.text == "IEEE754": is_float = True if compu_method is None: #logger.debug('No Compmethod found!! - try alternate scheme 1.') networkrep = ea.get_child(isignal, "NETWORK-REPRESENTATION-PROPS") data_def_props_var = ea.get_child(networkrep, "SW-DATA-DEF-PROPS-VARIANTS") data_def_props_cond = ea.get_child(data_def_props_var, "SW-DATA-DEF-PROPS-CONDITIONAL") if data_def_props_cond is not None: try: compu_method = ea.get_child(data_def_props_cond, "COMPU-METHOD") except: logger.debug('No valid compu method found for this - check ARXML file!!') compu_method = None if compu_method is None: logger.error('No valid compu method found for isignal/systemsignal {}/{} - check ARXML file!!' .format(ea.get_short_name(isignal), ea.get_short_name(system_signal))) ##################################################################################################### # no found compu-method fuzzy search in systemsignal: ##################################################################################################### if compu_method is None: logger.debug('No Compmethod found!! - fuzzy search in syssignal.') compu_method = ea.follow_ref(system_signal, "COMPU-METHOD-REF") # decode compuMethod: (values, factor, offset, unit_elem, const) = decode_compu_method(compu_method, ea, float_factory) if signal_min is not None: signal_min *= factor signal_min += offset if signal_max is not None: signal_max *= factor signal_max += offset if base_type is None: base_type = ea.follow_ref(datdefprops, "BASE-TYPE-REF") (is_signed, is_float) = eval_type_of_signal(type_encoding, base_type, ea) unit_element = ea.get_child(isignal, "UNIT") display_name = ea.get_child(unit_element, "DISPLAY-NAME") if display_name is not None: signal_unit = display_name.text else: signal_unit = "" if unit_elem is not None: longname = ea.get_child(unit_elem, "LONG-NAME") ##################################################################################################### # Modification to support obtaining the Signals Unit by DISPLAY-NAME. 07June16 ##################################################################################################### display_name = None try: display_name = ea.get_child(unit_elem, "DISPLAY-NAME") except: logger.debug('No Unit Display name found!! - using long name') if display_name is not None: signal_unit = display_name.text else: l4 = ea.get_child(longname, "L-4") if l4 is not None: signal_unit = l4.text init_list = ea.selector(system_signal, ">INIT-VALUE-REF/VALUE") if len(init_list) == 0: init_list = ea.find_children_by_path(isignal, "INIT-VALUE/NUMERICAL-VALUE-SPECIFICATION/VALUE") # #AR4.2 if init_list: initvalue = init_list[0] else: initvalue = None isignal_name = ea.get_short_name(isignal) system_signal_name = ea.get_short_name(system_signal) compu_name = ea.get_short_name(compu_method) name = isignal_name if isignal_name else system_signal_name is_little_endian = False if motorola is not None: is_little_endian = ar_byteorder_is_little(motorola.text) else: logger.debug('no name byte order for signal' + name) if start_bit is None: logger.debug('no startBit for signal given') if length is None: logger.debug('no length for signal given') if start_bit is not None: new_signal = canmatrix.Signal( name, start_bit=int(start_bit.text) + bit_offset, size=int(length.text) if length is not None else 0, is_little_endian=is_little_endian, is_signed=is_signed, factor=factor, offset=offset, unit=signal_unit, receivers=receiver, multiplex=multiplex_id, comment=signal_description, is_float=is_float) if signal_min is not None: new_signal.min = signal_min if signal_max is not None: new_signal.max = signal_max if not new_signal.is_little_endian: # startbit of motorola coded signals are MSB in arxml new_signal.set_startbit(int(start_bit.text) + bit_offset, bitNumbering=1) communication_direction = ea.selector(isignal, "I-SIGNAL-PORT-REF/COMMUNICATION-DIRECTION") if len(communication_direction) > 0: ecu = ea.get_ecu_instance(communication_direction[0]) if communication_direction[0].text == "IN": new_signal.add_receiver(ea.get_short_name(ecu)) if base_type is not None: temp = ea.get_child(base_type, "SHORT-NAME") if temp is not None and "boolean" == temp.text: new_signal.add_values(1, "TRUE") new_signal.add_values(0, "FALSE") if initvalue is not None and initvalue.text is not None: initvalue.text = canmatrix.utils.guess_value(initvalue.text) try: new_signal.initial_value = (float_factory(initvalue.text) * factor) + offset except decimal.InvalidOperation: logger.error("could not decode value {}".format(initvalue.text)) for key, value in list(values.items()): new_signal.add_values(canmatrix.utils.decode_number(key, float_factory), value) if signal_name is not None: new_signal.add_attribute("LongName", signal_name) if compu_name is not None and compu_name: new_signal.add_attribute("CompuMethodName", compu_name) if isignal_name is not None and isignal_name: new_signal.add_attribute("ISignalName", isignal_name) if system_signal_name is not None and system_signal_name: new_signal.add_attribute("SysSignalName", system_signal_name) existing_signal = frame.signal_by_name(new_signal.name) if existing_signal is None: frame.add_signal(new_signal) def get_frame_from_multiplexed_ipdu(pdu, target_frame, multiplex_translation, ea, float_factory): selector_byte_order = ea.get_child(pdu, "SELECTOR-FIELD-BYTE-ORDER") selector_len = ea.get_child(pdu, "SELECTOR-FIELD-LENGTH") selector_start = ea.get_child(pdu, "SELECTOR-FIELD-START-POSITION") is_little_endian = ar_byteorder_is_little(selector_byte_order.text) is_signed = False # unsigned multiplexor = canmatrix.Signal( "Multiplexor", start_bit=int(selector_start.text), size=int(selector_len.text), is_little_endian=is_little_endian, multiplex="Multiplexor") multiplexor.initial_value = 0 target_frame.add_signal(multiplexor) static_part = ea.get_child(pdu, "STATIC-PART") ipdu = ea.follow_ref(static_part, "I-PDU-REF") if ipdu is not None: pdu_sig_mappings = ea.get_child(ipdu, "SIGNAL-TO-PDU-MAPPINGS") pdu_sig_mapping = ea.get_children(pdu_sig_mappings, "I-SIGNAL-TO-I-PDU-MAPPING") get_signals(pdu_sig_mapping, target_frame, ea, None, float_factory) multiplex_translation[ea.get_element_name(ipdu)] = ea.get_element_name(pdu) dynamic_part = ea.get_child(pdu, "DYNAMIC-PART") # segmentPositions = arGetChild(dynamic_part, "SEGMENT-POSITIONS", arDict, ns) # segmentPosition = arGetChild(segmentPositions, "SEGMENT-POSITION", arDict, ns) # byteOrder = arGetChild(segmentPosition, "SEGMENT-BYTE-ORDER", arDict, ns) # segLength = arGetChild(segmentPosition, "SEGMENT-LENGTH", arDict, ns) # segPos = arGetChild(segmentPosition, "SEGMENT-POSITION", arDict, ns) dynamic_part_alternatives = ea.get_child(dynamic_part, "DYNAMIC-PART-ALTERNATIVES") dynamic_part_alternative_list = ea.get_children(dynamic_part_alternatives, "DYNAMIC-PART-ALTERNATIVE") for alternative in dynamic_part_alternative_list: selector_id = ea.get_child(alternative, "SELECTOR-FIELD-CODE") ipdu = ea.follow_ref(alternative, "I-PDU-REF") multiplex_translation[ea.get_element_name(ipdu)] = ea.get_element_name(pdu) if ipdu is not None: pdu_sig_mappings = ea.get_child(ipdu, "SIGNAL-TO-PDU-MAPPINGS") pdu_sig_mapping = ea.get_children(pdu_sig_mappings, "I-SIGNAL-TO-I-PDU-MAPPING") get_signals(pdu_sig_mapping, target_frame, ea, selector_id.text, float_factory) def containters_are_little_endian(ea): # type: (Earxml) -> bool container_i_pdu_header_byte_orders = ea.findall("CONTAINER-I-PDU-HEADER-BYTE-ORDER") if len(container_i_pdu_header_byte_orders) > 0: return ar_byteorder_is_little(container_i_pdu_header_byte_orders[0].text) logger.debug("CONTAINER-I-PDU-HEADER-BYTE-ORDER not found (default big endian)") return False def get_frame_from_container_ipdu(pdu, target_frame, ea, float_factory, headers_are_littleendian): target_frame.is_fd = True pdus = ea.follow_all_ref(pdu, "CONTAINED-PDU-TRIGGERING-REF") header_type = ea.get_child(pdu, "HEADER-TYPE").text header_type_params = { "SHORT-HEADER": (24, 8), "LONG-HEADER": (32, 32), } if header_type in header_type_params: mux_size = header_type_params[header_type] target_frame.add_signal( canmatrix.Signal( start_bit=0, size=mux_size[0], name="Header_ID", is_little_endian=headers_are_littleendian ) ) target_frame.add_signal( canmatrix.Signal( start_bit=mux_size[0], size=mux_size[1], name="Header_DLC", is_little_endian=headers_are_littleendian ) ) ipdus_refs = [] for cpdu in pdus: ipdu = ea.follow_ref(cpdu, "I-PDU-REF") if ipdu in ipdus_refs: continue ipdus_refs.append(ipdu) timing_spec = ea.get_child(ipdu, "I-PDU-TIMING-SPECIFICATION") if timing_spec is None: timing_spec = ea.get_child(ipdu, "I-PDU-TIMING-SPECIFICATIONS") cyclic_timing = ea.get_child(timing_spec, "CYCLIC-TIMING") repeating_time = ea.get_child(cyclic_timing, "REPEATING-TIME") cycle_time = 0 value = ea.get_child(repeating_time, "VALUE") if value is not None: cycle_time = int(float_factory(value.text) * 1000) else: time_period = ea.get_child(cyclic_timing, "TIME-PERIOD") value = ea.get_child(time_period, "VALUE") if value is not None: cycle_time = int(float_factory(value.text) * 1000) try: if header_type == "SHORT-HEADER": header_id = ea.get_child(ipdu, "HEADER-ID-SHORT-HEADER").text elif header_type == "LONG-HEADER": header_id = ea.get_child(ipdu, "HEADER-ID-LONG-HEADER").text else: # none type header_id = None except AttributeError: header_id = None if header_id is not None: header_id = int(header_id, 0) if ipdu is not None and 'SECURED-I-PDU' in ipdu.tag: secured_i_pdu_name = ea.get_element_name(ipdu) payload = ea.follow_ref(ipdu, "PAYLOAD-REF") ipdu = ea.follow_ref(payload, "I-PDU-REF") logger.info("found secured pdu '%s', dissolved to '%s'", secured_i_pdu_name, ea.get_element_name(ipdu)) try: offset = int(ea.get_child(ipdu, "OFFSET").text) * 8 except: offset = 0 try: pdu_type = ipdu.attrib["DEST"] except KeyError: pdu_type = "" try: pdu_port_type = ea.get_child(cpdu, "I-PDU-PORT-REF").attrib["DEST"] except (AttributeError, KeyError): pdu_port_type = "" ipdu_length = int(ea.get_child(ipdu, "LENGTH").text) ipdu_name = ea.get_element_name(ipdu) ipdu_triggering_name = ea.get_element_name(cpdu) target_pdu = canmatrix.Pdu(name=ipdu_name, size=ipdu_length, id=header_id, triggering_name=ipdu_triggering_name, pdu_type=pdu_type, port_type=pdu_port_type, cycle_time=cycle_time) pdu_sig_mapping = ea.get_children(ipdu, "I-SIGNAL-TO-I-PDU-MAPPING") get_signals(pdu_sig_mapping, target_pdu, ea, None, float_factory, bit_offset=offset) target_frame.add_pdu(target_pdu) def store_frame_timings(target_frame, cyclic_timing, event_timing, minimum_delay, repeats, starting_time, time_offset, repeating_time, ea, time_period, float_factory): if cyclic_timing is not None and event_timing is not None: target_frame.add_attribute("GenMsgSendType", "cyclicAndSpontanX") # CycleAndSpontan if minimum_delay is not None: target_frame.add_attribute("GenMsgDelayTime", str(int(float_factory(minimum_delay.text) * 1000))) if repeats is not None: target_frame.add_attribute("GenMsgNrOfRepetitions", repeats.text) elif cyclic_timing is not None: target_frame.add_attribute("GenMsgSendType", "cyclicX") # CycleX if minimum_delay is not None: target_frame.add_attribute("GenMsgDelayTime", str(int(float_factory(minimum_delay.text) * 1000))) if repeats is not None: target_frame.add_attribute("GenMsgNrOfRepetitions", repeats.text) else: target_frame.add_attribute("GenMsgSendType", "spontanX") # Spontan if minimum_delay is not None: target_frame.add_attribute("GenMsgDelayTime", str(int(float_factory(minimum_delay.text) * 1000))) if repeats is not None: target_frame.add_attribute("GenMsgNrOfRepetitions", repeats.text) if starting_time is not None: value = ea.get_child(starting_time, "VALUE") target_frame.add_attribute("GenMsgStartDelayTime", str(int(float_factory(value.text) * 1000))) elif cyclic_timing is not None: value = ea.get_child(time_offset, "VALUE") if value is not None: target_frame.add_attribute("GenMsgStartDelayTime", str(int(float_factory(value.text) * 1000))) value = ea.get_child(repeating_time, "VALUE") if value is not None: target_frame.cycle_time = int(float_factory(value.text) * 1000) elif cyclic_timing is not None: value = ea.get_child(time_period, "VALUE") if value is not None: target_frame.cycle_time = int(float_factory(value.text) * 1000) def get_frame(frame_triggering, ea, multiplex_translation, float_factory, headers_are_littleendian): # type: (_Element, _DocRoot, dict, typing.Callable, bool) -> typing.Union[canmatrix.Frame, None] global frames_cache arb_id = ea.get_child(frame_triggering, "IDENTIFIER") frame_elem = ea.follow_ref(frame_triggering, "FRAME-REF") frame_name_elem = ea.get_child(frame_triggering, "SHORT-NAME") logger.debug("processing Frame: %s", frame_name_elem.text) if arb_id is None: logger.info("found Frame %s without arbitration id", frame_name_elem.text) return None arbitration_id = int(arb_id.text) if frame_elem is not None: if frame_elem in frames_cache: return copy.deepcopy(frames_cache[frame_elem]) dlc_elem = ea.get_child(frame_elem, "FRAME-LENGTH") # pdu_mapping = ea.get_child(frame_elem, "PDU-TO-FRAME-MAPPING") # pdu = ea.follow_ref(pdu_mapping, "PDU-REF") # SIGNAL-I-PDU pdu = ea.follow_ref(frame_elem, "PDU-REF") # SIGNAL-I-PDU if pdu is not None and 'SECURED-I-PDU' in pdu.tag: pdu = ea.selector(pdu, ">PAYLOAD-REF>I-PDU-REF")[0] # logger.info("found secured pdu - no signal extraction possible: %s", get_element_name(pdu, ns)) new_frame = canmatrix.Frame(ea.get_element_name(frame_elem), size=int(dlc_elem.text)) comment = ea.get_element_desc(frame_elem) if comment is not None: new_frame.add_comment(comment) else: # without frameinfo take short-name of frametriggering and dlc = 8 logger.debug("Frame %s has no FRAME-REF", frame_name_elem.text) pdu = ea.selector(frame_triggering, ">I-PDU-TRIGGERING-REF>I-PDU-REF") # AR4.2 if len(pdu) == 0: pdu = ea.selector(frame_triggering, ">PDU-TRIGGERING-REF>I-PDU-REF") if len(pdu) > 0: pdu = pdu[0] else: pdu = None dlc_elem = ea.get_child(pdu, "LENGTH") new_frame = canmatrix.Frame(frame_name_elem.text, arbitration_id=arbitration_id, size=int(int(dlc_elem.text) / 8)) if pdu is None: logger.error("pdu is None") else: logger.debug("PDU: " + ea.get_element_name(pdu)) if new_frame.comment is None: new_frame.add_comment(ea.get_element_desc(pdu)) address_mode = ea.get_child(frame_triggering, "CAN-ADDRESSING-MODE") frame_rx_behaviour_elem = ea.get_child(frame_triggering, "CAN-FRAME-RX-BEHAVIOR") frame_tx_behaviour_elem = ea.get_child(frame_triggering, "CAN-FRAME-TX-BEHAVIOR") is_fd_elem = ea.get_child(frame_triggering, "CAN-FD-FRAME-SUPPORT") if address_mode is not None and address_mode.text == 'EXTENDED': new_frame.arbitration_id = canmatrix.ArbitrationId(arbitration_id, extended=True) else: new_frame.arbitration_id = canmatrix.ArbitrationId(arbitration_id, extended=False) if (frame_rx_behaviour_elem is not None and frame_rx_behaviour_elem.text == 'CAN-FD') or \ (frame_tx_behaviour_elem is not None and frame_tx_behaviour_elem.text == 'CAN-FD') or \ (is_fd_elem is not None and is_fd_elem.text == 'TRUE'): new_frame.is_fd = True else: new_frame.is_fd = False timing_spec = ea.get_child(pdu, "I-PDU-TIMING-SPECIFICATION") # AR 3 if timing_spec is None: timing_spec = ea.get_child(pdu, "I-PDU-TIMING-SPECIFICATIONS") # AR 4 cyclic_timing = ea.get_child(timing_spec, "CYCLIC-TIMING") repeating_time = ea.get_child(cyclic_timing, "REPEATING-TIME") event_timing = ea.get_child(timing_spec, "EVENT-CONTROLLED-TIMING") repeats = ea.get_child(event_timing, "NUMBER-OF-REPEATS") minimum_delay = ea.get_child(timing_spec, "MINIMUM-DELAY") starting_time = ea.get_child(timing_spec, "STARTING-TIME") time_offset = ea.get_child(cyclic_timing, "TIME-OFFSET") time_period = ea.get_child(cyclic_timing, "TIME-PERIOD") store_frame_timings(new_frame, cyclic_timing, event_timing, minimum_delay, repeats, starting_time, time_offset, repeating_time, ea, time_period, float_factory) if pdu is not None and "MULTIPLEXED-I-PDU" in pdu.tag: get_frame_from_multiplexed_ipdu(pdu, new_frame, multiplex_translation, ea, float_factory) elif pdu is not None and pdu.tag == ea.ns + "CONTAINER-I-PDU": get_frame_from_container_ipdu(pdu, new_frame, ea, float_factory, headers_are_littleendian) else: pdu_sig_mapping = ea.selector(pdu, "//I-SIGNAL-TO-I-PDU-MAPPING") if pdu_sig_mapping: get_signals(pdu_sig_mapping, new_frame, ea, None, float_factory) # Seen some pdu_sig_mapping being [] and not None with some arxml 4.2 else: # AR 4.2 pdu_trigs = ea.follow_all_ref(frame_triggering, "PDU-TRIGGERINGS-REF") if pdu_trigs is not None: for pdu_trig in pdu_trigs: trig_ref_cond = ea.get_child(pdu_trig, "PDU-TRIGGERING-REF-CONDITIONAL") trigs = ea.follow_ref(trig_ref_cond, "PDU-TRIGGERING-REF") ipdus = ea.follow_ref(trigs, "I-PDU-REF") signal_to_pdu_maps = ea.get_child(ipdus, "I-SIGNAL-TO-PDU-MAPPINGS") if signal_to_pdu_maps is None: signal_to_pdu_maps = ea.get_child(ipdus, "I-SIGNAL-TO-I-PDU-MAPPINGS") if signal_to_pdu_maps is None: logger.debug("AR4.x PDU %s no SIGNAL-TO-PDU-MAPPINGS found - no signal extraction!", ea.get_element_name(ipdus)) # signal_to_pdu_map = get_children(signal_to_pdu_maps, "I-SIGNAL-TO-I-PDU-MAPPING", arDict, ns) get_signals(signal_to_pdu_maps, new_frame, ea, None, float_factory) # todo BUG expects list, not item else: logger.debug("Frame %s (assuming AR4.2) no PDU-TRIGGERINGS found", new_frame.name) if new_frame.is_pdu_container and new_frame.cycle_time == 0: cycle_times = {pdu.cycle_time for pdu in new_frame.pdus} if len(cycle_times) > 1: logger.warning("%s is pdu-container(frame) with different cycle times (%s), frame cycle-time: %s", new_frame.name, cycle_times, new_frame.cycle_time) new_frame.cycle_time = min(cycle_times) new_frame.fit_dlc() if frame_elem is not None: frames_cache[frame_elem] = new_frame return copy.deepcopy(new_frame) def process_ecu(ecu_elem, ea): # type: (_Element, Earxml) -> canmatrix.Ecu connectors = ea.get_child(ecu_elem, "CONNECTORS") # diag_address = ea.get_child(ecu_elem, "DIAGNOSTIC-ADDRESS") # diag_response = ea.get_child(ecu_elem, "RESPONSE-ADDRESSS") # TODO: use diag_address for frame-classification comm_connector = ea.get_child(connectors, "COMMUNICATION-CONNECTOR") if comm_connector is None: comm_connector = ea.get_child(connectors, "CAN-COMMUNICATION-CONNECTOR") # frames = ea.find_children_by_path(comm_connector, "ECU-COMM-PORT-INSTANCES/FRAME-PORT") nm_address = ea.get_child(comm_connector, "NM-ADDRESS") new_ecu = canmatrix.Ecu(ea.get_element_name(ecu_elem)) if nm_address is not None: new_ecu.add_attribute("NWM-Stationsadresse", nm_address.text) new_ecu.add_attribute("NWM-Knoten", "ja") else: new_ecu.add_attribute("NWM-Stationsadresse", "0") new_ecu.add_attribute("NWM-Knoten", "nein") desc = ea.get_child(ecu_elem, "DESC", ) l2 = ea.get_child(desc, "L-2") if l2 is not None: new_ecu.add_comment(l2.text) return new_ecu def ecuc_extract_signal(signal_node, ea): # type: (_Element, str) -> canmatrix.Signal """Extract signal from ECUc file.""" attributes = ea.findall("DEFINITION-REF", signal_node) # type: typing.Sequence[_Element] start_bit = None size = 0 is_little = False # endianness = None # init_value = 0 # signal_type = None # timeout = 0 for attribute in attributes: if attribute.text.endswith("ComBitPosition"): start_bit = int(attribute.getparent().find(".//" + ea.ns + "VALUE").text) if attribute.text.endswith("ComBitSize"): size = int(attribute.getparent().find(".//" + ea.ns + "VALUE").text) if attribute.text.endswith("ComSignalEndianness"): endianness = attribute.getparent().find(".//" + ea.ns + "VALUE").text is_little = "LITTLE_ENDIAN" in endianness if attribute.text.endswith("ComSignalInitValue"): init_value = int(attribute.getparent().find(".//" + ea.ns + "VALUE").text) if attribute.text.endswith("ComSignalType"): signal_type = attribute.getparent().find(".//" + ea.ns + "VALUE").text if attribute.text.endswith("ComTimeout"): timeout = int(attribute.getparent().find(".//" + ea.ns + "VALUE").text) return canmatrix.Signal(ea.get_element_name(signal_node), start_bit=start_bit, size=size, is_little_endian=is_little) def extract_cm_from_ecuc(com_module, ea): # type: (_Element, Earxml) -> typing.Dict[str, canmatrix.CanMatrix] db = canmatrix.CanMatrix() definitions = ea.findall("DEFINITION-REF", com_module) for definition in definitions: if definition.text.endswith("ComIPdu"): container = definition.getparent() frame = canmatrix.Frame(ea.get_element_name(container)) db.add_frame(frame) all_references = ea.get_children(container, "ECUC-REFERENCE-VALUE") for reference in all_references: value = ea.follow_ref(reference, "VALUE-REF") if value is not None: signal_definition = value.find('./' + ea.ns + "DEFINITION-REF") if signal_definition.text.endswith("ComSignal"): signal = ecuc_extract_signal(value, ea) frame.add_signal(signal) db.recalc_dlc(strategy="max") return {"": db} def decode_ethernet_helper(ea, float_factory): found_matrixes = {} socket_connetions = ea.findall("SOCKET-CONNECTION-IPDU-IDENTIFIER") pdu_triggering_header_id_map = {} # network_endpoints = pc.findall('.//' + ns + "NETWORK-ENDPOINT") for socket_connetion in socket_connetions: header_id = ea.get_child(socket_connetion, "HEADER-ID") ipdu_triggering = ea.follow_ref(socket_connetion, "PDU-TRIGGERING-REF") try: pdu_triggering_header_id_map[ipdu_triggering] = header_id.text except: pass ecs = ea.findall('ETHERNET-CLUSTER') for ec in ecs: baudrate_elem = ea.find("BAUDRATE", ec) physical_channels = ea.findall("ETHERNET-PHYSICAL-CHANNEL", ec) for pc in physical_channels: db = canmatrix.CanMatrix(type=canmatrix.matrix_class.SOMEIP) db.baudrate = baudrate_elem.text if baudrate_elem is not None else 0 db.add_signal_defines("LongName", 'STRING') channel_name = ea.get_element_name(pc) found_matrixes[channel_name] = db for socket_connetion in ea.findall("SOCKET-CONNECTION-IPDU-IDENTIFIER", pc): header_id = ea.get_child(socket_connetion, "HEADER-ID") ipdu_triggering = ea.follow_ref(socket_connetion, "PDU-TRIGGERING-REF") # for ipdu_triggering in ea.findall("PDU-TRIGGERING", pc): ipdu = ea.follow_ref(ipdu_triggering, "I-PDU-REF") if ipdu is not None and 'SECURED-I-PDU' in ipdu.tag: payload = ea.follow_ref(ipdu, "PAYLOAD-REF") ipdu = ea.follow_ref(payload, "I-PDU-REF") ipdu_name = ea.get_element_name(ipdu) logger.info("ETH PDU " + ipdu_name + " found") target_frame = canmatrix.Frame(name=ipdu_name) try: target_frame.header_id = int(header_id.text) except: try: target_frame.header_id = int(pdu_triggering_header_id_map[ipdu_triggering]) except: target_frame.header_id = 0 # continue pdu_sig_mapping = ea.findall("I-SIGNAL-TO-I-PDU-MAPPING", ipdu) get_signals(pdu_sig_mapping, target_frame, ea, None, float_factory) target_frame.update_receiver() db.add_frame(target_frame) return found_matrixes def decode_flexray_helper(ea, float_factory): found_matrixes = {} fcs = ea.findall('FLEXRAY-CLUSTER') frame_counter = 0 for fc in fcs: physical_channels = ea.findall("FLEXRAY-PHYSICAL-CHANNEL", fc) for pc in physical_channels: db = canmatrix.CanMatrix() db.is_flexray = True db.add_signal_defines("LongName", 'STRING') channel_name = ea.get_element_name(pc) found_matrixes[channel_name] = db frames = ea.findall("FLEXRAY-FRAME-TRIGGERING", pc) for frame_element in frames: frame_counter += 1 slot_id = int(ea.get_child(frame_element, "SLOT-ID").text) base_cycle = ea.get_child(frame_element, "BASE-CYCLE").text ipdu_triggerings = ea.get_children(frame_element, "I-PDU-TRIGGERING") frame_repetition_cycle = ea.find_children_by_path(frame_element, "CYCLE-REPETITION/CYCLE-REPETITION")[ 0].text network_endpoints = pc.findall('.//' + ea.ns + "NETWORK-ENDPOINT") frame_size = int(ea.find_children_by_path(frame_element, "FRAME/FRAME-LENGTH")[0].text) frame = canmatrix.Frame(size=frame_size, arbitration_id=frame_counter) frame.slot_id = slot_id frame.base_cycle = base_cycle frame.repitition_cycle = frame_repetition_cycle.replace("CYCLE-REPETITION-", "") db.add_frame(frame) for ipdu_triggering in ipdu_triggerings: ipdu_triggering_name = ea.get_element_name(ipdu_triggering) ipdu = ea.get_child(ipdu_triggering, "I-PDU") pdu_type = ea.get_child(ipdu_triggering, "I-PDU-REF").attrib["DEST"] ipdu_length = int(ea.get_child(ipdu, "LENGTH").text) pdu_port_type = ea.get_child(ipdu_triggering, "I-PDU-PORT-REF").attrib["DEST"] ipdu_name = ea.get_element_name(ipdu) target_pdu = canmatrix.Pdu(name=ipdu_name, size=ipdu_length, triggering_name=ipdu_triggering_name, pdu_type=pdu_type, port_type=pdu_port_type) pdu_sig_mapping = ea.get_children(ipdu, "I-SIGNAL-TO-I-PDU-MAPPING") get_signals(pdu_sig_mapping, target_pdu, ea, None, float_factory) frame.add_pdu(target_pdu) return found_matrixes def decode_can_helper(ea, float_factory, ignore_cluster_info): found_matrixes = {} if ignore_cluster_info is True: ccs = [lxml.etree.Element("ignoreClusterInfo")] # type: typing.Sequence[_Element] else: ccs = ea.findall('CAN-CLUSTER') headers_are_littleendian = containters_are_little_endian(ea) nodes = {} # type: typing.Dict[_Element, canmatrix.Ecu] for cc in ccs: # type: _Element db = canmatrix.CanMatrix() # Defines not jet imported... db.add_ecu_defines("NWM-Stationsadresse", 'HEX 0 63') db.add_ecu_defines("NWM-Knoten", 'ENUM "nein","ja"') db.add_signal_defines("LongName", 'STRING') db.add_frame_defines("GenMsgDelayTime", 'INT 0 65535') db.add_frame_defines("GenMsgNrOfRepetitions", 'INT 0 65535') db.add_frame_defines("GenMsgStartValue", 'STRING') db.add_frame_defines("GenMsgStartDelayTime", 'INT 0 65535') db.add_frame_defines( "GenMsgSendType", 'ENUM "cyclicX","spontanX","cyclicIfActiveX","spontanWithDelay","cyclicAndSpontanX","cyclicAndSpontanWithDelay","spontanWithRepitition","cyclicIfActiveAndSpontanWD","cyclicIfActiveFast","cyclicWithRepeatOnDemand","none"') if ignore_cluster_info is True: can_frame_trig = ea.findall('CAN-FRAME-TRIGGERING') bus_name = "" else: speed = ea.get_child(cc, "SPEED") baudrate_elem = ea.find("BAUDRATE", cc) fd_baudrate_elem = ea.find("CAN-FD-BAUDRATE", cc) logger.debug("Busname: " + ea.get_element_name(cc)) bus_name = ea.get_element_name(cc) if speed is not None: db.baudrate = int(speed.text) elif baudrate_elem is not None: db.baudrate = int(baudrate_elem.text) logger.debug("Baudrate: " + str(db.baudrate)) if fd_baudrate_elem is not None: db.fd_baudrate = int(fd_baudrate_elem.text) can_frame_trig = ea.selector(cc, "/CAN-PHYSICAL-CHANNEL//CAN-FRAME-TRIGGERING") multiplex_translation = {} # type: typing.Dict[str, str] for frameTrig in can_frame_trig: # type: _Element frame = get_frame(frameTrig, ea, multiplex_translation, float_factory, headers_are_littleendian) if frame is not None: comm_direction = ea.selector(frameTrig, ">>FRAME-PORT-REF/COMMUNICATION-DIRECTION") if len(comm_direction) > 0: ecu_elem = ea.get_ecu_instance(element=comm_direction[0]) if ecu_elem is not None: if ecu_elem in nodes: ecu = nodes[ecu_elem] else: ecu = process_ecu(ecu_elem, ea) nodes[ecu_elem] = ecu if comm_direction[0].text == "OUT": frame.add_transmitter(ecu.name) else: frame.add_receiver(ecu.name) db.add_ecu(ecu) db.add_frame(frame) for frame in db.frames: if frame.is_pdu_container: continue sig_value_hash = dict() for sig in frame.signals: sig.receivers = list(set(frame.receivers).intersection(sig.receivers)) try: sig_value_hash[sig.name] = sig.phys2raw() except AttributeError: sig_value_hash[sig.name] = 0 frame_data = frame.encode(sig_value_hash) frame.add_attribute("GenMsgStartValue", "".join(["%02x" % x for x in frame_data])) # frame.update_receiver() found_matrixes[bus_name] = db return found_matrixes def get_frames_nb(ea): # type (Earxml) -> int frames = ea.findall('CAN-FRAME') # AR4.2 if frames is None: frames = ea.findall('FRAME') # AR4.1 if frames is None: return 0 return len(frames) def get_can_trigger_nb(ea): # type (Earxml) -> int can_triggers = ea.findall('CAN-FRAME-TRIGGERING') if can_triggers is None: return 0 return len(can_triggers) def get_sig_pdu_map_nb(ea): # type (Earxml) -> int sig_pdu_map = ea.findall('SIGNAL-TO-PDU-MAPPINGS') if sig_pdu_map is None: return 0 return len(sig_pdu_map) def get_sig_ipdu_nb(ea): # type (Earxml) -> int sig_ipdu = ea.findall('I-SIGNAL-TO-I-PDU-MAPPING') if sig_ipdu is None: return 0 return len(sig_ipdu) def load(file, **options): # type: (typing.IO, **typing.Any) -> typing.Dict[str, canmatrix.CanMatrix] global frames_cache frames_cache = {} float_factory = options.get("float_factory", default_float_factory) # type: typing.Callable ignore_cluster_info = options.get("arxmlIgnoreClusterInfo", False) decode_ethernet = options.get("decode_ethernet", False) decode_flexray = options.get("decode_flexray", False) result = {} logger.debug("Read arxml ...") ea = Earxml() ea.open(file) com_module = ea.get_short_name_path("/ActiveEcuC/Com") if com_module is not None and len(com_module) > 0: logger.info("seems to be a ECUC arxml. Very limited support for extracting canmatrix.") return extract_cm_from_ecuc(com_module, ea) logger.debug("%d frames in arxml...", get_frames_nb(ea)) logger.debug("%d can-frame-triggering in arxml...", get_can_trigger_nb(ea)) logger.debug("%d SIGNAL-TO-PDU-MAPPINGS in arxml...", get_sig_pdu_map_nb(ea)) logger.debug("%d I-SIGNAL-TO-I-PDU-MAPPING in arxml...", get_sig_ipdu_nb(ea)) if decode_ethernet: result.update(decode_ethernet_helper(ea, float_factory)) if decode_flexray: result.update(decode_flexray_helper(ea, float_factory)) result.update(decode_can_helper(ea, float_factory, ignore_cluster_info)) return result canmatrix-0.9.5/src/canmatrix/formats/csv.py000066400000000000000000000246371416730473300211340ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports canmatrix-objects to a CSV file. (Based on xlsx) # Author: Martin Hoffmann (m8ddin@gmail.com) from __future__ import absolute_import, division, print_function import collections import csv import logging import sys import typing from builtins import * import re import canmatrix.formats.xls_common logger = logging.getLogger(__name__) CsvDataType = typing.Union[str, int] class CsvRow: def __init__(self): # type: () -> None self._row_dict = collections.defaultdict(str) # type: typing.Dict[int, CsvDataType] def __getitem__(self, key): # type: (int) -> CsvDataType return self._row_dict[key] def __setitem__(self, key, item): # type: (int, CsvDataType) -> None if sys.version_info <= (3, 0): if type(item).__name__ == "unicode": item = item.encode('utf-8') self._row_dict[key] = item def __add__(self, other): # type: (typing.Iterable[CsvDataType]) -> CsvRow if len(self._row_dict.keys()) > 0: start = max(self._row_dict.keys()) + 1 else: start = 0 i = 0 for item in other: self[start + i] = item i += 1 return self def write(self, column, value): # type: (int, CsvDataType) -> None self._row_dict[column] = value @property def as_list(self): # type: () -> typing.List[str] # Generate list of single cells in the row till highest index (dictionary key) # Empty cells (non-existent keys) are generated as empty string return [self._row_dict[x] for x in range(0, max(self._row_dict) + 1)] def to_csv(self, delimiter=','): # type: (str) -> str text = delimiter.join(self.as_list) return text.replace('\n', ' ') def __str__(self): # type: () -> str return self.to_csv() def write_ecu_matrix(ecu_name_list, sig, frame, row, col): # type: (typing.Sequence[str], canmatrix.Signal, canmatrix.Frame, CsvRow, int) -> int # iterate over ecus: for ecu_name in ecu_name_list: # write "s" "r" "r/s" if signal is sent, received or send and received by ECU if ecu_name in sig.receivers and ecu_name in frame.transmitters: row[col] = "r/s" elif ecu_name in sig.receivers: row[col] = "r" elif ecu_name in frame.transmitters: row[col] = "s" else: row[col] = "" col += 1 return col def dump(db, file_object, delimiter=',', **options): # type: (canmatrix.CanMatrix, typing.BinaryIO, str, **str) -> None head_top = [ 'ID', 'Frame Name', 'Cycle Time [ms]', 'Launch Type', 'Launch Parameter', 'Signal Byte No.', 'Signal Bit No.', 'Signal Name', 'Signal Function', 'Signal Length [Bit]', 'Signal Default', ' Signal Not Available', 'Byteorder', 'is signed'] head_tail = ['Name / Phys. Range', 'Function / Increment Unit', 'Value'] additional_signal_columns = options.get("additionalAttributes", "").split(",") additional_frame_columns = options.get("additionalFrameAttributes", "").split(",") motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse") csv_table = list() # List holding all csv rows col = 0 # Column counter # -- headers start: header_row = CsvRow() # write first row (header) cols before ECUs: for head in head_top: header_row.write(col, head) col += 1 # write ECU in first row: ecu_name_list = [] for ecu in db.ecus: header_row.write(col, ecu.name) ecu_name_list.append(ecu.name) col += 1 # write first row (header) cols after ECUs: for head in head_tail: header_row.write(col, head) col += 1 for additionalCol in additional_frame_columns: header_row.write(col, "frame." + additionalCol) col += 1 for additionalCol in additional_signal_columns: header_row.write(col, "signal." + additionalCol) col += 1 csv_table.append(header_row) # -- headers end... frame_hash = {} for frame in db.frames: if frame.is_complex_multiplexed: logger.error("export complex multiplexers is not supported - ignoring frame " + frame.name) continue frame_hash[int(frame.arbitration_id.id)] = frame # set row to first Frame (row = 0 is header) row = 1 # iterate over the frames for idx in sorted(frame_hash.keys()): frame = frame_hash[idx] # sort signals: signal_hash = {} for sig in frame.signals: signal_hash["%02d" % int(sig.get_startbit()) + sig.name] = sig additional_frame_info = [ frame.attribute(frameInfo, default="") for frameInfo in additional_frame_columns ] # iterate over signals for sig_idx in sorted(signal_hash.keys()): sig = signal_hash[sig_idx] # value table available? if sig.values.__len__() > 0: # iterate over values in value table for val in sorted(sig.values.keys()): signal_row = CsvRow() signal_row += canmatrix.formats.xls_common.get_frame_info(db, frame) (front, back) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) signal_row += front signal_row += ("s" if sig.is_signed else "u") col = head_top.__len__() col = write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col) if float(sig.min) != 0 or float(sig.max) != 1.0: back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore elif float(sig.min) == 0 and float(sig.max) == 1.0: back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore else: back.insert(0, "") ''' back += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") back.append(temp) ''' temp = ", ".join(["{}: {}".format(a, b) for (a, b) in sig.values.items()]) back.append(temp) signal_row += back signal_row += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") signal_row += [temp] # next row row += 1 csv_table.append(signal_row) # loop over values ends here # no value table available else: signal_row = CsvRow() signal_row += canmatrix.formats.xls_common.get_frame_info(db, frame) (front, back) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) signal_row += front signal_row += ("s" if sig.is_signed else "u") col = head_top.__len__() col = write_ecu_matrix(ecu_name_list, sig, frame, signal_row, col) if float(sig.min) != 0 or float(sig.max) != 1.0: back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore elif float(sig.min) == 0 and float(sig.max) == 1.0: back.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore else: back.insert(0, "") ''' back += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") back.append(temp) ''' temp = ", ".join(["{}: {}".format(a, b) for (a, b) in sig.values.items()]) back.append(temp) signal_row += back signal_row += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") signal_row += [temp] # next row row += 1 csv_table.append(signal_row) # set style to normal - without border # loop over signals ends here # loop over frames ends here if sys.version_info > (3, 0): import io temp = io.TextIOWrapper(file_object, encoding='UTF-8') else: temp = file_object try: writer = csv.writer(temp, delimiter=delimiter) for csv_row in csv_table: writer.writerow(csv_row.as_list) # else: # # just print to stdout # finalTableString = "\n".join( # [row.toCSV(delimiter) for row in csv_table]) # print(finalTableString) finally: if sys.version_info > (3, 0): # When TextIOWrapper is garbage collected, it closes the raw stream # unless the raw stream is detached first temp.detach() canmatrix-0.9.5/src/canmatrix/formats/dbc.py000066400000000000000000001405241416730473300210630ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports dbc-files from a canmatrix-object # dbc-files are the can-matrix-definitions of the CANoe (Vector Informatic) from __future__ import absolute_import, division, print_function import collections import copy import decimal import logging import math import re import typing from builtins import * import canmatrix import canmatrix.utils logger = logging.getLogger(__name__) def default_float_factory(value): # type: (typing.Any) -> decimal.Decimal return decimal.Decimal(value) def normalize_name(name, whitespace_replacement): # type: (str, str) -> str name = re.sub(r'\s+', whitespace_replacement, name) if ' ' in name: name = '"' + name + '"' return name def format_float(f): # type: (typing.Any) -> str s = str(f).upper() if s.endswith('.0'): s = s[:-2] if 'E' in s: tmp = s.split('E') s = '%sE%s%s' % (tmp[0], tmp[1][0], tmp[1][1:].rjust(3, '0')) return s.upper() def check_define(define): # type: (canmatrix.Define) -> None # check if define is compatible with dbc. else replace by STRING if define.type not in ["ENUM", "STRING", "INT", "HEX", "FLOAT"]: logger.warning("dbc export of attribute type %s not supported; replaced by STRING", define.type) define.definition = "STRING" define.type = "STRING" def create_define(data_type, define, define_type, defaults): # type: (str, canmatrix.Define, str, typing.MutableMapping[str, str]) -> str check_define(define) define_string = "BA_DEF_ " + define_type define_string += ' "' + data_type + '" ' define_string += define.definition + ';\n' if data_type not in defaults and define.defaultValue is not None: if define.type == "ENUM" or define.type == "STRING": defaults[data_type] = '"' + define.defaultValue + '"' else: defaults[data_type] = define.defaultValue return define_string def create_attribute_string(attribute, attribute_class, name, value, is_string): # type: (str, str, str, typing.Any, bool) -> str if is_string: value = '"' + value + '"' elif not value: value = '""' attribute_string = 'BA_ "' + attribute + '" ' + attribute_class + ' ' + name + ' ' + str(value) + ';\n' return attribute_string def create_comment_string(comment_class, comment_ident, comment, export_encoding, export_comment_encoding, ignore_encoding_errors): # type: (str, str, str, str, str, str) -> bytes if len(comment) == 0: return b"" comment_string = ("CM_ " + comment_class + " " + comment_ident + ' "').encode(export_encoding, 'ignore') comment_string += comment.replace('"', '\\"').encode(export_comment_encoding, 'ignore') comment_string += '";\n'.encode(export_encoding, ignore_encoding_errors) return comment_string def dump(in_db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None # create copy because export changes database db = copy.deepcopy(in_db) dbc_export_encoding = options.get("dbcExportEncoding", 'iso-8859-1') dbc_export_comment_encoding = options.get("dbcExportCommentEncoding", dbc_export_encoding) compatibility = options.get('compatibility', True) dbc_unique_signal_names_per_frame = options.get("dbcUniqueSignalNames", compatibility) ignore_encoding_errors= options.get("ignoreEncodingErrors", "ignore") write_val_table = options.get("writeValTable", True) whitespace_replacement = options.get("whitespaceReplacement", '_') if whitespace_replacement in ['', None] or {' ', '\t'}.intersection(whitespace_replacement): logger.warning("Settings may result in whitespace in DBC variable names. This is not supported by the DBC format.") if db.contains_fd and db.contains_j1939: db.add_frame_defines("VFrameFormat", 'ENUM "StandardCAN","ExtendedCAN","reserved","J1939PG","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","StandardCAN_FD","ExtendedCAN_FD"') logger.warning("dbc export not fully compatible to candb, because both J1939 and CAN_FD frames are defined") elif db.contains_fd: db.add_global_defines("BusType", "STRING") db.add_attribute("BusType", "CAN FD") db.add_frame_defines("VFrameFormat", 'ENUM "StandardCAN","ExtendedCAN","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","reserved","StandardCAN_FD","ExtendedCAN_FD"') elif db.contains_j1939: db.add_global_defines("ProtocolType", "STRING") db.add_attribute("ProtocolType", "J1939") db.add_frame_defines("VFrameFormat", 'ENUM "StandardCAN","ExtendedCAN","reserved","J1939PG"') if db.contains_fd or db.contains_j1939: for frame in db.frames: if frame.is_fd: if frame.arbitration_id.extended: frame.add_attribute("VFrameFormat", "ExtendedCAN_FD") else: frame.add_attribute("VFrameFormat", "StandardCAN_FD") elif frame.is_j1939: frame.add_attribute("VFrameFormat", "J1939PG") else: if frame.arbitration_id.extended: frame.add_attribute("VFrameFormat", "ExtendedCAN") else: frame.add_attribute("VFrameFormat", "StandardCAN") db.enum_attribs_to_keys() # free signals are in special frame in dbc... if len(db.signals) > 0: free_signals_dummy_frame = canmatrix.Frame("VECTOR__INDEPENDENT_SIG_MSG") # set arbitration id manualy, constructor would not allow this special id free_signals_dummy_frame.arbitration_id.extended = True free_signals_dummy_frame.arbitration_id.id = 0x40000000 free_signals_dummy_frame.signals = db.signals db.add_frame(free_signals_dummy_frame) # shorten long environment variable names for env_var_name in copy.deepcopy(db.env_vars): if len(env_var_name) > 32: db.add_env_attribute(env_var_name, "SystemEnvVarLongSymbol", env_var_name) db.env_vars[env_var_name[:32]] = db.env_vars.pop(env_var_name) db.add_env_defines("SystemEnvVarLongSymbol", "STRING") header = "VERSION \"created by canmatrix\"\n\n\nNS_ :\n\nBS_:\n\n" f.write(header.encode(dbc_export_encoding, ignore_encoding_errors)) # ECUs f.write("BU_: ".encode(dbc_export_encoding, ignore_encoding_errors)) for ecu in db.ecus: # fix long ecu names: if len(ecu.name) > 32: ecu.add_attribute("SystemNodeLongSymbol", ecu.name) ecu.name = ecu.name[0:32] db.add_ecu_defines("SystemNodeLongSymbol", "STRING") f.write((ecu.name + " ").encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n\n".encode(dbc_export_encoding, ignore_encoding_errors)) if write_val_table: # ValueTables for table in sorted(db.value_tables): f.write(("VAL_TABLE_ " + table).encode(dbc_export_encoding, ignore_encoding_errors)) for row in db.value_tables[table]: f.write(' {} "{}"'.format(str(row), db.value_tables[table][row]).encode(dbc_export_encoding, ignore_encoding_errors)) f.write(";\n".encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) output_names = collections.defaultdict(dict) # type: typing.Dict[canmatrix.Frame, typing.Dict[canmatrix.Signal, str]] for frame in db.frames: # fix long frame names if len(frame.name) > 32: frame.add_attribute("SystemMessageLongSymbol", frame.name) frame.name = frame.name[0:32] db.add_frame_defines("SystemMessageLongSymbol", "STRING") # fix long signal names for s in frame.signals: if len(s.name) > 32: s.add_attribute("SystemSignalLongSymbol", s.name) s.name = s.name[0:32] db.add_signal_defines("SystemSignalLongSymbol", "STRING") normalized_names = collections.OrderedDict(( (s, normalize_name(s.name, whitespace_replacement)) for s in frame.signals )) # remove "-" from frame names if compatibility: frame.name = re.sub("[^A-Za-z0-9]", whitespace_replacement, frame.name) duplicate_signal_totals = collections.Counter(normalized_names.values()) duplicate_signal_counter = collections.Counter() # type: typing.Counter[str] numbered_names = collections.OrderedDict() # type: ignore if frame.cycle_time != 0: frame.add_attribute("GenMsgCycleTime", frame.cycle_time) for signal in frame.signals: if signal.cycle_time != 0: signal.add_attribute("GenSigCycleTime", signal.cycle_time) if signal.phys2raw(None) != 0: signal.add_attribute("GenSigStartValue", signal.phys2raw(None)) name = normalized_names[signal] if compatibility: name = re.sub("[^A-Za-z0-9]", whitespace_replacement, name) if name[0].isdigit(): name = whitespace_replacement + name duplicate_signal_counter[name] += 1 if dbc_unique_signal_names_per_frame and duplicate_signal_totals[name] > 1: # TODO: pad to 01 in case of 10+ instances, for example? name += str(duplicate_signal_counter[name] - 1) output_names[frame][signal] = name if len(db.frames) > 0: if max([x.cycle_time for x in db.frames]) > 0: db.add_frame_defines("GenMsgCycleTime", 'INT 0 65535') if len([s for fr in db.frames for s in fr.signals]) > 0: if max([x.cycle_time for y in db.frames for x in y.signals]) > 0: db.add_signal_defines("GenSigCycleTime", 'INT 0 65535') if max([x.phys2raw(None) for y in db.frames for x in y.signals]) > 0 or min([x.phys2raw(None) for y in db.frames for x in y.signals]) < 0: db.add_signal_defines("GenSigStartValue", 'FLOAT 0 100000000000') # Frames for frame in db.frames: multiplex_written = False if len(frame.transmitters) == 0: frame.add_transmitter("Vector__XXX") f.write( ("BO_ %d " % frame.arbitration_id.to_compound_integer() + frame.name + ": %d " % frame.size + frame.transmitters[0] + "\n").encode(dbc_export_encoding, ignore_encoding_errors)) duplicate_signal_totals = collections.Counter( normalize_name(s.name, whitespace_replacement) for s in frame.signals ) duplicate_signal_counter = collections.Counter() for signal in frame.signals: if signal.multiplex == 'Multiplexor' and multiplex_written and not frame.is_complex_multiplexed: continue signal_line = " SG_ " + output_names[frame][signal] + " " if signal.mux_val is not None: signal_line += "m{}".format(int(signal.mux_val)) if signal.multiplex != 'Multiplexor': signal_line += " " if signal.multiplex == 'Multiplexor': signal_line += "M " multiplex_written = True start_bit = signal.get_startbit(bit_numbering=1) if signal.is_signed: sign = '-' else: sign = '+' signal_line += (": %d|%d@%d%c" % (start_bit, signal.size, signal.is_little_endian, sign)) signal_line += " (%s,%s)" % (format_float(signal.factor), format_float(signal.offset)) signal_line += " [{}|{}]".format(format_float(signal.min), format_float(signal.max)) signal_line += ' "' if signal.unit is None: signal.unit = "" signal_line += signal.unit signal_line += '" ' if len(signal.receivers) == 0: signal.add_receiver('Vector__XXX') signal_line += ','.join(signal.receivers) + "\n" f.write(signal_line.encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # second Sender: for frame in db.frames: if len(frame.transmitters) > 1: f.write(("BO_TX_BU_ %d : %s;\n" % (frame.arbitration_id.to_compound_integer(), ','.join(frame.transmitters))).encode(dbc_export_encoding, ignore_encoding_errors)) # frame comments # wow, there are dbcs where comments are encoded with other coding than rest of dbc... for frame in db.frames: f.write(create_comment_string("BO_", "%d " % frame.arbitration_id.to_compound_integer(), frame.comment, dbc_export_encoding, dbc_export_comment_encoding, dbc_export_encoding)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # signal comments for frame in db.frames: for signal in frame.signals: if signal.comment: name = output_names[frame][signal] f.write(create_comment_string( "SG_", "%d " % frame.arbitration_id.to_compound_integer() + name, signal.comment, dbc_export_encoding, dbc_export_comment_encoding, dbc_export_encoding)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # ecu comments for ecu in db.ecus: if ecu.comment: f.write(create_comment_string("BU_", ecu.name, ecu.comment, dbc_export_encoding, dbc_export_comment_encoding, dbc_export_encoding)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) defaults = {} # type: typing.Dict[str, str] # write defines for (data_type, define) in sorted(list(db.frame_defines.items())): f.write(create_define(data_type, define, "BO_", defaults).encode(dbc_export_encoding, 'replace')) for (data_type, define) in sorted(list(db.signal_defines.items())): f.write(create_define(data_type, define, "SG_", defaults).encode(dbc_export_encoding, 'replace')) for (data_type, define) in sorted(list(db.ecu_defines.items())): f.write(create_define(data_type, define, "BU_", defaults).encode(dbc_export_encoding, 'replace')) for (data_type, define) in sorted(list(db.env_defines.items())): f.write(create_define(data_type, define, "EV_", defaults).encode(dbc_export_encoding, 'replace')) for (data_type, define) in sorted(list(db.global_defines.items())): f.write(create_define(data_type, define, "", defaults).encode(dbc_export_encoding, 'replace')) for define_name in sorted(defaults): f.write(('BA_DEF_DEF_ "' + define_name + '" ').encode(dbc_export_encoding, ignore_encoding_errors) + defaults[define_name].encode(dbc_export_encoding, 'replace') + ';\n'.encode(dbc_export_encoding, ignore_encoding_errors)) # ecu-attributes: for ecu in db.ecus: for attrib, val in sorted(ecu.attributes.items()): f.write(create_attribute_string(attrib, "BU_", ecu.name, val, db.ecu_defines[attrib].type == "STRING").encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # global-attributes: for attrib, val in sorted(db.attributes.items()): f.write(create_attribute_string(attrib, "", "", val, db.global_defines[attrib].type == "STRING").encode( dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # messages-attributes: for frame in db.frames: for attrib, val in sorted(frame.attributes.items()): f.write(create_attribute_string(attrib, "BO_", str(frame.arbitration_id.to_compound_integer()), val, db.frame_defines[attrib].type == "STRING").encode(dbc_export_encoding, ignore_encoding_errors)) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) # signal-attributes: for frame in db.frames: for signal in frame.signals: for attrib, val in sorted(signal.attributes.items()): name = output_names[frame][signal] if isinstance(val, float): val = format_float(val) if attrib in db.signal_defines: f.write(create_attribute_string( attrib, "SG_", '%d ' % frame.arbitration_id.to_compound_integer() + name, val, db.signal_defines[attrib].type == "STRING").encode(dbc_export_encoding, ignore_encoding_errors) ) f.write("\n".encode(dbc_export_encoding, ignore_encoding_errors)) for env_var_name, env_var in db.env_vars.items(): if "attributes" in env_var: for attribute, value in env_var["attributes"].items(): f.write(create_attribute_string(attribute, "EV_", "", value, db.env_defines[attribute].type == "STRING").encode(dbc_export_encoding, ignore_encoding_errors)) # signal-values: for frame in db.frames: multiplex_written = False for signal in frame.signals: if signal.multiplex == 'Multiplexor' and multiplex_written: continue multiplex_written = True if signal.values: f.write( ('VAL_ %d ' % frame.arbitration_id.to_compound_integer() + output_names[frame][signal]).encode(dbc_export_encoding, ignore_encoding_errors)) for attr_name, val in sorted(signal.values.items(), key=lambda x: int(x[0])): if '"' in val: val = val.replace('"', '\\"') f.write( (' ' + str(attr_name) + ' "' + val + '"').encode(dbc_export_encoding, ignore_encoding_errors)) f.write(";\n".encode(dbc_export_encoding, ignore_encoding_errors)) # SIG_VALTYPE for frame in db.frames: for signal in frame.signals: if signal.is_float: if int(signal.size) > 32: f.write(('SIG_VALTYPE_ %d %s : 2;\n' % (frame.arbitration_id.to_compound_integer(), output_names[frame][signal])).encode( dbc_export_encoding, ignore_encoding_errors)) else: f.write(('SIG_VALTYPE_ %d %s : 1;\n' % (frame.arbitration_id.to_compound_integer(), output_names[frame][signal])).encode( dbc_export_encoding, ignore_encoding_errors)) # signal-groups: for frame in db.frames: for sigGroup in frame.signalGroups: f.write(("SIG_GROUP_ " + str(frame.arbitration_id.to_compound_integer()) + " " + sigGroup.name + " " + str(sigGroup.id) + " :").encode(dbc_export_encoding, ignore_encoding_errors)) for signal in sigGroup.signals: f.write((" " + output_names[frame][signal]).encode(dbc_export_encoding, ignore_encoding_errors)) f.write(";\n".encode(dbc_export_encoding, ignore_encoding_errors)) for frame in db.frames: if frame.is_complex_multiplexed: for signal in frame.signals: if signal.muxer_for_signal is not None: f.write(("SG_MUL_VAL_ %d %s %s " % (frame.arbitration_id.to_compound_integer(), signal.name, signal.muxer_for_signal)).encode(dbc_export_encoding, ignore_encoding_errors)) f.write((", ".join(["%d-%d" % (a, b) for a, b in signal.mux_val_grp])).encode(dbc_export_encoding, ignore_encoding_errors)) f.write(";\n".encode(dbc_export_encoding, ignore_encoding_errors)) for env_var_name in db.env_vars: env_var = db.env_vars[env_var_name] f.write(("EV_ {0} : {1} [{2}|{3}] \"{4}\" {5} {6} {7} {8};\n".format( env_var_name, env_var["varType"], env_var["min"], env_var["max"], env_var["unit"], env_var["initialValue"], env_var["evId"], env_var["accessType"], ",".join(env_var["accessNodes"]))).encode(dbc_export_encoding, ignore_encoding_errors)) class _FollowUps(object): NOTHING, SIGNAL_COMMENT, FRAME_COMMENT, BOARD_UNIT_COMMENT, GLOBAL_COMMENT = range(5) def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix dbc_import_encoding = options.get("dbcImportEncoding", 'iso-8859-1') dbc_comment_encoding = options.get("dbcImportCommentEncoding", dbc_import_encoding) float_factory = options.get('float_factory', default_float_factory) i = 0 follow_up = _FollowUps.NOTHING comment = "" signal = None # type: typing.Optional[canmatrix.Signal] frame = None board_unit = None db = canmatrix.CanMatrix() frames_by_id = {} # type: typing.Dict[int, canmatrix.Frame] def hash_arbitration_id(arbitration_id): # type: (canmatrix.ArbitrationId) -> int return hash((arbitration_id.id, arbitration_id.extended)) def get_frame_by_id(arbitration_id): # type: (canmatrix.ArbitrationId) -> typing.Optional[canmatrix.Frame] try: return frames_by_id[hash_arbitration_id(arbitration_id)] except KeyError: return None def add_frame_by_id(new_frame): # type: (canmatrix.Frame) -> None frames_by_id[hash_arbitration_id(new_frame.arbitration_id)] = new_frame for line in f: i = i + 1 l = line.strip() if len(l) == 0: continue try: # if 1==1: if follow_up == _FollowUps.SIGNAL_COMMENT: try: comment += "\n" + l.decode(dbc_comment_encoding).replace('\\"', '"') except: logger.error("Error decoding line: %d (%s)" % (i, line)) if re.match(r'.*" *;\Z',l.decode(dbc_import_encoding).strip()) is not None: follow_up = _FollowUps.NOTHING if signal is not None: signal.add_comment(comment[:-1].strip()[:-1]) continue elif follow_up == _FollowUps.FRAME_COMMENT: try: comment += "\n" + l.decode(dbc_comment_encoding).replace('\\"', '"') except: logger.error("Error decoding line: %d (%s)" % (i, line)) if re.match(r'.*" *;\Z',l.decode(dbc_import_encoding).strip()) is not None: follow_up = _FollowUps.NOTHING if frame is not None: frame.add_comment(comment[:-1].strip()[:-1]) continue elif follow_up == _FollowUps.BOARD_UNIT_COMMENT: try: comment += "\n" + \ l.decode(dbc_comment_encoding).replace('\\"', '"') except: logger.error("Error decoding line: %d (%s)" % (i, line)) if re.match(r'.*" *;\Z',l.decode(dbc_import_encoding).strip()) is not None: follow_up = _FollowUps.NOTHING if board_unit is not None: board_unit.add_comment(comment[:-1].strip()[:-1]) continue decoded = l.decode(dbc_import_encoding).strip() if decoded.startswith("BO_ "): regexp = re.compile(r"^BO_ ([^\ ]+) ([^\ ]+) *: ([^\ ]+) ([^\ ]+)") temp = regexp.match(decoded) # db.frames.addFrame(Frame(temp.group(1), temp.group(2), temp.group(3), temp.group(4))) frame = canmatrix.Frame(temp.group(2), arbitration_id=int(temp.group(1)), size=int(temp.group(3)), transmitters=temp.group(4).split()) db.frames.append(frame) add_frame_by_id(frame) elif decoded.startswith("SG_ "): original_line = l if decoded.strip().endswith(r'"'): decoded += r" Vector__XXX" original_line += b" Vector__XXX" pattern = r"^SG_ +(\w+) *: *(\d+)\|(\d+)@(\d+)([\+|\-]) *\(([0-9.+\-eE]+), *([0-9.+\-eE]+)\) *\[([0-9.+\-eE]+)\|([0-9.+\-eE]+)\] +\"(.*)\" +(.*)" regexp = re.compile(pattern) temp = regexp.match(decoded) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp_raw = regexp_raw.match(original_line) if temp: receiver = [b.strip() for b in temp.group(11).split(',')] extras = {} # type: typing.Dict[typing.Any, typing.Any] # if float_factory is not None: # extras['float_factory'] = float_factory temp_signal = canmatrix.Signal( temp.group(1), start_bit=int(temp.group(2)), size=int(temp.group(3)), is_little_endian=(int(temp.group(4)) == 1), is_signed=(temp.group(5) == '-'), factor=temp.group(6), offset=temp.group(7), min=temp.group(8), max=temp.group(9), unit=temp_raw.group(10).decode(dbc_import_encoding), receivers=receiver, **extras ) if not temp_signal.is_little_endian: # startbit of motorola coded signals are MSB in dbc temp_signal.set_startbit(int(temp.group(2)), bitNumbering=1) frame.add_signal(temp_signal) # db.frames.addSignalToLastFrame(tempSig) else: pattern = r"^SG_ +(.+?) +(.+?) *: *(\d+)\|(\d+)@(\d+)([\+|\-]) *\(([0-9.+\-eE]+),([0-9.+\-eE]+)\) *\[([0-9.+\-eE]+)\|([0-9.+\-eE]+)\] +\"(.*)\" +(.*)" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(original_line) receiver = [b.strip() for b in temp.group(12).split(',')] multiplex = temp.group(2) # type: str is_complex_multiplexed = False if multiplex == 'M': multiplex = 'Multiplexor' elif multiplex.endswith('M'): is_complex_multiplexed = True multiplex = multiplex[:-1] if multiplex != 'Multiplexor': try: multiplex = int(multiplex[1:]) except: raise Exception('error decoding line', line) extras = {} # if float_factory is not None: # extras['float_factory'] = float_factory temp_signal = canmatrix.Signal( temp.group(1), start_bit=int(temp.group(3)), size=int(temp.group(4)), is_little_endian=(int(temp.group(5)) == 1), is_signed=(temp.group(6) == '-'), factor=temp.group(7), offset=temp.group(8), min=temp.group(9), max=temp.group(10), unit=temp_raw.group(11).decode(dbc_import_encoding), receivers=receiver, multiplex=multiplex, **extras ) if is_complex_multiplexed: temp_signal.is_multiplexer = True temp_signal.multiplex = 'Multiplexor' if not temp_signal.is_little_endian: # startbit of motorola coded signals are MSB in dbc temp_signal.set_startbit(int(temp.group(3)), bitNumbering=1) frame.add_signal(temp_signal) if is_complex_multiplexed: frame.is_complex_multiplexed = True elif decoded.startswith("BO_TX_BU_ "): regexp = re.compile(r"^BO_TX_BU_ ([0-9]+) *: *(.+) *;") temp = regexp.match(decoded) frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) for ecu_name in temp.group(2).split(','): frame.add_transmitter(ecu_name) elif decoded.startswith("CM_ SG_ "): pattern = r"^CM_ +SG_ +(\w+) +(\w+) +\"(.*)\" *;" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) signal = frame.signal_by_name(temp.group(2)) if signal: try: signal.add_comment(temp_raw.group(3).decode( dbc_comment_encoding).replace('\\"', '"')) except: logger.error( "Error decoding line: %d (%s)" % (i, line)) else: pattern = r"^CM_ +SG_ +(\w+) +(\w+) +\"(.*)" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) signal = frame.signal_by_name(temp.group(2)) try: comment = temp_raw.group(3).decode( dbc_comment_encoding).replace('\\"', '"') except: logger.error( "Error decoding line: %d (%s)" % (i, line)) follow_up = _FollowUps.SIGNAL_COMMENT elif decoded.startswith("CM_ BO_ "): pattern = r"^CM_ +BO_ +(\w+) +\"(.*)\" *;" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) if frame: try: frame.add_comment(temp_raw.group(2).decode( dbc_comment_encoding).replace('\\"', '"')) except: logger.error( "Error decoding line: %d (%s)" % (i, line)) else: pattern = r"^CM_ +BO_ +(\w+) +\"(.*)" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) try: comment = temp_raw.group(2).decode( dbc_comment_encoding).replace('\\"', '"') except: logger.error( "Error decoding line: %d (%s)" % (i, line)) follow_up = _FollowUps.FRAME_COMMENT elif decoded.startswith("CM_ BU_ "): pattern = r"^CM_ +BU_ +(\w+) +\"(.*)\" *;" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: board_unit = db.ecu_by_name(temp.group(1)) if board_unit: try: board_unit.add_comment(temp_raw.group(2).decode( dbc_comment_encoding).replace('\\"', '"')) except: logger.error("Error decoding line: %d (%s)" % (i, line)) else: pattern = r"^CM_ +BU_ +(\w+) +\"(.*)" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: board_unit = db.ecu_by_name(temp.group(1)) if board_unit: try: comment = temp_raw.group(2).decode( dbc_comment_encoding).replace('\\"', '"') except: logger.error( "Error decoding line: %d (%s)" % (i, line)) follow_up = _FollowUps.BOARD_UNIT_COMMENT elif decoded.startswith("BU_:"): pattern = r"^BU_\:(.*)" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) if temp: my_temp_list = temp.group(1).split(' ') for ele in my_temp_list: if len(ele.strip()) > 1: db.ecus.append(canmatrix.Ecu(ele)) elif decoded.startswith("VAL_ "): regexp = re.compile(r"^VAL_ +(\w+) +(\w+) +(.*) *;") temp = regexp.match(decoded) if temp: frame_id = temp.group(1) signal_name = temp.group(2) temp_list = list(canmatrix.utils.escape_aware_split(temp.group(3), '"')) if frame_id.isnumeric(): # value for Frame try: frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(frame_id))) sg = frame.signal_by_name(signal_name) for i in range(math.floor(len(temp_list) / 2)): val = temp_list[i * 2 + 1] val = val.replace('\\"', '"') if sg: sg.add_values(temp_list[i * 2], val) except: logger.error("Error with Line: " + str(temp_list)) else: logger.info("Warning: environment variables currently not supported") elif decoded.startswith("VAL_TABLE_ "): regexp = re.compile(r"^VAL_TABLE_ +(\w+) +(.*) *;") temp = regexp.match(decoded) if temp: table_name = temp.group(1) temp_list = temp.group(2).split('"') value_hash = {} try: for i in range(math.floor(len(temp_list) / 2)): val = temp_list[i * 2 + 1] value_hash[temp_list[i * 2].strip()] = val.strip() except: logger.error("Error with Line: " + str(temp_list)) db.add_value_table(table_name, value_hash) else: logger.debug(l) elif decoded.startswith("BA_DEF_") and decoded[7:].strip()[:3] in ["SG_", "BO_", "BU_", "EV_"]: substring = decoded[7:].strip() define_type = substring[:3] substring = substring[3:].strip() pattern = r"^\"(.+?)\" +(.+); *" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(substring) substring_line = l[7:].strip()[3:].strip() temp_raw = regexp_raw.match(substring_line) if temp: if define_type == "SG_": db.add_signal_defines(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif define_type == "BO_": db.add_frame_defines(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif define_type == "BU_": db.add_ecu_defines(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif define_type == "EV_": db.add_env_defines(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif decoded.startswith("BA_DEF_ "): pattern = r"^BA_DEF_ +\"(.+?)\" +(.+) *;" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: db.add_global_defines(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif decoded.startswith("BA_ "): regexp = re.compile(r"^BA_ +\".+?\" +(.+)") tempba = regexp.match(decoded) if tempba.group(1).strip().startswith("BO_ "): regexp = re.compile(r"^BA_ +\"(.+?)\" +BO_ +(\d+) +(.+) *; *") temp = regexp.match(decoded) get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(2)))).add_attribute( temp.group(1), temp.group(3)) elif tempba.group(1).strip().startswith("SG_ "): regexp = re.compile(r"^BA_ +\"(.+?)\" +SG_ +(\d+) +(\w+) +(.+) *; *") temp = regexp.match(decoded) if temp is not None: get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(2)))).signal_by_name( temp.group(3)).add_attribute(temp.group(1), temp.group(4)) elif tempba.group(1).strip().startswith("EV_ "): regexp = re.compile(r"^BA_ +\"(.+?)\" +EV_ +(\w+) +(.*) *; *") temp = regexp.match(decoded) if temp is not None: db.add_env_attribute(temp.group(2), temp.group(1), temp.group(3)) elif tempba.group(1).strip().startswith("BU_ "): regexp = re.compile(r"^BA_ +\"(.*?)\" +BU_ +(\w+) +(.+) *; *") temp = regexp.match(decoded) db.ecu_by_name( temp.group(2)).add_attribute( temp.group(1), temp.group(3)) else: regexp = re.compile( r"^BA_ +\"([A-Za-z0-9\-_]+)\" +([\"\w\-\.]+) *; *") temp = regexp.match(decoded) if temp: db.add_attribute(temp.group(1), temp.group(2)) elif decoded.startswith("SIG_GROUP_ "): regexp = re.compile(r"^SIG_GROUP_ +(\w+) +(\w+) +(\w+) +\:(.*) *; *") temp = regexp.match(decoded) frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) if frame is not None: signal_array = temp.group(4).split(' ') frame.add_signal_group(temp.group(2), temp.group(3), signal_array) # todo wrong annotation in canmatrix? Id is a string? elif decoded.startswith("SIG_VALTYPE_ "): regexp = re.compile(r"^SIG_VALTYPE_ +(\w+) +(\w+)\s*\:(.*) *; *") temp = regexp.match(decoded) frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(temp.group(1)))) if frame: signal = frame.signal_by_name(temp.group(2)) signal.is_float = True # SIG_VALTYPE_ 0 float : 1; elif decoded.startswith("BA_DEF_DEF_ "): pattern = r"^BA_DEF_DEF_ +\"(.+?)\" +(.+?) *;" regexp = re.compile(pattern) regexp_raw = re.compile(pattern.encode(dbc_import_encoding)) temp = regexp.match(decoded) temp_raw = regexp_raw.match(l) if temp: db.add_define_default(temp.group(1), temp_raw.group(2).decode(dbc_import_encoding)) elif decoded.startswith("SG_MUL_VAL_ "): pattern = r"^SG_MUL_VAL_ +([0-9]+) +([\w\-]+) +([\w\-]+) +(.*) *; *" regexp = re.compile(pattern) temp = regexp.match(decoded) if temp: frame_id = temp.group(1) signal_name = temp.group(2) muxer_for_signal = temp.group(3) mux_val_groups = temp.group(4).split(',') frame = get_frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(frame_id))) if frame is not None: signal = frame.signal_by_name(signal_name) frame.is_complex_multiplexed = True signal.muxer_for_signal = muxer_for_signal for muxVal in mux_val_groups: mux_val_min, mux_val_max = muxVal.split("-") mux_val_min_number = int(mux_val_min) mux_val_max_number = int(mux_val_max) signal.mux_val_grp.append([mux_val_min_number, mux_val_max_number]) elif decoded.startswith("EV_ "): pattern = r"^EV_ +([\w\-\_]+?) *\: +([0-9]+) +\[([0-9.+\-eE]+)\|([0-9.+\-eE]+)\] +\"(.*?)\" +([0-9.+\-eE]+) +([0-9.+\-eE]+) +([\w\-]+?) +(.*); *" regexp = re.compile(pattern) temp = regexp.match(decoded) var_name = temp.group(1) var_type = temp.group(2) min_value = temp.group(3) max_value = temp.group(4) unit = temp.group(5) initial_value = temp.group(6) ev_id = temp.group(7) access_type = temp.group(8) access_nodes = temp.group(9).split(",") db.add_env_var(var_name, {"varType": var_type, "min": min_value, "max": max_value, "unit": unit, "initialValue": initial_value, "evId": ev_id, "accessType": access_type, "accessNodes": access_nodes}) # else: except: print("error with line no: %d" % i) print(line) # Backtracking env_var_names = list(db.env_vars.keys()) for env_var_name in env_var_names: env_var = db.env_vars[env_var_name] if 'SystemEnvVarLongSymbol' in env_var.get("attributes", ""): long_name = env_var["attributes"]["SystemEnvVarLongSymbol"][1:-1] del(env_var["attributes"]["SystemEnvVarLongSymbol"]) db.env_vars[long_name] = db.env_vars.pop(env_var_name) for ecu in db.ecus: if ecu.attributes.get("SystemNodeLongSymbol", None) is not None: ecu.name = ecu.attributes.get("SystemNodeLongSymbol")[1:-1] ecu.del_attribute("SystemNodeLongSymbol") for frame in db.frames: frame.cycle_time = int(float(frame.attributes.get("GenMsgCycleTime", 0))) if frame.attributes.get("SystemMessageLongSymbol", None) is not None: frame.name = frame.attributes.get("SystemMessageLongSymbol")[1:-1] frame.del_attribute("SystemMessageLongSymbol") # receiver is only given in the signals, so do propagate the receiver # to the frame: frame.update_receiver() # extended-flag is implicit in can id, thus repair this: # if frame.id > 0x80000000: # frame.id -= 0x80000000 # frame.extended = 1 for signal in frame.signals: gen_sig_start_value = float_factory(signal.attributes.get("GenSigStartValue", "0")) signal.initial_value = (gen_sig_start_value * signal.factor) + signal.offset signal.cycle_time = int(signal.attributes.get("GenSigCycleTime", 0)) if signal.attribute("SystemSignalLongSymbol") is not None: signal.name = signal.attribute("SystemSignalLongSymbol")[1:-1] signal.del_attribute("SystemSignalLongSymbol") for define in db.global_defines: if db.global_defines[define].type == "STRING": if define in db.attributes: db.attributes[define] = db.attributes[define][1:-1] for define in db.ecu_defines: if db.ecu_defines[define].type == "STRING": for ecu in db.ecus: if define in ecu.attributes: ecu.attributes[define] = ecu.attributes[define][1:-1] for define in db.frame_defines: if db.frame_defines[define].type == "STRING": for frame in db.frames: if define in frame.attributes: frame.attributes[define] = frame.attributes[define][1:-1] for define in db.signal_defines: if db.signal_defines[define].type == "STRING": for frame in db.frames: for signal in frame.signals: if define in signal.attributes: signal.attributes[define] = signal.attributes[define][1:-1] db.enum_attribs_to_values() for frame in db.frames: if "_FD" in frame.attributes.get("VFrameFormat", ""): frame.is_fd = True if "J1939PG" in frame.attributes.get("VFrameFormat", ""): frame.is_j1939 = True db.update_ecu_list() db.del_ecu("Vector__XXX") # db.del_frame_attributes(["GenMsgCycleTime"]) # db.del_signal_attributes(["GenSigCycleTime"]) # db.del_signal_attributes(["GenSigStartValue"]) # if "GenMsgCycleTime" in db.frame_defines: # del (db.frame_defines["GenMsgCycleTime"]) # if "GenSigCycleTime" in db.signal_defines: # del (db.signal_defines["GenSigCycleTime"]) # if "GenSigStartValue" in db.signal_defines: # del (db.signal_defines["GenSigStartValue"]) free_signals_dummy_frame = db.frame_by_name("VECTOR__INDEPENDENT_SIG_MSG") if free_signals_dummy_frame is not None and free_signals_dummy_frame.arbitration_id.id == 0x40000000: db.signals = free_signals_dummy_frame.signals db.del_frame(free_signals_dummy_frame) return db canmatrix-0.9.5/src/canmatrix/formats/dbf.py000066400000000000000000000510431416730473300210630ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script imports dbf-files in a canmatrix-object # dbf-files are the can-matrix-definitions of the busmaster-project (http://rbei-etas.github.io/busmaster/) # from __future__ import absolute_import, division, print_function import copy import decimal import logging import math import re import typing from builtins import * import canmatrix logger = logging.getLogger(__name__) def default_float_factory(value): # type: (typing.Any) -> decimal.Decimal return decimal.Decimal(value) # TODO support for [START_PARAM_NODE_RX_SIG] # TODO support for [START_PARAM_NODE_TX_MSG] def decode_define(line): # type: (str) -> typing.Tuple[str, str, str] (define, value_type, value) = line.split(',', 2) value_type = value_type.strip() if value_type == "INT" or value_type == "HEX": (Min, Max, default) = value.split(',', 2) my_def = value_type + ' ' + Min.strip() + ' ' + Max.strip() default = default.strip() elif value_type == "ENUM": (enums, default) = value.rsplit(',', 1) my_def = value_type + " " + enums[1:] elif value_type == "STRING": my_def = value_type default = value else: logger.debug(line) return define[1:-1], my_def, default def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix dbf_import_encoding = options.get("dbfImportEncoding", 'iso-8859-1') float_factory = options.get('float_factory', default_float_factory) is_j1939 = False db = canmatrix.CanMatrix() mode = '' for line in f: line = line.decode(dbf_import_encoding).strip() if mode == 'SignalDescription': if line.startswith( "[END_DESC_SIG]") or line.startswith("[END_DESC]"): mode = '' else: (bo_id, tem_s, signal_name, comment) = line.split(' ', 3) comment = comment.replace('"', '').replace(';', '') db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(bo_id))).signal_by_name( signal_name).add_comment(comment) if mode == 'BUDescription': if line.startswith( "[END_DESC_NODE]") or line.startswith("[END_DESC]"): mode = '' else: (bu_name, comment) = line.split(' ', 1) comment = comment.replace('"', '').replace(';', '') db.ecu_by_name(bu_name).add_comment(comment) if mode == 'FrameDescription': if line.startswith( "[END_DESC_MSG]") or line.startswith("[END_DESC]"): mode = '' else: (bo_id, tem_s, comment) = line.split(' ', 2) comment = comment.replace('"', '').replace(';', '') frame = db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(bo_id))) if frame: frame.add_comment(comment) elif mode == 'ParamMsgVal': if line.startswith("[END_PARAM_MSG_VAL]"): mode = '' else: (bo_id, tem_s, attrib, value) = line.split(',', 3) db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer( int(bo_id))).add_attribute( attrib.replace('"', ''), value.replace('"', '')) elif mode == 'ParamNodeVal': if line.startswith("[END_PARAM_NODE_VAL]"): mode = '' else: (bu, attrib, value) = line.split(',', 2) db.ecu_by_name(bu).add_attribute( attrib.replace('"', ''), value[1:-1]) elif mode == 'ParamNetVal': if line.startswith("[END_PARAM_NET_VAL]"): mode = '' else: (attrib, value) = line.split(',', 1) db.add_attribute(attrib.replace('"', ''), value[1:-1]) elif mode == 'ParamSigVal': if line.startswith("[END_PARAM_SIG_VAL]"): mode = '' else: (bo_id, tem_s, signal_name, attrib, value) = line.split(',', 4) db.frame_by_id(canmatrix.ArbitrationId.from_compound_integer(int(bo_id)))\ .signal_by_name(signal_name)\ .add_attribute(attrib.replace('"', ''), value[1:-1]) elif mode == 'ParamSig': if line.startswith("[END_PARAM_SIG]"): mode = '' else: (name, define, default) = decode_define(line) db.add_signal_defines(name, define) db.add_define_default(name, default) elif mode == 'ParamMsg': if line.startswith("[END_PARAM_MSG]"): mode = '' else: (name, define, default) = decode_define(line) db.add_frame_defines(name, define) db.add_define_default(name, default) elif mode == 'ParamNode': if line.startswith("[END_PARAM_NODE]"): mode = '' else: (name, define, default) = decode_define(line) db.add_ecu_defines(name, define) db.add_define_default(name, default) elif mode == 'ParamNet': if line.startswith("[END_PARAM_NET]"): mode = '' else: (name, define, default) = decode_define(line) db.add_global_defines(name, define) db.add_define_default(name, default) else: if line.startswith("[PROTOCOL]") and "J1939" in line: is_j1939 = True if line.startswith("[START_DESC_SIG]"): mode = 'SignalDescription' if line.startswith("[START_DESC_MSG]"): mode = 'FrameDescription' if line.startswith("[START_DESC_NODE]"): mode = 'BUDescription' if line.startswith("[START_PARAM_NODE_VAL]"): mode = 'ParamNodeVal' if line.startswith("[START_PARAM_NET_VAL]"): mode = 'ParamNetVal' if line.startswith("[START_PARAM_MSG_VAL]"): mode = 'ParamMsgVal' if line.startswith("[START_PARAM_SIG_VAL]"): mode = 'ParamSigVal' if line.startswith("[START_PARAM_SIG]"): mode = 'ParamSig' if line.startswith("[START_PARAM_MSG]"): mode = 'ParamMsg' if line.startswith("[START_PARAM_NODE]"): mode = 'ParamNode' if line.startswith("[START_PARAM_NET]"): mode = 'ParamNet' if line.startswith("[START_MSG]"): temp_str = line.strip()[11:].strip() temp_array = temp_str.split(',') (name, arb_id, size, n_signals, dummy) = temp_array[0:5] if len(temp_array) > 5: extended = temp_array[5] else: extended = None if len(temp_array) > 6: transmitters = temp_array[6].split() else: transmitters = list() new_frame = db.add_frame( canmatrix.Frame( name, size=int(size), transmitters=transmitters)) if is_j1939: new_frame.arbitration_id.pgn = int(arb_id) else: new_frame.arbitration_id = canmatrix.ArbitrationId.from_compound_integer(int(arb_id)) # Frame(int(Id), name, size, transmitter)) if extended == 'X': logger.debug("Extended") new_frame.arbitration_id.extended = True if line.startswith("[NODE]"): temp_str = line.strip()[6:].strip() bo_list = temp_str.split(',') for bo in bo_list: db.add_ecu(canmatrix.Ecu(bo)) if line.startswith("[START_SIGNALS]"): temp_str = line.strip()[15:].strip() temp_array = temp_str.split(',') (name, size, start_byte, start_bit, sign, max_val, min_val, byteorder, offset, factor, unit, multiplex) = temp_array[0:12] min_val = float_factory(min_val) max_val = float_factory(max_val) factor = float_factory(factor) offset = float_factory(offset) if len(temp_array) > 12: receiver = temp_array[12].split(',') else: receiver = [] if multiplex == 'M': multiplex = 'Multiplexor' elif len(multiplex.strip()) > 0: multiplex = int(multiplex[1:]) else: multiplex = None is_float = False is_signed = False if sign == "U": is_signed = False elif sign == "F" or sign == "D": is_float = True else: is_signed = True start_bit = int(start_bit) start_bit += (int(start_byte) - 1) * 8 new_signal = new_frame.add_signal( canmatrix.Signal( name, start_bit=int(start_bit), size=int(size), is_little_endian=(int(byteorder) == 1), is_signed=is_signed, factor=factor, offset=offset, min=min_val * factor, max=max_val * factor, unit=unit, receivers=receiver, is_float=is_float, multiplex=multiplex)) if int(byteorder) == 0: # this is dummy here, because internal lsb is default - for now new_signal.set_startbit( start_bit, bitNumbering=1, startLittle=True) if line.startswith("[VALUE_DESCRIPTION]"): temp_str = line.strip()[19:].strip() regexp = re.compile("\"(.+)\" *, *(.+)") temp = regexp.match(temp_str) if temp: new_signal.add_values(value=temp.group(2), valueName=temp.group(1)) for frame in db.frames: # receiver is only given in the signals, so do propagate the receiver to the frame: frame.update_receiver() db.enum_attribs_to_values() free_signals_dummy_frame = db.frame_by_name("VECTOR__INDEPENDENT_SIG_MSG") if free_signals_dummy_frame is not None and free_signals_dummy_frame.arbitration_id == 0x40000000: db.signals = free_signals_dummy_frame.signals db.del_frame(free_signals_dummy_frame) return db def dump(mydb, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None # create copy because export changes database db = copy.deepcopy(mydb) dbf_export_encoding = options.get("dbfExportEncoding", 'iso-8859-1') ignore_encoding_errors = options.get("ignoreEncodingErrors", "strict") db.enum_attribs_to_keys() if len(db.signals) > 0: free_signals_dummy_frame = canmatrix.Frame("VECTOR__INDEPENDENT_SIG_MSG") free_signals_dummy_frame.arbitration_id = canmatrix.ArbitrationId(id=0x40000000, extended=True) free_signals_dummy_frame.signals = db.signals db.add_frame(free_signals_dummy_frame) out_str = """//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [3.2.2] [NUMBER_OF_MESSAGES] """ out_str += str(len(db.frames)) + "\n" cycle_times_of_all_frames = [x.cycle_time for x in db.frames] if len(cycle_times_of_all_frames) > 0 and max(cycle_times_of_all_frames ) > 0: db.add_frame_defines("GenMsgCycleTime", 'INT 0 65535') cycle_times_of_all_singals = [x.cycle_time for y in db.frames for x in y.signals] if len(cycle_times_of_all_singals) > 0 and max(cycle_times_of_all_singals) > 0: db.add_signal_defines("GenSigCycleTime", 'INT 0 65535') initial_values_of_all_singals = [x.initial_value for y in db.frames for x in y.signals] if len(initial_values_of_all_singals) > 0 and (max(initial_values_of_all_singals) > 0 or min(initial_values_of_all_singals)) < 0: db.add_signal_defines("GenSigStartValue", 'FLOAT 0 100000000000') # Frames for frame in db.frames: if frame.is_complex_multiplexed: logger.error("export complex multiplexers is not supported - ignoring frame " + frame.name) continue # Name unMsgId m_ucLength m_ucNumOfSignals m_cDataFormat m_cFrameFormat? m_txNode # m_cDataFormat Data format: 1-Intel, 0-Motorola. # cFrameFormat Standard 'S' Extended 'X' extended = 'X' if frame.arbitration_id.extended == 1 else 'S' out_str += "[START_MSG] " + frame.name + \ ",%d,%d,%d,0,%c," % (frame.arbitration_id.id, frame.size, len(frame.signals), extended) if not frame.transmitters: frame.add_transmitter("Vector__XXX") # DBF does not support multiple Transmitters out_str += frame.transmitters[0] + "\n" for signal in frame.signals: # m_acName ucLength m_ucWhichByte m_ucStartBit # m_ucDataFormat m_fOffset m_fScaleFactor m_acUnit m_acMultiplex m_rxNode # m_ucDataFormat which_byte = int( math.floor( signal.get_startbit( bit_numbering=1, start_little=True) / 8) + 1) sign = 'I' if not signal.is_signed: sign = 'U' if signal.is_float: if signal.size > 32: sign = 'D' else: sign = 'F' if signal.factor == 0: signal.factor = 1 out_str += "[START_SIGNALS] " + signal.name \ + ",%d,%d,%d,%c," % (signal.size, which_byte, int(signal.get_startbit(bit_numbering=1, start_little=True)) % 8, sign) + '{:g},{:g}'.format(float(signal.max) / float(signal.factor), float(signal.min) / float(signal.factor)) out_str += ",%d,%s,%s" % (signal.is_little_endian, signal.offset, signal.factor) multiplex = "" if signal.multiplex is not None: if signal.multiplex == 'Multiplexor': multiplex = 'M' else: multiplex = 'm' + str(signal.multiplex) out_str += "," + signal.unit + ",%s," % multiplex + \ ','.join(signal.receivers) + "\n" if len(signal.values) > 0: for value, name in sorted(list(signal.values.items())): out_str += '[VALUE_DESCRIPTION] "' + \ name + '",' + str(value) + '\n' out_str += "[END_MSG]\n\n" # Board units out_str += "[NODE] " count = 1 for ecu in db.ecus: out_str += ecu.name if count < len(db.ecus): out_str += "," count += 1 out_str += "\n" out_str += "[START_DESC]\n\n" # BU-descriptions out_str += "[START_DESC_MSG]\n" for frame in db.frames: if frame.comment is not None: comment = frame.comment.replace("\n", " ") out_str += str(frame.arbitration_id.id) + ' S "' + comment + '";\n' out_str += "[END_DESC_MSG]\n" # Frame descriptions out_str += "[START_DESC_NODE]\n" for ecu in db.ecus: if ecu.comment is not None: comment = ecu.comment.replace("\n", " ") out_str += ecu.name + ' "' + comment + '";\n' out_str += "[END_DESC_NODE]\n" # signal descriptions out_str += "[START_DESC_SIG]\n" for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: if signal.comment is not None: comment = signal.comment.replace("\n", " ") out_str += "%d S " % frame.arbitration_id.id + signal.name + ' "' + comment + '";\n' out_str += "[END_DESC_SIG]\n" out_str += "[END_DESC]\n\n" out_str += "[START_PARAM]\n" # db-parameter out_str += "[START_PARAM_NET]\n" for (data_type, define) in sorted(list(db.global_defines.items())): default_val = define.defaultValue if default_val is None: default_val = "0" out_str += '"' + data_type + '",' + define.definition.replace(' ', ',') + ',' + default_val + '\n' out_str += "[END_PARAM_NET]\n" # bu-parameter out_str += "[START_PARAM_NODE]\n" for (data_type, define) in sorted(list(db.ecu_defines.items())): default_val = define.defaultValue if default_val is None: default_val = "0" out_str += '"' + data_type + '",' + define.definition.replace(' ', ',') + ',' + default_val + '\n' out_str += "[END_PARAM_NODE]\n" # frame-parameter out_str += "[START_PARAM_MSG]\n" for (data_type, define) in sorted(list(db.frame_defines.items())): default_val = define.defaultValue if default_val is None: default_val = "0" out_str += '"' + data_type + '",' + define.definition.replace(' ', ',') + '\n' # + ',' + default_val + '\n' out_str += "[END_PARAM_MSG]\n" # signal-parameter out_str += "[START_PARAM_SIG]\n" for (data_type, define) in list(db.signal_defines.items()): default_val = define.defaultValue if default_val is None: default_val = "0" out_str += '"' + data_type + '",' + define.definition.replace(' ', ',') + ',' + default_val + '\n' out_str += "[END_PARAM_SIG]\n" out_str += "[START_PARAM_VAL]\n" # board unit attributes: out_str += "[START_PARAM_NODE_VAL]\n" for ecu in db.ecus: for attrib, val in sorted(list(ecu.attributes.items())): out_str += ecu.name + ',"' + attrib + '","' + val + '"\n' out_str += "[END_PARAM_NODE_VAL]\n" # messages-attributes: out_str += "[START_PARAM_MSG_VAL]\n" for frame in db.frames: if frame.is_complex_multiplexed: continue for attrib, val in sorted(list(frame.attributes.items())): out_str += str(frame.arbitration_id.id) + ',S,"' + attrib + '","' + val + '"\n' out_str += "[END_PARAM_MSG_VAL]\n" # signal-attributes: out_str += "[START_PARAM_SIG_VAL]\n" for frame in db.frames: if frame.is_complex_multiplexed: continue for signal in frame.signals: for attrib, val in sorted(list(signal.attributes.items())): out_str += str(frame.arbitration_id.id) + ',S,' + signal.name + \ ',"' + attrib + '","' + val + '"\n' out_str += "[END_PARAM_SIG_VAL]\n" out_str += "[END_PARAM_VAL]\n" f.write(out_str.encode(dbf_export_encoding, ignore_encoding_errors)) canmatrix-0.9.5/src/canmatrix/formats/fibex.py000066400000000000000000000340031416730473300214220ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports fibex-files from a canmatrix-object # fibex-files are the network-matrix-definitions; Canmatrix exports CAN # only (fibex: Field Bus Exchange Format // # https://de.wikipedia.org/wiki/Field_Bus_Exchange_Format) from __future__ import absolute_import, division, print_function import typing from builtins import * import lxml.etree import canmatrix fx = "http://www.asam.net/xml/fbx" ho = "http://www.asam.net/xml" can = "http://www.asam.net/xml/fbx/can" xsi = "http://www.w3.org/2001/XMLSchema-instance" ns_ho = "{%s}" % ho ns_fx = "{%s}" % fx ns_can = "{%s}" % can ns_xsi = "{%s}" % xsi extension = "xml" # noinspection PyProtectedMember _Element = lxml.etree._Element def create_short_name_desc(parent, short_name, desc): # type: (_Element, str, str) -> None short_name_elem = lxml.etree.SubElement(parent, ns_ho + "SHORT-NAME") short_name_elem.text = short_name desc_elem = lxml.etree.SubElement(parent, ns_ho + "DESC") desc_elem.text = desc def create_sub_element_fx(parent, element_name, element_text=None): # type: (_Element, str, typing.Optional[str]) -> _Element new = lxml.etree.SubElement(parent, ns_fx + element_name) if element_text is not None: new.text = element_text return new def create_sub_element_ho(parent, element_name, element_text=None): # type: (_Element, str, typing.Optional[str]) -> _Element new = lxml.etree.SubElement(parent, ns_ho + element_name) if element_text is not None: new.text = element_text return new def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None ns_map = {"fx": fx, "ho": ho, "can": can, "xsi": xsi} root = lxml.etree.Element(ns_fx + "FIBEX", nsmap=ns_map) root.attrib[ '{{{pre}}}schemaLocation'.format( pre=xsi)] = 'http://www.asam.net/xml/fbx ..\\..\\xml_schema\\fibex.xsd http://www.asam.net/xml/fbx/can ..\\..\\xml_schema\\fibex4can.xsd' # # PROJECT # project = create_sub_element_fx(root, "PROJECT") project.set('ID', 'canmatrixExport') create_short_name_desc(project, "CAN", "Canmatrix Export") # # ELEMENTS # elements = create_sub_element_fx(root, "ELEMENTS") # # CLUSTERS # clusters = create_sub_element_fx(elements, "CLUSTERS") cluster = lxml.etree.SubElement(clusters, ns_fx + "CLUSTER") cluster.set('ID', 'canCluster1') create_short_name_desc(cluster, "clusterShort", "clusterDesc") create_sub_element_fx(cluster, "SPEED", "500") create_sub_element_fx(cluster, "IS-HIGH-LOW-BIT-ORDER", "false") create_sub_element_fx(cluster, "BIT-COUNTING-POLICY", "MONOTONE") protocol = create_sub_element_fx(cluster, "PROTOCOL", "CAN") protocol.attrib['{{{pre}}}type'.format(pre=xsi)] = "can:PROTOCOL-TYPE" create_sub_element_fx(cluster, "PROTOCOL-VERSION", "20") channel_refs = create_sub_element_fx(cluster, "CHANNEL-REFS") # for each channel channel_ref = create_sub_element_fx(channel_refs, "CHANNEL-REF") channel_ref.set("ID-REF", "CANCHANNEL01") # # CHANNELS # channels = create_sub_element_fx(elements, "CHANNELS") channel = create_sub_element_fx(channels, "CHANNEL") # for each channel create_short_name_desc(channel, "CANCHANNEL01", "Can Channel Description") frame_triggerings = create_sub_element_fx(channel, "FRAME-TRIGGERINGS") for frame in db.frames: frame_triggering = create_sub_element_fx( frame_triggerings, "FRAME-TRIGGERING") frame_triggering.set("ID", "FT_" + frame.name) identifier = create_sub_element_fx(frame_triggering, "IDENTIFIER") create_sub_element_fx(identifier, "IDENTIFIER-VALUE", str(frame.arbitration_id.id)) frame_ref = create_sub_element_fx(frame_triggering, "FRAME-REF") frame_ref.set("ID-REF", "FRAME_" + frame.name) # # ECUS # ecus = create_sub_element_fx(elements, "ECUS") for bu in db.ecus: ecu = create_sub_element_fx(ecus, "ECU") ecu.set("ID", bu.name) create_short_name_desc(ecu, bu.name, bu.comment) function_refs = create_sub_element_fx(ecu, "FUNCTION-REFS") func_ref = create_sub_element_fx(function_refs, "FUNCTION-REF") func_ref.set("ID-REF", "FCT_" + bu.name) connectors = create_sub_element_fx(ecu, "CONNECTORS") connector = create_sub_element_fx(connectors, "CONNECTOR") inputs = create_sub_element_fx(connector, "INPUTS") for frame in db.frames: if bu.name in frame.receivers: input_port = create_sub_element_fx(inputs, "INPUT-PORT") frame_triggering_ref = create_sub_element_fx(input_port, "FRAME-TRIGGERING-REF") frame_triggering_ref.set("ID-REF", "FT_" + frame.name) outputs = create_sub_element_fx(connector, "OUTPUTS") for frame in db.frames: if bu.name in frame.transmitters: input_port = create_sub_element_fx(outputs, "OUTPUT-PORT") frame_triggering_ref = create_sub_element_fx(input_port, "FRAME-TRIGGERING-REF") frame_triggering_ref.set("ID-REF", "FT_" + frame.name) # ignore CONTROLERS/CONTROLER # # PDUS # pdus = create_sub_element_fx(elements, "PDUS") for frame in db.frames: pdu = create_sub_element_fx(pdus, "PDU") pdu.set("ID", "PDU_" + frame.name) create_short_name_desc(pdu, "PDU_" + frame.name, frame.comment) create_sub_element_fx(pdu, "BYTE-LENGTH", str(frame.size)) # DLC create_sub_element_fx(pdu, "PDU-TYPE", "APPLICATION") signal_instances = create_sub_element_fx(pdu, "SIGNAL-INSTANCES") for signal in frame.signals: signal_id = frame.name + "." + signal.name signal_instance = create_sub_element_fx( signal_instances, "SIGNAL-INSTANCE") signal_instance.set("ID", "PDUINST_" + signal_id) # startBit: TODO - find out correct BYTEORDER ... create_sub_element_fx(signal_instance, "BIT-POSITION", str(signal.start_bit)) if signal.is_little_endian: create_sub_element_fx( signal_instance, "IS-HIGH-LOW-BYTE-ORDER", "false") # true:big endian; false:little endian else: create_sub_element_fx( signal_instance, "IS-HIGH-LOW-BYTE-ORDER", "true") signal_ref = create_sub_element_fx(signal_instance, "SIGNAL-REF") signal_ref.set("ID-REF", "SIG_" + signal_id) # FRAMES # frames = create_sub_element_fx(elements, "FRAMES") for frame in db.frames: frame_element = create_sub_element_fx(frames, "FRAME") frame_element.set("ID", "FRAME_" + frame.name) create_short_name_desc(frame_element, frame.name, frame.comment) create_sub_element_fx(frame_element, "BYTE-LENGTH", str(frame.size)) # DLC create_sub_element_fx(frame_element, "PDU-TYPE", "APPLICATION") pdu_instances = create_sub_element_fx(frame_element, "PDU-INSTANCES") pdu_instance = create_sub_element_fx(pdu_instances, "PDU-INSTANCE") pdu_instance.set("ID", "PDUINSTANCE_" + frame.name) pdu_ref = create_sub_element_fx(pdu_instance, "PDU-REF") pdu_ref.set("ID-REF", "PDU_" + frame.name) create_sub_element_fx(pdu_instance, "BIT-POSITION", "0") create_sub_element_fx(pdu_instance, "IS-HIGH-LOW-BYTE-ORDER", "false") # # FUNCTIONS # functions = create_sub_element_fx(elements, "FUNCTIONS") for bu in db.ecus: function = create_sub_element_fx(functions, "FUNCTION") function.set("ID", "FCT_" + bu.name) create_short_name_desc(function, "FCT_" + bu.name, bu.comment) input_ports = create_sub_element_fx(function, "INPUT-PORTS") for frame in db.frames: for signal in frame.signals: signal_id = frame.name + "." + signal.name if bu.name in signal.receivers: input_port = create_sub_element_fx(input_ports, "INPUT-PORT") input_port.set("ID", "INP_" + signal_id) desc = lxml.etree.SubElement(input_port, ns_ho + "DESC") desc.text = signal.comment signal_ref = create_sub_element_fx(input_port, "SIGNAL-REF") signal_ref.set("ID-REF", "SIG_" + signal_id) output_ports = create_sub_element_fx(function, "OUTPUT-PORTS") for frame in db.frames: if bu.name in frame.transmitters: for signal in frame.signals: signal_id = frame.name + "." + signal.name output_port = create_sub_element_fx(output_ports, "OUTPUT-PORT") output_port.set("ID", "OUTP_" + signal_id) desc = lxml.etree.SubElement(output_port, ns_ho + "DESC") desc.text = "signalcomment" signal_ref = create_sub_element_fx(output_port, "SIGNAL-REF") signal_ref.set("ID-REF", "SIG_" + frame.name + "_" + signal_id) # # SIGNALS # signals = create_sub_element_fx(elements, "SIGNALS") for frame in db.frames: for signal in frame.signals: signal_id = frame.name + "." + signal.name signal_element = create_sub_element_fx(signals, "SIGNAL") signal_element.set("ID", "SIG_" + signal_id) create_short_name_desc(signal_element, signal.name, signal.comment) coding_ref = create_sub_element_fx(signal_element, "CODING-REF") coding_ref.set("ID-REF", "CODING_" + signal_id) # # PROCESSING-INFORMATION # proc_info = lxml.etree.SubElement(root, ns_fx + "PROCESSING-INFORMATION", nsmap={"ho": ho}) unit_spec = create_sub_element_ho(proc_info, "UNIT-SPEC") for frame in db.frames: for signal in frame.signals: signal_id = frame.name + "." + signal.name unit = create_sub_element_ho(unit_spec, "UNIT") unit.set("ID", "UNIT_" + signal_id) create_sub_element_ho(unit, "SHORT-NAME", signal.name) create_sub_element_ho(unit, "DISPLAY-NAME", signal.unit) codings = create_sub_element_fx(proc_info, "CODINGS") for frame in db.frames: for signal in frame.signals: signal_id = frame.name + "." + signal.name coding = create_sub_element_fx(codings, "CODING") coding.set("ID", "CODING_" + signal_id) create_short_name_desc( coding, "CODING_" + signal_id, "Coding for " + signal_id) coded = create_sub_element_ho(coding, "CODED-TYPE") create_sub_element_ho(coded, "BIT-LENGTH", str(signal.size)) compu_methods = create_sub_element_ho(coding, "COMPU-METHODS") compu_method = create_sub_element_ho(compu_methods, "COMPU-METHOD") create_sub_element_ho( compu_method, "SHORT-NAME", "COMPUMETHOD_" + signal.name) create_sub_element_ho(compu_method, "CATEGORY", "LINEAR") unit_ref = create_sub_element_ho(compu_method, "UNIT-REF") unit_ref.set("ID-REF", "UNIT_" + signal_id) compu_internal_to_phys = create_sub_element_ho( compu_method, "COMPU-INTERNAL-TO-PHYS") compu_scales = create_sub_element_ho( compu_internal_to_phys, "COMPU-SCALES") compu_scale = create_sub_element_ho(compu_scales, "COMPU-SCALE") lower_limit = create_sub_element_ho(compu_scale, "LOWER-LIMIT", str(signal.min)) # Min lower_limit.set("INTERVAL-TYPE", "CLOSED") upper_limit = create_sub_element_ho(compu_scale, "UPPER-LIMIT", str(signal.max)) # Max upper_limit.set("INTERVAL-TYPE", "CLOSED") compu_rational_coeffs = create_sub_element_ho( compu_scale, "COMPU-RATIONAL-COEFFS") compu_numerator = create_sub_element_ho( compu_rational_coeffs, "COMPU-NUMERATOR") create_sub_element_ho(compu_numerator, "V", str(signal.offset)) # offset create_sub_element_ho(compu_numerator, "V", str(signal.factor)) # factor compu_denominator = create_sub_element_ho(compu_rational_coeffs, "COMPU-DENOMINATOR") create_sub_element_ho(compu_denominator, "V", "1") # nenner # defaultValue = create_sub_element_ho(compuInternalToPhys,"COMPU-DEFAULT-VALUE") # # REQUIREMENTS # # requirements = createSubElementFx(elements, "REQUIREMENTS") f.write(lxml.etree.tostring(root, pretty_print=True)) canmatrix-0.9.5/src/canmatrix/formats/json.py000066400000000000000000000246411416730473300213050ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports json-files from a canmatrix-object # json-files are the can-matrix-definitions of the CANard-project # (https://github.com/ericevenchick/CANard) from __future__ import absolute_import, division, print_function import json import sys import typing from builtins import * import canmatrix def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.BinaryIO, **str) -> None export_canard = options.get('jsonExportCanard', False) motorola_bit_format = options.get('jsonMotorolaBitFormat', "lsb") export_all = options.get('jsonExportAll', False) native_types = options.get('jsonNativeTypes', False) number_converter = float if native_types else str additional_frame_columns = [x for x in options.get("additionalFrameAttributes", "").split(",") if x] export_dict = {} if export_all: export_dict['enumerations'] = db.value_tables export_dict['messages'] = [] if export_canard: for frame in db.frames: signals = {} for signal in frame.signals: signals[ signal.get_startbit( bit_numbering=1, start_little=True)] = { "name": signal.name, "bit_length": signal.size, "factor": signal.factor, "offset": signal.offset} export_dict['messages'].append( {"name": frame.name, "id": hex(frame.arbitration_id.id), "signals": signals}) elif export_all is False: for frame in db.frames: symbolic_signals = [] for signal in frame.signals: if not signal.is_little_endian: if motorola_bit_format == "msb": start_bit = signal.get_startbit(bit_numbering=1) elif motorola_bit_format == "msbreverse": start_bit = signal.get_startbit() else: # motorola_bit_format == "lsb" start_bit = signal.get_startbit(bit_numbering=1, start_little=True) else: start_bit = signal.get_startbit(bit_numbering=1, start_little=True) symbolic_signals.append({ "name": signal.name, "start_bit": start_bit, "bit_length": signal.size, "factor": number_converter(signal.factor), "offset": number_converter(signal.offset), "is_big_endian": signal.is_little_endian is False, "is_signed": signal.is_signed, "is_float": signal.is_float, }) symbolic_frame = {"name": frame.name, "id": int(frame.arbitration_id.id), "is_extended_frame": frame.arbitration_id.extended, "is_fd": frame.is_fd, "signals": symbolic_signals} frame_attributes = { attr: frame.attribute(attr) for attr in additional_frame_columns if frame.attribute(attr) is not None # don't export None parameters } if frame_attributes: # only add attributes if there are any symbolic_frame["attributes"] = frame_attributes export_dict['messages'].append(symbolic_frame) else: # export_all for frame in db.frames: frame_attributes = {attribute: frame.attribute(attribute, db=db) for attribute in db.frame_defines} symbolic_signals = [] for signal in frame.signals: attributes = {attribute: signal.attribute(attribute, db=db) for attribute in db.signal_defines} values = {key: signal.values[key] for key in signal.values} if not signal.is_little_endian: if motorola_bit_format == "msb": start_bit = signal.get_startbit(bit_numbering=1) elif motorola_bit_format == "msbreverse": start_bit = signal.get_startbit() else: # motorola_bit_format == "lsb" start_bit = signal.get_startbit(bit_numbering=1, start_little=True) else: # motorola_bit_format == "lsb" start_bit = signal.get_startbit(bit_numbering=1, start_little=True) symbolic_signal = { "name": signal.name, "start_bit": start_bit, "bit_length": signal.size, "factor": number_converter(signal.factor), "offset": number_converter(signal.offset), "min": number_converter(signal.min), "max": number_converter(signal.max), "is_big_endian": signal.is_little_endian is False, "is_signed": signal.is_signed, "is_float": signal.is_float, "comment": signal.comment, "attributes": attributes, "values": values, "is_multiplexer" : signal.is_multiplexer, "mux_value" : signal.mux_val } if signal.multiplex is not None: symbolic_signal["multiplex"] = signal.multiplex if signal.unit: symbolic_signal["unit"] = signal.unit if signal.muxer_for_signal is not None: symbolic_signal["muxer_for_signal"] = signal.muxer_for_signal if signal.mux_val_grp: symbolic_signal["mux_val_grp"] = signal.mux_val_grp symbolic_signals.append(symbolic_signal) export_dict['messages'].append( {"name": frame.name, "id": int(frame.arbitration_id.id), "is_extended_frame": frame.arbitration_id.extended, "is_fd": frame.is_fd, "signals": symbolic_signals, "attributes": frame_attributes, "comment": frame.comment, "length": frame.size}) if sys.version_info > (3, 0): import io temp = io.TextIOWrapper(f, encoding='UTF-8') else: temp = f try: json.dump(export_dict, temp, sort_keys=True, indent=4, separators=(',', ': ')) finally: if sys.version_info > (3, 0): # When TextIOWrapper is garbage collected, it closes the raw stream # unless the raw stream is detached first temp.detach() def load(f, **_options): # type: (typing.BinaryIO, **str) -> canmatrix.CanMatrix db = canmatrix.CanMatrix() if sys.version_info > (3, 0): import io json_data = json.load(io.TextIOWrapper(f, encoding='UTF-8')) else: json_data = json.load(f) if "enumerations" in json_data: for val_tab_name, val_tab_dict in json_data['enumerations'].items(): for key, val in val_tab_dict.items(): if key.isdigit(): key = int(key) db.value_tables.setdefault(val_tab_name, {})[key] = val if "messages" in json_data: for frame in json_data["messages"]: # new_frame = Frame(frame["id"],frame["name"],8,None) new_frame = canmatrix.Frame(frame["name"], arbitration_id=frame["id"], size=8) if "length" in frame: new_frame.size = frame["length"] new_frame.arbitration_id.extended = frame.get("is_extended_frame", False) for signal in frame["signals"]: is_little_endian = not signal.get("is_big_endian", False) is_float = signal.get("is_float", False) is_signed = signal.get("is_signed", False) new_signal = canmatrix.Signal( signal["name"], start_bit=signal["start_bit"], size=signal["bit_length"], is_little_endian=is_little_endian, is_signed=is_signed, is_float=is_float, factor=signal.get("factor", 1), offset=signal.get("offset", 0) ) if signal.get("min") is not None: new_signal.min = new_signal.float_factory(signal["min"]) if signal.get("max", False): new_signal.max = new_signal.float_factory(signal["max"]) if signal.get("unit", False): new_signal.unit = signal["unit"] if signal.get("multiplex", False): new_signal.multiplex = signal["multiplex"] if signal.get("values", False): for key in signal["values"]: new_signal.add_values(key, signal["values"][key]) if new_signal.is_little_endian is False: new_signal.set_startbit( new_signal.start_bit, bitNumbering=1, startLittle=True) new_frame.add_signal(new_signal) db.add_frame(new_frame) f.close() return db canmatrix-0.9.5/src/canmatrix/formats/kcd.py000066400000000000000000000446671416730473300211070ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports kcd-files from a canmatrix-object # kcd-files are the can-matrix-definitions of the kayak # (http://kayak.2codeornot2code.org/) from __future__ import absolute_import, division, print_function import decimal import os import re import typing from builtins import * import lxml.etree import canmatrix import canmatrix.cancluster clusterExporter = 1 clusterImporter = 1 _Element = lxml.etree._Element def default_float_factory(value): # type: (typing.Any) -> decimal.Decimal return decimal.Decimal(value) def create_signal(signal, node_list, type_enums): # type: (canmatrix.Signal, typing.Mapping[str, int], typing.Mapping[str, typing.Sequence[str]]) -> _Element xml_signal = lxml.etree.Element( 'Signal', name=signal.name, offset=str(signal.get_startbit())) if signal.size > 1: xml_signal.set("length", str(signal.size)) if not signal.is_little_endian: xml_signal.set('endianess', "big") comment = signal.comment if signal.comment else "" more_comments = "" for attrib, val in sorted(signal.attributes.items()): try: if attrib in type_enums and int(val) < len(type_enums[attrib]): val = type_enums[attrib][int(val)] more_comments += ("\n" + attrib + ': ' + val) except: pass if more_comments: comment += "\n" + more_comments if comment: notes = lxml.etree.Element('Notes') notes.text = comment xml_signal.append(notes) consumer = lxml.etree.Element('Consumer') for receiver in signal.receivers: if receiver in node_list and len(receiver) > 1: node_ref = lxml.etree.Element('NodeRef', id=str(node_list[receiver])) consumer.append(node_ref) if len(consumer) > 0: # if consumer has children xml_signal.append(consumer) value = lxml.etree.Element('Value') if signal.is_float: if signal.size > 32: value.set('type', "double") else: value.set('type', "single") elif signal.is_signed: value.set('type', "signed") if float(signal.factor) != 1: value.set('slope', str("%g" % signal.factor)) if float(signal.offset) != 0: value.set('intercept', str("%g" % signal.offset)) if float(signal.min) != 0: value.set('min', str("{:.16g}".format(signal.min))) if float(signal.max) != 1 and float(signal.max) != 0: value.set('max', str("{:.16g}".format(signal.max))) if len(signal.unit) > 0: value.set('unit', signal.unit) if len(value.attrib) > 0: xml_signal.append(value) if signal.values: # signal has value table label_set = lxml.etree.Element('LabelSet') for table_value, table_name in sorted(signal.values.items(), key=lambda x: int(x[0])): label = lxml.etree.Element( 'Label', name=table_name.replace('"', ''), value=str(table_value)) label_set.append(label) xml_signal.append(label_set) return xml_signal def dump(dbs, f, **_options): # type: (typing.Mapping[str, canmatrix.CanMatrix], typing.IO, **typing.Any) -> None signal_type_enums = {} cluster = canmatrix.cancluster.CanCluster(dbs) for name in cluster: # type: str db = cluster[name] # type: canmatrix.CanMatrix for (typename, define) in list(db.signal_defines.items()): defines = re.split(r"\s+", define.definition) # type: typing.Sequence[str] define_type = defines[0] if define_type != 'ENUM': continue enum_str = defines[1].strip('"') enum_literals = enum_str.split('","') signal_type_enums[typename] = enum_literals # create XML root = lxml.etree.Element('NetworkDefinition') # type: _Element root.set("xmlns", "http://kayak.2codeornot2code.org/1.0") ns_xsi = "{http://www.w3.org/2001/XMLSchema-instance}" root.set(ns_xsi + "schemaLocation", "Definition.xsd") # root.append(lxml.etree.Element('Document')) # another child with text child = lxml.etree.Element('Document') child.set("name", "Some Document Name") child.text = 'some text' root.append(child) # Nodes: element_id = 1 node_list = {} # type: typing.MutableMapping[str, int] for ecu in cluster.ecus: node = lxml.etree.Element('Node', name=ecu.name, id="%d" % element_id) root.append(node) node_list[ecu.name] = element_id element_id += 1 for name in cluster: db = cluster[name] # Bus if 'Baudrate' in db.attributes: bus = lxml.etree.Element('Bus', baudrate=db.attributes['Baudrate']) else: bus = lxml.etree.Element('Bus') if not name: (path, ext) = os.path.splitext(f.name) name = path if name: bus.set("name", name) for frame in db.frames: message = lxml.etree.Element( 'Message', id="0x%03X" % frame.arbitration_id.id, name=frame.name, length=str(int(frame.size))) if frame.arbitration_id.extended == 1: message.set("format", "extended") if frame.effective_cycle_time != 0: message.set("triggered", "true") message.set("interval", "%d" % int(frame.effective_cycle_time)) comment_elem = lxml.etree.Element('Notes') if frame.comment is not None: comment_elem.text = frame.comment message.append(comment_elem) producer = lxml.etree.Element('Producer') for transmitter in frame.transmitters: if transmitter in node_list and len(transmitter) > 1: node_ref = lxml.etree.Element( 'NodeRef', id=str(node_list[transmitter])) producer.append(node_ref) if len(producer) > 0: message.append(producer) # check Multiplexor if present: value = None label_set = None multiplexor_elem = None for signal in frame.signals: if signal.multiplex is not None and signal.multiplex == 'Multiplexor': multiplexor_elem = lxml.etree.Element( 'Multiplex', name=signal.name, offset=str(signal.get_startbit()), length=str(int(signal.size))) value = lxml.etree.Element('Value') if float(signal.min) != 0: value.set('min', "%g" % signal.min) # type: ignore if float(signal.max) != 1: value.set('max', "%g" % signal.max) label_set = lxml.etree.Element('LabelSet') for valueVal, valName in sorted(signal.values.items(), key=lambda x: int(x[0])): label = lxml.etree.Element( 'Label', name=valName.replace('"', ''), value=str(valueVal)) label_set.append(label) # multiplexor found if multiplexor_elem is not None: # ticker all potential muxgroups for i in range(0, 1 << int(multiplexor_elem.get('length'))): empty = 0 muxgroup = lxml.etree.Element('MuxGroup', count=str(i)) for signal in frame.signals: if signal.multiplex is not None and signal.multiplex == i: sig = create_signal(signal, node_list, signal_type_enums) muxgroup.append(sig) empty = 1 if empty == 1: multiplexor_elem.append(muxgroup) multiplexor_elem.append(value) multiplexor_elem.append(label_set) message.append(multiplexor_elem) # standard-signals: for signal in frame.signals: if signal.multiplex is None: sig = create_signal(signal, node_list, signal_type_enums) message.append(sig) bus.append(message) root.append(bus) f.write(lxml.etree.tostring(root, pretty_print=True)) def parse_signal(signal, mux, namespace, nodelist, float_factory): # type: (_Element, typing.Any, str, typing.Dict[str, str], typing.Callable) -> canmatrix.Signal start_bit = 0 if 'offset' in signal.attrib: start_bit = int(signal.get('offset')) signal_size = 1 if 'length' in signal.attrib: signal_size = int(signal.get('length')) is_little_endian = True if 'endianess' in signal.attrib: if signal.get('endianess') == 'big': is_little_endian = False unit = "" offset = float_factory('0') factor = float_factory('1') min_value = None max_value = None is_signed = False is_float = False values = signal.find('./' + namespace + 'Value') if values is not None: if 'type' in values.attrib: valuetype = values.get('type') if valuetype == "single" or valuetype == "double": is_float = True elif valuetype == "unsigned": is_signed = False else: is_signed = True if 'slope' in values.attrib: factor = values.get('slope') if 'intercept' in values.attrib: offset = values.get('intercept') if 'unit' in values.attrib: unit = values.get('unit') if 'min' in values.attrib: min_value = values.get('min') if 'max' in values.attrib: max_value = values.get('max') receiver = [] consumers = signal.findall('./' + namespace + 'Consumer') for consumer in consumers: noderefs = consumer.findall('./' + namespace + 'NodeRef') for noderef in noderefs: receiver.append(nodelist[noderef.get('id')]) new_sig = canmatrix.Signal( signal.get('name'), start_bit=int(start_bit), size=int(signal_size), is_little_endian=is_little_endian, is_signed=is_signed, factor=factor, offset=offset, unit=unit, receivers=receiver, is_float=is_float, multiplex=mux) if min_value is not None: new_sig.min = float_factory(min_value) if max_value is not None: new_sig.max = float_factory(max_value) new_sig.set_startbit(int(start_bit)) notes = signal.findall('./' + namespace + 'Notes') comment = "" for note in notes: if note.text is not None: comment += note.text new_sig.add_comment(comment) labelsets = signal.findall('./' + namespace + 'LabelSet') for labelset in labelsets: labels = labelset.findall('./' + namespace + 'Label') for label in labels: name = label.get('name') value = label.get('value') new_sig.add_values(value, name) return new_sig def load(f, **options): # type: (typing.IO, **typing.Any) -> typing.Dict[str, canmatrix.CanMatrix] float_factory = options.get("float_factory", default_float_factory) # type: typing.Callable dbs = {} # type: typing.Dict[str, canmatrix.CanMatrix] tree = lxml.etree.parse(f) root = tree.getroot() namespace = "{" + tree.xpath('namespace-uri(.)') + "}" node_list = {} nodes = root.findall('./' + namespace + 'Node') buses = root.findall('./' + namespace + 'Bus') counter = 0 for bus in buses: db = canmatrix.CanMatrix() for node in nodes: db.ecus.append(canmatrix.Ecu(node.get('name'))) node_list[node.get('id')] = node.get('name') messages = bus.findall('./' + namespace + 'Message') for message in messages: dlc = None # new_frame = Frame(int(message.get('id'), 16), message.get('name'), 1, None) new_frame = canmatrix.Frame(message.get('name')) if 'triggered' in message.attrib: new_frame.cycle_time = int(message.get('interval')) if 'length' in message.attrib: dlc = int(message.get('length')) new_frame.size = dlc if 'format' in message.attrib and message.get('format') == "extended": new_frame.arbitration_id = canmatrix.ArbitrationId(int(message.get('id'), 16), extended=True) else: new_frame.arbitration_id = canmatrix.ArbitrationId(int(message.get('id'), 16), extended=False) multiplex = message.find('./' + namespace + 'Multiplex') if multiplex is not None: start_bit = 0 if 'offset' in multiplex.attrib: start_bit = int(multiplex.get('offset')) signal_size = 1 if 'length' in multiplex.attrib: signal_size = int(multiplex.get('length')) is_little_endian = True min_value = None max_value = None values = multiplex.find('./' + namespace + 'Value') if values is not None: if 'min' in values.attrib: min_value = float_factory(values.get('min')) if 'max' in values.attrib: max_value = float_factory(values.get('max')) unit = "" offset = float_factory('0') factor = float_factory('1') is_signed = False if 'type' in multiplex.attrib: if multiplex.get('type') == 'signed': is_signed = True receiver_names = [] # type: typing.List[str] consumers = multiplex.findall('./' + namespace + 'Consumer') for consumer in consumers: node_refs = consumer.findall('./' + namespace + 'NodeRef') for node_ref in node_refs: receiver_names.append(node_list[node_ref.get('id')]) new_signal = canmatrix.Signal( multiplex.get('name'), start_bit=int(start_bit), size=int(signal_size), is_little_endian=is_little_endian, is_signed=is_signed, factor=factor, offset=offset, unit=unit, receivers=receiver_names, multiplex='Multiplexor') if min_value is not None: new_signal.min = min_value if max_value is not None: new_signal.max = max_value if is_little_endian is False: # motorola/big_endian set/convert startbit new_signal.set_startbit(start_bit) notes = multiplex.findall('./' + namespace + 'Notes') comment = "" for note in notes: comment += note.text new_signal.add_comment(comment) label_sets = multiplex.findall('./' + namespace + 'LabelSet') for label_set in label_sets: labels = label_set.findall('./' + namespace + 'Label') for label in labels: name = label.get('name') value = label.get('value') new_signal.add_values(value, name) new_frame.add_signal(new_signal) mux_groups = multiplex.findall('./' + namespace + 'MuxGroup') for mux_group in mux_groups: mux = mux_group.get('count') signals = mux_group.findall('./' + namespace + 'Signal') for signal in signals: new_signal = parse_signal(signal, mux, namespace, node_list, float_factory) new_frame.add_signal(new_signal) signals = message.findall('./' + namespace + 'Signal') producers = message.findall('./' + namespace + 'Producer') for producer in producers: node_refs = producer.findall('./' + namespace + 'NodeRef') for node_ref in node_refs: new_frame.add_transmitter(node_list[node_ref.get('id')]) for signal in signals: new_signal = parse_signal(signal, None, namespace, node_list, float_factory) new_frame.add_signal(new_signal) notes = message.findall('./' + namespace + 'Notes') comment = "" for note in notes: if note.text is not None: comment += note.text new_frame.add_comment(comment) if dlc is None: new_frame.calc_dlc() else: new_frame.size = dlc new_frame.update_receiver() db.add_frame(new_frame) name = bus.get('name') if not name: name = "CAN%d" % counter counter += 1 dbs[name] = db return dbs canmatrix-0.9.5/src/canmatrix/formats/ldf.py000066400000000000000000000033731416730473300211000ustar00rootroot00000000000000from __future__ import absolute_import import ldfparser import canmatrix import ldfparser.encoding def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix ldf = ldfparser.parseLDF(path=f.name) # using f.name is not nice, but works db = canmatrix.CanMatrix() for lin_frame in ldf.frames: cm_frame = canmatrix.Frame() cm_frame.name = lin_frame.name cm_frame.arbitration_id = cm_frame.arbitration_id.from_compound_integer(lin_frame.frame_id) cm_frame.add_transmitter(lin_frame.publisher.name) cm_frame.size = lin_frame.length for mapping in lin_frame.signal_map: lin_signal = mapping[1] cm_signal = canmatrix.Signal() if lin_signal.name in ldf.converters: for converter in ldf.converters[lin_signal.name]._converters: if isinstance(converter, ldfparser.encoding.LogicalValue): cm_signal.add_values(converter.phy_value, converter.info) if isinstance(converter, ldfparser.encoding.PhysicalValue): cm_signal.offset = converter.offset cm_signal.factor = converter.scale cm_signal.unit = converter.unit cm_signal.min = converter.phy_min cm_signal.max = converter.phy_max cm_signal.name = lin_signal.name cm_signal.size = lin_signal.width cm_signal.initial_value = lin_signal.init_value for subscriber in lin_signal.subscribers: cm_signal.add_receiver(subscriber.name) cm_signal.start_bit = mapping[0] cm_frame.add_signal(cm_signal) db.add_frame(cm_frame) return db canmatrix-0.9.5/src/canmatrix/formats/odx.py000066400000000000000000000265151416730473300211300ustar00rootroot00000000000000from __future__ import print_function from lxml import etree import canmatrix.formats import decimal class OdxReader: def __init__(self): self.tree = None self.root = None self.ns = None self.nsp = None self.id_links = {} def open(self, file): self.tree = etree.parse(file) self.root = self.tree.getroot() self.ns = "{" + self.tree.xpath('namespace-uri(.)') + "}" # type: str self.nsp = self.tree.xpath('namespace-uri(.)') for element in self.findall("*"): if "ID" in element.attrib: self.id_links[element.attrib["ID"]] = element return def findall(self, xpath, root=None): if root is None: root = self.root return root.findall('.//' + self.ns + xpath) def find(self, xpath, root=None): if root is None: root = self.root return root.find('.//' + self.ns + xpath) def get_short_name(self, element): short_name = element.find(self.ns + "SHORT-NAME") return short_name.text def read_param(eo, param, start_byte_pos=0): return_data = {} short_name = eo.get_short_name(param) byte_pos = eo.find("BYTE-POSITION", param) bit_pos = eo.find("BIT-POSITION", param) coded_value = eo.find("CODED-VALUE", param) bit_length = eo.find("BIT-LENGTH", param) dop_ref = eo.find("DOP-REF", param) if dop_ref is not None and eo.id_links[dop_ref.attrib["ID-REF"]].tag != "DATA-OBJECT-PROP": # TODO struct_ref = dop_ref.attrib["ID-REF"] target = eo.id_links[struct_ref] if target.tag == "STRUCTURE": for param in eo.findall("PARAM", target): print(byte_pos.text, end=" ") return_data.update(read_param(eo, param, start_byte_pos+int(byte_pos.text))) print() # else: # print("-") # print(eo.id_links[struct_ref]) try: value = int(coded_value.text) except: value = None try: bit_length = int(bit_length.text) except: bit_length = 8 byte_pos = int(byte_pos.text) try: bit_pos = int(bit_pos.text) except: bit_pos = 0 return_data.update({short_name: [value, bit_length, byte_pos, bit_pos]}) return return_data def find_param(eo, request, param_type): for param in eo.findall("PARAM", request): if param.attrib["SEMANTIC"] == param_type: return param return None def decode_compumethod(eo, compu_method, category): compu_info = {} if category == "TEXTTABLE": compu_info["type"] = "TEXTTABLE" compu_info["table"] = {} for compu_scale in eo.findall("COMPU-SCALE", compu_method): vt = eo.find("COMPU-CONST/VT", compu_scale) ll = eo.find("LOWER-LIMIT", compu_scale) compu_info["table"][ll.text] = vt.text elif category =="LINEAR": # num0 + num1*x/denum compu_info["type"] = "LINEAR" numerators = eo.findall("COMPU-NUMERATOR/V", compu_method) offset = numerators[0].text factor = numerators[1].text denominator = eo.find("COMPU-DENOMINATOR/V", compu_method) if denominator is not None: teiler = denominator.text else: teiler = 1 compu_info["offset"] = offset compu_info["teiler"] = teiler compu_info["factor"] = factor elif category == "IDENTICAL": compu_info["type"] = "IDENTICAL" return compu_info def get_struct(eo, struct_name, offset_bit=0): struct = eo.id_links[struct_name] byte_size = eo.find("BYTE-SIZE", struct) bit_size = eo.find("BIT-SIZE", struct) name = eo.get_short_name(struct) data_dict = {"name": name, "_members": {}} if byte_size is not None: data_dict["bit_size"] = int(byte_size.text)*8 if bit_size is not None: data_dict["bit_size"] = int(bit_size.text) for param in eo.findall("PARAM", struct): ref = eo.find("DOP-REF", param) param_name = eo.get_short_name(param) byte_pos = eo.find("BYTE-POSITION", param) bit_pos = eo.find("BIT-POSITION", param) start_bit = int(byte_pos.text)*8 + offset_bit if bit_pos is not None: start_bit += int(bit_pos.text) data_dict["_members"][param_name] = {"bit_pos": start_bit} data_dict["_members"][param_name]["name"] = param_name if ref is not None: if eo.id_links[ref.attrib["ID-REF"]].tag == "DATA-OBJECT-PROP": data_prop = eo.id_links[ref.attrib["ID-REF"]] bit_len = eo.find("BIT-LENGTH", data_prop) data_dict["_members"][param_name]["bit_size"] = int(bit_len.text) compu_method_cat = eo.find("COMPU-METHOD/CATEGORY", data_prop) if compu_method_cat is not None: decoded_compu = decode_compumethod(eo, eo.find("COMPU-METHOD", data_prop), compu_method_cat.text) data_dict["_members"][param_name]["compu_method"] = decoded_compu unit_ref = eo.find("UNIT-REF", data_prop) if unit_ref is not None: unit_element = eo.id_links[unit_ref.attrib["ID-REF"]] display_name_element = eo.find("DISPLAY-NAME", unit_element) data_dict["_members"][param_name]["unit"] = display_name_element.text # ignore type for now... else: data_dict["_members"][param_name] = get_struct(eo, ref.attrib["ID-REF"], start_bit) return data_dict def get_odx_info(eo, element_type): did_infos = {} for request in eo.findall(element_type): short_name = eo.get_short_name(request) service_id_param = find_param(eo, request, "SERVICE-ID") if service_id_param == None: continue service_id_value = eo.find("CODED-VALUE", service_id_param) service_id = int(service_id_value.text) if service_id != 0x62: continue id_param = find_param(eo, request, "ID") if id_param == None: continue did_value = eo.find("CODED-VALUE", id_param) did = int(did_value.text) data = find_param(eo, request, "DATA") data_type = eo.find("DOP-REF", data) structure = eo.id_links[data_type.attrib["ID-REF"]] if structure.tag != "STRUCTURE": continue did_infos[did] = get_struct(eo, structure.attrib["ID"]) return did_infos def flatten_did_info(did_info): flattened_info = {} if "_members" in did_info: flattened_info.update(flatten_did_info(did_info["_members"])) elif "bit_pos" in did_info and "name" in did_info: if "compu_method" in did_info: pass return {did_info["name"]: did_info} #todo else: for var in did_info: flattened_info.update(flatten_did_info(did_info[var])) return flattened_info def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix if 'odxRxId' in options: rx_can_id = options["odxRxId"] else: rx_can_id = 0x2 if 'odxTxId' in options: tx_can_id = options["odxTxId"] else: tx_can_id = 0x1 decode_service = 0x22 db = canmatrix.canmatrix.CanMatrix() eo = OdxReader() eo.open(f) # 22, 2E write by id, 2f, InputOutputControlByIdent, 31 Routine Control, # functional_canid_container = eo.root.xpath("//COMPARAM-REF[@ID-REF='COMPARAM-SPEC.UDS_CPS.COMPARAM.FunctionalRequestCANID']") ### request pyhs_canid_container = eo.root.xpath("//COMPARAM-REF[@ID-REF='COMPARAM-SPEC.UDS_CPS.COMPARAM.PhysicalRequestCANID']") if len(pyhs_canid_container) > 0: value = eo.find("VALUE", pyhs_canid_container[0]) if value is not None: tx_can_id = int(value.text, 16) info_struct = {} # get_odx_info(eo, "REQUEST") tx_frame = canmatrix.canmatrix.Frame(arbitration_id=canmatrix.arbitration_id_converter(tx_can_id), name="Diag_Reqest", size=8) if decode_service == 0: service_id = canmatrix.canmatrix.Signal("service_id", start_bit=8, size=8) tx_frame.add_signal(service_id) service_id.multiplex = 'Multiplexor' else: # info_struct = info_struct[decode_service] service_id = canmatrix.canmatrix.Signal("service_{:x}_muxer".format(decode_service), start_bit=8, size=24) tx_frame.add_signal(service_id) service_id.multiplex = 'Multiplexor' service_id.is_signed = False for mux_val in info_struct: request_id_signal = canmatrix.canmatrix.Signal(info_struct[mux_val]["name"], start_bit=32, multiplex=mux_val) request_id_signal.size = info_struct[mux_val]["bit_length"] # for value in info_struct[mux_val]: # request_id_signal.add_values(value, info_struct[mux_val][value]["name"]) # request_id_signal.size = info_struct[mux_val][value]["bit_length"] if request_id_signal.size > 0: tx_frame.add_signal(request_id_signal) db.add_frame(tx_frame) ### response info_struct = get_odx_info(eo, "POS-RESPONSE" ) # info_struct.update(get_odx_info(eo, "NEG-RESPONSE")) pyhs_canid_container = eo.root.xpath("//COMPARAM-REF[@ID-REF='COMPARAM-SPEC.UDS_CPS.COMPARAM.PhysicalResponseCANID']") if len(pyhs_canid_container) > 0: value = eo.find("VALUE", pyhs_canid_container[0]) if value is not None: rx_can_id = int(value.text, 16) tx_frame = canmatrix.canmatrix.Frame(arbitration_id=canmatrix.arbitration_id_converter(rx_can_id), name="Diag_Response", size=8) tp_info = canmatrix.canmatrix.Signal("tp_length", start_bit=0, size=8) tx_frame.add_signal(tp_info) service_id = canmatrix.canmatrix.Signal("service_{:x}_muxer".format(decode_service+0x40), start_bit=8, size=24) tx_frame.add_signal(service_id) service_id.multiplex = 'Multiplexor' service_id.is_signed = False for mux_val in info_struct: service_id.add_values(mux_val, info_struct[mux_val]["name"]) did_info = info_struct[mux_val] did_vars = flatten_did_info(did_info) for var in did_vars: new_signal = canmatrix.canmatrix.Signal(var, multiplex=mux_val) if "bit_size" in did_vars[var]: new_signal.size = did_vars[var]["bit_size"] else: new_signal.size = 1 new_signal.start_bit = did_vars[var]["bit_pos"] + 32 new_signal.is_signed = False if "compu_method" in did_vars[var]: if did_vars[var]["compu_method"]["type"] == "LINEAR": offset = decimal.Decimal(did_vars[var]["compu_method"]["offset"]) factor = decimal.Decimal(did_vars[var]["compu_method"]["factor"]) teiler = decimal.Decimal(did_vars[var]["compu_method"]["teiler"]) new_signal.factor = factor / teiler new_signal.offset = offset / teiler elif did_vars[var]["compu_method"]["type"] == "TEXTTABLE": for value, value_name in did_vars[var]["compu_method"]["table"].items(): new_signal.add_values(int(value), value_name) if "unit" in did_vars[var]: new_signal.unit = did_vars[var]["unit"] tx_frame.add_signal(new_signal) db.add_frame(tx_frame) return db canmatrix-0.9.5/src/canmatrix/formats/scapy.py000066400000000000000000000074501416730473300214520ustar00rootroot00000000000000# Copyright (c) 2019, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports scapy python files # https://scapy.readthedocs.io/en/latest/advanced_usage.html#automotive-usage from __future__ import absolute_import, division, print_function import textwrap import typing from builtins import * import canmatrix extension = "py" def get_fmt(signal): # type: (canmatrix.Signal) -> str if signal.is_little_endian: fmt = "<" else: fmt = ">" if signal.is_float: fmt += "f" elif signal.is_signed: fmt += "b" else: fmt += "B" return fmt def signal_field_line(signal): return u'SignalField("{}", default=0, start={}, size={}, scaling={}, offset={}, unit="{}", fmt="{}"),'.format( signal.name, signal.get_startbit(bit_numbering=1), signal.size, signal.factor, signal.offset, signal.unit, get_fmt(signal)) def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None scapy_decoder = textwrap.dedent(""" #!/usr/bin/env python # -*- coding: utf-8 -*- from scapy.packet import Packet from scapy.packet import bind_layers from scapy.fields import * from scapy.layers.can import * """) for frame in db.frames: scapy_decoder += "class " + frame.name + "(SignalPacket):\n" scapy_decoder += " fields_desc = [ \n" if frame.is_multiplexed and not frame.is_complex_multiplexed: multiplexer = frame.get_multiplexer scapy_decoder += u' ' + signal_field_line(multiplexer) + '\n' for signal in frame.signals: if signal != multiplexer and signal.mux_val is not None: scapy_decoder += u' ConditionalField(' + signal_field_line(signal) + ' lambda p: p.{} == {}),\n'.format(multiplexer.name, signal.mux_val) elif signal != multiplexer: scapy_decoder += u' ' + signal_field_line(signal) + '\n' else: for signal in frame.signals: scapy_decoder += u' ' + signal_field_line(signal) + '\n' scapy_decoder += " ]\n\n" for frame in db.frames: if frame.arbitration_id.extended: scapy_decoder += "bind_layers(SignalHeader, " + frame.name + ", identifier = " + hex( frame.arbitration_id.id) + ", flags = extended)\n" else: scapy_decoder += "bind_layers(SignalHeader, " + frame.name + ", identifier = " + hex( frame.arbitration_id.id) + ")\n" f.write(scapy_decoder.encode("utf8")) canmatrix-0.9.5/src/canmatrix/formats/sym.py000066400000000000000000000663041416730473300211460ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports sym-files from a canmatrix-object # sym-files are the can-matrix-definitions of the Peak Systems Tools from __future__ import absolute_import, division, print_function import collections import decimal import logging import sys import typing from builtins import * import attr import canmatrix import canmatrix.utils logger = logging.getLogger(__name__) def default_float_factory(value): # type: (typing.Any) -> decimal.Decimal return decimal.Decimal(value) @attr.s class ParsingError(Exception): line_number = attr.ib() # type: int line = attr.ib() # type: str message = attr.ib(default=None) # type: typing.Optional[str] original = attr.ib(default=None) # type: typing.Optional[Exception] def __attrs_post_init__(self): # type: () -> None if self.message is None: self.message = self.line self.message = 'line {line_number}: {message}'.format( line_number=self.line_number, message=self.message ) super(ParsingError, self).__init__(self.message) def __str__(self): # type: () -> str return self.message @attr.s class DuplicateMuxIdError(ParsingError): id = attr.ib(default=None) # type: int old = attr.ib(default=None) new = attr.ib(default=None) def __attrs_post_init__(self): if None in (self.id, self.old, self.new): raise Exception('ack') self.message = ( '{id:X}h already in use' ' (old: {old}, new: {new})' ).format( id=self.id, old=self.old, new=self.new, ) super(DuplicateMuxIdError, self).__attrs_post_init__() def format_float(f): # type: (typing.Any) -> str s = str(f).upper() if s.endswith('.0'): s = s[:-2] if 'E' in s: tmp = s.split('E') s = '%sE%s%s' % (tmp[0], tmp[1][0], tmp[1][1:].rjust(3, '0')) return s.upper() def create_signal(db, signal): # type: (canmatrix.CanMatrix, canmatrix.Signal) -> str output = "" if sys.version_info > (3, 0): quote_name = not signal.name.isidentifier() else: from future.utils import isidentifier quote_name = not isidentifier(signal.name) if quote_name: output += 'Var="%s" ' % signal.name else: output += "Var=%s " % signal.name if signal.type_label: output += signal.type_label + " " else: if signal.is_signed: output += "signed " elif signal.is_float: output += "float " else: output += "unsigned " start_bit = signal.get_startbit() if not signal.is_little_endian: # Motorola output += "%d,%d -m " % (start_bit, signal.size) else: output += "%d,%d " % (start_bit, signal.size) if signal.attributes.get('HexadecimalOutput', False): output += "-h " if len(signal.unit) > 0: t = signal.unit[0:16] if " " in t: format_string = '/u:"%s" ' else: format_string = '/u:%s ' output += format_string % t if float(signal.factor) != 1: output += "/f:%s " % (format_float(signal.factor)) if float(signal.offset) != 0: output += "/o:%s " % (format_float(signal.offset)) if signal.min is not None: output += "/min:{} ".format(format_float(signal.min)) if signal.max is not None: output += "/max:{} ".format(format_float(signal.max)) display_decimal_places = signal.attributes.get('DisplayDecimalPlaces') if display_decimal_places is not None: output += "/p:%d " % (int(display_decimal_places)) if len(signal.values) > 0: val_tab_name = signal.enumeration if val_tab_name is None: val_tab_name = signal.name output += "/e:%s " % val_tab_name default = signal.initial_value # type: ignore min_ok = signal.min is None or default >= signal.min max_ok = signal.max is None or default <= signal.max if min_ok and max_ok: output += "/d:{} ".format(default) long_name = signal.attributes.get('LongName') if long_name is not None: output += '/ln:"{}" '.format(long_name) output = output.rstrip() if signal.comment is not None and len(signal.comment) > 0: output += "\t// " + signal.comment.replace('\n', ' ').replace('\r', ' ') output += "\n" return output def create_enum_from_signal_values(signal): enum_dict = {} if len(signal.values) > 0: val_tab_name = signal.enumeration if val_tab_name is None: val_tab_name = signal.name if val_tab_name not in enum_dict: enum_dict[val_tab_name] = "enum " + val_tab_name + "(" + ', '.join( '%s="%s"' % (key, val) for ( key, val) in sorted( signal.values.items())) + ")" return enum_dict def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None """ export canmatrix-object as .sym file (compatible to PEAK-Systems) """ sym_encoding = options.get('symExportEncoding', 'iso-8859-1') ignore_encoding_errors = options.get("ignoreEncodingErrors", "strict") enum_dict = {} for enum_name, enum_values in db.value_tables.items(): enum_dict[enum_name] = "enum {}({})".format(enum_name, ', '.join('{}="{}"'.format(*items) for items in sorted(enum_values.items()))) enums = "{ENUMS}\n" header = """\ FormatVersion=5.0 // Do not edit this line! Title=\"{}\" """.format(db.attribute("Title", "canmatrix-Export")) f.write(header.encode(sym_encoding, ignore_encoding_errors)) def send_receive(for_frame): return ( for_frame.attributes.get('Sendable', 'True') == 'True', for_frame.attributes.get('Receivable', 'True') == 'True', ) sections = collections.OrderedDict(( ('SEND', tuple(f for f in db.frames if send_receive(f) == (True, False))), ('RECEIVE', tuple(f for f in db.frames if send_receive(f) == (False, True))), ('SENDRECEIVE', tuple(f for f in db.frames if send_receive(f) == (True, True))), )) output = '\n' for name, frames in sections.items(): if len(frames) == 0: continue # Frames output += "{{{}}}\n\n".format(name) # trigger all frames for frame in frames: name = "[" + frame.name + "]\n" if frame.arbitration_id.extended == 1: id_type = "ID=%08Xh" % frame.arbitration_id.id else: id_type = "ID=%03Xh" % frame.arbitration_id.id if frame.comment is not None and len(frame.comment) > 0: id_type += "\t// " + \ frame.comment.replace('\n', ' ').replace('\r', ' ') id_type += "\n" if frame.arbitration_id.extended == 1: id_type += "Type=Extended\n" else: id_type += "Type=Standard\n" # check if frame has multiplexed signals multiplex = 0 for signal in frame.signals: if signal.multiplex is not None: multiplex = 1 if multiplex == 1: # search for multiplexor in frame: for signal in frame.signals: if signal.multiplex == 'Multiplexor': mux_signal = signal first = 0 # find all used muxer-values multiplexer_list = set([a.multiplex for a in frame.signals]) # ticker all used muxer-values only for i in multiplexer_list: if type(i) != int: continue found = 0 mux_out = "" # ticker all signals for signal in frame.signals: # if signal is in mux-group i if signal.multiplex == i: mux_out = name if first == 0: mux_out += id_type first = 1 mux_out += "DLC=%d\n" % frame.size if frame.cycle_time != 0: mux_out += "CycleTime=" + str(frame.effective_cycle_time) + "\n" mux_name = frame.mux_names.get(i, mux_signal.name + "%d" % i) mux_out += "Mux=" + mux_name start_bit = mux_signal.get_startbit() s = str(i) if len(s) > 1: length = len( '{:X}'.format(int(mux_signal.calc_max())) ) s = '{:0{}X}h'.format(i, length) if not signal.is_little_endian: # Motorola mux_out += " %d,%d %s -m" % (start_bit, mux_signal.size, s) else: mux_out += " %d,%d %s" % (start_bit, mux_signal.size, s) if not mux_out.endswith('h'): mux_out += ' ' if i in mux_signal.comments: comment = mux_signal.comments.get(i) if len(comment) > 0: mux_out += '\t// ' + comment mux_out += "\n" found = 1 break if found == 1: for signal in frame.signals: if signal.multiplex == i or signal.multiplex is None: mux_out += create_signal(db, signal) enum_dict.update(create_enum_from_signal_values(signal)) output += mux_out + "\n" else: # no multiplex signals in frame, just 'normal' signals output += name output += id_type output += "DLC=%d\n" % frame.size if frame.cycle_time != 0: output += "CycleTime=" + str(frame.effective_cycle_time) + "\n" for signal in frame.signals: output += create_signal(db, signal) enum_dict.update(create_enum_from_signal_values(signal)) output += "\n" enums += '\n'.join(sorted(enum_dict.values())) # write output file f.write((enums + '\n').encode(sym_encoding, ignore_encoding_errors)) f.write(output.encode(sym_encoding, ignore_encoding_errors)) def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix if 'symImportEncoding' in options: sym_import_encoding = options["symImportEncoding"] else: sym_import_encoding = 'iso-8859-1' calc_min_for_none = options.get('calc_min_for_none') calc_max_for_none = options.get('calc_max_for_none') float_factory = options.get('float_factory', default_float_factory) class Mode(object): glob, enums, send, sendReceive, receive = list(range(5)) mode = Mode.glob frame_name = "" frame = None db = canmatrix.CanMatrix() db.add_frame_defines("Receivable", 'BOOL False True') db.add_frame_defines("Sendable", 'BOOL False True') db.add_signal_defines("HexadecimalOutput", 'BOOL False True') db.add_signal_defines("DisplayDecimalPlaces", 'INT 0 65535') db.add_signal_defines("LongName", 'STR') for line_count, line in enumerate(f, 1): try: line = line.decode(sym_import_encoding).strip() # ignore empty line: if line.__len__() == 0: continue if line[0:6] == "Title=": title = line[6:].strip('"') db.add_global_defines("Title", "STRING") db.global_defines['Title'].set_default("canmatrix-Export") db.add_attribute("Title", title) # switch mode: if line[0:7] == "{ENUMS}": mode = Mode.enums continue if line[0:6] == "{SEND}": mode = Mode.send continue if line[0:13] == "{SENDRECEIVE}": mode = Mode.sendReceive continue if line[0:9] == "{RECEIVE}": mode = Mode.receive continue if mode == Mode.glob: # just ignore headers... continue elif mode == Mode.enums: line = line.strip() if line.startswith('enum'): while not line[5:].strip().endswith(')'): line = line.split('//')[0] if sys.version_info > (3, 0): # is there a clean way to to it? next_line = f.readline().decode(sym_import_encoding) else: next_line = next(f).decode(sym_import_encoding) if next_line == "": raise EOFError("Reached EOF before finding terminator for enum :\"{}\"".format(line)) line += next_line.strip() line = line.split('//')[0] temp_array = line[5:].strip().rstrip(')').split('(', 1) val_table_name = temp_array[0] split = canmatrix.utils.quote_aware_comma_split(temp_array[1]) temp_array = [s.rstrip(',') for s in split] temp_val_table = {} for entry in temp_array: temp_val_table[entry.split('=')[0].strip()] = entry.split('=')[ 1].replace('"', '').strip() db.add_value_table(val_table_name, temp_val_table) elif mode in {Mode.send, Mode.sendReceive, Mode.receive}: if line.startswith('['): multiplexor = None # found new frame: if frame_name != line.replace('[', '').replace(']', '').replace('"', '').strip(): frame_name = line.replace('[', '').replace(']', '').replace('"', '').strip() # TODO: CAMPid 939921818394902983238 if frame is not None: if len(frame.mux_names) > 0: frame.signal_by_name( frame.name + "_MUX").values = frame.mux_names db.add_frame(frame) frame = canmatrix.Frame(frame_name) frame.add_attribute( 'Receivable', mode in {Mode.receive, Mode.sendReceive} ) frame.add_attribute( 'Sendable', mode in {Mode.send, Mode.sendReceive} ) # key value: elif line.startswith('Var') or line.startswith('Mux'): tmp_mux = line[:3] line = line[4:] # comment = "" index_offset = 1 if tmp_mux == "Mux": index_offset = 0 comment = "" if '//' in line: split = line.split('//', 1) comment = split[1].strip() line = split[0].strip() line = line.replace(' ', ' "" ') temp_array = canmatrix.utils.quote_aware_space_split(line) sig_name = temp_array[0] is_float = False is_ascii = False enumeration = None if tmp_mux == "Mux": is_signed = False elif index_offset != 1 : is_signed = True else: is_signed = False type_label = temp_array[1] if type_label == 'unsigned': pass elif type_label == 'bit': pass elif type_label == 'raw': pass elif type_label == 'signed': is_signed = True elif type_label in ['float', 'double']: is_float = True elif type_label in ['char', 'string']: is_ascii = True elif type_label in db.value_tables.keys(): enumeration = type_label else: raise ValueError('Unknown type \'{}\' found'.format(type_label)) start_bit = int(temp_array[index_offset + 1].split(',')[0]) signal_length = int(temp_array[index_offset + 1].split(',')[1]) intel = True unit = "" factor = 1 max_value = None min_value = None long_name = None start_value = None offset = 0 value_table_name = None hexadecimal_output = False display_decimal_places = None if tmp_mux == "Mux": multiplexor = temp_array[2] if multiplexor[-1] == 'h': multiplexor = int(multiplexor[:-1], 16) else: multiplexor = int(multiplexor) if multiplexor in frame.mux_names: raise DuplicateMuxIdError( id=multiplexor, old=frame.mux_names[multiplexor], new=sig_name, line_number=line_count, line=line, ) frame.mux_names[multiplexor] = sig_name index_offset = 2 for switch in temp_array[index_offset + 2:]: if switch == "-m": intel = False elif switch == "-h": hexadecimal_output = True elif switch.startswith('/'): s = switch[1:].split(':', 1) if s[0] == 'u': unit = s[1] elif s[0] == 'f': factor = s[1] elif s[0] == 'd': start_value = s[1] elif s[0] == 'p': display_decimal_places = s[1] elif s[0] == 'o': offset = s[1] elif s[0] == 'e': value_table_name = s[1] elif s[0] == 'max': max_value = s[1] elif s[0] == 'min': min_value = s[1] elif s[0] == 'ln': long_name = s[1] # else: # print switch # else: # print switch if tmp_mux == "Mux": signal = frame.signal_by_name(frame_name + "_MUX") if signal is None: extras = {} if calc_min_for_none is not None: extras['calc_min_for_none'] = calc_min_for_none if calc_max_for_none is not None: extras['calc_max_for_none'] = calc_max_for_none # if float_factory is not None: # extras['float_factory'] = float_factory signal = canmatrix.Signal( frame_name + "_MUX", start_bit=int(start_bit), size=int(signal_length), is_little_endian=intel, is_signed=is_signed, is_float=is_float, is_ascii=is_ascii, factor=factor, offset=offset, unit=unit, multiplex='Multiplexor', comment=comment, **extras) if min_value is not None: signal.min = float_factory(min_value) if max_value is not None: signal.max = float_factory(max_value) # signal.add_comment(comment) if intel is False: # motorola set/convert start bit signal.set_startbit(start_bit) frame.add_signal(signal) signal.comments[multiplexor] = comment else: # signal = Signal(sigName, startBit, signalLength, intel, is_signed, factor, offset, min, max, unit, "", multiplexor) extras = {} if calc_min_for_none is not None: extras['calc_min_for_none'] = calc_min_for_none if calc_max_for_none is not None: extras['calc_max_for_none'] = calc_max_for_none # if float_factory is not None: # extras['float_factory'] = float_factory signal = canmatrix.Signal( sig_name, start_bit=int(start_bit), size=int(signal_length), is_little_endian=intel, is_signed=is_signed, is_float=is_float, factor=factor, offset=offset, unit=unit, multiplex=multiplexor, comment=comment, type_label=type_label, enumeration=enumeration, **extras) if min_value is not None: signal.min = float_factory(min_value) if max_value is not None: signal.max = float_factory(max_value) if intel is False: # motorola set/convert start bit signal.set_startbit(start_bit) if value_table_name is not None: signal.values = db.value_tables[value_table_name] signal.enumeration = value_table_name if enumeration is not None: signal.values = db.value_tables[enumeration] signal.enumeration = value_table_name # signal.add_comment(comment) # ... (1 / ...) because this somehow made 59.8/0.1 be 598.0 rather than 597.9999999999999 if start_value is not None: signal.initial_value = float_factory(start_value) frame.add_signal(signal) if long_name is not None: signal.add_attribute("LongName", long_name) if hexadecimal_output: signal.add_attribute("HexadecimalOutput", str(True)) if display_decimal_places is not None: signal.add_attribute("DisplayDecimalPlaces", display_decimal_places) # variable processing elif line.startswith('ID'): comment = "" if '//' in line: split = line.split('//', 1) comment = split[1].strip() line = split[0].strip() frame.arbitration_id.id = int(line.split('=')[1].strip()[:-1], 16) frame.add_comment(comment) elif line.startswith('Type'): if line.split('=')[1][:8] == "Extended": frame.arbitration_id.extended = 1 elif line.startswith('DLC'): frame.size = int(line.split('=')[1]) elif line.startswith('CycleTime'): frame.cycle_time = int(line.split('=')[1].strip()) # else: # print line # else: # print "Unrecognized line: " + l + " (%d) " % i except Exception as e: if not isinstance(e, ParsingError): ParsingError( message=str(e), line_number=line_count, line=line, original=e, ) db.load_errors.append(e) logger.error("Error decoding line %d" % line_count) logger.error(line) # TODO: CAMPid 939921818394902983238 if frame is not None: if len(frame.mux_names) > 0: frame.signal_by_name(frame.name + "_MUX").values = frame.mux_names db.add_frame(frame) return db canmatrix-0.9.5/src/canmatrix/formats/wireshark.py000066400000000000000000000154301416730473300223270ustar00rootroot00000000000000# Copyright (c) 2019, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports lua files for use with wireshark as dissector import textwrap import typing import canmatrix extension = "lua" def get_coorect_bits_for_signal(frame, signal, signal_size = None): if not signal_size: signal_size = signal.size if signal.is_little_endian: name_of_bitfield = "reversed_pdu" start_bit = (frame.size*8) - signal.start_bit - signal.size else: name_of_bitfield = "pdu" start_bit = signal.start_bit return '{}:bitfield({},{})'.format(name_of_bitfield, start_bit , signal_size) def create_dissect_signal(frame, signal, indent = 0): dissector_string = "" bits_for_signal = get_coorect_bits_for_signal(frame, signal) if signal.is_signed and not signal.is_float: dissector_string += ' '*indent + ' is_signed = {}\n'.format(get_coorect_bits_for_signal(frame, signal, 1)) dissector_string += ' '*indent +' if is_signed == 1 then\n' dissector_string += ' '*indent +' my_frame_tree:add({}_{}, {} - {})\n'.format(frame.name, signal.name, bits_for_signal, 1 << signal.size) dissector_string += ' '*indent +' else\n' dissector_string += ' '*indent +' my_frame_tree:add({}_{}, {})\n'.format(frame.name, signal.name, bits_for_signal) dissector_string += ' '*indent +' end\n' else: dissector_string += ' '*indent + " my_frame_tree:add({}_{}, {})\n".format(frame.name, signal.name, bits_for_signal) return dissector_string def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None wireshark_dissector = textwrap.dedent(""" --- lua dissector exported by canmatrix --- may be buggy. currently float decoding is corrupt --- if you see this and want to improve the lua code please help at github.com/ebroecker/canamtrix --- global function for reversing pdu --- helper is needed to decode little endian function do_reverse_pdu(pdu, length) local rev=ByteArray.new() rev:set_size(length) for i=0,length-1 do rev:set_index(length-i-1, pdu(i,1):uint()) end return ByteArray.tvb(rev, "my Tvb"):range(0,length) end """) for frame in db.frames: wireshark_dissector += "--- Frame: {}\n".format(frame.name) wireshark_dissector += '{} = Proto("{}", "{}") \n'.format(frame.name, frame.name, frame.name) for signal in frame.signals: if signal.is_float: wireshark_dissector += u'{}_{} = ProtoField.float("can.{}.{}", "{}")\n'.format(frame.name, signal.name, frame.name, signal.name, signal.name) else: wireshark_dissector += u'{}_{} = ProtoField.int32("can.{}.{}", "{}", base.DEC)\n'.format(frame.name, signal.name, frame.name, signal.name, signal.name) wireshark_dissector += "{}.fields = {{".format(frame.name) wireshark_dissector += ",".join([frame.name + "_" + s.name for s in frame.signals]) wireshark_dissector += "}\n\n" wireshark_dissector += "function add_frame_info(can_id, pdu, dlc, framesubtree)\n" wireshark_dissector += " reversed_pdu = do_reverse_pdu(pdu, dlc)\n" for frame in db.frames: wireshark_dissector += " if can_id == {} then\n".format(frame.arbitration_id.id) wireshark_dissector += " local my_frame_tree = framesubtree:add({}, pdu(0, dlc))\n".format(frame.name) wireshark_dissector += " local is_signed\n" if frame.is_multiplexed and not frame.is_complex_multiplexed: multiplexer = frame.get_multiplexer wireshark_dissector += u' local muxer = {}\n'.format(get_coorect_bits_for_signal(frame,multiplexer)) for signal in frame.signals: if signal != multiplexer and signal.mux_val is not None: wireshark_dissector += ' if muxer == {} then \n'.format(signal.mux_val) wireshark_dissector += create_dissect_signal(frame, signal, indent=2) wireshark_dissector += ' end\n' elif signal != multiplexer: wireshark_dissector += create_dissect_signal(frame, signal) else: for signal in frame.signals: wireshark_dissector += create_dissect_signal(frame, signal) wireshark_dissector += " end\n" wireshark_dissector += "end\n" wireshark_dissector += textwrap.dedent(""" local can_database_decoder = Proto.new("CanSignalDecoder", "Can Signal Decoder") can_database_can_id = ProtoField.uint32("can.frame.arbitration_id", "can_id", base.HEX) can_database_decoder.fields = {can_database_can_id} local f_can_id = Field.new("can.id") function can_database_decoder.dissector(buffer, pinfo, tree) local can_id = f_can_id() local pktlen = buffer:reported_length_remaining() add_frame_info(can_id.tvb:le_uint(), buffer(0, pktlen), pktlen, tree) end DissectorTable.get("can.subdissector"):add_for_decode_as(can_database_decoder) """) f.write(wireshark_dissector.encode("utf8")) canmatrix-0.9.5/src/canmatrix/formats/xls.py000066400000000000000000000562271416730473300211470ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports xls-files from a canmatrix-object # xls-files are the can-matrix-definitions displayed in Excel from __future__ import absolute_import, division, print_function import decimal import logging import typing from builtins import * import past.builtins import xlrd import xlwt import canmatrix import canmatrix.formats.xls_common logger = logging.getLogger(__name__) default_float_factory = decimal.Decimal # Font Size : 8pt * 20 = 160 # font = 'font: name Arial Narrow, height 160' font = 'font: name Verdana, height 160' if xlwt is not None: sty_header = xlwt.easyxf(font + ', bold on; align: vertical center, horizontal center', 'pattern: pattern solid, fore-colour rose') sty_norm = xlwt.easyxf(font + ', colour black') sty_first_frame = xlwt.easyxf(font + ', colour black; borders: top thin') sty_white = xlwt.easyxf(font + ', colour white') # ECU Matrix-Styles sty_green = xlwt.easyxf('pattern: pattern solid, fore-colour light_green') sty_green_first_frame = xlwt.easyxf('pattern: pattern solid, fore-colour light_green; borders: top thin') sty_sender = xlwt.easyxf('pattern: pattern 0x04, fore-colour gray25') sty_sender_first_frame = xlwt.easyxf('pattern: pattern 0x04, fore-colour gray25; borders: top thin') sty_sender_green = xlwt.easyxf('pattern: pattern 0x04, fore-colour gray25, back-colour light_green') sty_sender_green_first_frame = xlwt.easyxf( 'pattern: pattern 0x04, fore-colour gray25, back-colour light_green; borders: top thin') def write_ecu_matrix(ecus, sig, frame, worksheet, row, col, first_frame): # type: (typing.Sequence[str], typing.Optional[canmatrix.Signal], canmatrix.Frame, xlwt.Worksheet, int, int, xlwt.XFStyle) -> int # first-frame - style with borders: if first_frame == sty_first_frame: norm = sty_first_frame sender = sty_sender_first_frame norm_green = sty_green_first_frame sender_green = sty_sender_green_first_frame # consecutive-frame - style without borders: else: norm = sty_norm sender = sty_sender norm_green = sty_green sender_green = sty_sender_green # iterate over ECUs: for ecu_name in ecus: # every second ECU with other style if col % 2 == 0: loc_style = norm loc_style_sender = sender # every second ECU with other style else: loc_style = norm_green loc_style_sender = sender_green # write "s" "r" "r/s" if signal is sent, received or send and received by ECU if sig and ecu_name in sig.receivers and ecu_name in frame.transmitters: worksheet.write(row, col, label="r/s", style=loc_style_sender) elif sig and ecu_name in sig.receivers: worksheet.write(row, col, label="r", style=loc_style) elif ecu_name in frame.transmitters: worksheet.write(row, col, label="s", style=loc_style_sender) else: worksheet.write(row, col, label="", style=loc_style) col += 1 # loop over ECUs ends here return col def write_excel_line(worksheet, row, col, row_array, style): # type: (xlwt.Worksheet, int, int, typing.Sequence, xlwt.XFStyle) -> int for item in row_array: worksheet.write(row, col, label=item, style=style) col += 1 return col def dump(db, file, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None head_top = ['ID', 'Frame Name', 'Cycle Time [ms]', 'Launch Type', 'Launch Parameter', 'Signal Byte No.', 'Signal Bit No.', 'Signal Name', 'Signal Function', 'Signal Length [Bit]', 'Signal Default', ' Signal Not Available', 'Byteorder'] head_tail = ['Value', 'Name / Phys. Range', 'Function / Increment Unit'] if len(options.get("additionalSignalAttributes", "")) > 0: additional_signal_columns = options.get("additionalSignalAttributes").split(",") # type: typing.List[str] else: additional_signal_columns = [] # ["attributes['DisplayDecimalPlaces']"] if len(options.get("additionalFrameAttributes", "")) > 0: additional_frame_columns = options.get("additionalFrameAttributes").split(",") # type: typing.List[str] else: additional_frame_columns = [] # ["attributes['DisplayDecimalPlaces']"] motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse") workbook = xlwt.Workbook(encoding='utf8') # ws_name = os.path.basename(filename).replace('.xls', '') # worksheet = workbook.add_sheet('K-Matrix ' + ws_name[0:22]) worksheet = workbook.add_sheet('K-Matrix ') row_array = [] # type: typing.List[str] col = 0 # write ECUs in first row: ecu_list = [ecu.name for ecu in db.ecus] row_array += head_top head_start = len(row_array) row_array += ecu_list for col in range(len(row_array)): worksheet.col(col).width = 1111 tail_start = len(row_array) row_array += head_tail additional_frame_start = len(row_array) for col in range(tail_start, len(row_array)): worksheet.col(col).width = 3333 for additionalCol in additional_frame_columns: row_array.append("frame." + additionalCol) col += 1 for additionalCol in additional_signal_columns: row_array.append("signal." + additionalCol) col += 1 write_excel_line(worksheet, 0, 0, row_array, sty_header) # set width of selected Cols worksheet.col(1).width = 5555 worksheet.col(3).width = 3333 worksheet.col(7).width = 5555 worksheet.col(8).width = 7777 worksheet.col(head_start).width = 1111 worksheet.col(head_start + 1).width = 5555 frame_hash = {} if db.type == canmatrix.matrix_class.CAN: logger.debug("Length of db.frames is %d", len(db.frames)) for frame in db.frames: if frame.is_complex_multiplexed: logger.error("export complex multiplexers is not supported - ignoring frame %s", frame.name) continue frame_hash[int(frame.arbitration_id.id)] = frame else: frame_hash = {a.name:a for a in db.frames} # set row to first Frame (row = 0 is header) row = 1 # iterate over the frames for idx in sorted(frame_hash.keys()): frame = frame_hash[idx] frame_style = sty_first_frame # sort signals: sig_hash = {"{:02d}{}".format(sig.get_startbit(), sig.name): sig for sig in frame.signals} # set style for first line with border sig_style = sty_first_frame additional_frame_info = [frame.attribute(frameInfo, default="") for frameInfo in additional_frame_columns] # iterate over signals row_array = [] if len(sig_hash) == 0: # Frames without signals row_array += canmatrix.formats.xls_common.get_frame_info(db, frame) for _ in range(5, head_start): row_array.append("") temp_col = write_excel_line(worksheet, row, 0, row_array, frame_style) temp_col = write_ecu_matrix(ecu_list, None, frame, worksheet, row, temp_col, frame_style) row_array = [] for col in range(temp_col, additional_frame_start): row_array.append("") row_array += additional_frame_info for _ in additional_signal_columns: row_array.append("") write_excel_line(worksheet, row, temp_col, row_array, frame_style) row += 1 continue # iterate over signals for sig_idx in sorted(sig_hash.keys()): sig = sig_hash[sig_idx] # if not first Signal in Frame, set style if sig_style != sty_first_frame: sig_style = sty_norm if sig.values.__len__() > 0: # signals with value table val_style = sig_style # iterate over values in value table for val in sorted(sig.values.keys()): row_array = canmatrix.formats.xls_common.get_frame_info(db, frame) front_col = write_excel_line(worksheet, row, 0, row_array, frame_style) if frame_style != sty_first_frame: worksheet.row(row).level = 1 col = head_start col = write_ecu_matrix(ecu_list, sig, frame, worksheet, row, col, frame_style) # write Value (frontRow, backRow) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) write_excel_line(worksheet, row, front_col, frontRow, sig_style) backRow += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") backRow.append(temp) write_excel_line(worksheet, row, col + 2, backRow, sig_style) write_excel_line(worksheet, row, col, [val, sig.values[val]], val_style) # no min/max here, because min/max has same col as values... # next row row += 1 # set style to normal - without border sig_style = sty_white frame_style = sty_white val_style = sty_norm # loop over values ends here # no value table available else: row_array = canmatrix.formats.xls_common.get_frame_info(db, frame) front_col = write_excel_line(worksheet, row, 0, row_array, frame_style) if frame_style != sty_first_frame: worksheet.row(row).level = 1 col = head_start col = write_ecu_matrix( ecu_list, sig, frame, worksheet, row, col, frame_style) (frontRow, backRow) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) write_excel_line(worksheet, row, front_col, frontRow, sig_style) if float(sig.min) != 0 or float(sig.max) != 1.0: backRow.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore else: backRow.insert(0, "") backRow.insert(0, "") backRow += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") backRow.append(temp) write_excel_line(worksheet, row, col, backRow, sig_style) # next row row += 1 # set style to normal - without border sig_style = sty_white frame_style = sty_white # loop over signals ends here # loop over frames ends here # frozen headings instead of split panes worksheet.set_panes_frozen(True) # in general, freeze after last heading row worksheet.set_horz_split_pos(1) worksheet.set_remove_splits(True) # save file workbook.save(file) # ########################### load ############################### def parse_value_name_column(value_name, value_str, signal_size, float_factory): # type: (str, str, int, typing.Callable) -> typing.Tuple mini = maxi = offset = None # type: typing.Any value_table = dict() if ".." in value_name: (mini, maxi) = value_name.strip().split("..") mini = float_factory(mini) maxi = float_factory(maxi) offset = mini elif len(value_name) > 0: if len(value_str.strip()) > 0: # Value Table value = int(float(value_str)) value_table[value] = value_name maxi = pow(2, signal_size) - 1 maxi = float_factory(maxi) mini = 0 offset = 0 return mini, maxi, offset, value_table def read_additional_signal_attributes(signal, attribute_name, attribute_value): if not attribute_name.startswith("signal"): return if attribute_name.replace("signal.", "") in vars(signal): command_str = attribute_name + "=" command_str += str(attribute_value) if len(str(attribute_value)) > 0: exec(command_str) else: pass def load(file, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse") float_factory = options.get("float_factory", default_float_factory) additional_inputs = dict() wb = xlrd.open_workbook(file_contents=file.read()) sh = wb.sheet_by_index(0) db = canmatrix.CanMatrix() # Defines not imported... # db.add_ecu_defines("NWM-Stationsadresse", 'HEX 0 63') # db.add_ecu_defines("NWM-Knoten", 'ENUM "nein","ja"') db.add_frame_defines("GenMsgDelayTime", 'INT 0 65535') db.add_frame_defines("GenMsgCycleTimeActive", 'INT 0 65535') db.add_frame_defines("GenMsgNrOfRepetitions", 'INT 0 65535') # db.addFrameDefines("GenMsgStartValue", 'STRING') launch_types = [] # type: typing.List[str] db.add_signal_defines("GenSigSNA", 'STRING') # eval search for correct columns: index = {} for i in range(sh.ncols): value = sh.cell(0, i).value if value == "ID": index['ID'] = i elif "Frame Name" in value: index['frameName'] = i elif "Cycle" in value: index['cycle'] = i elif "Launch Type" in value: index['launchType'] = i elif "Launch Parameter" in value: index['launchParam'] = i elif "Signal Byte No." in value: index['startbyte'] = i elif "Signal Bit No." in value: index['startbit'] = i elif "Signal Name" in value: index['signalName'] = i elif "Signal Function" in value: index['signalComment'] = i elif "Signal Length" in value: index['signalLength'] = i elif "Signal Default" in value: index['signalDefault'] = i elif "Signal Not Ava" in value: index['signalSNA'] = i elif "Value" in value: index['Value'] = i elif "Name / Phys" in value: index['ValueName'] = i elif "Function /" in value: index['function'] = i elif "Byteorder" in value: index['byteorder'] = i else: if 'Value' in index and i > index['Value']: additional_inputs[i] = value if "byteorder" in index: index['ECUstart'] = index['byteorder'] + 1 else: index['ECUstart'] = index['signalSNA'] + 1 index['ECUend'] = index['Value'] # ECUs: for x in range(index['ECUstart'], index['ECUend']): db.add_ecu(canmatrix.Ecu(sh.cell(0, x).value)) # initialize: frame_id = None signal_name = "" new_frame = None for row_num in range(1, sh.nrows): # ignore empty row if len(sh.cell(row_num, index['ID']).value) == 0: break # new frame detected if sh.cell(row_num, index['ID']).value != frame_id: # new Frame frame_id = sh.cell(row_num, index['ID']).value frame_name = sh.cell(row_num, index['frameName']).value cycle_time = sh.cell(row_num, index['cycle']).value launch_type = sh.cell(row_num, index['launchType']).value dlc = 8 launch_param = sh.cell(row_num, index['launchParam']).value try: launch_param = str(int(launch_param)) except: launch_param = "0" new_frame = canmatrix.Frame(frame_name, size=dlc) if frame_id.endswith("xh"): new_frame.arbitration_id = canmatrix.ArbitrationId(int(frame_id[:-2], 16), extended=True) else: new_frame.arbitration_id = canmatrix.ArbitrationId(int(frame_id[:-1], 16), extended=False) db.add_frame(new_frame) # eval launch_type if launch_type is not None: if len(launch_type) > 0: new_frame.add_attribute("GenMsgSendType", launch_type) if launch_type not in launch_types: launch_types.append(launch_type) # eval cycle time try: cycle_time = int(cycle_time) except: cycle_time = 0 new_frame.cycle_time = cycle_time for additional_index in additional_inputs: if "frame" in additional_inputs[additional_index]: command_str = additional_inputs[additional_index].replace("frame", "new_frame") command_str += "=" command_str += str(sh.cell(row_num, additional_index).value) exec(command_str) # new signal detected if sh.cell(row_num, index['signalName']).value != signal_name \ and len(sh.cell(row_num, index['signalName']).value) > 0: # new Signal receiver = [] start_byte = int(sh.cell(row_num, index['startbyte']).value) start_bit = int(sh.cell(row_num, index['startbit']).value) signal_name = sh.cell(row_num, index['signalName']).value.strip() signal_comment = sh.cell( row_num, index['signalComment']).value.strip() signal_length = int(sh.cell(row_num, index['signalLength']).value) signal_default = sh.cell(row_num, index['signalDefault']).value signal_sna = sh.cell(row_num, index['signalSNA']).value multiplex = None # type: typing.Union[str, int, None] if signal_comment.startswith('Mode Signal:'): multiplex = 'Multiplexor' signal_comment = signal_comment[12:] elif signal_comment.startswith('Mode '): mux, signal_comment = signal_comment[4:].split(':', 1) multiplex = int(mux.strip()) if index.get("byteorder", False): signal_byte_order = sh.cell(row_num, index['byteorder']).value if 'i' in signal_byte_order: is_little_endian = True else: is_little_endian = False else: is_little_endian = True # Default Intel is_signed = False if signal_name != "-": for x in range(index['ECUstart'], index['ECUend']): if 's' in sh.cell(row_num, x).value: new_frame.add_transmitter(sh.cell(0, x).value.strip()) if 'r' in sh.cell(row_num, x).value: receiver.append(sh.cell(0, x).value.strip()) new_signal = canmatrix.Signal( signal_name, start_bit=(start_byte - 1) * 8 + start_bit, size=int(signal_length), is_little_endian=is_little_endian, is_signed=is_signed, receivers=receiver, multiplex=multiplex) if not is_little_endian: # motorola if motorola_bit_format == "msb": new_signal.set_startbit((start_byte - 1) * 8 + start_bit, bitNumbering=1) elif motorola_bit_format == "msbreverse": new_signal.set_startbit((start_byte - 1) * 8 + start_bit) else: # motorola_bit_format == "lsb" new_signal.set_startbit( (start_byte - 1) * 8 + start_bit, bitNumbering=1, startLittle=True) for additional_index in additional_inputs: # todo explain this possibly dangerous code with eval if "signal" in additional_inputs[additional_index]: read_additional_signal_attributes(new_signal, additional_inputs[additional_index], sh.cell(row_num, additional_index).value) new_frame.add_signal(new_signal) new_signal.add_comment(signal_comment) function = sh.cell(row_num, index['function']).value value = str(sh.cell(row_num, index['Value']).value) value_name = sh.cell(row_num, index['ValueName']).value if value_name == 0: value_name = "0" elif value_name == 1: value_name = "1" # .encode('utf-8') unit = "" factor = sh.cell(row_num, index['function']).value if isinstance(factor, past.builtins.basestring): factor = factor.strip() if " " in factor and factor[0].isdigit(): (factor, unit) = factor.strip().split(" ", 1) factor = factor.strip() unit = unit.strip() new_signal.unit = unit try: new_signal.factor = float_factory(factor) except: logger.warning( "Some error occurred while decoding scale of Signal %s: '%s'", signal_name, sh.cell(row_num, index['function']).value) else: unit = factor.strip() new_signal.unit = unit new_signal.factor = 1 (mini, maxi, offset, value_table) = parse_value_name_column(value_name, value, new_signal.size, float_factory) if new_signal.min is None: new_signal.min = mini if new_signal.max is None: new_signal.max = maxi if new_signal.offset is None: new_signal.offset = offset if value_table is not None: for value, name in value_table.items(): new_signal.add_values(value, name) for frame in db.frames: frame.update_receiver() frame.calc_dlc() launch_type_enum = "ENUM" launch_type_enum += ",".join([' "{}"'.format(launch_type) for launch_type in launch_types if launch_type]) db.add_frame_defines("GenMsgSendType", launch_type_enum) db.set_fd_type() return db canmatrix-0.9.5/src/canmatrix/formats/xls_common.py000066400000000000000000000116341416730473300225100ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. from __future__ import absolute_import, division, print_function import typing from builtins import * import canmatrix def get_frame_info(db, frame): # type: (canmatrix.CanMatrix, canmatrix.Frame) -> typing.List[str] ret_array = [] # type: typing.List[str] if db.type == canmatrix.matrix_class.CAN: # frame-id if frame.arbitration_id.extended: ret_array.append("%3Xxh" % frame.arbitration_id.id) else: ret_array.append("%3Xh" % frame.arbitration_id.id) elif db.type == canmatrix.matrix_class.FLEXRAY: ret_array.append("TODO") elif db.type == canmatrix.matrix_class.SOMEIP: ret_array.append("%3Xh" % frame.header_id) # frame-Name ret_array.append(frame.name) ret_array.append(frame.effective_cycle_time) # determine send-type if "GenMsgSendType" in db.frame_defines: ret_array.append(frame.attribute("GenMsgSendType", db=db)) if "GenMsgDelayTime" in db.frame_defines: ret_array.append(frame.attribute("GenMsgDelayTime", db=db)) else: ret_array.append("") else: ret_array.append("") ret_array.append("") return ret_array def get_signal(db, frame, sig, motorola_bit_format): # type: (canmatrix.CanMatrix, canmatrix.Frame, canmatrix.Signal, str) -> typing.Tuple[typing.List, typing.List] front_array = [] # type: typing.List[typing.Union[str, float]] back_array = [] if motorola_bit_format == "msb": start_bit = sig.get_startbit(bit_numbering=1) elif motorola_bit_format == "msbreverse": start_bit = sig.get_startbit() else: # motorolaBitFormat == "lsb" start_bit = sig.get_startbit(bit_numbering=1, start_little=True) # start byte front_array.append(int(start_bit / 8) + 1) # start bit front_array.append(start_bit % 8) # signal name front_array.append(sig.name) # eval comment: comment = sig.comment if sig.comment else "" # eval multiplex-info if frame.is_complex_multiplexed: for signal in frame.signals: if signal.muxer_for_signal is not None: comment = "Mode {} = {}".format(sig.muxer_for_signal, sig.multiplex) else: if sig.multiplex == 'Multiplexor': comment = "Mode Signal: " + comment elif sig.multiplex is not None: comment = "Mode " + str(sig.multiplex) + ":" + comment # write comment and size of signal in sheet front_array.append(comment) front_array.append(sig.size) # start-value of signal available front_array.append(sig.initial_value) # SNA-value of signal available if "GenSigSNA" in db.signal_defines: sna = sig.attribute("GenSigSNA", db=db) if sna is not None: sna = sna[1:-1] front_array.append(sna) # no SNA-value of signal available / just for correct style: else: front_array.append(" ") # eval byteorder (little_endian: intel == True / motorola == 0) if sig.is_little_endian: front_array.append("i") else: front_array.append("m") # is a unit defined for signal? if sig.unit.strip(): # factor not 1.0 ? if float(sig.factor) != 1: back_array.append("%g" % float(sig.factor) + " " + sig.unit) # factor == 1.0 else: back_array.append(sig.unit) # no unit defined else: # factor not 1.0 ? if float(sig.factor) != 1: back_array.append("%g -" % float(sig.factor)) # factor == 1.0 else: back_array.append("") return front_array, back_array canmatrix-0.9.5/src/canmatrix/formats/xlsx.py000066400000000000000000000567611416730473300213420ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports xls-files from a canmatrix-object # xls-files are the can-matrix-definitions displayed in Excel from __future__ import absolute_import, division, print_function import logging import typing from builtins import * import xlsxwriter import canmatrix import canmatrix.formats.xls_common logger = logging.getLogger(__name__) # Font Size : 8pt * 20 = 160 # font = 'font: name Arial Narrow, height 160' font = 'font: name Verdana, height 160' sty_header = 0 sty_norm = 0 sty_first_frame = 0 sty_white = 0 sty_green = 0 sty_green_first_frame = 0 sty_sender = 0 sty_sender_first_frame = 0 sty_sender_green = 0 sty_sender_green_first_frame = 0 def write_ecu_matrix(ecu_list, signal, frame, worksheet, row, col, first_frame): # type: (typing.Sequence[str], typing.Optional[canmatrix.Signal], canmatrix.Frame, xlsxwriter.workbook.Worksheet, int, int, xlsxwriter.workbook.Format) -> int # first-frame - style with borders: if first_frame == sty_first_frame: norm = sty_first_frame sender = sty_sender_first_frame norm_green = sty_green_first_frame sender_green = sty_sender_green_first_frame # consecutive-frame - style without borders: else: norm = sty_norm sender = sty_sender norm_green = sty_green sender_green = sty_sender_green # iterate over ECUs: for ecu in ecu_list: # every second ECU with other style if col % 2 == 0: loc_style = norm loc_style_sender = sender # every second ECU with other style else: loc_style = norm_green loc_style_sender = sender_green # write "s" "r" "r/s" if signal is sent, received or send and received by ECU if signal is not None and ecu in signal.receivers and ecu in frame.transmitters: worksheet.write(row, col, "r/s", loc_style_sender) elif signal is not None and ecu in signal.receivers: worksheet.write(row, col, "r", loc_style) elif ecu in frame.transmitters: worksheet.write(row, col, "s", loc_style_sender) else: worksheet.write(row, col, "", loc_style) col += 1 # loop over ECUs ends here return col def write_excel_line(worksheet, row, col, row_array, style): # type: (xlsxwriter.workbook.Worksheet, int, int, typing.Sequence[typing.Any], xlsxwriter.workbook.Format) -> int for item in row_array: worksheet.write(row, col, item, style) col += 1 return col def dump(db, filename, **options): # type: (canmatrix.CanMatrix, str, **str) -> None motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse") values_in_seperate_lines = options.get("xlsValuesInSeperateLines", True) additional_signal_columns = [x for x in options.get("additionalSignalAttributes", "").split(",") if x] additional_frame_columns = [x for x in options.get("additionalFrameAttributes", "").split(",") if x] head_top = [ 'ID', 'Frame Name', 'Cycle Time [ms]', 'Launch Type', 'Launch Parameter', 'Signal Byte No.', 'Signal Bit No.', 'Signal Name', 'Signal Function', 'Signal Length [Bit]', 'Signal Default', 'Signal Not Available', 'Byteorder'] head_tail = ['Value', 'Name / Phys. Range', 'Function / Increment Unit'] workbook = xlsxwriter.Workbook(filename) # ws_name = os.path.basename(filename).replace('.xlsx', '') # worksheet = workbook.add_worksheet('K-Matrix ' + ws_name[0:22]) worksheet = workbook.add_worksheet('K-Matrix ') global sty_header sty_header = workbook.add_format({'bold': True, 'rotation': 90, 'font_name': 'Verdana', 'font_size': 8, 'align': 'center', 'valign': 'center'}) global sty_first_frame sty_first_frame = workbook.add_format({'font_name': 'Verdana', 'font_size': 8, 'font_color': 'black', 'top': 1}) global sty_white sty_white = workbook.add_format({'font_name': 'Verdana', 'font_size': 8, 'font_color': 'white'}) global sty_norm sty_norm = workbook.add_format({'font_name': 'Verdana', 'font_size': 8, 'font_color': 'black'}) # ECUMatrix-Styles global sty_green sty_green = workbook.add_format({'pattern': 1, 'fg_color': '#CCFFCC'}) global sty_green_first_frame sty_green_first_frame = workbook.add_format( {'pattern': 1, 'fg_color': '#CCFFCC', 'top': 1}) global sty_sender sty_sender = workbook.add_format({'pattern': 0x04, 'fg_color': '#C0C0C0'}) global sty_sender_first_frame sty_sender_first_frame = workbook.add_format( {'pattern': 0x04, 'fg_color': '#C0C0C0', 'top': 1}) global sty_sender_green sty_sender_green = workbook.add_format( {'pattern': 0x04, 'fg_color': '#C0C0C0', 'bg_color': '#CCFFCC'}) global sty_sender_green_first_frame sty_sender_green_first_frame = workbook.add_format( {'pattern': 0x04, 'fg_color': '#C0C0C0', 'bg_color': '#CCFFCC', 'top': 1}) row_array = head_top head_start = len(row_array) # write ECUs in first row: ecu_list = [ecu.name for ecu in db.ecus] row_array += ecu_list for col in range(0, len(row_array)): worksheet.set_column(col, col, 2) row_array += head_tail additional_frame_start = len(row_array) # set width of selected Cols worksheet.set_column(0, 0, 3.57) worksheet.set_column(1, 1, 21) worksheet.set_column(3, 3, 12.29) worksheet.set_column(7, 7, 21) worksheet.set_column(8, 8, 30) for additional_col in additional_frame_columns: row_array.append("frame." + additional_col) for additional_col in additional_signal_columns: row_array.append("signal." + additional_col) write_excel_line(worksheet, 0, 0, row_array, sty_header) if db.type == canmatrix.matrix_class.CAN: frame_hash = {} logger.debug("DEBUG: Length of db.frames is %d", len(db.frames)) for frame in db.frames: if frame.is_complex_multiplexed: logger.error("Export complex multiplexers is not supported - frame %s might be uncomplete", frame.name) frame_hash[int(frame.arbitration_id.id)] = frame else: frame_hash = {a.name:a for a in db.frames} # set row to first Frame (row = 0 is header) row = 1 # iterate over the frames for idx in sorted(frame_hash.keys()): frame = frame_hash[idx] frame_style = sty_first_frame # sort signals: sig_hash = {} for sig in frame.signals: sig_hash["%02d" % int(sig.get_startbit()) + sig.name] = sig # set style for first line with border signal_style = sty_first_frame additional_frame_info = [frame.attribute(additional, default="") for additional in additional_frame_columns] row_array = [] if len(sig_hash) == 0: row_array += canmatrix.formats.xls_common.get_frame_info(db, frame) for _ in range(5, head_start): row_array.append("") temp_col = write_excel_line(worksheet, row, 0, row_array, frame_style) temp_col = write_ecu_matrix(ecu_list, None, frame, worksheet, row, temp_col, frame_style) row_array = ["" for _ in range(temp_col, additional_frame_start)] row_array += additional_frame_info row_array += ["" for _ in additional_signal_columns] write_excel_line(worksheet, row, temp_col, row_array, frame_style) row += 1 # iterate over signals for sig_idx in sorted(sig_hash.keys()): sig = sig_hash[sig_idx] # if not first Signal in Frame, set style if signal_style != sty_first_frame: signal_style = sty_norm # valuetable available? if len(sig.values) > 0 and not values_in_seperate_lines: value_style = signal_style # iterate over values in valuetable for val in sorted(sig.values.keys()): row_array = canmatrix.formats.xls_common.get_frame_info(db, frame) front_col = write_excel_line(worksheet, row, 0, row_array, frame_style) if frame_style != sty_first_frame: worksheet.set_row(row, None, None, {'level': 1}) col = head_start col = write_ecu_matrix(ecu_list, sig, frame, worksheet, row, col, frame_style) # write Value (frontRow, back_row) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) write_excel_line(worksheet, row, front_col, frontRow, signal_style) back_row += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") back_row.append(temp) write_excel_line(worksheet, row, col + 2, back_row, signal_style) write_excel_line(worksheet, row, col, [val, sig.values[val]], value_style) # no min/max here, because min/max has same col as values... # next row row += 1 # set style to normal - without border signal_style = sty_white frame_style = sty_white value_style = sty_norm # loop over values ends here # no valuetable available else: row_array = canmatrix.formats.xls_common.get_frame_info(db, frame) front_col = write_excel_line(worksheet, row, 0, row_array, frame_style) if frame_style != sty_first_frame: worksheet.set_row(row, None, None, {'level': 1}) col = head_start col = write_ecu_matrix(ecu_list, sig, frame, worksheet, row, col, frame_style) (frontRow, back_row) = canmatrix.formats.xls_common.get_signal(db, frame, sig, motorola_bit_format) write_excel_line(worksheet, row, front_col, frontRow, signal_style) if float(sig.min) != 0 or float(sig.max) != 1.0: back_row.insert(0, str("%g..%g" % (sig.min, sig.max))) # type: ignore else: back_row.insert(0, "") back_row.insert(0, "") back_row += additional_frame_info for item in additional_signal_columns: temp = getattr(sig, item, "") back_row.append(temp) write_excel_line(worksheet, row, col, back_row, signal_style) if len(sig.values) > 0: write_excel_line(worksheet, row, col, ["\n".join(["{}: {}".format(a,b) for (a,b) in sig.values.items()])], signal_style) # next row row += 1 # set style to normal - without border signal_style = sty_white frame_style = sty_white # loop over signals ends here # loop over frames ends here worksheet.autofilter(0, 0, row, len(head_top) + len(head_tail) + len(db.ecus)) worksheet.freeze_panes(1, 0) # save file workbook.close() def read_xlsx(file, **args): # type: (typing.Any, **typing.Any) -> typing.Tuple[typing.Dict[typing.Any, str], typing.List[typing.Dict[str, str]]] # from: Hooshmand zandi http://stackoverflow.com/a/16544219 import zipfile from xml.etree.ElementTree import iterparse sheet = args.get("sheet", 1) is_header = args.get("header", False) rows = [] # type: typing.List[typing.Dict[str, str]] row = {} header = {} z = zipfile.ZipFile(file) # Get shared strings strings = [el.text for e, el in iterparse(z.open('xl/sharedStrings.xml')) if el.tag.endswith('}t') ] # type: typing.List[str] value = '' # Open specified worksheet for e, el in iterparse(z.open('xl/worksheets/sheet%d.xml' % sheet)): # get value or index to shared strings if el.tag.endswith('}v'): # 84 value = el.text if el.tag.endswith( '}c'): # 84 # If value is a shared string, use value as an index if el.attrib.get('t') == 's': value = strings[int(value)] # split the row/col information so that the row letter(s) can be separate letter = el.attrib['r'] # type: str # AZ22 while letter[-1].isdigit(): letter = letter[:-1] # if it is the first row, then create a header hash for the names that COULD be used if not rows: header[letter] = value.strip() else: if value != '': # if there is a header row, use the first row's names as the row hash index if is_header is True and letter in header: row[header[letter]] = value else: row[letter] = value value = '' if el.tag.endswith('}row'): rows.append(row) row = {} z.close() return header, rows def get_if_possible(row, value, default=None): # type: (typing.Mapping[str, str], str, typing.Optional[str]) -> typing.Union[str, None] if value in row: return row[value].strip() else: return default def load(filename, **options): # type: (typing.BinaryIO, **str) -> canmatrix.CanMatrix # use xlrd excel reader if available, because its more robust if options.get('xlsxLegacy', False) is True: logger.error("xlsx: using legacy xlsx-reader - please get xlrd working for better results!") else: import canmatrix.formats.xls as xls_loader # we need alias, otherwise we hide the globally imported canmatrix return xls_loader.load(filename, **options) # else use this hack to read xlsx motorola_bit_format = options.get("xlsMotorolaBitFormat", "msbreverse") sheet = read_xlsx(filename, sheet=1, header=True) db = canmatrix.CanMatrix() all_letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' letter_index = list(all_letters) letter_index += ["%s%s" % (a, b) for a in all_letters for b in all_letters] # Defines not imported... db.add_frame_defines("GenMsgDelayTime", 'INT 0 65535') db.add_frame_defines("GenMsgCycleTimeActive", 'INT 0 65535') db.add_frame_defines("GenMsgNrOfRepetitions", 'INT 0 65535') launch_types = [] # type: typing.List[str] db.add_signal_defines("GenSigSNA", 'STRING') ecu_start = ecu_end = 0 if 'Byteorder' in list(sheet[0].values()): for key in sheet[0]: if sheet[0][key].strip() == 'Byteorder': ecu_start = letter_index.index(key) + 1 break else: for key in sheet[0]: if sheet[0][key].strip() == 'Signal Not Available': ecu_start = letter_index.index(key) + 1 for key in sheet[0]: if sheet[0][key].strip() == 'Value': ecu_end = letter_index.index(key) # ECUs: for x in range(ecu_start, ecu_end): db.add_ecu(canmatrix.Ecu(sheet[0][letter_index[x]])) # initialize: frame_id = None signal_name = "" signal_length = 8 new_frame = None # type: typing.Optional[canmatrix.Frame] new_signal = None # type: typing.Optional[canmatrix.Signal] for row in sheet[1]: # ignore empty row if 'ID' not in row: continue # new frame detected if row['ID'] != frame_id: # new Frame frame_id = row['ID'] frame_name = row['Frame Name'] cycle_time = get_if_possible(row, 'Cycle Time [ms]', '0') launch_type = get_if_possible(row, 'Launch Type') dlc = 8 # launch_param = get_if_possible(row, 'Launch Parameter', '0') # launch_param = str(int(launch_param)) if frame_id.endswith("xh"): new_frame = canmatrix.Frame(frame_name, arbitration_id=int(frame_id[:-2], 16), size=dlc) new_frame.arbitration_id.extended = True else: new_frame = canmatrix.Frame(frame_name, arbitration_id=int(frame_id[:-1], 16), size=dlc) db.add_frame(new_frame) # eval launch_type if launch_type is not None: new_frame.add_attribute("GenMsgSendType", launch_type) if launch_type not in launch_types: launch_types.append(launch_type) new_frame.cycle_time = cycle_time # new signal detected if 'Signal Name' in row and row['Signal Name'] != signal_name: receiver = [] # type: typing.List[str] start_byte = int(row["Signal Byte No."]) start_bit = int(row['Signal Bit No.']) signal_name = row['Signal Name'] signal_comment = get_if_possible(row, 'Signal Function') signal_length = int(row['Signal Length [Bit]']) # signal_default = get_if_possible(row, 'Signal Default') # signal_sna = get_if_possible(row, 'Signal Not Available') multiplex = None # type: typing.Union[str, int, None] if signal_comment is not None and signal_comment.startswith('Mode Signal:'): multiplex = 'Multiplexor' signal_comment = signal_comment[12:] elif signal_comment is not None and signal_comment.startswith('Mode '): mux, signal_comment = signal_comment[4:].split(':', 1) multiplex = int(mux.strip()) signal_byte_order = get_if_possible(row, 'Byteorder') if signal_byte_order is not None: if 'i' in signal_byte_order: is_little_endian = True else: is_little_endian = False else: is_little_endian = True # Default Intel is_signed = False if signal_name != "-": for x in range(ecu_start, ecu_end): ecu_name = sheet[0][letter_index[x]].strip() ecu_sender_receiver = get_if_possible(row, ecu_name) if ecu_sender_receiver is not None: if 's' in ecu_sender_receiver: new_frame.add_transmitter(ecu_name) if 'r' in ecu_sender_receiver: receiver.append(ecu_name) new_signal = canmatrix.Signal(signal_name, start_bit=(start_byte - 1) * 8 + start_bit, size=signal_length, is_little_endian=is_little_endian, is_signed=is_signed, receivers=receiver, multiplex=multiplex) if not is_little_endian: # motorola if motorola_bit_format == "msb": new_signal.set_startbit( (start_byte - 1) * 8 + start_bit, bitNumbering=1) elif motorola_bit_format == "msbreverse": new_signal.set_startbit((start_byte - 1) * 8 + start_bit) else: # motorola_bit_format == "lsb" new_signal.set_startbit( (start_byte - 1) * 8 + start_bit, bitNumbering=1, startLittle=True ) new_frame.add_signal(new_signal) new_signal.add_comment(signal_comment) # function = get_if_possible(row, 'Function / Increment Unit') value = get_if_possible(row, 'Value') value_name = get_if_possible(row, 'Name / Phys. Range') if value_name == 0 or value_name is None: value_name = "0" elif value_name == 1: value_name = "1" test = value_name # .encode('utf-8') factor = get_if_possible(row, 'Function / Increment Unit') if factor is not None: factor = factor.strip() if " " in factor and factor[0].isdigit(): (factor, unit) = factor.split(" ", 1) factor = factor.strip() unit = unit.strip() new_signal.unit = unit new_signal.factor = float(factor) else: unit = factor.strip() new_signal.unit = unit new_signal.factor = 1 if ".." in test: (mini, maxi) = test.strip().split("..", 2) try: new_signal.offset = new_signal.float_factory(mini) new_signal.min = new_signal.float_factory(mini) new_signal.max = new_signal.float_factory(maxi) except ValueError: new_signal.offset = 0 new_signal.min = None new_signal.max = None elif len(value_name) > 0: if value is not None and value.strip(): value_int = int(float(value)) new_signal.add_values(value_int, value_name) maxi = pow(2, signal_length) - 1 new_signal.max = float(maxi) else: new_signal.offset = 0 new_signal.min = None new_signal.max = None # dlc-estimation / dlc is not in xls, thus calculate a minimum-dlc: for frame in db.frames: frame.update_receiver() frame.calc_dlc() launch_type_enum = "ENUM" for launch_type in launch_types: if len(launch_type) > 0: launch_type_enum += ' "' + launch_type + '",' db.add_frame_defines("GenMsgSendType", launch_type_enum[:-1]) db.set_fd_type() return db canmatrix-0.9.5/src/canmatrix/formats/yaml.py000066400000000000000000000112401416730473300212650ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # # this script exports yaml-files from a canmatrix-object # yaml-files are just object-dumps human readable. # This export is complete, no information lost from __future__ import absolute_import, division, print_function import copy import typing from builtins import * import yaml from past.builtins import long, unicode import canmatrix try: from yaml.representer import SafeRepresenter except ImportError: yaml = None representers = False try: yaml.add_representer(int, SafeRepresenter.represent_int) yaml.add_representer(long, SafeRepresenter.represent_long) yaml.add_representer(unicode, SafeRepresenter.represent_unicode) yaml.add_representer(str, SafeRepresenter.represent_unicode) yaml.add_representer(list, SafeRepresenter.represent_list) representers = True except: representers = False # some error with representers ... continue anyway _yaml_initialized = False def dump(db, f, **options): # type: (canmatrix.CanMatrix, typing.IO, **typing.Any) -> None __init_yaml() new_db = copy.deepcopy(db) for i, frame in enumerate(new_db.frames): for j, signal in enumerate(frame.signals): if not signal.is_little_endian: signal.start_bit = signal.get_startbit(bit_numbering=1, start_little=True) # new_db.frames[i].signals[j].start_bit = signal.start_bit # f = open(filename, "w") if representers: f.write(unicode(yaml.dump(new_db))) else: f.write(yaml.dump(new_db).encode('utf8')) def load(f, **options): # type: (typing.IO, **typing.Any) -> canmatrix.CanMatrix __init_yaml() db = yaml.load(f) return db T = typing.TypeVar('T') def _constructor(loader, node, cls, mapping=None): # type: (typing.Any, typing.Any, typing.Type[T], typing.Mapping) -> T d = {k.lstrip('_'): v for k, v in loader.construct_mapping(node).items()} name = d.pop('name') if mapping: for old, new in mapping.items(): d[new] = d.pop(old) return cls(name, **d) # type: ignore def _frame_constructor(loader, node): return _constructor( loader=loader, node=node, cls=canmatrix.Frame, mapping={ 'size': 'dlc', }, ) def _signal_constructor(loader, node): signal = _constructor( loader=loader, node=node, cls=canmatrix.Signal, mapping={ 'startbit': 'startBit', # todo shall probably be updated to match current names like start_bit 'signalsize': 'signalSize', }, ) if not signal.is_little_endian: signal.set_startbit( loader.construct_mapping(node)['_startbit'], bitNumbering=1, startLittle=False) return signal def _frame_representer(dumper, data): node = yaml.representer.Representer.represent_object(dumper, data) node.tag = '{}:Frame'.format(node.tag.partition(':python/object:')[0]) return node def __init_yaml(): """Lazy init yaml because canmatrix might not be fully loaded when loading this format.""" global _yaml_initialized if not _yaml_initialized: _yaml_initialized = True yaml.add_constructor(u'tag:yaml.org,2002:Frame', _frame_constructor) yaml.add_constructor(u'tag:yaml.org,2002:Signal', _signal_constructor) yaml.add_representer(canmatrix.Frame, _frame_representer) canmatrix-0.9.5/src/canmatrix/j1939.dbc000066400000000000000000017416121416730473300175450ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 2147483648 TSC1: 8 Vector__XXX SG_ Engine_Override_Control_Mode : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Requested_Speed_Control_C : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Override_Control_Mode_Priority : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Requested_Speed_Speed_Lim : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Requested_Torque_Torque_L : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ TSC1_Transmission_Rate : 32|3@1+ (1,0) [0|7] "" Vector__XXX SG_ TSC1_Control_Purpose : 35|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Engine_Requested_Torque___High_ : 40|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Message_Counter : 56|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Message_Checksum : 60|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2147549184 TC1: 8 Vector__XXX SG_ Transmission_Gear_Shift_Inhibit_ : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Torque_Converter_Lo : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Driveline_Request : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Reverse_Gear_Shift_ : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Requested_Percent_Clutch_Slip : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Requested_Gear : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ0 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ1 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ2 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ3 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ4 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ5 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Disengage_Differential_Lock_Requ6 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_1 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_2 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_3 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_4 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Requested_Launch_Ge : 50|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Transmission_Shift_Selector_Disp : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_5 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_6 : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_7 : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_8 : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2147745792 XBR: 8 Vector__XXX SG_ External_Acceleration_Demand : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ XBR_EBI_Mode : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ XBR_Priority : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ XBR_Control_Mode : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ XBR_urgency : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ XBR_Message_Counter : 56|4@1+ (1,0) [0|15] "" Vector__XXX SG_ XBR_Message_Checksum : 60|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2147942400 GPV4: 8 Vector__XXX SG_ Valve_Load_Sense_Pressure : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Valve_Pilot_Pressure : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Valve_Assembly_Load_sense_Pressu : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Valve_Assembly_Supply_Pressure : 40|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2148007936 AUXIO5: 8 Vector__XXX SG_ Auxiliary_I_O_Channel__6 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_I_O_Channel__5 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_I_O_Channel__4 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_I_O_Channel__3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2157641728 PMI: 8 Vector__XXX SG_ Data_Dictionary_Manufacturer_Cod : 0|11@1+ (1,0) [0|2047] "" Vector__XXX SG_ Data_Dictionary_Method : 11|21@1+ (1,0) [0|2097151] "" Vector__XXX BO_ 2157707264 AUXIO7: 8 Vector__XXX SG_ Auxiliary_I_O_Channel__18 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__17 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__16 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__15 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__22 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__21 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__20 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__19 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2157772800 AUXIO6: 8 Vector__XXX SG_ Auxiliary_I_O_Channel__10 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__9 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__8 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__7 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__14 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__13 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__12 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_I_O_Channel__11 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2158297088 AUXIO4: 8 Vector__XXX SG_ Auxiliary_I_O__84 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__83 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__82 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__81 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__88 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__87 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__86 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__85 : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__92 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__91 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__90 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__89 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__96 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__95 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__94 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__93 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__100 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__99 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__98 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__97 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__104 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__103 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__102 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__101 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__108 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__107 : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__106 : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__105 : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__112 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__111 : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__110 : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__109 : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2158362624 AUXIO3: 8 Vector__XXX SG_ Auxiliary_I_O__52 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__51 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__50 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__49 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__56 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__55 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__54 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__53 : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__60 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__59 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__58 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__57 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__64 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__63 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__62 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__61 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__68 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__67 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__66 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__65 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__72 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__71 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__70 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__69 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__76 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__75 : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__74 : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__73 : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__80 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__79 : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__78 : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__77 : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2158428160 AUXIO2: 8 Vector__XXX SG_ Auxiliary_I_O__20 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__19 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__18 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__17 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__24 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__23 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__22 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__21 : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__28 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__27 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__26 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__25 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__32 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__31 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__30 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__29 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__36 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__35 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__34 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__33 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__40 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__39 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__38 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__37 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__44 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__43 : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__42 : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__41 : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__48 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__47 : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__46 : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__45 : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2158493696 DISP1: 8 Vector__XXX SG_ Text_Display_Instructions : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Text_Display_Index : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Text_Display_Character : 24|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX BO_ 2158559232 FLIC: 8 Vector__XXX SG_ Lane_Departure_Warning_Enable_Co : 0|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2158886912 TPRS: 8 Vector__XXX SG_ Tire_Location : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Reference_Tire_Pressure_Setting : 8|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2161049600 CTL: 8 Vector__XXX SG_ Engine_Speed_Limit_Request___Min : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_Limit_Request___Max : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Torque_Limit_Request___Mi : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Torque_Limit_Request___Ma : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Minimum_Continuous_Retarder_Spee : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Continuous_Retarder_Spee : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Minimum_Continuous_Retarder_Torq : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Continuous_Retarder_Torq : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2161115136 CL: 8 Vector__XXX SG_ Illumination_Brightness_Percent : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2161180672 ASC6: 8 Vector__XXX SG_ Level_Preset_Front_Axle_Left : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Level_Preset_Front_Axle_Right : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Level_Preset_Rear_Axle_Left : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Level_Preset_Rear_Axle_Right : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2161246208 ASC2: 8 Vector__XXX SG_ Automatic_traction_help__load_tr : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Kneeling_Request_Left_Side : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Kneeling_Request_Right_Side : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Kneeling_Control_Mode_Request : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Nominal_Level_Request_Front_Axle : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Nominal_Level_Request_Rear_Axle : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Level_Control_Mode_Request : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Lift_Axle_1_Position_Command : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lift_Axle_2_Position_Command : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Damper_Stiffness_Request_Front_A : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Damper_Stiffness_Request_Rear_Ax : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Damper_Stiffness_Request_Lift___ : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Kneeling_Command___Front_Axle : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Kneeling_Command___Rear_Axle : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Prohibit_air_suspension_control : 52|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2161442816 TDA: 8 Vector__XXX SG_ Adjust_seconds : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_minutes : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_hours : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_month : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_day : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_year : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_local_minute_offset : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adjust_local_hour_offset : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2161901568 ATS: 8 Vector__XXX SG_ Anti_theft_Encryption_Seed_Prese : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Password_Valid_Indica : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Component_Status_Stat : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Modify_Password_State : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Random_Number : 8|56@1+ (1,0) [0|72057594037927935] "" Vector__XXX BO_ 2161967104 ATR: 8 Vector__XXX SG_ Anti_theft_Encryption_Indicator_ : 1|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Desired_Exit_Mode_Sta : 3|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_theft_Command_States : 5|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Anti_theft_Password_Representati : 8|56@1+ (1,0) [0|72057594037927935] "" Vector__XXX BO_ 2162032640 RESET: 8 Vector__XXX SG_ Trip_Group_1 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trip_Group_2___Proprietary : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Service_Component_Identification : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Build_Hours_Reset : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Steering_Straight_Ahead_Position : 18|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2162163712 CM1: 8 Vector__XXX SG_ Requested_Percent_Fan_Speed : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Cab_Interior_Temperature_Command : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_Heater_Coolant_Pump_Re : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Battery_Main_Switch_Hold_Request : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Operator_Seat_Direction_Switch : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Seat_Belt_Switch : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Limiting_Speed_Governor_0 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Limiting_Speed_Governor_1 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Limiting_Speed_Governor_2 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Regene0 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Regene1 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Automatic_Gear_Shifting_Enable_S : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Automatic_Start_Enable_Sw : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_Heater_Mode_Request : 48|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Request_Engine_Zone_Heating : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Request_Cab_Zone_Heating : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Selected_Maximum_Vehicle_Speed_L : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163212288 ERC1: 8 Vector__XXX SG_ Retarder_Torque_Mode : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Retarder_Enable___Brake_Assist_S : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retarder_Enable___Shift_Assist_S : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Actual_Retarder___Percent_Torque : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Intended_Retarder_Percent_Torque : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Coolant_Load_Increase : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retarder_Requesting_Brake_Light : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retarder_Road_Speed_Limit_Switch : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retarder_Road_Speed_Exceeded_Sta : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Source_Address_of_Controlling_De : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Drivers_Demand_Retarder___Perce : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Retarder_Selection__non_engine : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Actual_Maximum_Available_Retarde : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163212544 EBC1: 8 Vector__XXX SG_ ASR_Engine_Control_Active : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ASR_Brake_Control_Active : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Anti_Lock_Braking__ABS__Active : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EBS_Brake_Switch : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Brake_Pedal_Position : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ ABS_Off_road_Switch : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ASR_Off_road_Switch : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ASR__Hill_Holder__Switch : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Traction_Control_Override_Switch : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Accelerator_Interlock_Switch : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Derate_Switch : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Auxiliary_Shutdown_Switch : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Remote_Accelerator_Enable_Switch : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Retarder_Selection : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ ABS_Fully_Operational : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EBS_Red_Warning_Signal : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ABS_EBS_Amber_Warning_Signal__Po : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ATC_ASR_Information_Signal : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Source_Address_of_Controlling_De : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Halt_brake_switch : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_ABS_Status : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Mounted_Trailer_ABS_Warn : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163212800 ETC1: 8 Vector__XXX SG_ Transmission_Driveline_Engaged : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Torque_Converter_Lo : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_In_Process : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Output_Shaft_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Clutch_Slip : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Momentary_Overspeed_Enabl : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Progressive_Shift_Disable : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Input_Shaft_Speed : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Source_Address_of_Controlling_De : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163213056 EEC2: 8 Vector__XXX SG_ Accelerator_Pedal_1_Low_Idle_Swi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Accelerator_Pedal_Kickdown_Switc : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Road_Speed_Limit_Status : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Accelerator_Pedal_2_Low_Idle_Swi : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Accelerator_Pedal_Position_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Percent_Load_At_Current_S : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Remote_Accelerator_Pedal_Positio : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Accelerator_Pedal_Position_2 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Vehicle_Acceleration_Rate_Limit_ : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Actual_Maximum_Available_Engine_ : 48|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163213312 EEC1: 8 Vector__XXX SG_ Engine_Torque_Mode : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Actual_Engine___Percent_Torque_H : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Driver_s_Demand_Engine___Percent : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Actual_Engine___Percent_Torque : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Source_Address_of_Controlling_De : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Starter_Mode : 48|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Demand___Percent_Torque : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163213568 ETC2: 8 Vector__XXX SG_ Transmission_Selected_Gear : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Actual_Gear_Ratio : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Current_Gear : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Requested_Range : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Current_Range : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163213824 EAC1: 8 Vector__XXX SG_ Location : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Differential_Lock_State___Front_ : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Front_ : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Rear_A : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Rear_A : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Centra0 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Centra1 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Differential_Lock_State___Centra2 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Front_axle_group_engagement_stat : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rear_axle_group_engagement_statu : 26|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163214080 FLI1: 8 Vector__XXX SG_ Lane_Departure_Left : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lane_Departure_Right : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lane_Departure_Imminent__Right_S : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lane_Departure_Imminent__Left_Si : 6|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163214336 HPG: 8 Vector__XXX SG_ Hydraulic_Pressure : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Hydraulic_Pressure_Govern0 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Hydraulic_Pressure_Govern1 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Fire_Apparatus_Pump_Engagement : 20|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163214592 VDC2: 8 Vector__XXX SG_ Steering_Wheel_Angle : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Steering_Wheel_Turn_Counter : 16|6@1+ (1,0) [0|63] "" Vector__XXX SG_ Steering_Wheel_Angle_Sensor_Type : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Yaw_Rate : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Lateral_Acceleration : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Longitudinal_Acceleration : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163214848 EGF1: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Inlet_Air_Mass_Flow_Rate : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163215104 ESC1: 8 Vector__XXX SG_ Actual_Inner_wheel_steering_angl : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Axle_Location : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Status_of_Steering_Axle : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Steerable_Lift_Axle_Lowering_Inh : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Steering_Type : 32|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Type_of_Steering_Forces : 36|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Type_of_Steering_Transmission : 40|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2163215360 ETC8: 8 Vector__XXX SG_ Transmission_Torque_Converter_Ra : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163215616 LOI: 8 Vector__XXX SG_ Blade_Control_Mode_Switch : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Desired_Grade_Offset_Switch : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Blade_Auto_Mode_Command : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Left_Blade_Control_Mode_Operator : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Right_Blade_Control_Mode_Operato : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Left_Desired_Blade_Offset_Operat : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Right_Desired_Blade_Offset_Opera : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Side_shift_Blade_Control_Mode_Op : 28|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Side_shift_Desired_Blade_Offset_ : 32|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2163215872 AT1IG1: 8 Vector__XXX SG_ Aftertreatment_1_Intake_NOx : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Intake__O2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Intake_Gas_Sens0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Intake_Gas_Sens1 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Intake_NOx_Read : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Intake_Wide_Ran : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Intake_Gas_Sens2 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Intake_Gas_Sens3 : 45|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Intake_NOx_Sens : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Intake_Oxygen_S : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2163216128 AT1OG1: 8 Vector__XXX SG_ Aftertreatment_1_Outlet_NOx : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Outlet__O2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Gas_Sens0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Gas_Sens1 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NOx_Read : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Wide_Ran : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Gas_Sens2 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Gas_Sens3 : 45|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NOx_Sens : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Outlet_Oxygen_S : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2163216384 AT2IG1: 8 Vector__XXX SG_ Aftertreatment_2_Intake_NOx : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Intake__O2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Intake_Gas_Sens0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_Gas_Sens1 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_NOx_Read : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_Wide_Ran : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_Gas_Sens2 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Intake_Gas_Sens3 : 45|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_NOx_Sens : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Intake_Oxygen_S : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2163216640 AT2OG1: 8 Vector__XXX SG_ Aftertreatment_2_Outlet_NOx : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Outlet__O2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Gas_Sens0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Gas_Sens1 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NOx_Read : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Wide_Ran : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Gas_Sens2 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Gas_Sens3 : 45|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NOx_Sens : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Outlet_Oxygen_S : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2163216896 FWSS1: 8 Vector__XXX SG_ Fifth_Wheel_Vertical_Force : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Fifth_Wheel_Drawbar_Force : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Fifth_Wheel_Roll_Moment_ : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Fifth_Wheel_Roll_Warning_Indicat : 48|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163217152 SSI: 8 Vector__XXX SG_ Pitch_Angle : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Roll_Angle : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Pitch_Rate : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Pitch_Angle_Figure_of_Merit : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Roll_Angle_Figure_of_Merit : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Pitch_Rate_Figure_of_Merit : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Pitch_and_Roll_Compensated : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Roll_and_Pitch_Measurement_Laten : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163217408 BI: 8 Vector__XXX SG_ Relative_Blade_Height : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Blade_Rotation_Angle : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Blade_Height_and_Blade_ : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Blade_Height_Figure_of_ : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Blade_Rotation_Angle_Figure_of_M : 42|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163217920 CCS: 8 Vector__XXX SG_ Engine_Cylinder_1_Combustion_Sta : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_2_Combustion_Sta : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_3_Combustion_Sta : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_4_Combustion_Sta : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_5_Combustion_Sta : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_6_Combustion_Sta : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_7_Combustion_Sta : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_8_Combustion_Sta : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_9_Combustion_Sta : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_10_Combustion_St : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_11_Combustion_St : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_12_Combustion_St : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_13_Combustion_St : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_14_Combustion_St : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_15_Combustion_St : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_16_Combustion_St : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_17_Combustion_St : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_18_Combustion_St : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_19_Combustion_St : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_20_Combustion_St : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_21_Combustion_St : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_22_Combustion_St : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_23_Combustion_St : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Cylinder_24_Combustion_St : 46|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163218176 KL1: 8 Vector__XXX SG_ Engine_Cylinder_1_Knock_Level : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_2_Knock_Level : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_3_Knock_Level : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_4_Knock_Level : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_5_Knock_Level : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_6_Knock_Level : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_7_Knock_Level : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_8_Knock_Level : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163218432 KL2: 8 Vector__XXX SG_ Engine_Cylinder_9_Knock_Level : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_10_Knock_Level : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_11_Knock_Level : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_12_Knock_Level : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_13_Knock_Level : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_14_Knock_Level : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_15_Knock_Level : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_16_Knock_Level : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163218688 KL3: 8 Vector__XXX SG_ Engine_Cylinder_17_Knock_Level : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_18_Knock_Level : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_19_Knock_Level : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_20_Knock_Level : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_21_Knock_Level : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_22_Knock_Level : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_23_Knock_Level : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder_24_Knock_Level : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163218944 TFAC: 8 Vector__XXX SG_ Engine_Throttle_Actuator_1_Contr : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Throttle_Actuator_2_Contr : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Actuator_1_Control_C : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Actuator_2_Control_C : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163219712 SAS: 8 Vector__XXX SG_ Steering_Wheel_Angle : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Steering_Wheel_Angle_Range_Count0 : 16|6@1+ (1,0) [0|63] "" Vector__XXX SG_ Steering_Wheel_Angle_Range_Count1 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Steering_Wheel_Angle_Range : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Steering_Angle_Sensor_Active_Mod : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Steering_Angle_Sensor_Calibrated : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Message_Counter : 56|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Message_Checksum : 60|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2163220736 ESSI: 8 Vector__XXX SG_ Engine_Speed_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Speed_2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Speed_3 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Speed_Sensor_3_Timing_Pat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Speed_Sensor_2_Timing_Pat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Speed_Sensor_1_Timing_Pat : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163221248 A1SCRDSI1: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Actual_Dosi : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_System_Stat : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Aftertreatment_1_SCR_Actual_Reag : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Dosing_Reag : 40|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163221504 A1SCRDSR1: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Requested_D : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_System_Requ : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Aftertreatment_1_SCR_Requested_R : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163221760 A1SCRAI: 8 Vector__XXX SG_ Aftertreatment_1_Outlet_NH3 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Sens : 16|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Read : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Gas_0 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Gas_1 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Gas_2 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Outlet_NH3_Gas_3 : 40|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2163222016 A2SCRDSI1: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Actual_Dosi : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_System_Stat : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Aftertreatment_2_SCR_Actual_Reag : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Dosing_Reag : 40|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2163222272 A2SCRDSR1: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Requested_D : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_System_Requ : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Aftertreatment_2_SCR_Requested_R : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2163222528 A2SCRAI: 8 Vector__XXX SG_ Aftertreatment_2_Outlet_NH3 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Sens : 16|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Read : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Gas_0 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Gas_1 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Gas_2 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Outlet_NH3_Gas_3 : 40|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164073216 EJM10: 8 Vector__XXX SG_ Joystick_10_Grip_X_Axis_Neutral_ : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_X_Axis_Lever_Le : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_X_Axis_Lever_Ri : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_10_Grip_Y_Axis_Neutral_ : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_Y_Axis_Lever_Ba : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_Y_Axis_Lever_Fo : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_10_Theta_Axis_Neutral_P : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Theta_Axis_Counter_C : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Theta_Axis_Clockwise : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_10_Theta_Axis_Detent_Po : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_Y_Axis_Detent_P : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Grip_X_Axis_Detent_P : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164073472 BJM10: 8 Vector__XXX SG_ Joystick_10_X_Axis_Neutral_Posit : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_X_Axis_Lever_Left_Ne : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_X_Axis_Lever_Right_P : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_10_Y_Axis_Neutral_Posit : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Y_Axis_Lever_Back_Ne : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Y_Axis_Lever_Forward : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_10_Y_Axis_Detent_Positi : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_X_Axis_Detent_Positi : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_4_Pressed_Sta : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_3_Pressed_Sta : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_2_Pressed_Sta : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_1_Pressed_Sta : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_8_Pressed_Sta : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_7_Pressed_Sta : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_6_Pressed_Sta : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_5_Pressed_Sta : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_12_Pressed_St : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_11_Pressed_St : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_10_Pressed_St : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_10_Button_9_Pressed_Sta : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164073728 EJM9: 8 Vector__XXX SG_ Joystick_9_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_9_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_9_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_9_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164073984 BJM9: 8 Vector__XXX SG_ Joystick_9_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_9_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_9_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_9_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164074240 EJM8: 8 Vector__XXX SG_ Joystick_8_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_8_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_8_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_8_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164074496 BJM8: 8 Vector__XXX SG_ Joystick_8_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_8_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_8_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_8_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164074752 EJM7: 8 Vector__XXX SG_ Joystick_7_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_7_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_7_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_7_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164075008 BJM7: 8 Vector__XXX SG_ Joystick_7_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_7_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_7_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_7_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164075264 EJM6: 8 Vector__XXX SG_ Joystick_6_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_6_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_6_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_6_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164075520 BJM6: 8 Vector__XXX SG_ Joystick_6_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_6_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_6_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_6_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164075776 EJM5: 8 Vector__XXX SG_ Joystick_5_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_5_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_5_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_5_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164076032 BJM5: 8 Vector__XXX SG_ Joystick_5_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_5_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_5_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_5_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164076288 EJM4: 8 Vector__XXX SG_ Joystick_4_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_4_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_4_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_4_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164076544 BJM4: 8 Vector__XXX SG_ Joystick_4_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_4_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_4_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_4_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164076800 JLCM: 8 Vector__XXX SG_ Joystick_1_Lamp_1_Command : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_2_Command : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_3_Command : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_4_Command : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_5_Command : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_6_Command : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_7_Command : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_8_Command : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_9_Command : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Lamp_10_Command : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_1_Command : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_2_Command : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_3_Command : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_4_Command : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_5_Command : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_6_Command : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_7_Command : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_8_Command : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_9_Command : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Lamp_10_Command : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_1_Command : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_2_Command : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_3_Command : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_4_Command : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_5_Command : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_6_Command : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_7_Command : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_8_Command : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_9_Command : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Lamp_10_Command : 58|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164077312 A2SCRRSI: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re2 : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164077568 A2SCRRT2I: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re3 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Reagent_Tan : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re4 : 48|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re5 : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164077824 A2SCRRT1I: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ta0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ta1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ta2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ta3 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164078080 A2SCRRI: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re2 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re3 : 24|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re4 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re5 : 40|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164078336 A2SCRSI: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Average_Cat : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Commanded_C : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Co : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164078592 A2SCREGT: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_In0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_In1 : 16|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ou0 : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ou1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164078848 A2SCREGP: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ex0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Ex1 : 16|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164079104 A2SCRDSR2: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Doser_Fault : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Doser_Heati : 4|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re2 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re3 : 14|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164079360 A2SCRDSI2: 8 Vector__XXX SG_ Aftertreatment_2_SCR_Dosing_Air_0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Dosing_Air_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Dosing_Reag : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_SCR_Dosing_Valv : 24|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_2_SCR_Feedback_Co : 27|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re1 : 34|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re2 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re3 : 42|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re4 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re5 : 50|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re6 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_SCR_Catalyst_Re7 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164079616 A1SCRRSI: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re2 : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164079872 A1SCRRT2I: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re3 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Reagent_Tan : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re4 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re5 : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164080128 A1SCREGT: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_In0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_In1 : 16|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ou0 : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ou1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164080384 A1SCREGP: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ex0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ex1 : 16|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164080640 A1SCRDSR2: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Doser_Fault : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Doser_Heati : 4|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re2 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re3 : 14|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164080896 A1SCRDSI2: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Dosing_Air_0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Dosing_Air_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Dosing_Reag : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Dosing_Valv : 24|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_1_SCR_Feedback_Co : 27|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 34|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re2 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re3 : 42|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re4 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re5 : 50|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re6 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re7 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164081664 AT2FC2: 8 Vector__XXX SG_ Aftertreatment_2_Fuel_Pressure_2 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164081920 AT2TWCC: 8 Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal3 : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal4 : 53|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Three_Way_Catal5 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164082176 AT1TWCC: 8 Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal3 : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal4 : 53|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Three_Way_Catal5 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164082432 TML: 8 Vector__XXX SG_ Transmission_Mode_Label : 0|200@1+ (1,0) [0|1.606938044258990275541962092E+060] "" Vector__XXX BO_ 2164082688 O2FT2: 8 Vector__XXX SG_ Long_term_Fuel_Trim___Bank_2 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Short_term_Fuel_Trim___Bank_2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Oxygen_Sensor : 32|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164082944 O2FT1: 8 Vector__XXX SG_ Long_term_Fuel_Trim___Bank_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Short_term_Fuel_Trim___Bank_1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Oxygen_Sensor : 32|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164084992 ACCVC: 8 Vector__XXX SG_ Aftercooler_Coolant_Thermostat_M : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Desired_Aftercooler_Coolant_Inle : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Desired_Aftercooler_Coolant_Ther : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164085248 ECCVC: 8 Vector__XXX SG_ Engine_Coolant_Thermostat_Mode : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Desired_Engine_Coolant_Pump_Outl : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Desired_Engine_Coolant_Thermosta : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164085504 EAI: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Temperature_A0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Temperature_A1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Temperature_A2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164090112 AT1FC2: 8 Vector__XXX SG_ Aftertreatment_1_Fuel_Pressure_2 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164090368 ET4: 8 Vector__XXX SG_ Engine_Coolant_Temperature_2 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Coolant_Pump_Outlet_Tempe : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Coolant_Thermostat_Openin : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Exhaust_Valve_Actuation_S : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164090624 ZNVW: 8 Vector__XXX SG_ Zero_Net_Vehicle_Weight_Change : 0|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164090880 GCVW: 8 Vector__XXX SG_ Gross_Combination_Weight : 0|24@1+ (1,0) [0|16777215] "" Vector__XXX SG_ Net_Vehicle_Weight_Change : 24|24@1+ (1,0) [0|16777215] "" Vector__XXX BO_ 2164091136 AGCW: 8 Vector__XXX SG_ Axle_Group_Location : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Axle_Group_Empty_Weight_Calibrat : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Axle_Group_Full_Weight_Calibrati : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164091392 AGW: 8 Vector__XXX SG_ Axle_Group_Location : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Axle_Group_Weight : 8|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164091648 AAGW: 8 Vector__XXX SG_ Steer_Axle_Group_Weight_Availabl : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lift_Axle_Group_Weight_Available : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Drive_Axle_Group_Weight_Availabl : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tag_Axle_Group_Weight_Available : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Additional_Tractor_Axle_Group_We : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_A_Axle_Group_Weight_Avai : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_B_Axle_Group_Weight_Avai : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_C_Axle_Group_Weight_Avai : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_D_Axle_Group_Weight_Avai : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_E_Axle_Group_Weight_Avai : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_F_Axle_Group_Weight_Avai : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_G_Axle_Group_Weight_Avai : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trailer_H_Axle_Group_Weight_Avai : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Additional_Trailer_Axle_Group_We : 26|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164091904 AT2AC2: 8 Vector__XXX SG_ Aftertreatment_2_Secondary_Air_D : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Secondary_Air_T : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Secondary_Air_M : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Secondary_Air_P : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164092160 AT1AC2: 8 Vector__XXX SG_ Aftertreatment_1_Secondary_Air_D : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Secondary_Air_T : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Secondary_Air_M : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Secondary_Air_P : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164092416 SCR1: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Average_Cat : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Commanded_C : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Co : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164092672 EEC8: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164092928 DRC: 8 Vector__XXX SG_ Retract_Status_of_ramp_1 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_status_of_ramp_1 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Movement_status_of_ramp_1 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retract_Status_of_ramp_2 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_status_of_ramp_2 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Movement_status_of_ramp_2 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retract_Status_of_ramp_3 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_status_of_ramp_3 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Movement_status_of_ramp_3 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retract_Status_of_ramp_4 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_status_of_ramp_4 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Movement_status_of_ramp_4 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Retract_Status_of_ramp_5 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_status_of_ramp_5 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Movement_status_of_ramp_5 : 36|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164093184 BSA: 8 Vector__XXX SG_ Tractor_Brake_Stroke_Axle_1_Left : 0|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_1_Righ : 3|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_2_Left : 6|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_2_Righ : 9|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_3_Left : 12|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_3_Righ : 15|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_4_Left : 18|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_4_Righ : 21|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_5_Left : 24|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Tractor_Brake_Stroke_Axle_5_Righ : 27|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_1_Left : 30|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_1_Righ : 33|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_2_Left : 36|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_2_Righ : 39|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_3_Left : 42|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_3_Righ : 45|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_4_Left : 48|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_4_Righ : 51|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_5_Left : 54|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trailer_Brake_Stroke_Axle_5_Righ : 57|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164093440 ESV6: 8 Vector__XXX SG_ Engine_Spark_Plug_21 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_22 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_23 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_24 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164093696 ESV5: 8 Vector__XXX SG_ Engine_Spark_Plug_17 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_18 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_19 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_20 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164093952 ESV4: 8 Vector__XXX SG_ Engine_Spark_Plug_13 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_14 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_15 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_16 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164094208 ESV3: 8 Vector__XXX SG_ Engine_Spark_Plug_9 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_10 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_11 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_12 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164094464 ESV2: 8 Vector__XXX SG_ Engine_Spark_Plug_5 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_6 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_7 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_8 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164094720 ESV1: 8 Vector__XXX SG_ Engine_Spark_Plug_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_3 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Spark_Plug_4 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164094976 AT2TI: 32 Vector__XXX SG_ Aftertreatment_2_Trip_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Active_Reg : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Disabled_T : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Number_of_0 : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Passive_Re : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Number_of_1 : 160|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Number_of_2 : 192|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Trip_Number_of_3 : 224|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164095232 AT1TI: 32 Vector__XXX SG_ Aftertreatment_1_Trip_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Active_Reg : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Disabled_T : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Number_of_0 : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Passive_Re : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Number_of_1 : 160|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Number_of_2 : 192|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Trip_Number_of_3 : 224|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164095488 AT2S: 8 Vector__XXX SG_ Diesel_Particulate_Filter_2_Soot : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Diesel_Particulate_Filter_2_Ash_ : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Diesel_Particulate_Filter_2_Time : 16|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164095744 AT1S: 8 Vector__XXX SG_ Diesel_Particulate_Filter_1_Soot : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Diesel_Particulate_Filter_1_Ash_ : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Diesel_Particulate_Filter_1_Time : 16|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164096000 DPFC1: 8 Vector__XXX SG_ Diesel_Particulate_Filter_Lamp_C : 0|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Diesel_Particulate_Filter_Passiv : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active0 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Status : 12|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active1 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active2 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active3 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active4 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active5 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active6 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active7 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active8 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active9 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active10 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active11 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active12 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active13 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active14 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active15 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active16 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Diesel_Particulate_Filter_Automa : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Exhaust_System_High_Temperature_ : 50|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Diesel_Particulate_Filter_Active17 : 53|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164096512 AFSS: 8 Vector__XXX SG_ Left_Headlamp_Dynamic_Bending_Li : 0|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Right_Headlamp_Dynamic_Bending_L : 3|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Left_Headlamp_Light_Distribution : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Right_Headlamp_Light_Distributio : 12|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164096768 EC2: 8 Vector__XXX SG_ Maximum_Crank_Attempts_per_Start : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164097280 EGRBV: 8 Vector__XXX SG_ EGR_Cooler_Bypass_Actuator_Posti : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164097792 TCI: 8 Vector__XXX SG_ Transfer_case_status : 0|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164098048 EFL_P9: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164098304 EFL_P8: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164098560 EFL_P7: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164098816 EFL_P6: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164099072 EFL_P5: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Oi3 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164099328 VDS2: 8 Vector__XXX SG_ Vehicle_Roll : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164099584 J2012: 8 Vector__XXX SG_ Number_of_J2012_DTCs : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ J2012_DTC : 8|40@1+ (1,0) [0|1099511627775] "" Vector__XXX SG_ J2012_DTC_Status : 48|1@1+ (1,0) [0|1] "" Vector__XXX SG_ J2012_DTC_Occurrence_Count : 49|7@1+ (1,0) [0|127] "" Vector__XXX BO_ 2164099840 AT2GP: 8 Vector__XXX SG_ Diesel_Particulate_Filter_Intake : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Diesel_Particulate_Filter_Outlet : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164100096 AT1GP: 8 Vector__XXX SG_ Diesel_Particulate_Filter_Intake : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Diesel_Particulate_Filter_Outlet : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164101120 AETC: 8 Vector__XXX SG_ AETC_Data_Collection_Standard : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Number_of_AETC_data_points : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ AETC_Speed_Value : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ AETC_Torque_value : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164101632 EOI: 8 Vector__XXX SG_ Engine_Operating_State : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Fuel_Pump_Primer_Control : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Time_Remaining_in_Engine_Operati : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Shutoff_Vent_Control : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Fuel_Shutoff_1_Control : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Fuel_Shutoff_2_Control : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Fuel_Shutoff_Valve_Leak_T : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Oil_Priming_Pump_Control : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Oil_Pre_heater_Control : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Electrical_System_Power_C : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Block___Coolant_Pre_heate : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Coolant_Circulating_Pump_ : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Controlled_Shutdown_Reque : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Emergency__Immediate__Shu : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Derate_Request : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164102144 EEC7: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164102400 TRF2: 8 Vector__XXX SG_ Transmission_Oil_Filter_Restrict : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Oil_Level_Switch : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Torque_Converter_Oi : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Oil_Life_Remaining : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164103168 AT1HI: 32 Vector__XXX SG_ Aftertreatment_1_Total_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Regenerat : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Disabled_ : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Number_of0 : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Passive_R : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Number_of1 : 160|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Number_of2 : 192|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_1_Total_Number_of3 : 224|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164103424 AT2HI: 32 Vector__XXX SG_ Aftertreatment_2_Total_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Regenerat : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Disabled_ : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Number_of0 : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Passive_R : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Number_of1 : 160|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Number_of2 : 192|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Aftertreatment_2_Total_Number_of3 : 224|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164103936 CRI1: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re2 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re3 : 24|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re4 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re5 : 40|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164104192 SEP2: 8 Vector__XXX SG_ Sensor_supply_voltage_5 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Sensor_supply_voltage_6 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164104448 SEP1: 8 Vector__XXX SG_ Sensor_supply_voltage_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Sensor_supply_voltage_2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Sensor_supply_voltage_3 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Sensor_supply_voltage_4 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164104704 AT2AC1: 8 Vector__XXX SG_ Aftertreatment_2_Supply_Air_Pres : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Purge_Air_Press : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Air_Pressure_Co : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Air_Pressure_Ac : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_2_Air_System_Rela : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Atomization_Air : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Purge_Air_Actua : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Air_Enable_Actu : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164104960 AT1AC1: 8 Vector__XXX SG_ Aftertreatment_1_Supply_Air_Pres : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Purge_Air_Press : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Air_Pressure_Co : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Air_Pressure_Ac : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_Air_System_Rela : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Atomization_Air : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Purge_Air_Actua : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Air_Enable_Actu : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164105216 AT2FC1: 8 Vector__XXX SG_ Aftertreatment_2_Fuel_Pressure_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Fuel_Rate : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Fuel_Pressure_C : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Fuel_Drain_Actu : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Ignition : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Regeneration_St : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Fuel_Enable_Act : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Fuel_Injector_1 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164105472 AT1FC1: 8 Vector__XXX SG_ Aftertreatment_1_Fuel_Pressure_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Fuel_Rate : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Fuel_Pressure_C : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Fuel_Drain_Actu : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Ignition : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Regeneration_St : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Fuel_Enable_Act : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Fuel_Injector_1 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164105728 GFI3: 8 Vector__XXX SG_ Engine_Fuel_Valve_2_Inlet_Absolu : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Gas_2_Mass_Flow_Rate : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Temperature_2 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Valve_2_Outlet_Abso : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164105984 EEC6: 8 Vector__XXX SG_ Engine_Turbocharger_Compressor_C : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Variable_Geometry_Turboch : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_Compressor_B : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164106240 PTODE: 8 Vector__XXX SG_ Enable_Switch___Transfer_case_ou : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___Transmission_out : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___Transmission_inp : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___Transmission_inp : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___PTO_Engine_Flywh : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___PTO_Engine_Acces : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Switch___PTO_Engine_Acces : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___Transfer_ca : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___Transmissio0 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___Transmissio1 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___Transmissio2 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___PTO_Engine_0 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___PTO_Engine_1 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Consent___PTO_Engine_2 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___Transfer_cas : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___Transmission0 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___Transmission1 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___Transmission2 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___PTO_Engine_F : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___PTO_Engine_A : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engagement_Status___PTO_Engine_A : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ At_least_one_PTO_engaged : 48|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164106496 DC2: 8 Vector__XXX SG_ Lock_Status_of_Door_1 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_1 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_1 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_2 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_2 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_2 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_3 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_3 : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_3 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_4 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_4 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_4 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_5 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_5 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_5 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_6 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_6 : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_6 : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_7 : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_7 : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_7 : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_8 : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_8 : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_8 : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_9 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_9 : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_9 : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lock_Status_of_Door_10 : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Open_Status_of_Door_10 : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_Status_of_Door_10 : 58|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164107264 WCM2: 8 Vector__XXX SG_ Network_Transceiver_Status_2 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Service_Status_2 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Antenna_Status_2 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Signal_Strength_2 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Wireless_Communication_Network_T : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164107520 WCM1: 8 Vector__XXX SG_ Network_Transceiver_Status_1 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Service_Status_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Antenna_Status_1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Network_Signal_Strength_1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Wireless_Communication_Network_T : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164107776 EFL_P4: 8 Vector__XXX SG_ Engine_Charge_Air_Cooler_1_Inlet : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Charge_Air_Cooler_2_Inlet : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Coolant_Pump_Differential : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Centrifugal_Oil_Filter_sp : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intercooler_Coolant_Level : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Aftercooler_Coolant_Level : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Charge_Air_Cooler_Outlet_ : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164108800 FWSS2: 8 Vector__XXX SG_ Fifth_Wheel_Error_Status : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Fifth_Wheel_Lock_Ready_to_Couple : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Fifth_Wheel_Lock_Couple_Status_I : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Fifth_Wheel_Slider_Position : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Fifth_Wheel_Slider_Lock_Indicato : 16|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164109056 AT2IMG: 8 Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul1 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem1 : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul2 : 53|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul3 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164109312 AT2OG2: 8 Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem1 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164109568 AT2IG2: 8 Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_2_Exhaust_Gas_Tem1 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_2_Diesel_Particul1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164109824 AT1IMG: 8 Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul1 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem1 : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul2 : 53|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul3 : 58|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164110080 AT1OG2: 8 Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem1 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164110336 AT1IG2: 8 Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Tem1 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_Diesel_Particul1 : 40|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164111616 TPRI: 8 Vector__XXX SG_ Tire_Location : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Reference_Tire_Pressure : 8|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164111872 TR6: 8 Vector__XXX SG_ Farebox_Emergency_Status : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Farebox_Alarm_Identifier : 8|7@1+ (1,0) [0|127] "" Vector__XXX BO_ 2164112128 TR5: 8 Vector__XXX SG_ Transaction_Type : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Passenger_Type : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Type_of_Fare : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Payment_Details : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Fare_Validity : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Pass_Category : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Initial_Fare_Agency : 24|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Type_of_Service : 32|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Transfer_Type : 35|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Route_Number : 0|12@1+ (1,0) [0|4095] "" Vector__XXX SG_ Transfer_Sold : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164112384 TR4: 15 Vector__XXX SG_ Farebox_Service_Status : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Trip_Status : 2|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Trip_Direction : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Fare_Presets : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Trip_Number : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Pattern_Number_ : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Assigned_Route : 56|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Assigned_Run : 72|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Assigned_Block : 88|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Driver_s_farebox_security_code : 104|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164112640 TR3: 8 Vector__XXX SG_ Range_Code_Enable : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transit_Route_ID_Usage : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Intersection_Preemption_Request_ : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Priority_of_Response_Sent_by_Emi : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Transit_Door_Enable : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Strobe_Activation_Control_Status : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_ID : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164112896 TR1: 8 Vector__XXX SG_ Agency : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Number_of_bytes_in_the_Transit_A0 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Number_of_bytes_in_the_Transit_A1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Number_of_bytes_in_the_Transit_A2 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transit_Assigned_Route_Identity : 32|800@1+ (1,0) [0|6.668014432879854274079851791E+240] "" Vector__XXX SG_ Transit_Assigned_Run_Identity : 0|800@1+ (1,0) [0|6.668014432879854274079851791E+240] "" Vector__XXX SG_ Transit_Assigned_Block_Identity : 0|800@1+ (1,0) [0|6.668014432879854274079851791E+240] "" Vector__XXX BO_ 2164113152 TR2: 8 Vector__XXX SG_ Number_of_bytes_in_the_Milepost_ : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Milepost_Identification : 8|800@1+ (1,0) [0|6.668014432879854274079851791E+240] "" Vector__XXX BO_ 2164113408 TR7: 8 Vector__XXX SG_ Type_of_Passenger_Count : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Patron_Count : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Silent_Alarm_Status : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Use_Status : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transit_Run_Status : 20|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164113664 EFL_P3: 8 Vector__XXX SG_ Engine_Intake_Valve_Actuation_Sy : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Exhaust_Valve_Actuation_S : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164114432 EBC5: 8 Vector__XXX SG_ Brake_Temperature_Warning : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Halt_brake_mode : 2|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Hill_holder_mode : 5|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Foundation_Brake_Use : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ XBR_System_State : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ XBR_Active_Control_Mode : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ XBR_Acceleration_Limit : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164114688 ECUID: 8 Vector__XXX SG_ ECU_Part_Number : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ ECU_Serial_Number : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ ECU_Location : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ ECU_Type : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ ECU_Manufacturer_Name : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX BO_ 2164114944 UNKNWN: 8 Vector__XXX SG_ Engine_Start_Enable_Device_1 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Start_Enable_Device_2 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Start_Enable_Device_1_Con : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Start_Enable_Device_2_Con : 12|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164115200 OHCSS: 8 Vector__XXX SG_ Engine_Auxiliary_Governor_State : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Multi_Unit_Sync_State : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alternate_Low_Idle_Select : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alternate_Rating_Select_S : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternate_Droop_Accelerat0 : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Accelerat1 : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Remote_Ac : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Auxiliary : 28|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164115456 ISCS: 8 Vector__XXX SG_ Engine_Operator_Primary_Intermed : 0|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164115712 CMI: 8 Vector__XXX SG_ Total_Count_of_Configuration_Cha : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164115968 ISC: 8 Vector__XXX SG_ Engine_Operator_Primary_Intermed : 0|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164116224 OHECS: 8 Vector__XXX SG_ Engine_Auxiliary_Governor_Switch : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Synchronization_Switch : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alternate_Low_Idle_Switch : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alternate_Rating_Select : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternate_Droop_Accelerat0 : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Accelerat1 : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Remote_Ac : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Engine_Alternate_Droop_Auxiliary : 28|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164116480 OEL: 8 Vector__XXX SG_ Work_Light_Switch : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Main_Light_Switch : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Turn_Signal_Switch : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Hazard_Light_Switch : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ High_Low_Beam_Switch : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Operators_Desired_Back_light : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Operators_Desired___Delayed_Lamp : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164116736 OWW: 8 Vector__XXX SG_ Front_Non_operator_Wiper_Switch : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Front_Operator_Wiper_Switch : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Rear_Wiper_Switch : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Front_Operator_Wiper_Delay_Contr : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Front_Non_operator_Wiper_Delay_C : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Rear_Wiper_Delay_Control : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Front_Non_operator_Washer_Switch : 42|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Front_Operator_Washer_Switch : 45|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Rear_Washer_Function : 53|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164117504 IC2: 8 Vector__XXX SG_ Engine_Air_Filter_2_Differential : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Air_Filter_3_Differential : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Air_Filter_4_Differential : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold__2_Pressu : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold__1_Absolu : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164117760 FMS: 8 Vector__XXX SG_ FMS_standard_Diagnostics_Support : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ FMS_standard_Requests_Supported : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ FMS_standard_SW_version_supporte : 8|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164118016 EP: 8 Vector__XXX SG_ Keep_Alive_Battery_Consumption : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Data_Memory_Usage : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164118272 TCI6: 8 Vector__XXX SG_ Engine_Turbocharger_1_Compressor : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Compressor : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Compressor : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Compressor : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164118528 CM3: 8 Vector__XXX SG_ Transfer_Case_Selector_Switch : 0|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Fifth_Wheel_Release_Control : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Fifth_Wheel_Release_Control_Secu : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Oil_Level_Request : 16|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164118784 EEC5: 8 Vector__XXX SG_ Engine_Turbocharger_1_Calculated0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_1_Calculated1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Variable_Geometry_Turboch0 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Variable_Geometry_Turboch1 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164119040 BJM1: 8 Vector__XXX SG_ Joystick_1_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_1_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_1_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164119296 EJM1: 8 Vector__XXX SG_ Joystick_1_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_1_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_1_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_1_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_1_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164119552 BJM2: 8 Vector__XXX SG_ Joystick_2_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_2_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_2_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164119808 EJM2: 8 Vector__XXX SG_ Joystick_2_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_2_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_2_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_2_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_2_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164120064 BJM3: 8 Vector__XXX SG_ Joystick_3_X_Axis_Neutral_Positi : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_X_Axis_Lever_Left_Neg : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_X_Axis_Lever_Right_Po : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_3_Y_Axis_Neutral_Positi : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Y_Axis_Lever_Back_Neg : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Y_Axis_Lever_Forward_ : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_3_Y_Axis_Detent_Positio : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_X_Axis_Detent_Positio : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_4_Pressed_Stat : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_3_Pressed_Stat : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_2_Pressed_Stat : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_1_Pressed_Stat : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_8_Pressed_Stat : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_7_Pressed_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_6_Pressed_Stat : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_5_Pressed_Stat : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_12_Pressed_Sta : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_11_Pressed_Sta : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_10_Pressed_Sta : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Button_9_Pressed_Stat : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164120320 EJM3: 8 Vector__XXX SG_ Joystick_3_Grip_X_Axis_Neutral_P : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_X_Axis_Lever_Lef : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_X_Axis_Lever_Rig : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_X_Axis_Position : 6|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_3_Grip_Y_Axis_Neutral_P : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_Y_Axis_Lever_Bac : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_Y_Axis_Lever_For : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_Y_Axis_Position : 22|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_3_Theta_Axis_Neutral_Po : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Theta_Axis_Counter_Cl : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Theta_Axis_Clockwise_ : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Theta_Axis_Position : 38|10@1+ (1,0) [0|1023] "" Vector__XXX SG_ Joystick_3_Theta_Axis_Detent_Pos : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_Y_Axis_Detent_Po : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Joystick_3_Grip_X_Axis_Detent_Po : 54|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164120576 MCI: 8 Vector__XXX SG_ Engine_Throttle_Synchronization_ : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Trolling_Mode_Status : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Slow_Vessel_Mode_Status : 6|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164121344 FWD: 8 Vector__XXX SG_ Front_Wheel_Drive_Actuator_Statu : 0|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164121600 AMB2: 8 Vector__XXX SG_ Solar_Intensity_Percent : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Solar_Sensor_Maximum : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Specific_Humidity : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164121856 CACI: 8 Vector__XXX SG_ Cab_A_C_Refrigerant_Compressor_O : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164122112 SPR: 8 Vector__XXX SG_ Pneumatic_Supply_Pressure_Reques : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Parking_and_or_Trailer_Air_Press : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Brake_Air_Pressure_Reque0 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Brake_Air_Pressure_Reque1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Equipment_Supply_Press : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Air_Suspension_Supply_Pressure_R : 40|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164122368 EOAC: 8 Vector__XXX SG_ Travel_Velocity_Control_Position : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164122624 EPD: 8 Vector__XXX SG_ Payload_Percentage : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164122880 MVS: 8 Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_1 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_2 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_3 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_4 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_5 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_6 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Vehicle_Speed_Limit_7 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Applied_Vehicle_Speed_Limit : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164123136 HBS: 8 Vector__XXX SG_ Hydraulic_Brake_Pressure_Circuit0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Hydraulic_Brake_Pressure_Circuit1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Hydraulic_Brake_Pressure_Warning0 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Brake_Pressure_Warning1 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Brake_Pressure_Supply_0 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Brake_Pressure_Supply_1 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Brake_System_Audible_W : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Brake_Fluid_Level_Swit : 26|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164131584 ET: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Temperature__ : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Temperature__ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164146176 LD: 8 Vector__XXX SG_ Running_Light : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Alternate_Beam_Head_Light_Data : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Low_Beam_Head_Light_Data : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ High_Beam_Head_Light_Data : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_Fog_Lights : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rotating_Beacon_Light : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Right_Turn_Signal_Lights : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Left_Turn_Signal_Lights : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Back_Up_Light_and_Alarm_Horn : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Center_Stop_Light : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Right_Stop_Light : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Left_Stop_Light : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Clearance_Light : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Clearance_Light : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Marker_Light : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Marker_Light : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rear_Fog_Lights : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Underside_Mounted_Work_L : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Rear_Low_Mounted_Work_Li : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Rear_High_Mounted_Work_L : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Side_Low_Mounted_Work_Li : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Side_High_Mounted_Work_L : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_Low_Mounted_Work_L : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_High_Mounted_Work_ : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_OEM_Option_2_Light : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_OEM_Option_1_Light : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Right_Facing_Work_Ligh : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Left_Facing_Work_Light : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Right_Forward_Work_Lig : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Left_Forward_Work_Ligh : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Rear_Work_Light : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164146432 LC: 8 Vector__XXX SG_ Running_Light_Command : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Alternate_Beam_Head_Light_Comman : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Low_Beam_Head_Light_Command : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ High_Beam_Head_Light_Command : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_Fog_Lights_Command : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rotating_Beacon_Light_Command : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Right_Turn_Signal_Lights_Command : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Left_Turn_Signal_Lights_Command : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Back_Up_Light_and_Alarm_Horn_Com : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Center_Stop_Light_Command : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Right_Stop_Light_Command : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Left_Stop_Light_Command : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Clearance_Light_Comman : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Clearance_Light_Command : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Marker_Light_Command : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Marker_Light_Command : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rear_Fog_Light_Command : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Underside_Mounted_Work_L : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Rear_Low_Mounted_Work_Li : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Rear_High_Mounted_Work_L : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Side_Low_Mounted_Work_Li : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Side_High_Mounted_Work_L : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_Low_Mounted_Work_L : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tractor_Front_High_Mounted_Work_ : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_OEM_Option_2_Light_Com : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_OEM_Option_1_Light_Com : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Right_Facing_Work_Ligh : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Left_Facing_Work_Light : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lighting_Data_Request_Command : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Right_Forward_Work_Lig : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Left_Forward_Work_Ligh : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Implement_Rear_Work_Light_Comman : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164148736 ETC7: 8 Vector__XXX SG_ Transmission_Current_Range_Displ : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Service_Indicator : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Requested_Range_Dis0 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Requested_Range_Dis1 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Ready_for_Brake_Rel : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Active_Shift_Console_Indicator : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Engine_Crank_Enable : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Inhibit_Indic : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_4_Indicator : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_3_Indicator : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_2_Indicator : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_1_Indicator : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Requested_Gear_Feed : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Mode_5_Indicator : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_6_Indicator : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_7_Indicator : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Mode_8_Indicator : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Reverse_Gear_Shift_ : 40|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164148992 TCFG2: 8 Vector__XXX SG_ Transmission_Torque_Limit : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164149248 ML: 8 Vector__XXX SG_ Rear_Black_Out_Marker_Select : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Front_Black_Out_Marker_Lamp_Sele : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Convoy_Lamp_Select : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Convoy_Driving_Lamp_Select : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Black_Out_Brake_Stop_Lamp_Select : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Night_Vision_Illuminator_Select : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Black_Out_Work_Lamp_Select : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Operators_Black_Out_Intensity_Se : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164149504 TAVG: 8 Vector__XXX SG_ Engine_Total_Average_Fuel_Rate : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Total_Average_Fuel_Econom : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164149760 DC1: 8 Vector__XXX SG_ Position_of_doors : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Ramp___Wheel_Chair_Lift_Position : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Status_2_of_doors : 6|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164150016 VDC1: 8 Vector__XXX SG_ VDC_Information_Signal : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ VDC_Fully_Operational : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ VDC_brake_light_request : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ROP_Engine_Control_active : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ROP_Brake_Control_active : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ YC_Engine_Control_active : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ YC_Brake_Control_active : 14|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164150272 BT1: 8 Vector__XXX SG_ Battery_1_Temperature : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Battery_2_Temperature : 8|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164150528 ACC2: 8 Vector__XXX SG_ Requested_ACC_Distance_Mode : 5|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164150784 VEP3: 8 Vector__XXX SG_ Alternator_Current__High_Range_R : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Net_Battery_Current__High_Range_ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164151040 RTC1: 8 Vector__XXX SG_ Low_Limit_Threshold_for_Maximum_0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ High_Limit_Threshold_for_Minimum0 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Low_Limit_Threshold_for_Maximum_1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ High_Limit_Threshold_for_Minimum1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Continuous_Retarder_Spee : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Minimum_Continuous_Retarder_Spee : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Continuous_Retarder_Torq : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Minimum_Continuous_Retarder_Torq : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164151296 ECT1: 8 Vector__XXX SG_ Engine_Low_Limit_Threshold_for_M0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_High_Limit_Threshold_for_0 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Low_Limit_Threshold_for_M1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_High_Limit_Threshold_for_1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Maximum_Continuous_RPM : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Minimum_Continuous_RPM : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Maximum_Continuous_Torque : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Minimum_Continuous_Torque : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164151552 GFD: 8 Vector__XXX SG_ Specific_Heat_Ratio : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164151808 TI1: 8 Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ta0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ta1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ta2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Ta3 : 32|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re0 : 40|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Aftertreatment_1_SCR_Catalyst_Re1 : 56|5@1+ (1,0) [0|31] "" Vector__XXX BO_ 2164152064 ASC5: 8 Vector__XXX SG_ Damper_Stiffness_Front_Axle : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Damper_Stiffness_Rear_Axle : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Damper_Stiffness_Lift___Tag_Axle : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Electronic_Shock_Absorber_Contro0 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Electronic_Shock_Absorber_Contro1 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Electronic_Shock_Absorber_Contro2 : 28|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164152320 ASC4: 8 Vector__XXX SG_ Bellow_Pressure_Front_Axle_Left : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Bellow_Pressure_Front_Axle_Right : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Bellow_Pressure_Rear_Axle_Left : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Bellow_Pressure_Rear_Axle_Right : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164152576 ASC3: 8 Vector__XXX SG_ Relative_Level_Front_Axle_Left : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Level_Front_Axle_Right : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Level_Rear_Axle_Left : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Level_Rear_Axle_Right : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164152832 ASC1: 8 Vector__XXX SG_ Nominal_Level_Front_Axle : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Nominal_Level_Rear_Axle : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Below_Nominal_Level_Front_Axle : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Below_Nominal_Level_Rear_Axle : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Above_Nominal_Level_Front_Axle : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Above_Nominal_Level_Rear_Axle : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lowering_Control_Mode_Front_Axle : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lowering_Control_Mode_Rear_Axle : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lifting_Control_Mode_Front_Axle : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lifting_Control_Mode_Rear_Axle : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Kneeling_Information : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Level_Control_Mode : 28|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Security_Device : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Motion_Inhibit : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Door_Release : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lift_Axle_1_Position : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Front_Axle_in_Bumper_Range : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Rear_Axle_in_Bumper_Range : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lift_Axle_2_Position : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Suspension_Remote_Control_1 : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Suspension_Remote_control_2 : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Suspension_Control_Refusal_Infor : 56|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164153088 FLI2: 8 Vector__XXX SG_ Lane_Tracking_Status_Right_Side : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lane_Tracking_Status_Left_Side : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Lane_Departure_Indication_Enable : 6|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164155904 BM: 8 Vector__XXX SG_ Battery_Main_Switch_Hold_State : 0|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164156160 CCC: 8 Vector__XXX SG_ Auxiliary_Heater_Maximum_Output_ : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164156416 VF: 8 Vector__XXX SG_ Hydraulic_Temperature : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Hydraulic_Oil_Filter_Restriction : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Winch_Oil_Pressure_Switch : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Hydraulic_Oil_Level : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164156672 ET3: 8 Vector__XXX SG_ Engine_Intake_Manifold_1_Air_Tem : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Coolant_Temperature__High : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intake_Valve_Actuation_Sy : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Charge_Air_Cooler_Outlet_ : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164156928 EFS: 8 Vector__XXX SG_ Engine_Oil_Level_Remote_Reservoi : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Supply_Pump_Inlet_Pr : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Filter__suction_side : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Waste_Oil_Reservoir_Level : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Filter_Outlet_Pressur : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Priming_Pump_Switch : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Oil_Priming_State : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Oil_Pre_Heated_State : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Coolant_Pre_heated_State : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Ventilation_Status : 48|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Fuel_Pump_Primer_Status : 51|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164157184 DI: 8 Vector__XXX SG_ Driver_1_identification : 0|13824@1+ (1,0) [0|2.745744098767810851571364370E+4161] "" Vector__XXX SG_ Driver_2_identification : 16|13824@1+ (1,0) [0|2.745744098767810851571364370E+4161] "" Vector__XXX BO_ 2164157440 TCO1: 8 Vector__XXX SG_ Driver_1_working_state : 0|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Driver_2_working_state : 3|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Vehicle_motion : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Driver_1_Time_Related_States : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Driver_card__driver_1 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Vehicle_Overspeed : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Driver_2_Time_Related_States : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Driver_card__driver_2 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ System_event : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Handling_information : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tachograph_performance : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Direction_indicator : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tachograph_output_shaft_speed : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Tachograph_vehicle_speed : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164157696 HTR: 8 Vector__XXX SG_ Auxiliary_Heater_Output_Coolant_ : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Heater_Input_Air_Tempe : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Heater_Output_Power_Pe : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Heater_Mode : 24|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Auxiliary_Heater_Water_Pump_Stat : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cab_Ventilation : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Heating_Zone : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cab_Heating_Zone : 38|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164157952 HRW: 8 Vector__XXX SG_ Front_Axle__Left_Wheel_Speed : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Front_axle__right_wheel_speed : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Rear_axle__left_wheel_speed : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Rear_axle__right_wheel_speed : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164158208 ACC1: 8 Vector__XXX SG_ Speed_of_forward_vehicle : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Distance_to_forward_vehicle : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adaptive_Cruise_Control_Set_Spee : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Adaptive_Cruise_Control_Mode : 24|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Adaptive_cruise_control_set_dist : 27|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Road_curvature : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ ACC_Target_Detected : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ACC_System_Shutoff_Warning : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ACC_Distance_Alert_Signal : 52|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164158464 CVW: 8 Vector__XXX SG_ Powered_Vehicle_Weight : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Gross_Combination_Vehicle_Weight : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164158720 LTP: 8 Vector__XXX SG_ Laser_Tracer_Target_Deviation : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Laser_Tracer_Vertical_Distance : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Laser_Tracer_Horizontal_Deviatio : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ LED_Display_Data__2 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Laser_Tracer_Information : 48|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164158976 LBC: 8 Vector__XXX SG_ Blade_Duration_and_Direction : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Blade_Control_Mode : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164159232 LMP: 8 Vector__XXX SG_ Mast_Position : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164159488 LSP: 8 Vector__XXX SG_ Modify_Leveling_System_Set_Point : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Blade_Height_Set_Point___High_Re : 16|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164159744 LVD: 8 Vector__XXX SG_ Laser_Strike_Vertical_Deviation : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Laser_Receiver_Type : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Laser_Strike_Data_Latency : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Absolute_Laser_Strike_Position : 40|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164160000 LVDD: 8 Vector__XXX SG_ LED_Display_Data__1 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ LED_Display_Mode_Control : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ LED_Display_Deadband_Control : 12|4@1+ (1,0) [0|15] "" Vector__XXX SG_ LED_Pattern_Control : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Display_Deadbands : 20|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164160256 AP: 8 Vector__XXX SG_ Auxiliary_Vacuum_Pressure_Readin : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_Gage_Pressure_Reading_ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_Absolute_Pressure_Read : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164160512 TP1: 8 Vector__XXX SG_ Tire_Pressure_Check_Interval : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Steer_Channel_Mode : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Trailer_tag_Channel_Mode : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Drive_Channel_Mode : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ PCU_Drive_Solenoid_Status : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PCU_Steer_Solenoid_Status : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tire_Pressure_Supply_Switch_Stat : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PCU_Deflate_Solenoid_Status : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PCU_Control_Solenoid_Status : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PCU_Supply_Solenoid_Status : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PCU_Trailer__Tag_or_Push_Solenoi : 38|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164160768 TP2: 8 Vector__XXX SG_ Trailer__Tag_Or_Push_Channel_Tir : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Drive_Channel_Tire_Pressure_Targ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Steer_Channel_Tire_Pressure_Targ : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164161024 TP3: 8 Vector__XXX SG_ Trailer__Tag_Or_Push_Channel_Tir : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Drive_Channel_Tire_Pressure : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Steer_Channel_Tire_Pressure : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164161280 CT1: 8 Vector__XXX SG_ Engine_Cylinder__1_Combustion_Ti : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__2_Combustion_Ti : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__3_Combustion_Ti : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__4_Combustion_Ti : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164161536 CT2: 8 Vector__XXX SG_ Engine_Cylinder__5_Combustion_Ti : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__6_Combustion_Ti : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__7_Combustion_Ti : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__8_Combustion_Ti : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164161792 CT3: 8 Vector__XXX SG_ Engine_Cylinder__9_Combustion_Ti : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__10_Combustion_T : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__11_Combustion_T : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__12_Combustion_T : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164162048 CT4: 8 Vector__XXX SG_ Engine_Cylinder__13_Combustion_T : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__14_Combustion_T : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__15_Combustion_T : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__16_Combustion_T : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164162304 CT5: 8 Vector__XXX SG_ Engine_Cylinder__17_Combustion_T : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__18_Combustion_T : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__19_Combustion_T : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__20_Combustion_T : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164162560 CT6: 8 Vector__XXX SG_ Engine_Desired_Combustion_Time : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Average_Combustion_Time : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164162816 GFI2: 8 Vector__XXX SG_ Engine_Fuel_Flow_Rate_1 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Flow_Rate_2 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Valve_1_Position : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Valve_2_Position : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Fuel_Valve_1_Po : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Fuel_Valve_2_Po : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164163072 IT1: 8 Vector__XXX SG_ Engine_Cylinder__1_Ignition_Timi : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__2_Ignition_Timi : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__3_Ignition_Timi : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__4_Ignition_Timi : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164163328 IT2: 8 Vector__XXX SG_ Engine_Cylinder__5_Ignition_Timi : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__6_Ignition_Timi : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__7_Ignition_Timi : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__8_Ignition_Timi : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164163584 IT3: 8 Vector__XXX SG_ Engine_Cylinder__9_Ignition_Timi : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__10_Ignition_Tim : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__11_Ignition_Tim : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__12_Ignition_Tim : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164163840 IT4: 8 Vector__XXX SG_ Engine_Cylinder__13_Ignition_Tim : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__14_Ignition_Tim : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__15_Ignition_Tim : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__16_Ignition_Tim : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164164096 IT5: 8 Vector__XXX SG_ Engine_Cylinder__17_Ignition_Tim : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__18_Ignition_Tim : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__19_Ignition_Tim : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Cylinder__20_Ignition_Tim : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164164352 IT6: 8 Vector__XXX SG_ Engine_Desired_Ignition_Timing__0 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Desired_Ignition_Timing__1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Desired_Ignition_Timing__2 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Actual_Ignition_Timing : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164164608 ISO1: 8 Vector__XXX SG_ Engine_Cylinder__1_Ignition_Tran : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__2_Ignition_Tran : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__3_Ignition_Tran : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__4_Ignition_Tran : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__5_Ignition_Tran : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__6_Ignition_Tran : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__7_Ignition_Tran : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__8_Ignition_Tran : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164164864 ISO2: 8 Vector__XXX SG_ Engine_Cylinder__9_Ignition_Tran : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__10_Ignition_Tra : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__11_Ignition_Tra : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__12_Ignition_Tra : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__13_Ignition_Tra : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__14_Ignition_Tra : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__15_Ignition_Tra : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__16_Ignition_Tra : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164165120 ISO3: 8 Vector__XXX SG_ Engine_Cylinder__17_Ignition_Tra : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__18_Ignition_Tra : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__19_Ignition_Tra : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Cylinder__20_Ignition_Tra : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164165376 GFP: 8 Vector__XXX SG_ Engine_Fuel_Valve_1_Inlet_Absolu : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Valve_Differential_P : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Air_to_Fuel_Differential_ : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Valve_1_Outlet_Abso : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164165632 AAI: 8 Vector__XXX SG_ Auxiliary_Temperature_1 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Temperature_2 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Pressure__1 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Pressure__2 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Level : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Humidity : 48|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164165888 VEP2: 8 Vector__XXX SG_ Battery_Potential___Power_Input_ : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ ECU_Power_Output_Supply_Voltage_0 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ ECU_Power_Output_Supply_Voltage_1 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ ECU_Power_Output_Supply_Voltage_2 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164166144 S2: 8 Vector__XXX SG_ Service_Component_Identification : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Time_Since_Last_Service : 8|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164166400 SP2: 8 Vector__XXX SG_ Engine_External_Shutdown_Air_Sup : 0|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164166656 ETH: 8 Vector__XXX SG_ Number_of_Engine_Torque_History_ : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Power : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Peak_Torque_1 : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Peak_Torque_2 : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Calibration_Record_Start_Month : 56|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Calibration_Record_Start_Day : 64|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Calibration_Record_Start_Year : 72|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Calibration_Record_Duration_Time : 80|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Torque_Limiting_Feature_Status : 112|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Torque_Limit_Feature : 114|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Transmission_Gear_Ratio_1 : 120|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_1__Transmiss : 136|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Gear_Ratio_2 : 152|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_2__Transmiss : 168|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Gear_Ratio_3 : 184|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_3__Transmiss : 200|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_4__Transmiss : 216|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_5__Switch : 232|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Torque_Limit_6__Axle_Inpu : 248|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164166912 FL: 8 Vector__XXX SG_ Engine_Fuel_Leakage_1 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Fuel_Leakage_2 : 2|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164167168 EI: 8 Vector__XXX SG_ Engine_Pre_filter_Oil_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Exhaust_Gas_Pressure : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Rack_Position : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Gas_Mass_Flow_Rate_1 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Instantaneous_Estimated_Brake_Po : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164167424 EES: 8 Vector__XXX SG_ Electrical_Load : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Safety_Wire_Status : 16|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164167680 EAC: 8 Vector__XXX SG_ Engine_Auxiliary_Coolant_Pressur : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Auxiliary_Coolant_Tempera : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Sea_Water_Pump_Outlet_Pressure : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164167936 RBI: 8 Vector__XXX SG_ Engine_Operation_Time_Since_Rebu : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164168192 TCW: 8 Vector__XXX SG_ Engine_Turbocharger_1_Wastegate_ : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_2_Wastegate_ : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_3_Wastegate_ : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_4_Wastegate_ : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_Wastegate_Ac : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164168448 TCI5: 8 Vector__XXX SG_ Engine_Turbocharger_1_Turbine_Ou : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Turbine_Ou : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Turbine_Ou : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Turbine_Ou : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164168704 TCI4: 8 Vector__XXX SG_ Engine_Turbocharger_1_Turbine_In : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Turbine_In : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Turbine_In : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Turbine_In : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164168960 TCI3: 8 Vector__XXX SG_ Engine_Turbocharger_1_Compressor : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Compressor : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Compressor : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Compressor : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164169216 TCI2: 8 Vector__XXX SG_ Engine_Turbocharger_1_Compressor : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Compressor : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Compressor : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Compressor : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164169472 TCI1: 8 Vector__XXX SG_ Engine_Turbocharger_Lube_Oil_Pre : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_2_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Speed : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Speed : 40|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164169728 MBT3: 8 Vector__XXX SG_ Engine_Main_Bearing_9_Temperatur : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_10_Temperatu : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_11_Temperatu : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164169984 MBT2: 8 Vector__XXX SG_ Engine_Main_Bearing_5_Temperatur : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_6_Temperatur : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_7_Temperatur : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_8_Temperatur : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164170240 MBT1: 8 Vector__XXX SG_ Engine_Main_Bearing_1_Temperatur : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_2_Temperatur : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_3_Temperatur : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Main_Bearing_4_Temperatur : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164170496 EPT5: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Port_17_Tempe : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_18_Tempe : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_19_Tempe : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_20_Tempe : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164170752 EPT4: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Port_13_Tempe : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_14_Tempe : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_15_Tempe : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_16_Tempe : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164171008 EPT3: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Port_9_Temper : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_10_Tempe : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_11_Tempe : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_12_Tempe : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164171264 EPT2: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Port_5_Temper : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_6_Temper : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_7_Temper : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_8_Temper : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164171520 EPT1: 8 Vector__XXX SG_ Engine_Exhaust_Gas_Port_1_Temper : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_2_Temper : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_3_Temper : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Port_4_Temper : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164171776 ET2: 8 Vector__XXX SG_ Engine_Oil_Temperature_2 : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_ECU_Temperature : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation0 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Recirculation1 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164172032 IMT2: 8 Vector__XXX SG_ Engine_Intake_Manifold_2_Tempera : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold_3_Tempera : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold_4_Tempera : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold_5_Tempera : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold_6_Tempera : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164172288 IMT1: 8 Vector__XXX SG_ Engine_Turbocharger_1_Boost_Pres : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_2_Boost_Pres : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_3_Boost_Pres : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_4_Boost_Pres : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164172544 AT: 8 Vector__XXX SG_ Engine_Alternator_Bearing_1_Temp : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternator_Bearing_2_Temp : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternator_Winding_1_Temp : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternator_Winding_2_Temp : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Alternator_Winding_3_Temp : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164172800 AC: 8 Vector__XXX SG_ Articulation_Angle : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164173056 EO1: 8 Vector__XXX SG_ Engine_Desired_Rated_Exhaust_Oxy : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Desired_Exhaust_Oxygen : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Actual_Exhaust_Oxygen : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Exhaust_Gas_Oxygen_Sensor0 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Exhaust_Gas_Oxygen_Sensor1 : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164173312 AF2: 8 Vector__XXX SG_ Engine_Gaseous_Fuel_Correction_F : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Desired_Absolute_Intake_M : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_Wastegate_Va : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Gas_Mass_Flow_Sensor_Fuel : 32|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164173568 ETC6: 8 Vector__XXX SG_ Recommended_Gear : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Highest_Possible_Gear : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Lowest_Possible_Gear : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Clutch_Life_Remaining : 24|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164173824 EBC4: 8 Vector__XXX SG_ Brake_Lining_Remaining__Front_Ax : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Front_Ax : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl0 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl2 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl3 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl4 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Lining_Remaining__Rear_Axl5 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164174080 EBC3: 8 Vector__XXX SG_ Brake_Application_Pressure_High_0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_2 : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_3 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_4 : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_5 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_6 : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Application_Pressure_High_7 : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164174336 AIR1: 8 Vector__XXX SG_ Pneumatic_Supply_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Parking_and_or_Trailer_Air_Press : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Brake_Circuit_1_Air_Pres : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Brake_Circuit_2_Air_Pres : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Auxiliary_Equipment_Supply_Press : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Air_Suspension_Supply_Pressure : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Air_Compressor_Status : 48|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164174592 GFC: 8 Vector__XXX SG_ Trip_Fuel__Gaseous_ : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Total_Fuel_Used__Gaseous_ : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164174848 TTI2: 20 Vector__XXX SG_ Trip_Cruise_Time : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_PTO_Governor_Time : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Engine_Running_Time : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Idle_Time : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Air_Compressor_On_Time : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164175104 EH: 8 Vector__XXX SG_ Total_ECU_Distance : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Total_ECU_Run_Time : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164175360 GFI1: 8 Vector__XXX SG_ Total_Engine_PTO_Governor_Fuel_U : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Average_Fuel_Rate__Gaseous_ : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Fuel_Specific_Gravity : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164175616 LFI: 8 Vector__XXX SG_ Total_Engine_PTO_Governor_Fuel_U : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Average_Fuel_Rate : 32|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164175872 TTI1: 16 Vector__XXX SG_ Trip_Time_in_VSL : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Time_in_Top_Gear : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Time_in_Gear_Down : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Time_in_Derate_by_Engine : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164176128 TSI: 8 Vector__XXX SG_ Trip_Number_of_Hot_Shutdowns : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Number_of_Idle_Shutdowns : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Number_of_Idle_Shutdown_Ove : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Sudden_Decelerations : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164176384 TVI: 8 Vector__XXX SG_ Trip_Maximum_Vehicle_Speed : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Cruise_Distance : 16|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164176640 LF: 10 Vector__XXX SG_ Trip_Maximum_Engine_Speed : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Average_Engine_Speed : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trip_Drive_Average_Load_Factor : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Total_Drive_Average_Load_Factor : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Total_Engine_Cruise_Time : 48|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164176896 GTFI: 22 Vector__XXX SG_ Trip_Drive_Fuel_Used__Gaseous_ : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_PTO_Governor_Moving_Fuel_Us : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_PTO_Governor_Non_moving_Fue : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Vehicle_Idle_Fuel_Used__Gas : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Cruise_Fuel_Used__Gaseous_ : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Drive_Fuel_Economy__Gaseous : 160|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164177152 LTFI: 22 Vector__XXX SG_ Trip_Drive_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_PTO_Governor_Moving_Fuel_Us : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_PTO_Governor_Non_moving_Fue : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Vehicle_Idle_Fuel_Used : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Cruise_Fuel_Used : 128|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Drive_Fuel_Economy : 160|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164177408 TDI: 12 Vector__XXX SG_ Trip_Distance_on_VSL : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Gear_Down_Distance : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Distance_in_Top_Gear : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164177664 TFI: 16 Vector__XXX SG_ Trip_Fan_On_Time : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Fan_On_Time_Due_to_the_Engi : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Fan_On_Time_Due_to_a_Manual : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Fan_On_Time_Due_to_the_A_C_ : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164177920 CBI: 16 Vector__XXX SG_ Total_Compression_Brake_Distance : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Compression_Brake_Distance : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Service_Brake_Distance : 64|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Trip_Service_Brake_Applications : 96|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164178176 FD: 8 Vector__XXX SG_ Estimated_Percent_Fan_Speed : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Fan_Drive_State : 8|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Fan_Speed : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Hydraulic_Fan_Motor_Pressure : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Fan_Drive_Bypass_Command_Status : 48|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164178432 EEC4: 8 Vector__XXX SG_ Engine_Rated_Power : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Rated_Speed : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Rotation_Direction : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Crank_Attempt_Count_on_Present_S : 40|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164178688 EBC2: 8 Vector__XXX SG_ Front_Axle_Speed : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Relative_Speed__Front_Axle__Left : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Speed__Front_Axle__Righ : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Speed__Rear_Axle__1__Le : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Speed__Rear_Axle__1__Ri : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Speed__Rear_Axle__2__Le : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Relative_Speed__Rear_Axle__2__Ri : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164178944 SERV: 8 Vector__XXX SG_ Service_Component_Identification0 : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Distance : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Service_Component_Identification1 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Delay_Calendar_Time_Base : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Component_Identification2 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Service_Delay_Operational_Time_B : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164179200 VDHR: 8 Vector__XXX SG_ High_Resolution_Total_Vehicle_Di : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ High_Resolution_Trip_Distance : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164179456 ERC2: 8 Vector__XXX SG_ Transmission_Output_Retarder : 0|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164179712 ETC5: 8 Vector__XXX SG_ Transmission_High_Range_Sense_Sw : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Low_Range_Sense_Swi : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Reverse_Direction_S : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Neutral_Switch : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Forward_Direction_S : 12|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164180224 ETC4: 8 Vector__XXX SG_ Transmission_Synchronizer_Clutch : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Synchronizer_Brake_ : 8|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164180736 ETC3: 8 Vector__XXX SG_ Transmission_Shift_Finger_Gear_P : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Shift_Finger_Rail_P : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Shift_Finger_Neutra : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Engage : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Center : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Rail_A0 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Gear_A0 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Rail_A1 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Shift_Finger_Gear_A1 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Range_High_Actuator : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Range_Low_Actuator : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Splitter_Direct_Act : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Splitter_Indirect_A : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Clutch_Actuator : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Lockup_Clutch_Actua : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Defuel_Actuator : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Transmission_Inertia_Brake_Actua : 46|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164184320 AS: 8 Vector__XXX SG_ Alternator_Speed : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Alternator_1_Status : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Alternator_2_Status : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Alternator_3_Status : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Alternator_4_Status : 22|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164185344 AUXIO1: 8 Vector__XXX SG_ Auxiliary_I_O__04 : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__03 : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__02 : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__01 : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__08 : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__07 : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__06 : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__05 : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__12 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__11 : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__10 : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__09 : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__16 : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__15 : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__14 : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O__13 : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_I_O_Channel__1 : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Auxiliary_I_O_Channel__2 : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164185600 SOFT: 8 Vector__XXX SG_ Number_of_Software_Identificatio : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Software_Identification : 8|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX BO_ 2164185856 EFL_P2: 8 Vector__XXX SG_ Engine_Injection_Control_Pressur : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Injector_Metering_Rail_1_ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Injector_Timing_Rail_1_Pr : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Injector_Metering_Rail_2_ : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164186112 IO: 8 Vector__XXX SG_ Engine_Total_Idle_Fuel_Used : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Engine_Total_Idle_Hours : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164186368 TC: 8 Vector__XXX SG_ Engine_Turbocharger_Lube_Oil_Pre : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Turbocharger_1_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_Oil_Level_Sw : 30|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164186624 AIR2: 8 Vector__XXX SG_ Engine_Air_Start_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164186880 EEC3: 8 Vector__XXX SG_ Nominal_Friction___Percent_Torqu : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_s_Desired_Operating_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_s_Desired_Operating_Speed : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Estimated_Engine_Parasitic_Losse : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Aftertreatment_1_Exhaust_Gas_Mas : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Aftertreatment_1_Intake_Dew_Poin : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_1_Exhaust_Dew_Poi : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Intake_Dew_Poin : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Aftertreatment_2_Exhaust_Dew_Poi : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164187136 VD: 8 Vector__XXX SG_ Trip_Distance : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Total_Vehicle_Distance : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164187392 RC: 19 Vector__XXX SG_ Retarder_Type : 0|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Retarder_Location : 4|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Retarder_Control_Method__Retarde : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Retarder_Speed_At_Idle__Point_1_ : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Torque_At_Idle__Point_1_ : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Maximum_Retarder_Speed__Point_2_ : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Torque_At_Maximum_Speed_ : 56|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Retarder_Speed_At_Point_3__Retar : 64|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Torque_At_Point_3__Retar : 80|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Retarder_Speed_At_Point_4__Retar : 88|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Torque_At_Point_4__Retar : 104|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Retarder_Speed_At_Peak_Torque__P : 112|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Reference_Retarder_Torque__Retar : 128|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Percent_Torque_At_Peak_Torque__P : 144|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164187648 TCFG: 8 Vector__XXX SG_ Number_of_Reverse_Gear_Ratios : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Number_of_Forward_Gear_Ratios : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Gear_Ratio : 16|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164187904 EC1: 39 Vector__XXX SG_ Engine_Speed_At_Idle__Point_1__E : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Percent_Torque_At_Idle__P : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_At_Point_2__Engine_ : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Percent_Torque_At_Point_2 : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_At_Point_3__Engine_ : 48|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Percent_Torque_At_Point_3 : 64|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_At_Point_4__Engine_ : 72|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Percent_Torque_At_Point_4 : 88|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_At_Point_5__Engine_ : 96|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Percent_Torque_At_Point_5 : 112|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Speed_At_High_Idle__Point : 120|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Gain__Kp__Of_The_Endspeed : 136|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Reference_Torque__Engine_ : 152|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Maximum_Momentary_Overrid0 : 168|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Maximum_Momentary_Overrid1 : 184|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Speed_Control_R0 : 192|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Speed_Control_R1 : 200|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Torque_Control_0 : 208|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Requested_Torque_Control_1 : 216|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Extended_Range_Requested_ : 224|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Moment_of_Inertia : 240|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Default_Torque_Limit : 256|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Support_Variable_Rate_TSC1_Messa : 272|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Support_TSC1_Control_Purpose_Gro0 : 280|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Support_TSC1_Control_Purpose_Gro1 : 288|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Support_TSC1_Control_Purpose_Gro2 : 296|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Support_TSC1_Control_Purpose_Gro3 : 304|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164188160 SHUTDN: 8 Vector__XXX SG_ Engine_Idle_Shutdown_has_Shutdow : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Idle_Shutdown_Driver_Aler : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Idle_Shutdown_Timer_Overr : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Idle_Shutdown_Timer_State : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Idle_Shutdown_Timer_Funct : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ A_C_High_Pressure_Fan_Switch : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Refrigerant_Low_Pressure_Switch : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Refrigerant_High_Pressure_Switch : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Wait_to_Start_Lamp : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Protection_System_has_Shu : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Protection_System_Approac : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Protection_System_Timer_O : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Protection_System_Timer_S : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Protection_System_Configu : 46|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alarm_Acknowledge : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Alarm_Output_Command_Stat : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Air_Shutoff_Command_Statu : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Overspeed_Test : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Air_Shutoff_Status : 56|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164188416 HOURS: 8 Vector__XXX SG_ Engine_Total_Hours_of_Operation : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Engine_Total_Revolutions : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164188672 TD: 8 Vector__XXX SG_ Seconds : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Minutes : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Hours : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Month : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Day : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Year : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Local_minute_offset : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Local_hour_offset : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164188928 VH: 8 Vector__XXX SG_ Total_Vehicle_Hours : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Total_Power_Takeoff_Hours : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164189184 VDS: 8 Vector__XXX SG_ Compass_Bearing : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Navigation_Based_Vehicle_Speed : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Pitch : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Altitude : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164189440 LFC: 8 Vector__XXX SG_ Engine_Trip_Fuel : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Engine_Total_Fuel_Used : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164189696 VW: 8 Vector__XXX SG_ Axle_Location : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Axle_Weight : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Trailer_Weight : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Cargo_Weight : 40|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164189952 CI: 8 Vector__XXX SG_ Make : 0|40@1+ (1,0) [0|1099511627775] "" Vector__XXX SG_ Model : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ Serial_Number : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX SG_ Unit_Number__Power_Unit_ : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX BO_ 2164190208 VI: 8 Vector__XXX SG_ Vehicle_Identification_Number : 0|1600@1+ (1,0) [0|4.446241647709404462001681407E+481] "" Vector__XXX BO_ 2164190464 CCSS: 8 Vector__XXX SG_ Maximum_Vehicle_Speed_Limit : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Cruise_Control_High_Set_Limit_Sp : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Cruise_Control_Low_Set_Limit_Spe : 16|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164190720 ET1: 8 Vector__XXX SG_ Engine_Coolant_Temperature : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Temperature_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Temperature_1 : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Turbocharger_Oil_Temperat : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Intercooler_Temperature : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intercooler_Thermostat_Op : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164190976 EFL_P1: 8 Vector__XXX SG_ Engine_Fuel_Delivery_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Extended_Crankcase_Blow_b : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Level : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Pressure : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Crankcase_Pressure : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Coolant_Pressure : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Coolant_Level : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164191232 PTO: 8 Vector__XXX SG_ Power_Takeoff_Oil_Temperature : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Power_Takeoff_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Power_Takeoff_Set_Speed : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_PTO_Governor_Enable_Switc : 40|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Remote_PTO_Governor_Prepr : 42|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Remote_PTO_Governor_Varia : 44|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_PTO_Governor_Set_Switch : 48|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_PTO_Governor_Coast_Decele : 50|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_PTO_Governor_Resume_Switc : 52|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_PTO_Governor_Accelerate_S : 54|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Operator_Engine_PTO_Governor_Mem : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Remote_PTO_Governor_Preprogramme : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Auxiliary_Input_Ignore_Switch : 60|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164191488 CCVS: 8 Vector__XXX SG_ Two_Speed_Axle_Switch : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Parking_Brake_Switch : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Pause_Switch : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Park_Brake_Release_Inhibit_Reque : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Wheel_Based_Vehicle_Speed : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Cruise_Control_Active : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Enable_Switch : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Brake_Switch : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Clutch_Switch : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Set_Switch : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Coast__Decelerate : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Resume_Switch : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Accelerate_Switch : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Cruise_Control_Set_Speed : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ PTO_Governor_State : 48|5@1+ (1,0) [0|31] "" Vector__XXX SG_ Cruise_Control_States : 53|3@1+ (1,0) [0|7] "" Vector__XXX SG_ Engine_Idle_Increment_Switch : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Idle_Decrement_Switch : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Test_Mode_Switch : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Engine_Shutdown_Override_Switch : 62|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164191744 LFE: 8 Vector__XXX SG_ Engine_Fuel_Rate : 0|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Instantaneous_Fuel_Econom : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Average_Fuel_Economy : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Throttle_Position : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Throttle_2_Position : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164192000 VP: 8 Vector__XXX SG_ Latitude : 0|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ Longitude : 32|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2164192256 TIRE: 8 Vector__XXX SG_ Tire_Location : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Tire_Pressure : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Tire_Temperature : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ CTI_Wheel_Sensor_Status : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ CTI_Tire_Status : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ CTI_Wheel_End_Electrical_Fault : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Tire_Air_Leakage_Rate : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Tire_Pressure_Threshold_Detectio : 61|3@1+ (1,0) [0|7] "" Vector__XXX BO_ 2164192512 AMB: 8 Vector__XXX SG_ Barometric_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Cab_Interior_Temperature : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Ambient_Air_Temperature : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Air_Inlet_Temperature : 40|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Road_Surface_Temperature : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164192768 IC1: 8 Vector__XXX SG_ Engine_Diesel_Particulate_Filter : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold__1_Pressu : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Intake_Manifold_1_Tempera : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Air_Inlet_Pressure : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Air_Filter_1_Differential : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Exhaust_Gas_Temperature : 40|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Engine_Coolant_Filter_Differenti : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164193024 VEP1: 8 Vector__XXX SG_ Net_Battery_Current : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Alternator_Current : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Charging_System_Potential__Volta : 16|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Battery_Potential___Power_Input_ : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Keyswitch_Battery_Potential : 48|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164193280 TRF1: 8 Vector__XXX SG_ Clutch_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Oil_Level : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Filter_Differential : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Oil_Pressure : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Oil_Temperature : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Transmission_Oil_Level_High___Lo : 48|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Transmission_Oil_Level_Countdown : 56|4@1+ (1,0) [0|15] "" Vector__XXX SG_ Transmission_Oil_Level_Measureme : 60|4@1+ (1,0) [0|15] "" Vector__XXX BO_ 2164193536 AI: 8 Vector__XXX SG_ Steering_Axle_Temperature : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Drive_Axle_Location : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Drive_Axle_Lift_Air_Pressure : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Drive_Axle_Temperature : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Drive_Axle_Lube_Pressure : 32|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Steering_Axle_Lube_Pressure : 56|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164193792 B: 8 Vector__XXX SG_ Brake_Application_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Primary_Pressure : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Brake_Secondary_Pressure : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Parking_Brake_Actuator : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Parking_Brake_Red_Warning_Signal : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Park_Brake_Release_Inhibit_Statu : 28|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2164194048 RF: 8 Vector__XXX SG_ Hydraulic_Retarder_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Hydraulic_Retarder_Oil_Temperatu : 8|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164194304 DD: 8 Vector__XXX SG_ Washer_Fluid_Level : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Fuel_Level_1 : 8|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Fuel_Filter_Differential_ : 16|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Oil_Filter_Differential_P : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Cargo_Ambient_Temperature : 32|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Fuel_Level_2 : 48|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164194560 A1: 8 Vector__XXX SG_ Engine_Blower_Bypass_Valve_Posit : 0|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Engine_Gas_Supply_Pressure : 8|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2164194816 AWPP: 8 Vector__XXX SG_ Auxiliary_Pump_Pressure : 0|8@1+ (1,0) [0|255] "" Vector__XXX BO_ 2164195072 WFI: 8 Vector__XXX SG_ Water_In_Fuel_Indicator : 0|2@1+ (1,0) [0|3] "" Vector__XXX BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","StandardCAN_FD","ExtendedCAN_FD","J1939PG"; BA_DEF_ SG_ "SPN" INT 0 524287; BA_DEF_ SG_ "SystemSignalLongSymbol" STRING; BA_DEF_ "ProtocolType" STRING; BA_ "ProtocolType" "J1939"; BA_ "VFrameFormat" BO_ 2147483648 4; BA_ "VFrameFormat" BO_ 2147549184 4; BA_ "VFrameFormat" BO_ 2147745792 4; BA_ "VFrameFormat" BO_ 2147942400 4; BA_ "VFrameFormat" BO_ 2148007936 4; BA_ "VFrameFormat" BO_ 2157641728 4; BA_ "VFrameFormat" BO_ 2157707264 4; BA_ "VFrameFormat" BO_ 2157772800 4; BA_ "VFrameFormat" BO_ 2158297088 4; BA_ "VFrameFormat" BO_ 2158362624 4; BA_ "VFrameFormat" BO_ 2158428160 4; BA_ "VFrameFormat" BO_ 2158493696 4; BA_ "VFrameFormat" BO_ 2158559232 4; BA_ "VFrameFormat" BO_ 2158886912 4; BA_ "VFrameFormat" BO_ 2161049600 4; BA_ "VFrameFormat" BO_ 2161115136 4; BA_ "VFrameFormat" BO_ 2161180672 4; BA_ "VFrameFormat" BO_ 2161246208 4; BA_ "VFrameFormat" BO_ 2161442816 4; BA_ "VFrameFormat" BO_ 2161901568 4; BA_ "VFrameFormat" BO_ 2161967104 4; BA_ "VFrameFormat" BO_ 2162032640 4; BA_ "VFrameFormat" BO_ 2162163712 4; BA_ "VFrameFormat" BO_ 2163212288 4; BA_ "VFrameFormat" BO_ 2163212544 4; BA_ "VFrameFormat" BO_ 2163212800 4; BA_ "VFrameFormat" BO_ 2163213056 4; BA_ "VFrameFormat" BO_ 2163213312 4; BA_ "VFrameFormat" BO_ 2163213568 4; BA_ "VFrameFormat" BO_ 2163213824 4; BA_ "VFrameFormat" BO_ 2163214080 4; BA_ "VFrameFormat" BO_ 2163214336 4; BA_ "VFrameFormat" BO_ 2163214592 4; BA_ "VFrameFormat" BO_ 2163214848 4; BA_ "VFrameFormat" BO_ 2163215104 4; BA_ "VFrameFormat" BO_ 2163215360 4; BA_ "VFrameFormat" BO_ 2163215616 4; BA_ "VFrameFormat" BO_ 2163215872 4; BA_ "VFrameFormat" BO_ 2163216128 4; BA_ "VFrameFormat" BO_ 2163216384 4; BA_ "VFrameFormat" BO_ 2163216640 4; BA_ "VFrameFormat" BO_ 2163216896 4; BA_ "VFrameFormat" BO_ 2163217152 4; BA_ "VFrameFormat" BO_ 2163217408 4; BA_ "VFrameFormat" BO_ 2163217920 4; BA_ "VFrameFormat" BO_ 2163218176 4; BA_ "VFrameFormat" BO_ 2163218432 4; BA_ "VFrameFormat" BO_ 2163218688 4; BA_ "VFrameFormat" BO_ 2163218944 4; BA_ "VFrameFormat" BO_ 2163219712 4; BA_ "VFrameFormat" BO_ 2163220736 4; BA_ "VFrameFormat" BO_ 2163221248 4; BA_ "VFrameFormat" BO_ 2163221504 4; BA_ "VFrameFormat" BO_ 2163221760 4; BA_ "VFrameFormat" BO_ 2163222016 4; BA_ "VFrameFormat" BO_ 2163222272 4; BA_ "VFrameFormat" BO_ 2163222528 4; BA_ "VFrameFormat" BO_ 2164073216 4; BA_ "VFrameFormat" BO_ 2164073472 4; BA_ "VFrameFormat" BO_ 2164073728 4; BA_ "VFrameFormat" BO_ 2164073984 4; BA_ "VFrameFormat" BO_ 2164074240 4; BA_ "VFrameFormat" BO_ 2164074496 4; BA_ "VFrameFormat" BO_ 2164074752 4; BA_ "VFrameFormat" BO_ 2164075008 4; BA_ "VFrameFormat" BO_ 2164075264 4; BA_ "VFrameFormat" BO_ 2164075520 4; BA_ "VFrameFormat" BO_ 2164075776 4; BA_ "VFrameFormat" BO_ 2164076032 4; BA_ "VFrameFormat" BO_ 2164076288 4; BA_ "VFrameFormat" BO_ 2164076544 4; BA_ "VFrameFormat" BO_ 2164076800 4; BA_ "VFrameFormat" BO_ 2164077312 4; BA_ "VFrameFormat" BO_ 2164077568 4; BA_ "VFrameFormat" BO_ 2164077824 4; BA_ "VFrameFormat" BO_ 2164078080 4; BA_ "VFrameFormat" BO_ 2164078336 4; BA_ "VFrameFormat" BO_ 2164078592 4; BA_ "VFrameFormat" BO_ 2164078848 4; BA_ "VFrameFormat" BO_ 2164079104 4; BA_ "VFrameFormat" BO_ 2164079360 4; BA_ "VFrameFormat" BO_ 2164079616 4; BA_ "VFrameFormat" BO_ 2164079872 4; BA_ "VFrameFormat" BO_ 2164080128 4; BA_ "VFrameFormat" BO_ 2164080384 4; BA_ "VFrameFormat" BO_ 2164080640 4; BA_ "VFrameFormat" BO_ 2164080896 4; BA_ "VFrameFormat" BO_ 2164081664 4; BA_ "VFrameFormat" BO_ 2164081920 4; BA_ "VFrameFormat" BO_ 2164082176 4; BA_ "VFrameFormat" BO_ 2164082432 4; BA_ "VFrameFormat" BO_ 2164082688 4; BA_ "VFrameFormat" BO_ 2164082944 4; BA_ "VFrameFormat" BO_ 2164084992 4; BA_ "VFrameFormat" BO_ 2164085248 4; BA_ "VFrameFormat" BO_ 2164085504 4; BA_ "VFrameFormat" BO_ 2164090112 4; BA_ "VFrameFormat" BO_ 2164090368 4; BA_ "VFrameFormat" BO_ 2164090624 4; BA_ "VFrameFormat" BO_ 2164090880 4; BA_ "VFrameFormat" BO_ 2164091136 4; BA_ "VFrameFormat" BO_ 2164091392 4; BA_ "VFrameFormat" BO_ 2164091648 4; BA_ "VFrameFormat" BO_ 2164091904 4; BA_ "VFrameFormat" BO_ 2164092160 4; BA_ "VFrameFormat" BO_ 2164092416 4; BA_ "VFrameFormat" BO_ 2164092672 4; BA_ "VFrameFormat" BO_ 2164092928 4; BA_ "VFrameFormat" BO_ 2164093184 4; BA_ "VFrameFormat" BO_ 2164093440 4; BA_ "VFrameFormat" BO_ 2164093696 4; BA_ "VFrameFormat" BO_ 2164093952 4; BA_ "VFrameFormat" BO_ 2164094208 4; BA_ "VFrameFormat" BO_ 2164094464 4; BA_ "VFrameFormat" BO_ 2164094720 4; BA_ "VFrameFormat" BO_ 2164094976 4; BA_ "VFrameFormat" BO_ 2164095232 4; BA_ "VFrameFormat" BO_ 2164095488 4; BA_ "VFrameFormat" BO_ 2164095744 4; BA_ "VFrameFormat" BO_ 2164096000 4; BA_ "VFrameFormat" BO_ 2164096512 4; BA_ "VFrameFormat" BO_ 2164096768 4; BA_ "VFrameFormat" BO_ 2164097280 4; BA_ "VFrameFormat" BO_ 2164097792 4; BA_ "VFrameFormat" BO_ 2164098048 4; BA_ "VFrameFormat" BO_ 2164098304 4; BA_ "VFrameFormat" BO_ 2164098560 4; BA_ "VFrameFormat" BO_ 2164098816 4; BA_ "VFrameFormat" BO_ 2164099072 4; BA_ "VFrameFormat" BO_ 2164099328 4; BA_ "VFrameFormat" BO_ 2164099584 4; BA_ "VFrameFormat" BO_ 2164099840 4; BA_ "VFrameFormat" BO_ 2164100096 4; BA_ "VFrameFormat" BO_ 2164101120 4; BA_ "VFrameFormat" BO_ 2164101632 4; BA_ "VFrameFormat" BO_ 2164102144 4; BA_ "VFrameFormat" BO_ 2164102400 4; BA_ "VFrameFormat" BO_ 2164103168 4; BA_ "VFrameFormat" BO_ 2164103424 4; BA_ "VFrameFormat" BO_ 2164103936 4; BA_ "VFrameFormat" BO_ 2164104192 4; BA_ "VFrameFormat" BO_ 2164104448 4; BA_ "VFrameFormat" BO_ 2164104704 4; BA_ "VFrameFormat" BO_ 2164104960 4; BA_ "VFrameFormat" BO_ 2164105216 4; BA_ "VFrameFormat" BO_ 2164105472 4; BA_ "VFrameFormat" BO_ 2164105728 4; BA_ "VFrameFormat" BO_ 2164105984 4; BA_ "VFrameFormat" BO_ 2164106240 4; BA_ "VFrameFormat" BO_ 2164106496 4; BA_ "VFrameFormat" BO_ 2164107264 4; BA_ "VFrameFormat" BO_ 2164107520 4; BA_ "VFrameFormat" BO_ 2164107776 4; BA_ "VFrameFormat" BO_ 2164108800 4; BA_ "VFrameFormat" BO_ 2164109056 4; BA_ "VFrameFormat" BO_ 2164109312 4; BA_ "VFrameFormat" BO_ 2164109568 4; BA_ "VFrameFormat" BO_ 2164109824 4; BA_ "VFrameFormat" BO_ 2164110080 4; BA_ "VFrameFormat" BO_ 2164110336 4; BA_ "VFrameFormat" BO_ 2164111616 4; BA_ "VFrameFormat" BO_ 2164111872 4; BA_ "VFrameFormat" BO_ 2164112128 4; BA_ "VFrameFormat" BO_ 2164112384 4; BA_ "VFrameFormat" BO_ 2164112640 4; BA_ "VFrameFormat" BO_ 2164112896 4; BA_ "VFrameFormat" BO_ 2164113152 4; BA_ "VFrameFormat" BO_ 2164113408 4; BA_ "VFrameFormat" BO_ 2164113664 4; BA_ "VFrameFormat" BO_ 2164114432 4; BA_ "VFrameFormat" BO_ 2164114688 4; BA_ "VFrameFormat" BO_ 2164114944 4; BA_ "VFrameFormat" BO_ 2164115200 4; BA_ "VFrameFormat" BO_ 2164115456 4; BA_ "VFrameFormat" BO_ 2164115712 4; BA_ "VFrameFormat" BO_ 2164115968 4; BA_ "VFrameFormat" BO_ 2164116224 4; BA_ "VFrameFormat" BO_ 2164116480 4; BA_ "VFrameFormat" BO_ 2164116736 4; BA_ "VFrameFormat" BO_ 2164117504 4; BA_ "VFrameFormat" BO_ 2164117760 4; BA_ "VFrameFormat" BO_ 2164118016 4; BA_ "VFrameFormat" BO_ 2164118272 4; BA_ "VFrameFormat" BO_ 2164118528 4; BA_ "VFrameFormat" BO_ 2164118784 4; BA_ "VFrameFormat" BO_ 2164119040 4; BA_ "VFrameFormat" BO_ 2164119296 4; BA_ "VFrameFormat" BO_ 2164119552 4; BA_ "VFrameFormat" BO_ 2164119808 4; BA_ "VFrameFormat" BO_ 2164120064 4; BA_ "VFrameFormat" BO_ 2164120320 4; BA_ "VFrameFormat" BO_ 2164120576 4; BA_ "VFrameFormat" BO_ 2164121344 4; BA_ "VFrameFormat" BO_ 2164121600 4; BA_ "VFrameFormat" BO_ 2164121856 4; BA_ "VFrameFormat" BO_ 2164122112 4; BA_ "VFrameFormat" BO_ 2164122368 4; BA_ "VFrameFormat" BO_ 2164122624 4; BA_ "VFrameFormat" BO_ 2164122880 4; BA_ "VFrameFormat" BO_ 2164123136 4; BA_ "VFrameFormat" BO_ 2164131584 4; BA_ "VFrameFormat" BO_ 2164146176 4; BA_ "VFrameFormat" BO_ 2164146432 4; BA_ "VFrameFormat" BO_ 2164148736 4; BA_ "VFrameFormat" BO_ 2164148992 4; BA_ "VFrameFormat" BO_ 2164149248 4; BA_ "VFrameFormat" BO_ 2164149504 4; BA_ "VFrameFormat" BO_ 2164149760 4; BA_ "VFrameFormat" BO_ 2164150016 4; BA_ "VFrameFormat" BO_ 2164150272 4; BA_ "VFrameFormat" BO_ 2164150528 4; BA_ "VFrameFormat" BO_ 2164150784 4; BA_ "VFrameFormat" BO_ 2164151040 4; BA_ "VFrameFormat" BO_ 2164151296 4; BA_ "VFrameFormat" BO_ 2164151552 4; BA_ "VFrameFormat" BO_ 2164151808 4; BA_ "VFrameFormat" BO_ 2164152064 4; BA_ "VFrameFormat" BO_ 2164152320 4; BA_ "VFrameFormat" BO_ 2164152576 4; BA_ "VFrameFormat" BO_ 2164152832 4; BA_ "VFrameFormat" BO_ 2164153088 4; BA_ "VFrameFormat" BO_ 2164155904 4; BA_ "VFrameFormat" BO_ 2164156160 4; BA_ "VFrameFormat" BO_ 2164156416 4; BA_ "VFrameFormat" BO_ 2164156672 4; BA_ "VFrameFormat" BO_ 2164156928 4; BA_ "VFrameFormat" BO_ 2164157184 4; BA_ "VFrameFormat" BO_ 2164157440 4; BA_ "VFrameFormat" BO_ 2164157696 4; BA_ "VFrameFormat" BO_ 2164157952 4; BA_ "VFrameFormat" BO_ 2164158208 4; BA_ "VFrameFormat" BO_ 2164158464 4; BA_ "VFrameFormat" BO_ 2164158720 4; BA_ "VFrameFormat" BO_ 2164158976 4; BA_ "VFrameFormat" BO_ 2164159232 4; BA_ "VFrameFormat" BO_ 2164159488 4; BA_ "VFrameFormat" BO_ 2164159744 4; BA_ "VFrameFormat" BO_ 2164160000 4; BA_ "VFrameFormat" BO_ 2164160256 4; BA_ "VFrameFormat" BO_ 2164160512 4; BA_ "VFrameFormat" BO_ 2164160768 4; BA_ "VFrameFormat" BO_ 2164161024 4; BA_ "VFrameFormat" BO_ 2164161280 4; BA_ "VFrameFormat" BO_ 2164161536 4; BA_ "VFrameFormat" BO_ 2164161792 4; BA_ "VFrameFormat" BO_ 2164162048 4; BA_ "VFrameFormat" BO_ 2164162304 4; BA_ "VFrameFormat" BO_ 2164162560 4; BA_ "VFrameFormat" BO_ 2164162816 4; BA_ "VFrameFormat" BO_ 2164163072 4; BA_ "VFrameFormat" BO_ 2164163328 4; BA_ "VFrameFormat" BO_ 2164163584 4; BA_ "VFrameFormat" BO_ 2164163840 4; BA_ "VFrameFormat" BO_ 2164164096 4; BA_ "VFrameFormat" BO_ 2164164352 4; BA_ "VFrameFormat" BO_ 2164164608 4; BA_ "VFrameFormat" BO_ 2164164864 4; BA_ "VFrameFormat" BO_ 2164165120 4; BA_ "VFrameFormat" BO_ 2164165376 4; BA_ "VFrameFormat" BO_ 2164165632 4; BA_ "VFrameFormat" BO_ 2164165888 4; BA_ "VFrameFormat" BO_ 2164166144 4; BA_ "VFrameFormat" BO_ 2164166400 4; BA_ "VFrameFormat" BO_ 2164166656 4; BA_ "VFrameFormat" BO_ 2164166912 4; BA_ "VFrameFormat" BO_ 2164167168 4; BA_ "VFrameFormat" BO_ 2164167424 4; BA_ "VFrameFormat" BO_ 2164167680 4; BA_ "VFrameFormat" BO_ 2164167936 4; BA_ "VFrameFormat" BO_ 2164168192 4; BA_ "VFrameFormat" BO_ 2164168448 4; BA_ "VFrameFormat" BO_ 2164168704 4; BA_ "VFrameFormat" BO_ 2164168960 4; BA_ "VFrameFormat" BO_ 2164169216 4; BA_ "VFrameFormat" BO_ 2164169472 4; BA_ "VFrameFormat" BO_ 2164169728 4; BA_ "VFrameFormat" BO_ 2164169984 4; BA_ "VFrameFormat" BO_ 2164170240 4; BA_ "VFrameFormat" BO_ 2164170496 4; BA_ "VFrameFormat" BO_ 2164170752 4; BA_ "VFrameFormat" BO_ 2164171008 4; BA_ "VFrameFormat" BO_ 2164171264 4; BA_ "VFrameFormat" BO_ 2164171520 4; BA_ "VFrameFormat" BO_ 2164171776 4; BA_ "VFrameFormat" BO_ 2164172032 4; BA_ "VFrameFormat" BO_ 2164172288 4; BA_ "VFrameFormat" BO_ 2164172544 4; BA_ "VFrameFormat" BO_ 2164172800 4; BA_ "VFrameFormat" BO_ 2164173056 4; BA_ "VFrameFormat" BO_ 2164173312 4; BA_ "VFrameFormat" BO_ 2164173568 4; BA_ "VFrameFormat" BO_ 2164173824 4; BA_ "VFrameFormat" BO_ 2164174080 4; BA_ "VFrameFormat" BO_ 2164174336 4; BA_ "VFrameFormat" BO_ 2164174592 4; BA_ "VFrameFormat" BO_ 2164174848 4; BA_ "VFrameFormat" BO_ 2164175104 4; BA_ "VFrameFormat" BO_ 2164175360 4; BA_ "VFrameFormat" BO_ 2164175616 4; BA_ "VFrameFormat" BO_ 2164175872 4; BA_ "VFrameFormat" BO_ 2164176128 4; BA_ "VFrameFormat" BO_ 2164176384 4; BA_ "VFrameFormat" BO_ 2164176640 4; BA_ "VFrameFormat" BO_ 2164176896 4; BA_ "VFrameFormat" BO_ 2164177152 4; BA_ "VFrameFormat" BO_ 2164177408 4; BA_ "VFrameFormat" BO_ 2164177664 4; BA_ "VFrameFormat" BO_ 2164177920 4; BA_ "VFrameFormat" BO_ 2164178176 4; BA_ "VFrameFormat" BO_ 2164178432 4; BA_ "VFrameFormat" BO_ 2164178688 4; BA_ "VFrameFormat" BO_ 2164178944 4; BA_ "VFrameFormat" BO_ 2164179200 4; BA_ "VFrameFormat" BO_ 2164179456 4; BA_ "VFrameFormat" BO_ 2164179712 4; BA_ "VFrameFormat" BO_ 2164180224 4; BA_ "VFrameFormat" BO_ 2164180736 4; BA_ "VFrameFormat" BO_ 2164184320 4; BA_ "VFrameFormat" BO_ 2164185344 4; BA_ "VFrameFormat" BO_ 2164185600 4; BA_ "VFrameFormat" BO_ 2164185856 4; BA_ "VFrameFormat" BO_ 2164186112 4; BA_ "VFrameFormat" BO_ 2164186368 4; BA_ "VFrameFormat" BO_ 2164186624 4; BA_ "VFrameFormat" BO_ 2164186880 4; BA_ "VFrameFormat" BO_ 2164187136 4; BA_ "VFrameFormat" BO_ 2164187392 4; BA_ "VFrameFormat" BO_ 2164187648 4; BA_ "VFrameFormat" BO_ 2164187904 4; BA_ "VFrameFormat" BO_ 2164188160 4; BA_ "VFrameFormat" BO_ 2164188416 4; BA_ "VFrameFormat" BO_ 2164188672 4; BA_ "VFrameFormat" BO_ 2164188928 4; BA_ "VFrameFormat" BO_ 2164189184 4; BA_ "VFrameFormat" BO_ 2164189440 4; BA_ "VFrameFormat" BO_ 2164189696 4; BA_ "VFrameFormat" BO_ 2164189952 4; BA_ "VFrameFormat" BO_ 2164190208 4; BA_ "VFrameFormat" BO_ 2164190464 4; BA_ "VFrameFormat" BO_ 2164190720 4; BA_ "VFrameFormat" BO_ 2164190976 4; BA_ "VFrameFormat" BO_ 2164191232 4; BA_ "VFrameFormat" BO_ 2164191488 4; BA_ "VFrameFormat" BO_ 2164191744 4; BA_ "VFrameFormat" BO_ 2164192000 4; BA_ "VFrameFormat" BO_ 2164192256 4; BA_ "VFrameFormat" BO_ 2164192512 4; BA_ "VFrameFormat" BO_ 2164192768 4; BA_ "VFrameFormat" BO_ 2164193024 4; BA_ "VFrameFormat" BO_ 2164193280 4; BA_ "VFrameFormat" BO_ 2164193536 4; BA_ "VFrameFormat" BO_ 2164193792 4; BA_ "VFrameFormat" BO_ 2164194048 4; BA_ "VFrameFormat" BO_ 2164194304 4; BA_ "VFrameFormat" BO_ 2164194560 4; BA_ "VFrameFormat" BO_ 2164194816 4; BA_ "VFrameFormat" BO_ 2164195072 4; BA_ "SPN" SG_ 2147483648 Engine_Override_Control_Mode 695; BA_ "SPN" SG_ 2147483648 Engine_Requested_Speed_Control_C 696; BA_ "SystemSignalLongSymbol" SG_ 2147483648 Engine_Requested_Speed_Control_C "Engine Requested Speed Control Conditions"; BA_ "SPN" SG_ 2147483648 Override_Control_Mode_Priority 897; BA_ "SPN" SG_ 2147483648 Engine_Requested_Speed_Speed_Lim 898; BA_ "SystemSignalLongSymbol" SG_ 2147483648 Engine_Requested_Speed_Speed_Lim "Engine Requested Speed/Speed Limit"; BA_ "SPN" SG_ 2147483648 Engine_Requested_Torque_Torque_L 518; BA_ "SystemSignalLongSymbol" SG_ 2147483648 Engine_Requested_Torque_Torque_L "Engine Requested Torque/Torque Limit"; BA_ "SPN" SG_ 2147483648 TSC1_Transmission_Rate 3349; BA_ "SPN" SG_ 2147483648 TSC1_Control_Purpose 3350; BA_ "SPN" SG_ 2147483648 Engine_Requested_Torque___High_ 4191; BA_ "SystemSignalLongSymbol" SG_ 2147483648 Engine_Requested_Torque___High_ "Engine Requested Torque - High Resolution"; BA_ "SPN" SG_ 2147483648 Message_Counter 4206; BA_ "SPN" SG_ 2147483648 Message_Checksum 4207; BA_ "SPN" SG_ 2147549184 Transmission_Gear_Shift_Inhibit_ 681; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Transmission_Gear_Shift_Inhibit_ "Transmission Gear Shift Inhibit Request"; BA_ "SPN" SG_ 2147549184 Transmission_Torque_Converter_Lo 682; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Transmission_Torque_Converter_Lo "Transmission Torque Converter Lockup Disable Request"; BA_ "SPN" SG_ 2147549184 Disengage_Driveline_Request 683; BA_ "SPN" SG_ 2147549184 Transmission_Reverse_Gear_Shift_ 4242; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Transmission_Reverse_Gear_Shift_ "Transmission Reverse Gear Shift Inhibit Request"; BA_ "SPN" SG_ 2147549184 Requested_Percent_Clutch_Slip 684; BA_ "SPN" SG_ 2147549184 Transmission_Requested_Gear 525; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ0 685; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ0 "Disengage Differential Lock Request - Front Axle 1"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ1 686; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ1 "Disengage Differential Lock Request - Front Axle 2"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ2 687; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ2 "Disengage Differential Lock Request - Rear Axle 1"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ3 688; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ3 "Disengage Differential Lock Request - Rear Axle 2"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ4 689; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ4 "Disengage Differential Lock Request - Central"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ5 690; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ5 "Disengage Differential Lock Request - Central Front"; BA_ "SPN" SG_ 2147549184 Disengage_Differential_Lock_Requ6 691; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Disengage_Differential_Lock_Requ6 "Disengage Differential Lock Request - Central Rear"; BA_ "SPN" SG_ 2147549184 Transmission_Mode_1 1852; BA_ "SPN" SG_ 2147549184 Transmission_Mode_2 1853; BA_ "SPN" SG_ 2147549184 Transmission_Mode_3 1854; BA_ "SPN" SG_ 2147549184 Transmission_Mode_4 1855; BA_ "SPN" SG_ 2147549184 Transmission_Requested_Launch_Ge 4255; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Transmission_Requested_Launch_Ge "Transmission Requested Launch Gear"; BA_ "SPN" SG_ 2147549184 Transmission_Shift_Selector_Disp 2985; BA_ "SystemSignalLongSymbol" SG_ 2147549184 Transmission_Shift_Selector_Disp "Transmission Shift Selector Display Mode Switch"; BA_ "SPN" SG_ 2147549184 Transmission_Mode_5 4246; BA_ "SPN" SG_ 2147549184 Transmission_Mode_6 4247; BA_ "SPN" SG_ 2147549184 Transmission_Mode_7 4248; BA_ "SPN" SG_ 2147549184 Transmission_Mode_8 4249; BA_ "SPN" SG_ 2147745792 External_Acceleration_Demand 2920; BA_ "SPN" SG_ 2147745792 XBR_EBI_Mode 2914; BA_ "SPN" SG_ 2147745792 XBR_Priority 2915; BA_ "SPN" SG_ 2147745792 XBR_Control_Mode 2916; BA_ "SPN" SG_ 2147745792 XBR_urgency 4099; BA_ "SPN" SG_ 2147745792 XBR_Message_Counter 3189; BA_ "SPN" SG_ 2147745792 XBR_Message_Checksum 3188; BA_ "SPN" SG_ 2147942400 Valve_Load_Sense_Pressure 4086; BA_ "SPN" SG_ 2147942400 Valve_Pilot_Pressure 4087; BA_ "SPN" SG_ 2147942400 Valve_Assembly_Load_sense_Pressu 4088; BA_ "SystemSignalLongSymbol" SG_ 2147942400 Valve_Assembly_Load_sense_Pressu "Valve Assembly Load sense Pressure"; BA_ "SPN" SG_ 2147942400 Valve_Assembly_Supply_Pressure 4089; BA_ "SPN" SG_ 2148007936 Auxiliary_I_O_Channel__6 4155; BA_ "SPN" SG_ 2148007936 Auxiliary_I_O_Channel__5 4156; BA_ "SPN" SG_ 2148007936 Auxiliary_I_O_Channel__4 4157; BA_ "SPN" SG_ 2148007936 Auxiliary_I_O_Channel__3 4158; BA_ "SPN" SG_ 2157641728 Data_Dictionary_Manufacturer_Cod 4180; BA_ "SystemSignalLongSymbol" SG_ 2157641728 Data_Dictionary_Manufacturer_Cod "Data Dictionary Manufacturer Code"; BA_ "SPN" SG_ 2157641728 Data_Dictionary_Method 4181; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__18 4167; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__17 4168; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__16 4169; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__15 4170; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__22 4171; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__21 4172; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__20 4173; BA_ "SPN" SG_ 2157707264 Auxiliary_I_O_Channel__19 4174; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__10 4159; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__9 4160; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__8 4161; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__7 4162; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__14 4163; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__13 4164; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__12 4165; BA_ "SPN" SG_ 2157772800 Auxiliary_I_O_Channel__11 4166; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__84 3907; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__83 3906; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__82 3905; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__81 3904; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__88 3911; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__87 3910; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__86 3909; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__85 3908; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__92 3915; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__91 3914; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__90 3913; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__89 3912; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__96 3919; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__95 3918; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__94 3917; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__93 3916; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__100 3923; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__99 3922; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__98 3921; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__97 3920; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__104 3927; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__103 3926; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__102 3925; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__101 3924; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__108 3931; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__107 3930; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__106 3929; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__105 3928; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__112 3935; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__111 3934; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__110 3933; BA_ "SPN" SG_ 2158297088 Auxiliary_I_O__109 3932; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__52 3875; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__51 3874; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__50 3873; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__49 3872; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__56 3879; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__55 3878; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__54 3877; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__53 3876; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__60 3883; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__59 3882; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__58 3881; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__57 3880; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__64 3887; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__63 3886; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__62 3885; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__61 3884; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__68 3891; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__67 3890; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__66 3889; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__65 3888; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__72 3895; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__71 3894; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__70 3893; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__69 3892; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__76 3899; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__75 3898; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__74 3897; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__73 3896; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__80 3903; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__79 3902; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__78 3901; BA_ "SPN" SG_ 2158362624 Auxiliary_I_O__77 3900; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__20 3843; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__19 3842; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__18 3841; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__17 3840; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__24 3847; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__23 3846; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__22 3845; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__21 3844; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__28 3851; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__27 3850; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__26 3849; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__25 3848; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__32 3855; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__31 3854; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__30 3853; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__29 3852; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__36 3859; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__35 3858; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__34 3857; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__33 3856; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__40 3863; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__39 3862; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__38 3861; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__37 3860; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__44 3867; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__43 3866; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__42 3865; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__41 3864; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__48 3871; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__47 3870; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__46 3869; BA_ "SPN" SG_ 2158428160 Auxiliary_I_O__45 3868; BA_ "SPN" SG_ 2158493696 Text_Display_Instructions 3613; BA_ "SPN" SG_ 2158493696 Text_Display_Index 3614; BA_ "SPN" SG_ 2158493696 Text_Display_Character 3615; BA_ "SPN" SG_ 2158559232 Lane_Departure_Warning_Enable_Co 3564; BA_ "SystemSignalLongSymbol" SG_ 2158559232 Lane_Departure_Warning_Enable_Co "Lane Departure Warning Enable Command"; BA_ "SPN" SG_ 2158886912 Tire_Location 3192; BA_ "SPN" SG_ 2158886912 Reference_Tire_Pressure_Setting 3193; BA_ "SPN" SG_ 2161049600 Engine_Speed_Limit_Request___Min 1784; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Engine_Speed_Limit_Request___Min "Engine Speed Limit Request - Minimum Continuous"; BA_ "SPN" SG_ 2161049600 Engine_Speed_Limit_Request___Max 1785; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Engine_Speed_Limit_Request___Max "Engine Speed Limit Request - Maximum Continuous"; BA_ "SPN" SG_ 2161049600 Engine_Torque_Limit_Request___Mi 1786; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Engine_Torque_Limit_Request___Mi "Engine Torque Limit Request - Minimum Continuous"; BA_ "SPN" SG_ 2161049600 Engine_Torque_Limit_Request___Ma 1787; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Engine_Torque_Limit_Request___Ma "Engine Torque Limit Request - Maximum Continuous"; BA_ "SPN" SG_ 2161049600 Minimum_Continuous_Retarder_Spee 1788; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Minimum_Continuous_Retarder_Spee "Minimum Continuous Retarder Speed Limit Request"; BA_ "SPN" SG_ 2161049600 Maximum_Continuous_Retarder_Spee 1789; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Maximum_Continuous_Retarder_Spee "Maximum Continuous Retarder Speed Limit Request"; BA_ "SPN" SG_ 2161049600 Minimum_Continuous_Retarder_Torq 1790; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Minimum_Continuous_Retarder_Torq "Minimum Continuous Retarder Torque Limit Request"; BA_ "SPN" SG_ 2161049600 Maximum_Continuous_Retarder_Torq 1791; BA_ "SystemSignalLongSymbol" SG_ 2161049600 Maximum_Continuous_Retarder_Torq "Maximum Continuous Retarder Torque Limit Request"; BA_ "SPN" SG_ 2161115136 Illumination_Brightness_Percent 1487; BA_ "SPN" SG_ 2161180672 Level_Preset_Front_Axle_Left 1732; BA_ "SPN" SG_ 2161180672 Level_Preset_Front_Axle_Right 1757; BA_ "SPN" SG_ 2161180672 Level_Preset_Rear_Axle_Left 1758; BA_ "SPN" SG_ 2161180672 Level_Preset_Rear_Axle_Right 1735; BA_ "SPN" SG_ 2161246208 Automatic_traction_help__load_tr 2984; BA_ "SystemSignalLongSymbol" SG_ 2161246208 Automatic_traction_help__load_tr "Automatic traction help (load transfer)"; BA_ "SPN" SG_ 2161246208 Kneeling_Request_Left_Side 1749; BA_ "SPN" SG_ 2161246208 Kneeling_Request_Right_Side 1748; BA_ "SPN" SG_ 2161246208 Kneeling_Control_Mode_Request 1747; BA_ "SPN" SG_ 2161246208 Nominal_Level_Request_Front_Axle 1751; BA_ "SPN" SG_ 2161246208 Nominal_Level_Request_Rear_Axle 1750; BA_ "SPN" SG_ 2161246208 Level_Control_Mode_Request 1753; BA_ "SPN" SG_ 2161246208 Lift_Axle_1_Position_Command 1752; BA_ "SPN" SG_ 2161246208 Lift_Axle_2_Position_Command 1828; BA_ "SPN" SG_ 2161246208 Damper_Stiffness_Request_Front_A 1718; BA_ "SystemSignalLongSymbol" SG_ 2161246208 Damper_Stiffness_Request_Front_A "Damper Stiffness Request Front Axle"; BA_ "SPN" SG_ 2161246208 Damper_Stiffness_Request_Rear_Ax 1719; BA_ "SystemSignalLongSymbol" SG_ 2161246208 Damper_Stiffness_Request_Rear_Ax "Damper Stiffness Request Rear Axle"; BA_ "SPN" SG_ 2161246208 Damper_Stiffness_Request_Lift___ 1720; BA_ "SystemSignalLongSymbol" SG_ 2161246208 Damper_Stiffness_Request_Lift___ "Damper Stiffness Request Lift / Tag Axle"; BA_ "SPN" SG_ 2161246208 Kneeling_Command___Front_Axle 1830; BA_ "SPN" SG_ 2161246208 Kneeling_Command___Rear_Axle 1829; BA_ "SPN" SG_ 2161246208 Prohibit_air_suspension_control 3215; BA_ "SPN" SG_ 2161442816 Adjust_seconds 1603; BA_ "SPN" SG_ 2161442816 Adjust_minutes 1604; BA_ "SPN" SG_ 2161442816 Adjust_hours 1605; BA_ "SPN" SG_ 2161442816 Adjust_month 1606; BA_ "SPN" SG_ 2161442816 Adjust_day 1607; BA_ "SPN" SG_ 2161442816 Adjust_year 1608; BA_ "SPN" SG_ 2161442816 Adjust_local_minute_offset 1609; BA_ "SPN" SG_ 2161442816 Adjust_local_hour_offset 1610; BA_ "SPN" SG_ 2161901568 Anti_theft_Encryption_Seed_Prese 1194; BA_ "SystemSignalLongSymbol" SG_ 2161901568 Anti_theft_Encryption_Seed_Prese "Anti-theft Encryption Seed Present Indicator"; BA_ "SPN" SG_ 2161901568 Anti_theft_Password_Valid_Indica 1195; BA_ "SystemSignalLongSymbol" SG_ 2161901568 Anti_theft_Password_Valid_Indica "Anti-theft Password Valid Indicator"; BA_ "SPN" SG_ 2161901568 Anti_theft_Component_Status_Stat 1196; BA_ "SystemSignalLongSymbol" SG_ 2161901568 Anti_theft_Component_Status_Stat "Anti-theft Component Status States"; BA_ "SPN" SG_ 2161901568 Anti_theft_Modify_Password_State 1197; BA_ "SystemSignalLongSymbol" SG_ 2161901568 Anti_theft_Modify_Password_State "Anti-theft Modify Password States"; BA_ "SPN" SG_ 2161901568 Anti_theft_Random_Number 1198; BA_ "SPN" SG_ 2161967104 Anti_theft_Encryption_Indicator_ 1199; BA_ "SystemSignalLongSymbol" SG_ 2161967104 Anti_theft_Encryption_Indicator_ "Anti-theft Encryption Indicator States"; BA_ "SPN" SG_ 2161967104 Anti_theft_Desired_Exit_Mode_Sta 1200; BA_ "SystemSignalLongSymbol" SG_ 2161967104 Anti_theft_Desired_Exit_Mode_Sta "Anti-theft Desired Exit Mode States"; BA_ "SPN" SG_ 2161967104 Anti_theft_Command_States 1201; BA_ "SPN" SG_ 2161967104 Anti_theft_Password_Representati 1202; BA_ "SystemSignalLongSymbol" SG_ 2161967104 Anti_theft_Password_Representati "Anti-theft Password Representation"; BA_ "SPN" SG_ 2162032640 Trip_Group_1 988; BA_ "SPN" SG_ 2162032640 Trip_Group_2___Proprietary 989; BA_ "SPN" SG_ 2162032640 Service_Component_Identification 1584; BA_ "SPN" SG_ 2162032640 Engine_Build_Hours_Reset 1211; BA_ "SPN" SG_ 2162032640 Steering_Straight_Ahead_Position 3600; BA_ "SystemSignalLongSymbol" SG_ 2162032640 Steering_Straight_Ahead_Position "Steering Straight Ahead Position Reset"; BA_ "SPN" SG_ 2162163712 Requested_Percent_Fan_Speed 986; BA_ "SPN" SG_ 2162163712 Cab_Interior_Temperature_Command 1691; BA_ "SPN" SG_ 2162163712 Auxiliary_Heater_Coolant_Pump_Re 1684; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Auxiliary_Heater_Coolant_Pump_Re "Auxiliary Heater Coolant Pump Request"; BA_ "SPN" SG_ 2162163712 Battery_Main_Switch_Hold_Request 1682; BA_ "SPN" SG_ 2162163712 Operator_Seat_Direction_Switch 1714; BA_ "SPN" SG_ 2162163712 Seat_Belt_Switch 1856; BA_ "SPN" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_0 1655; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_0 "Vehicle Limiting Speed Governor Decrement Switch"; BA_ "SPN" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_1 1654; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_1 "Vehicle Limiting Speed Governor Increment Switch"; BA_ "SPN" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_2 1653; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Vehicle_Limiting_Speed_Governor_2 "Vehicle Limiting Speed Governor Enable Switch"; BA_ "SPN" SG_ 2162163712 Diesel_Particulate_Filter_Regene0 3695; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Diesel_Particulate_Filter_Regene0 "Diesel Particulate Filter Regeneration Inhibit Switch"; BA_ "SPN" SG_ 2162163712 Diesel_Particulate_Filter_Regene1 3696; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Diesel_Particulate_Filter_Regene1 "Diesel Particulate Filter Regeneration Force Switch"; BA_ "SPN" SG_ 2162163712 Automatic_Gear_Shifting_Enable_S 1666; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Automatic_Gear_Shifting_Enable_S "Automatic Gear Shifting Enable Switch"; BA_ "SPN" SG_ 2162163712 Engine_Automatic_Start_Enable_Sw 1656; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Engine_Automatic_Start_Enable_Sw "Engine Automatic Start Enable Switch"; BA_ "SPN" SG_ 2162163712 Auxiliary_Heater_Mode_Request 1683; BA_ "SPN" SG_ 2162163712 Request_Engine_Zone_Heating 1685; BA_ "SPN" SG_ 2162163712 Request_Cab_Zone_Heating 1686; BA_ "SPN" SG_ 2162163712 Selected_Maximum_Vehicle_Speed_L 2596; BA_ "SystemSignalLongSymbol" SG_ 2162163712 Selected_Maximum_Vehicle_Speed_L "Selected Maximum Vehicle Speed Limit"; BA_ "SPN" SG_ 2163212288 Retarder_Torque_Mode 900; BA_ "SPN" SG_ 2163212288 Retarder_Enable___Brake_Assist_S 571; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Retarder_Enable___Brake_Assist_S "Retarder Enable - Brake Assist Switch"; BA_ "SPN" SG_ 2163212288 Retarder_Enable___Shift_Assist_S 572; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Retarder_Enable___Shift_Assist_S "Retarder Enable - Shift Assist Switch"; BA_ "SPN" SG_ 2163212288 Actual_Retarder___Percent_Torque 520; BA_ "SPN" SG_ 2163212288 Intended_Retarder_Percent_Torque 1085; BA_ "SPN" SG_ 2163212288 Engine_Coolant_Load_Increase 1082; BA_ "SPN" SG_ 2163212288 Retarder_Requesting_Brake_Light 1667; BA_ "SPN" SG_ 2163212288 Retarder_Road_Speed_Limit_Switch 4233; BA_ "SPN" SG_ 2163212288 Retarder_Road_Speed_Exceeded_Sta 4234; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Retarder_Road_Speed_Exceeded_Sta "Retarder Road Speed Exceeded Status"; BA_ "SPN" SG_ 2163212288 Source_Address_of_Controlling_De 1480; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Source_Address_of_Controlling_De "Source Address of Controlling Device for Retarder Control"; BA_ "SPN" SG_ 2163212288 Drivers_Demand_Retarder___Perce 1715; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Drivers_Demand_Retarder___Perce "Drivers Demand Retarder - Percent Torque"; BA_ "SPN" SG_ 2163212288 Retarder_Selection__non_engine 1716; BA_ "SPN" SG_ 2163212288 Actual_Maximum_Available_Retarde 1717; BA_ "SystemSignalLongSymbol" SG_ 2163212288 Actual_Maximum_Available_Retarde "Actual Maximum Available Retarder - Percent Torque"; BA_ "SPN" SG_ 2163212544 ASR_Engine_Control_Active 561; BA_ "SPN" SG_ 2163212544 ASR_Brake_Control_Active 562; BA_ "SPN" SG_ 2163212544 Anti_Lock_Braking__ABS__Active 563; BA_ "SPN" SG_ 2163212544 EBS_Brake_Switch 1121; BA_ "SPN" SG_ 2163212544 Brake_Pedal_Position 521; BA_ "SPN" SG_ 2163212544 ABS_Off_road_Switch 575; BA_ "SPN" SG_ 2163212544 ASR_Off_road_Switch 576; BA_ "SPN" SG_ 2163212544 ASR__Hill_Holder__Switch 577; BA_ "SPN" SG_ 2163212544 Traction_Control_Override_Switch 1238; BA_ "SPN" SG_ 2163212544 Accelerator_Interlock_Switch 972; BA_ "SPN" SG_ 2163212544 Engine_Derate_Switch 971; BA_ "SPN" SG_ 2163212544 Engine_Auxiliary_Shutdown_Switch 970; BA_ "SPN" SG_ 2163212544 Remote_Accelerator_Enable_Switch 969; BA_ "SPN" SG_ 2163212544 Engine_Retarder_Selection 973; BA_ "SPN" SG_ 2163212544 ABS_Fully_Operational 1243; BA_ "SPN" SG_ 2163212544 EBS_Red_Warning_Signal 1439; BA_ "SPN" SG_ 2163212544 ABS_EBS_Amber_Warning_Signal__Po 1438; BA_ "SystemSignalLongSymbol" SG_ 2163212544 ABS_EBS_Amber_Warning_Signal__Po "ABS/EBS Amber Warning Signal (Powered Vehicle)"; BA_ "SPN" SG_ 2163212544 ATC_ASR_Information_Signal 1793; BA_ "SPN" SG_ 2163212544 Source_Address_of_Controlling_De 1481; BA_ "SystemSignalLongSymbol" SG_ 2163212544 Source_Address_of_Controlling_De "Source Address of Controlling Device for Brake Control"; BA_ "SPN" SG_ 2163212544 Halt_brake_switch 2911; BA_ "SPN" SG_ 2163212544 Trailer_ABS_Status 1836; BA_ "SPN" SG_ 2163212544 Tractor_Mounted_Trailer_ABS_Warn 1792; BA_ "SystemSignalLongSymbol" SG_ 2163212544 Tractor_Mounted_Trailer_ABS_Warn "Tractor-Mounted Trailer ABS Warning Signal"; BA_ "SPN" SG_ 2163212800 Transmission_Driveline_Engaged 560; BA_ "SPN" SG_ 2163212800 Transmission_Torque_Converter_Lo 573; BA_ "SystemSignalLongSymbol" SG_ 2163212800 Transmission_Torque_Converter_Lo "Transmission Torque Converter Lockup Engaged"; BA_ "SPN" SG_ 2163212800 Transmission_Shift_In_Process 574; BA_ "SPN" SG_ 2163212800 Transmission_Output_Shaft_Speed 191; BA_ "SPN" SG_ 2163212800 Percent_Clutch_Slip 522; BA_ "SPN" SG_ 2163212800 Engine_Momentary_Overspeed_Enabl 606; BA_ "SystemSignalLongSymbol" SG_ 2163212800 Engine_Momentary_Overspeed_Enabl "Engine Momentary Overspeed Enable"; BA_ "SPN" SG_ 2163212800 Progressive_Shift_Disable 607; BA_ "SPN" SG_ 2163212800 Transmission_Input_Shaft_Speed 161; BA_ "SPN" SG_ 2163212800 Source_Address_of_Controlling_De 1482; BA_ "SystemSignalLongSymbol" SG_ 2163212800 Source_Address_of_Controlling_De "Source Address of Controlling Device for Transmission Control"; BA_ "SPN" SG_ 2163213056 Accelerator_Pedal_1_Low_Idle_Swi 558; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Accelerator_Pedal_1_Low_Idle_Swi "Accelerator Pedal 1 Low Idle Switch"; BA_ "SPN" SG_ 2163213056 Accelerator_Pedal_Kickdown_Switc 559; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Accelerator_Pedal_Kickdown_Switc "Accelerator Pedal Kickdown Switch"; BA_ "SPN" SG_ 2163213056 Road_Speed_Limit_Status 1437; BA_ "SPN" SG_ 2163213056 Accelerator_Pedal_2_Low_Idle_Swi 2970; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Accelerator_Pedal_2_Low_Idle_Swi "Accelerator Pedal 2 Low Idle Switch"; BA_ "SPN" SG_ 2163213056 Accelerator_Pedal_Position_1 91; BA_ "SPN" SG_ 2163213056 Engine_Percent_Load_At_Current_S 92; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Engine_Percent_Load_At_Current_S "Engine Percent Load At Current Speed"; BA_ "SPN" SG_ 2163213056 Remote_Accelerator_Pedal_Positio 974; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Remote_Accelerator_Pedal_Positio "Remote Accelerator Pedal Position"; BA_ "SPN" SG_ 2163213056 Accelerator_Pedal_Position_2 29; BA_ "SPN" SG_ 2163213056 Vehicle_Acceleration_Rate_Limit_ 2979; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Vehicle_Acceleration_Rate_Limit_ "Vehicle Acceleration Rate Limit Status"; BA_ "SPN" SG_ 2163213056 Actual_Maximum_Available_Engine_ 3357; BA_ "SystemSignalLongSymbol" SG_ 2163213056 Actual_Maximum_Available_Engine_ "Actual Maximum Available Engine - Percent Torque"; BA_ "SPN" SG_ 2163213312 Engine_Torque_Mode 899; BA_ "SPN" SG_ 2163213312 Actual_Engine___Percent_Torque_H 4154; BA_ "SystemSignalLongSymbol" SG_ 2163213312 Actual_Engine___Percent_Torque_H "Actual Engine - Percent Torque High Resolution"; BA_ "SPN" SG_ 2163213312 Driver_s_Demand_Engine___Percent 512; BA_ "SystemSignalLongSymbol" SG_ 2163213312 Driver_s_Demand_Engine___Percent "Driver's Demand Engine - Percent Torque"; BA_ "SPN" SG_ 2163213312 Actual_Engine___Percent_Torque 513; BA_ "SPN" SG_ 2163213312 Engine_Speed 190; BA_ "SPN" SG_ 2163213312 Source_Address_of_Controlling_De 1483; BA_ "SystemSignalLongSymbol" SG_ 2163213312 Source_Address_of_Controlling_De "Source Address of Controlling Device for Engine Control"; BA_ "SPN" SG_ 2163213312 Engine_Starter_Mode 1675; BA_ "SPN" SG_ 2163213312 Engine_Demand___Percent_Torque 2432; BA_ "SPN" SG_ 2163213568 Transmission_Selected_Gear 524; BA_ "SPN" SG_ 2163213568 Transmission_Actual_Gear_Ratio 526; BA_ "SPN" SG_ 2163213568 Transmission_Current_Gear 523; BA_ "SPN" SG_ 2163213568 Transmission_Requested_Range 162; BA_ "SPN" SG_ 2163213568 Transmission_Current_Range 163; BA_ "SPN" SG_ 2163213824 Location 927; BA_ "SPN" SG_ 2163213824 Differential_Lock_State___Front_ 568; BA_ "SystemSignalLongSymbol" SG_ 2163213824 Differential_Lock_State___Front_ "Differential Lock State - Front Axle 2"; BA_ "SPN" SG_ 2163213824 Differential_Lock_State___Rear_A 570; BA_ "SystemSignalLongSymbol" SG_ 2163213824 Differential_Lock_State___Rear_A "Differential Lock State - Rear Axle 2"; BA_ "SPN" SG_ 2163213824 Differential_Lock_State___Centra0 566; BA_ "SystemSignalLongSymbol" SG_ 2163213824 Differential_Lock_State___Centra0 "Differential Lock State - Central Rear"; BA_ "SPN" SG_ 2163213824 Front_axle_group_engagement_stat 3819; BA_ "SystemSignalLongSymbol" SG_ 2163213824 Front_axle_group_engagement_stat "Front axle group engagement status"; BA_ "SPN" SG_ 2163213824 Rear_axle_group_engagement_statu 3820; BA_ "SystemSignalLongSymbol" SG_ 2163213824 Rear_axle_group_engagement_statu "Rear axle group engagement status"; BA_ "SPN" SG_ 2163214080 Lane_Departure_Left 3565; BA_ "SPN" SG_ 2163214080 Lane_Departure_Right 3566; BA_ "SPN" SG_ 2163214080 Lane_Departure_Imminent__Right_S 1701; BA_ "SystemSignalLongSymbol" SG_ 2163214080 Lane_Departure_Imminent__Right_S "Lane Departure Imminent, Right Side"; BA_ "SPN" SG_ 2163214080 Lane_Departure_Imminent__Left_Si 1700; BA_ "SystemSignalLongSymbol" SG_ 2163214080 Lane_Departure_Imminent__Left_Si "Lane Departure Imminent, Left Side"; BA_ "SPN" SG_ 2163214336 Hydraulic_Pressure 1762; BA_ "SPN" SG_ 2163214336 Engine_Hydraulic_Pressure_Govern0 1763; BA_ "SystemSignalLongSymbol" SG_ 2163214336 Engine_Hydraulic_Pressure_Govern0 "Engine Hydraulic Pressure Governor Mode Indicator"; BA_ "SPN" SG_ 2163214336 Engine_Hydraulic_Pressure_Govern1 1764; BA_ "SystemSignalLongSymbol" SG_ 2163214336 Engine_Hydraulic_Pressure_Govern1 "Engine Hydraulic Pressure Governor Switch"; BA_ "SPN" SG_ 2163214336 Fire_Apparatus_Pump_Engagement 2599; BA_ "SPN" SG_ 2163214592 Steering_Wheel_Angle 1807; BA_ "SPN" SG_ 2163214592 Steering_Wheel_Turn_Counter 1811; BA_ "SPN" SG_ 2163214592 Steering_Wheel_Angle_Sensor_Type 1812; BA_ "SPN" SG_ 2163214592 Yaw_Rate 1808; BA_ "SPN" SG_ 2163214592 Lateral_Acceleration 1809; BA_ "SPN" SG_ 2163214592 Longitudinal_Acceleration 1810; BA_ "SPN" SG_ 2163214848 Engine_Exhaust_Gas_Recirculation 2659; BA_ "SystemSignalLongSymbol" SG_ 2163214848 Engine_Exhaust_Gas_Recirculation "Engine Exhaust Gas Recirculation (EGR) Mass Flow Rate"; BA_ "SPN" SG_ 2163214848 Engine_Inlet_Air_Mass_Flow_Rate 132; BA_ "SPN" SG_ 2163215104 Actual_Inner_wheel_steering_angl 2927; BA_ "SystemSignalLongSymbol" SG_ 2163215104 Actual_Inner_wheel_steering_angl "Actual Inner wheel steering angle"; BA_ "SPN" SG_ 2163215104 Axle_Location 2928; BA_ "SPN" SG_ 2163215104 Status_of_Steering_Axle 2923; BA_ "SPN" SG_ 2163215104 Steerable_Lift_Axle_Lowering_Inh 2922; BA_ "SystemSignalLongSymbol" SG_ 2163215104 Steerable_Lift_Axle_Lowering_Inh "Steerable Lift Axle Lowering Inhibit"; BA_ "SPN" SG_ 2163215104 Steering_Type 2924; BA_ "SPN" SG_ 2163215104 Type_of_Steering_Forces 2925; BA_ "SPN" SG_ 2163215104 Type_of_Steering_Transmission 2926; BA_ "SPN" SG_ 2163215360 Transmission_Torque_Converter_Ra 3030; BA_ "SystemSignalLongSymbol" SG_ 2163215360 Transmission_Torque_Converter_Ra "Transmission Torque Converter Ratio"; BA_ "SPN" SG_ 2163215616 Blade_Control_Mode_Switch 3156; BA_ "SPN" SG_ 2163215616 Desired_Grade_Offset_Switch 3157; BA_ "SPN" SG_ 2163215616 Blade_Auto_Mode_Command 3158; BA_ "SPN" SG_ 2163215616 Left_Blade_Control_Mode_Operator 3334; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Left_Blade_Control_Mode_Operator "Left Blade Control Mode Operator Control"; BA_ "SPN" SG_ 2163215616 Right_Blade_Control_Mode_Operato 3335; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Right_Blade_Control_Mode_Operato "Right Blade Control Mode Operator Control"; BA_ "SPN" SG_ 2163215616 Left_Desired_Blade_Offset_Operat 3336; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Left_Desired_Blade_Offset_Operat "Left Desired Blade Offset Operator Control"; BA_ "SPN" SG_ 2163215616 Right_Desired_Blade_Offset_Opera 3337; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Right_Desired_Blade_Offset_Opera "Right Desired Blade Offset Operator Control"; BA_ "SPN" SG_ 2163215616 Side_shift_Blade_Control_Mode_Op 3338; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Side_shift_Blade_Control_Mode_Op "Side-shift Blade Control Mode Operator Control"; BA_ "SPN" SG_ 2163215616 Side_shift_Desired_Blade_Offset_ 3339; BA_ "SystemSignalLongSymbol" SG_ 2163215616 Side_shift_Desired_Blade_Offset_ "Side-shift Desired Blade Offset Operator Control"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_NOx 3216; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake__O2 3217; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens0 3218; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens0 "Aftertreatment 1 Intake Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens1 3219; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens1 "Aftertreatment 1 Intake Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_NOx_Read 3220; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_NOx_Read "Aftertreatment 1 Intake NOx Reading Stable"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Wide_Ran 3221; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Wide_Ran "Aftertreatment 1 Intake Wide-Range % O2 Reading Stable"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens2 3222; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens2 "Aftertreatment 1 Intake Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens3 3223; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Gas_Sens3 "Aftertreatment 1 Intake Gas Sensor Heater Control"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_NOx_Sens 3224; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_NOx_Sens "Aftertreatment 1 Intake NOx Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163215872 Aftertreatment_1_Intake_Oxygen_S 3225; BA_ "SystemSignalLongSymbol" SG_ 2163215872 Aftertreatment_1_Intake_Oxygen_S "Aftertreatment 1 Intake Oxygen Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_NOx 3226; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet__O2 3227; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens0 3228; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens0 "Aftertreatment 1 Outlet Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens1 3229; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens1 "Aftertreatment 1 Outlet Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_NOx_Read 3230; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_NOx_Read "Aftertreatment 1 Outlet NOx Reading Stable"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Wide_Ran 3231; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Wide_Ran "Aftertreatment 1 Outlet Wide-Range %O2 Reading Stable"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens2 3232; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens2 "Aftertreatment 1 Outlet Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens3 3233; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Gas_Sens3 "Aftertreatment 1 Outlet Gas Sensor Heater Control"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_NOx_Sens 3234; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_NOx_Sens "Aftertreatment 1 Outlet NOx Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216128 Aftertreatment_1_Outlet_Oxygen_S 3235; BA_ "SystemSignalLongSymbol" SG_ 2163216128 Aftertreatment_1_Outlet_Oxygen_S "Aftertreatment 1 Outlet Oxygen Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_NOx 3255; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake__O2 3256; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens0 3257; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens0 "Aftertreatment 2 Intake Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens1 3258; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens1 "Aftertreatment 2 Intake Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_NOx_Read 3259; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_NOx_Read "Aftertreatment 2 Intake NOx Reading Stable"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Wide_Ran 3260; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Wide_Ran "Aftertreatment 2 Intake Wide-Range % O2 Reading Stable"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens2 3261; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens2 "Aftertreatment 2 Intake Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens3 3262; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Gas_Sens3 "Aftertreatment 2 Intake Gas Sensor Heater Control"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_NOx_Sens 3263; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_NOx_Sens "Aftertreatment 2 Intake NOx Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216384 Aftertreatment_2_Intake_Oxygen_S 3264; BA_ "SystemSignalLongSymbol" SG_ 2163216384 Aftertreatment_2_Intake_Oxygen_S "Aftertreatment 2 Intake Oxygen Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_NOx 3265; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet__O2 3266; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens0 3267; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens0 "Aftertreatment 2 Outlet Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens1 3268; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens1 "Aftertreatment 2 Outlet Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_NOx_Read 3269; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_NOx_Read "Aftertreatment 2 Outlet NOx Reading Stable"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Wide_Ran 3270; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Wide_Ran "Aftertreatment 2 Outlet Wide-Range % O2 Reading Stable"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens2 3271; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens2 "Aftertreatment 2 Outlet Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens3 3272; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Gas_Sens3 "Aftertreatment 2 Outlet Gas Sensor Heater Control"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_NOx_Sens 3273; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_NOx_Sens "Aftertreatment 2 Outlet NOx Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216640 Aftertreatment_2_Outlet_Oxygen_S 3274; BA_ "SystemSignalLongSymbol" SG_ 2163216640 Aftertreatment_2_Outlet_Oxygen_S "Aftertreatment 2 Outlet Oxygen Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163216896 Fifth_Wheel_Vertical_Force 3308; BA_ "SPN" SG_ 2163216896 Fifth_Wheel_Drawbar_Force 3309; BA_ "SPN" SG_ 2163216896 Fifth_Wheel_Roll_Moment_ 3310; BA_ "SPN" SG_ 2163216896 Fifth_Wheel_Roll_Warning_Indicat 3317; BA_ "SystemSignalLongSymbol" SG_ 2163216896 Fifth_Wheel_Roll_Warning_Indicat "Fifth Wheel Roll Warning Indicator"; BA_ "SPN" SG_ 2163217152 Pitch_Angle 3318; BA_ "SPN" SG_ 2163217152 Roll_Angle 3319; BA_ "SPN" SG_ 2163217152 Pitch_Rate 3322; BA_ "SPN" SG_ 2163217152 Pitch_Angle_Figure_of_Merit 3323; BA_ "SPN" SG_ 2163217152 Roll_Angle_Figure_of_Merit 3324; BA_ "SPN" SG_ 2163217152 Pitch_Rate_Figure_of_Merit 3325; BA_ "SPN" SG_ 2163217152 Pitch_and_Roll_Compensated 3326; BA_ "SPN" SG_ 2163217152 Roll_and_Pitch_Measurement_Laten 3327; BA_ "SystemSignalLongSymbol" SG_ 2163217152 Roll_and_Pitch_Measurement_Laten "Roll and Pitch Measurement Latency"; BA_ "SPN" SG_ 2163217408 Relative_Blade_Height 3365; BA_ "SPN" SG_ 2163217408 Blade_Rotation_Angle 3331; BA_ "SPN" SG_ 2163217408 Relative_Blade_Height_and_Blade_ 3366; BA_ "SystemSignalLongSymbol" SG_ 2163217408 Relative_Blade_Height_and_Blade_ "Relative Blade Height and Blade Rotation Angle Measurement Latency"; BA_ "SPN" SG_ 2163217408 Relative_Blade_Height_Figure_of_ 3367; BA_ "SystemSignalLongSymbol" SG_ 2163217408 Relative_Blade_Height_Figure_of_ "Relative Blade Height Figure of Merit"; BA_ "SPN" SG_ 2163217408 Blade_Rotation_Angle_Figure_of_M 3332; BA_ "SystemSignalLongSymbol" SG_ 2163217408 Blade_Rotation_Angle_Figure_of_M "Blade Rotation Angle Figure of Merit"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_1_Combustion_Sta 3387; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_1_Combustion_Sta "Engine Cylinder 1 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_2_Combustion_Sta 3388; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_2_Combustion_Sta "Engine Cylinder 2 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_3_Combustion_Sta 3389; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_3_Combustion_Sta "Engine Cylinder 3 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_4_Combustion_Sta 3390; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_4_Combustion_Sta "Engine Cylinder 4 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_5_Combustion_Sta 3391; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_5_Combustion_Sta "Engine Cylinder 5 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_6_Combustion_Sta 3392; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_6_Combustion_Sta "Engine Cylinder 6 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_7_Combustion_Sta 3393; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_7_Combustion_Sta "Engine Cylinder 7 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_8_Combustion_Sta 3394; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_8_Combustion_Sta "Engine Cylinder 8 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_9_Combustion_Sta 3395; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_9_Combustion_Sta "Engine Cylinder 9 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_10_Combustion_St 3396; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_10_Combustion_St "Engine Cylinder 10 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_11_Combustion_St 3397; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_11_Combustion_St "Engine Cylinder 11 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_12_Combustion_St 3398; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_12_Combustion_St "Engine Cylinder 12 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_13_Combustion_St 3399; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_13_Combustion_St "Engine Cylinder 13 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_14_Combustion_St 3400; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_14_Combustion_St "Engine Cylinder 14 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_15_Combustion_St 3401; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_15_Combustion_St "Engine Cylinder 15 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_16_Combustion_St 3402; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_16_Combustion_St "Engine Cylinder 16 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_17_Combustion_St 3403; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_17_Combustion_St "Engine Cylinder 17 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_18_Combustion_St 3404; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_18_Combustion_St "Engine Cylinder 18 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_19_Combustion_St 3405; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_19_Combustion_St "Engine Cylinder 19 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_20_Combustion_St 3406; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_20_Combustion_St "Engine Cylinder 20 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_21_Combustion_St 3407; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_21_Combustion_St "Engine Cylinder 21 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_22_Combustion_St 3408; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_22_Combustion_St "Engine Cylinder 22 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_23_Combustion_St 3409; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_23_Combustion_St "Engine Cylinder 23 Combustion Status"; BA_ "SPN" SG_ 2163217920 Engine_Cylinder_24_Combustion_St 3410; BA_ "SystemSignalLongSymbol" SG_ 2163217920 Engine_Cylinder_24_Combustion_St "Engine Cylinder 24 Combustion Status"; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_1_Knock_Level 1352; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_2_Knock_Level 1353; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_3_Knock_Level 1354; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_4_Knock_Level 1355; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_5_Knock_Level 1356; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_6_Knock_Level 1357; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_7_Knock_Level 1358; BA_ "SPN" SG_ 2163218176 Engine_Cylinder_8_Knock_Level 1359; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_9_Knock_Level 1360; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_10_Knock_Level 1361; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_11_Knock_Level 1362; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_12_Knock_Level 1363; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_13_Knock_Level 1364; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_14_Knock_Level 1365; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_15_Knock_Level 1366; BA_ "SPN" SG_ 2163218432 Engine_Cylinder_16_Knock_Level 1367; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_17_Knock_Level 1368; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_18_Knock_Level 1369; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_19_Knock_Level 1370; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_20_Knock_Level 1371; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_21_Knock_Level 1372; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_22_Knock_Level 1373; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_23_Knock_Level 1374; BA_ "SPN" SG_ 2163218688 Engine_Cylinder_24_Knock_Level 1375; BA_ "SPN" SG_ 2163218944 Engine_Throttle_Actuator_1_Contr 3464; BA_ "SystemSignalLongSymbol" SG_ 2163218944 Engine_Throttle_Actuator_1_Contr "Engine Throttle Actuator 1 Control Command"; BA_ "SPN" SG_ 2163218944 Engine_Throttle_Actuator_2_Contr 3465; BA_ "SystemSignalLongSymbol" SG_ 2163218944 Engine_Throttle_Actuator_2_Contr "Engine Throttle Actuator 2 Control Command"; BA_ "SPN" SG_ 2163218944 Engine_Fuel_Actuator_1_Control_C 633; BA_ "SystemSignalLongSymbol" SG_ 2163218944 Engine_Fuel_Actuator_1_Control_C "Engine Fuel Actuator 1 Control Command"; BA_ "SPN" SG_ 2163218944 Engine_Fuel_Actuator_2_Control_C 1244; BA_ "SystemSignalLongSymbol" SG_ 2163218944 Engine_Fuel_Actuator_2_Control_C "Engine Fuel Actuator 2 Control Command"; BA_ "SPN" SG_ 2163219712 Steering_Wheel_Angle 3683; BA_ "SPN" SG_ 2163219712 Steering_Wheel_Angle_Range_Count0 3684; BA_ "SystemSignalLongSymbol" SG_ 2163219712 Steering_Wheel_Angle_Range_Count0 "Steering Wheel Angle Range Counter"; BA_ "SPN" SG_ 2163219712 Steering_Wheel_Angle_Range_Count1 3685; BA_ "SystemSignalLongSymbol" SG_ 2163219712 Steering_Wheel_Angle_Range_Count1 "Steering Wheel Angle Range Counter Type"; BA_ "SPN" SG_ 2163219712 Steering_Wheel_Angle_Range 3686; BA_ "SPN" SG_ 2163219712 Steering_Angle_Sensor_Active_Mod 3687; BA_ "SystemSignalLongSymbol" SG_ 2163219712 Steering_Angle_Sensor_Active_Mod "Steering Angle Sensor Active Mode"; BA_ "SPN" SG_ 2163219712 Steering_Angle_Sensor_Calibrated 3688; BA_ "SPN" SG_ 2163219712 Message_Counter 3689; BA_ "SPN" SG_ 2163219712 Message_Checksum 3690; BA_ "SPN" SG_ 2163220736 Engine_Speed_1 4201; BA_ "SPN" SG_ 2163220736 Engine_Speed_2 723; BA_ "SPN" SG_ 2163220736 Engine_Speed_3 4202; BA_ "SPN" SG_ 2163220736 Engine_Speed_Sensor_3_Timing_Pat 4205; BA_ "SystemSignalLongSymbol" SG_ 2163220736 Engine_Speed_Sensor_3_Timing_Pat "Engine Speed Sensor 3 Timing Pattern Status"; BA_ "SPN" SG_ 2163220736 Engine_Speed_Sensor_2_Timing_Pat 4204; BA_ "SystemSignalLongSymbol" SG_ 2163220736 Engine_Speed_Sensor_2_Timing_Pat "Engine Speed Sensor 2 Timing Pattern Status"; BA_ "SPN" SG_ 2163220736 Engine_Speed_Sensor_1_Timing_Pat 4203; BA_ "SystemSignalLongSymbol" SG_ 2163220736 Engine_Speed_Sensor_1_Timing_Pat "Engine Speed Sensor 1 Timing Pattern Status"; BA_ "SPN" SG_ 2163221248 Aftertreatment_1_SCR_Actual_Dosi 4331; BA_ "SystemSignalLongSymbol" SG_ 2163221248 Aftertreatment_1_SCR_Actual_Dosi "Aftertreatment 1 SCR Actual Dosing Reagent Quantity (instantaneous) "; BA_ "SPN" SG_ 2163221248 Aftertreatment_1_SCR_System_Stat 4332; BA_ "SystemSignalLongSymbol" SG_ 2163221248 Aftertreatment_1_SCR_System_Stat "Aftertreatment 1 SCR System State"; BA_ "SPN" SG_ 2163221248 Aftertreatment_1_SCR_Actual_Reag 4333; BA_ "SystemSignalLongSymbol" SG_ 2163221248 Aftertreatment_1_SCR_Actual_Reag "Aftertreatment 1 SCR Actual Reagent Quantity of Integrator (integrator total value)"; BA_ "SPN" SG_ 2163221248 Aftertreatment_1_SCR_Dosing_Reag 4334; BA_ "SystemSignalLongSymbol" SG_ 2163221248 Aftertreatment_1_SCR_Dosing_Reag "Aftertreatment 1 SCR Dosing Reagent Absolute Pressure"; BA_ "SPN" SG_ 2163221504 Aftertreatment_1_SCR_Requested_D 4348; BA_ "SystemSignalLongSymbol" SG_ 2163221504 Aftertreatment_1_SCR_Requested_D "Aftertreatment 1 SCR Requested Dosing Reagent Quantity"; BA_ "SPN" SG_ 2163221504 Aftertreatment_1_SCR_System_Requ 4349; BA_ "SystemSignalLongSymbol" SG_ 2163221504 Aftertreatment_1_SCR_System_Requ "Aftertreatment 1 SCR System Requested State"; BA_ "SPN" SG_ 2163221504 Aftertreatment_1_SCR_Requested_R 4350; BA_ "SystemSignalLongSymbol" SG_ 2163221504 Aftertreatment_1_SCR_Requested_R "Aftertreatment 1 SCR Requested Reagent Quantity for Integrator (integrator total value)"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3 4377; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Sens 4378; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Sens "Aftertreatment 1 Outlet NH3 Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Read 4379; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Read "Aftertreatment 1 Outlet NH3 Reading Stable"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_0 4380; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_0 "Aftertreatment 1 Outlet NH3 Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_1 4381; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_1 "Aftertreatment 1 Outlet NH3 Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_2 4382; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_2 "Aftertreatment 1 Outlet NH3 Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_3 4383; BA_ "SystemSignalLongSymbol" SG_ 2163221760 Aftertreatment_1_Outlet_NH3_Gas_3 "Aftertreatment 1 Outlet NH3 Gas Sensor Heater Control"; BA_ "SPN" SG_ 2163222016 Aftertreatment_2_SCR_Actual_Dosi 4384; BA_ "SystemSignalLongSymbol" SG_ 2163222016 Aftertreatment_2_SCR_Actual_Dosi "Aftertreatment 2 SCR Actual Dosing Reagent Quantity (instantaneous) "; BA_ "SPN" SG_ 2163222016 Aftertreatment_2_SCR_System_Stat 4385; BA_ "SystemSignalLongSymbol" SG_ 2163222016 Aftertreatment_2_SCR_System_Stat "Aftertreatment 2 SCR System State"; BA_ "SPN" SG_ 2163222016 Aftertreatment_2_SCR_Actual_Reag 4386; BA_ "SystemSignalLongSymbol" SG_ 2163222016 Aftertreatment_2_SCR_Actual_Reag "Aftertreatment 2 SCR Actual Reagent Quantity of Integrator (integrator feedback)"; BA_ "SPN" SG_ 2163222016 Aftertreatment_2_SCR_Dosing_Reag 4387; BA_ "SystemSignalLongSymbol" SG_ 2163222016 Aftertreatment_2_SCR_Dosing_Reag "Aftertreatment 2 SCR Dosing Reagent Absolute Pressure"; BA_ "SPN" SG_ 2163222272 Aftertreatment_2_SCR_Requested_D 4401; BA_ "SystemSignalLongSymbol" SG_ 2163222272 Aftertreatment_2_SCR_Requested_D "Aftertreatment 2 SCR Requested Dosing Reagent Quantity"; BA_ "SPN" SG_ 2163222272 Aftertreatment_2_SCR_System_Requ 4402; BA_ "SystemSignalLongSymbol" SG_ 2163222272 Aftertreatment_2_SCR_System_Requ "Aftertreatment 2 SCR System Requested State"; BA_ "SPN" SG_ 2163222272 Aftertreatment_2_SCR_Requested_R 4403; BA_ "SystemSignalLongSymbol" SG_ 2163222272 Aftertreatment_2_SCR_Requested_R "Aftertreatment 2 SCR Requested Reagent Quantity for Integrator (integrator total value)"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3 4443; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Sens 4444; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Sens "Aftertreatment 2 Outlet NH3 Sensor Preliminary FMI"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Read 4445; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Read "Aftertreatment 2 Outlet NH3 Reading Stable"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_0 4446; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_0 "Aftertreatment 2 Outlet NH3 Gas Sensor Power In Range"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_1 4447; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_1 "Aftertreatment 2 Outlet NH3 Gas Sensor at Temperature"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_2 4448; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_2 "Aftertreatment 2 Outlet NH3 Gas Sensor Heater Preliminary FMI"; BA_ "SPN" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_3 4449; BA_ "SystemSignalLongSymbol" SG_ 2163222528 Aftertreatment_2_Outlet_NH3_Gas_3 "Aftertreatment 2 Outlet NH3 Gas Sensor Heater Control"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_X_Axis_Neutral_ 4735; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_X_Axis_Neutral_ "Joystick 10 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_X_Axis_Lever_Le 4736; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_X_Axis_Lever_Le "Joystick 10 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_X_Axis_Lever_Ri 4737; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_X_Axis_Lever_Ri "Joystick 10 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_X_Axis_Position 4738; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Neutral_ 4739; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Neutral_ "Joystick 10 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Lever_Ba 4740; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Lever_Ba "Joystick 10 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Lever_Fo 4741; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Lever_Fo "Joystick 10 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Position 4742; BA_ "SPN" SG_ 2164073216 Joystick_10_Theta_Axis_Neutral_P 4743; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Theta_Axis_Neutral_P "Joystick 10 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Theta_Axis_Counter_C 4744; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Theta_Axis_Counter_C "Joystick 10 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Theta_Axis_Clockwise 4745; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Theta_Axis_Clockwise "Joystick 10 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Theta_Axis_Position 4746; BA_ "SPN" SG_ 2164073216 Joystick_10_Theta_Axis_Detent_Po 4747; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Theta_Axis_Detent_Po "Joystick 10 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Detent_P 4748; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_Y_Axis_Detent_P "Joystick 10 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073216 Joystick_10_Grip_X_Axis_Detent_P 4749; BA_ "SystemSignalLongSymbol" SG_ 2164073216 Joystick_10_Grip_X_Axis_Detent_P "Joystick 10 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_X_Axis_Neutral_Posit 4713; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_X_Axis_Neutral_Posit "Joystick 10 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_X_Axis_Lever_Left_Ne 4714; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_X_Axis_Lever_Left_Ne "Joystick 10 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_X_Axis_Lever_Right_P 4715; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_X_Axis_Lever_Right_P "Joystick 10 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_X_Axis_Position 4716; BA_ "SPN" SG_ 2164073472 Joystick_10_Y_Axis_Neutral_Posit 4717; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Y_Axis_Neutral_Posit "Joystick 10 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Y_Axis_Lever_Back_Ne 4718; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Y_Axis_Lever_Back_Ne "Joystick 10 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Y_Axis_Lever_Forward 4719; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Y_Axis_Lever_Forward "Joystick 10 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Y_Axis_Position 4720; BA_ "SPN" SG_ 2164073472 Joystick_10_Y_Axis_Detent_Positi 4721; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Y_Axis_Detent_Positi "Joystick 10 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_X_Axis_Detent_Positi 4722; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_X_Axis_Detent_Positi "Joystick 10 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_4_Pressed_Sta 4723; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_4_Pressed_Sta "Joystick 10 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_3_Pressed_Sta 4724; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_3_Pressed_Sta "Joystick 10 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_2_Pressed_Sta 4725; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_2_Pressed_Sta "Joystick 10 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_1_Pressed_Sta 4726; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_1_Pressed_Sta "Joystick 10 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_8_Pressed_Sta 4727; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_8_Pressed_Sta "Joystick 10 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_7_Pressed_Sta 4728; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_7_Pressed_Sta "Joystick 10 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_6_Pressed_Sta 4729; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_6_Pressed_Sta "Joystick 10 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_5_Pressed_Sta 4730; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_5_Pressed_Sta "Joystick 10 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_12_Pressed_St 4731; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_12_Pressed_St "Joystick 10 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_11_Pressed_St 4732; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_11_Pressed_St "Joystick 10 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_10_Pressed_St 4733; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_10_Pressed_St "Joystick 10 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164073472 Joystick_10_Button_9_Pressed_Sta 4734; BA_ "SystemSignalLongSymbol" SG_ 2164073472 Joystick_10_Button_9_Pressed_Sta "Joystick 10 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_X_Axis_Neutral_P 4698; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_X_Axis_Neutral_P "Joystick 9 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_X_Axis_Lever_Lef 4699; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_X_Axis_Lever_Lef "Joystick 9 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_X_Axis_Lever_Rig 4700; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_X_Axis_Lever_Rig "Joystick 9 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_X_Axis_Position 4701; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Neutral_P 4702; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Neutral_P "Joystick 9 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Lever_Bac 4703; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Lever_Bac "Joystick 9 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Lever_For 4704; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Lever_For "Joystick 9 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Position 4705; BA_ "SPN" SG_ 2164073728 Joystick_9_Theta_Axis_Neutral_Po 4706; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Theta_Axis_Neutral_Po "Joystick 9 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Theta_Axis_Counter_Cl 4707; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Theta_Axis_Counter_Cl "Joystick 9 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Theta_Axis_Clockwise_ 4708; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Theta_Axis_Clockwise_ "Joystick 9 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Theta_Axis_Position 4709; BA_ "SPN" SG_ 2164073728 Joystick_9_Theta_Axis_Detent_Pos 4710; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Theta_Axis_Detent_Pos "Joystick 9 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Detent_Po 4711; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_Y_Axis_Detent_Po "Joystick 9 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073728 Joystick_9_Grip_X_Axis_Detent_Po 4712; BA_ "SystemSignalLongSymbol" SG_ 2164073728 Joystick_9_Grip_X_Axis_Detent_Po "Joystick 9 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_X_Axis_Neutral_Positi 4676; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_X_Axis_Neutral_Positi "Joystick 9 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_X_Axis_Lever_Left_Neg 4677; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_X_Axis_Lever_Left_Neg "Joystick 9 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_X_Axis_Lever_Right_Po 4678; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_X_Axis_Lever_Right_Po "Joystick 9 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_X_Axis_Position 4679; BA_ "SPN" SG_ 2164073984 Joystick_9_Y_Axis_Neutral_Positi 4680; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Y_Axis_Neutral_Positi "Joystick 9 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Y_Axis_Lever_Back_Neg 4681; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Y_Axis_Lever_Back_Neg "Joystick 9 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Y_Axis_Lever_Forward_ 4682; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Y_Axis_Lever_Forward_ "Joystick 9 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Y_Axis_Position 4683; BA_ "SPN" SG_ 2164073984 Joystick_9_Y_Axis_Detent_Positio 4684; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Y_Axis_Detent_Positio "Joystick 9 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_X_Axis_Detent_Positio 4685; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_X_Axis_Detent_Positio "Joystick 9 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_4_Pressed_Stat 4686; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_4_Pressed_Stat "Joystick 9 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_3_Pressed_Stat 4687; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_3_Pressed_Stat "Joystick 9 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_2_Pressed_Stat 4688; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_2_Pressed_Stat "Joystick 9 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_1_Pressed_Stat 4689; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_1_Pressed_Stat "Joystick 9 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_8_Pressed_Stat 4690; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_8_Pressed_Stat "Joystick 9 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_7_Pressed_Stat 4691; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_7_Pressed_Stat "Joystick 9 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_6_Pressed_Stat 4692; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_6_Pressed_Stat "Joystick 9 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_5_Pressed_Stat 4693; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_5_Pressed_Stat "Joystick 9 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_12_Pressed_Sta 4694; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_12_Pressed_Sta "Joystick 9 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_11_Pressed_Sta 4695; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_11_Pressed_Sta "Joystick 9 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_10_Pressed_Sta 4696; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_10_Pressed_Sta "Joystick 9 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164073984 Joystick_9_Button_9_Pressed_Stat 4697; BA_ "SystemSignalLongSymbol" SG_ 2164073984 Joystick_9_Button_9_Pressed_Stat "Joystick 9 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_X_Axis_Neutral_P 4661; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_X_Axis_Neutral_P "Joystick 8 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_X_Axis_Lever_Lef 4662; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_X_Axis_Lever_Lef "Joystick 8 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_X_Axis_Lever_Rig 4663; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_X_Axis_Lever_Rig "Joystick 8 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_X_Axis_Position 4664; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Neutral_P 4665; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Neutral_P "Joystick 8 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Lever_Bac 4666; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Lever_Bac "Joystick 8 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Lever_For 4667; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Lever_For "Joystick 8 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Position 4668; BA_ "SPN" SG_ 2164074240 Joystick_8_Theta_Axis_Neutral_Po 4669; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Theta_Axis_Neutral_Po "Joystick 8 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Theta_Axis_Counter_Cl 4670; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Theta_Axis_Counter_Cl "Joystick 8 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Theta_Axis_Clockwise_ 4671; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Theta_Axis_Clockwise_ "Joystick 8 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Theta_Axis_Position 4672; BA_ "SPN" SG_ 2164074240 Joystick_8_Theta_Axis_Detent_Pos 4673; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Theta_Axis_Detent_Pos "Joystick 8 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Detent_Po 4674; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_Y_Axis_Detent_Po "Joystick 8 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074240 Joystick_8_Grip_X_Axis_Detent_Po 4675; BA_ "SystemSignalLongSymbol" SG_ 2164074240 Joystick_8_Grip_X_Axis_Detent_Po "Joystick 8 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_X_Axis_Neutral_Positi 4639; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_X_Axis_Neutral_Positi "Joystick 8 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_X_Axis_Lever_Left_Neg 4640; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_X_Axis_Lever_Left_Neg "Joystick 8 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_X_Axis_Lever_Right_Po 4641; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_X_Axis_Lever_Right_Po "Joystick 8 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_X_Axis_Position 4642; BA_ "SPN" SG_ 2164074496 Joystick_8_Y_Axis_Neutral_Positi 4643; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Y_Axis_Neutral_Positi "Joystick 8 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Y_Axis_Lever_Back_Neg 4644; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Y_Axis_Lever_Back_Neg "Joystick 8 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Y_Axis_Lever_Forward_ 4645; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Y_Axis_Lever_Forward_ "Joystick 8 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Y_Axis_Position 4646; BA_ "SPN" SG_ 2164074496 Joystick_8_Y_Axis_Detent_Positio 4647; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Y_Axis_Detent_Positio "Joystick 8 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_X_Axis_Detent_Positio 4648; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_X_Axis_Detent_Positio "Joystick 8 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_4_Pressed_Stat 4649; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_4_Pressed_Stat "Joystick 8 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_3_Pressed_Stat 4650; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_3_Pressed_Stat "Joystick 8 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_2_Pressed_Stat 4651; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_2_Pressed_Stat "Joystick 8 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_1_Pressed_Stat 4652; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_1_Pressed_Stat "Joystick 8 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_8_Pressed_Stat 4653; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_8_Pressed_Stat "Joystick 8 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_7_Pressed_Stat 4654; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_7_Pressed_Stat "Joystick 8 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_6_Pressed_Stat 4655; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_6_Pressed_Stat "Joystick 8 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_5_Pressed_Stat 4656; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_5_Pressed_Stat "Joystick 8 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_12_Pressed_Sta 4657; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_12_Pressed_Sta "Joystick 8 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_11_Pressed_Sta 4658; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_11_Pressed_Sta "Joystick 8 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_10_Pressed_Sta 4659; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_10_Pressed_Sta "Joystick 8 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164074496 Joystick_8_Button_9_Pressed_Stat 4660; BA_ "SystemSignalLongSymbol" SG_ 2164074496 Joystick_8_Button_9_Pressed_Stat "Joystick 8 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_X_Axis_Neutral_P 4624; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_X_Axis_Neutral_P "Joystick 7 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_X_Axis_Lever_Lef 4625; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_X_Axis_Lever_Lef "Joystick 7 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_X_Axis_Lever_Rig 4626; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_X_Axis_Lever_Rig "Joystick 7 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_X_Axis_Position 4627; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Neutral_P 4628; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Neutral_P "Joystick 7 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Lever_Bac 4629; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Lever_Bac "Joystick 7 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Lever_For 4630; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Lever_For "Joystick 7 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Position 4631; BA_ "SPN" SG_ 2164074752 Joystick_7_Theta_Axis_Neutral_Po 4632; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Theta_Axis_Neutral_Po "Joystick 7 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Theta_Axis_Counter_Cl 4633; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Theta_Axis_Counter_Cl "Joystick 7 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Theta_Axis_Clockwise_ 4634; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Theta_Axis_Clockwise_ "Joystick 7 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Theta_Axis_Position 4635; BA_ "SPN" SG_ 2164074752 Joystick_7_Theta_Axis_Detent_Pos 4636; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Theta_Axis_Detent_Pos "Joystick 7 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Detent_Po 4637; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_Y_Axis_Detent_Po "Joystick 7 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164074752 Joystick_7_Grip_X_Axis_Detent_Po 4638; BA_ "SystemSignalLongSymbol" SG_ 2164074752 Joystick_7_Grip_X_Axis_Detent_Po "Joystick 7 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_X_Axis_Neutral_Positi 4602; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_X_Axis_Neutral_Positi "Joystick 7 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_X_Axis_Lever_Left_Neg 4603; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_X_Axis_Lever_Left_Neg "Joystick 7 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_X_Axis_Lever_Right_Po 4604; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_X_Axis_Lever_Right_Po "Joystick 7 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_X_Axis_Position 4605; BA_ "SPN" SG_ 2164075008 Joystick_7_Y_Axis_Neutral_Positi 4606; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Y_Axis_Neutral_Positi "Joystick 7 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Y_Axis_Lever_Back_Neg 4607; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Y_Axis_Lever_Back_Neg "Joystick 7 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Y_Axis_Lever_Forward_ 4608; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Y_Axis_Lever_Forward_ "Joystick 7 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Y_Axis_Position 4609; BA_ "SPN" SG_ 2164075008 Joystick_7_Y_Axis_Detent_Positio 4610; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Y_Axis_Detent_Positio "Joystick 7 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_X_Axis_Detent_Positio 4611; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_X_Axis_Detent_Positio "Joystick 7 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_4_Pressed_Stat 4612; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_4_Pressed_Stat "Joystick 7 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_3_Pressed_Stat 4613; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_3_Pressed_Stat "Joystick 7 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_2_Pressed_Stat 4614; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_2_Pressed_Stat "Joystick 7 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_1_Pressed_Stat 4615; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_1_Pressed_Stat "Joystick 7 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_8_Pressed_Stat 4616; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_8_Pressed_Stat "Joystick 7 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_7_Pressed_Stat 4617; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_7_Pressed_Stat "Joystick 7 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_6_Pressed_Stat 4618; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_6_Pressed_Stat "Joystick 7 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_5_Pressed_Stat 4619; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_5_Pressed_Stat "Joystick 7 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_12_Pressed_Sta 4620; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_12_Pressed_Sta "Joystick 7 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_11_Pressed_Sta 4621; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_11_Pressed_Sta "Joystick 7 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_10_Pressed_Sta 4622; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_10_Pressed_Sta "Joystick 7 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164075008 Joystick_7_Button_9_Pressed_Stat 4623; BA_ "SystemSignalLongSymbol" SG_ 2164075008 Joystick_7_Button_9_Pressed_Stat "Joystick 7 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_X_Axis_Neutral_P 4587; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_X_Axis_Neutral_P "Joystick 6 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_X_Axis_Lever_Lef 4588; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_X_Axis_Lever_Lef "Joystick 6 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_X_Axis_Lever_Rig 4589; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_X_Axis_Lever_Rig "Joystick 6 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_X_Axis_Position 4590; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Neutral_P 4591; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Neutral_P "Joystick 6 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Lever_Bac 4592; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Lever_Bac "Joystick 6 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Lever_For 4593; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Lever_For "Joystick 6 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Position 4594; BA_ "SPN" SG_ 2164075264 Joystick_6_Theta_Axis_Neutral_Po 4595; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Theta_Axis_Neutral_Po "Joystick 6 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Theta_Axis_Counter_Cl 4596; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Theta_Axis_Counter_Cl "Joystick 6 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Theta_Axis_Clockwise_ 4597; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Theta_Axis_Clockwise_ "Joystick 6 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Theta_Axis_Position 4598; BA_ "SPN" SG_ 2164075264 Joystick_6_Theta_Axis_Detent_Pos 4599; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Theta_Axis_Detent_Pos "Joystick 6 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Detent_Po 4600; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_Y_Axis_Detent_Po "Joystick 6 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075264 Joystick_6_Grip_X_Axis_Detent_Po 4601; BA_ "SystemSignalLongSymbol" SG_ 2164075264 Joystick_6_Grip_X_Axis_Detent_Po "Joystick 6 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_X_Axis_Neutral_Positi 4565; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_X_Axis_Neutral_Positi "Joystick 6 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_X_Axis_Lever_Left_Neg 4566; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_X_Axis_Lever_Left_Neg "Joystick 6 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_X_Axis_Lever_Right_Po 4567; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_X_Axis_Lever_Right_Po "Joystick 6 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_X_Axis_Position 4568; BA_ "SPN" SG_ 2164075520 Joystick_6_Y_Axis_Neutral_Positi 4569; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Y_Axis_Neutral_Positi "Joystick 6 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Y_Axis_Lever_Back_Neg 4570; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Y_Axis_Lever_Back_Neg "Joystick 6 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Y_Axis_Lever_Forward_ 4571; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Y_Axis_Lever_Forward_ "Joystick 6 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Y_Axis_Position 4572; BA_ "SPN" SG_ 2164075520 Joystick_6_Y_Axis_Detent_Positio 4573; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Y_Axis_Detent_Positio "Joystick 6 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_X_Axis_Detent_Positio 4574; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_X_Axis_Detent_Positio "Joystick 6 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_4_Pressed_Stat 4575; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_4_Pressed_Stat "Joystick 6 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_3_Pressed_Stat 4576; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_3_Pressed_Stat "Joystick 6 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_2_Pressed_Stat 4577; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_2_Pressed_Stat "Joystick 6 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_1_Pressed_Stat 4578; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_1_Pressed_Stat "Joystick 6 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_8_Pressed_Stat 4579; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_8_Pressed_Stat "Joystick 6 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_7_Pressed_Stat 4580; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_7_Pressed_Stat "Joystick 6 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_6_Pressed_Stat 4581; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_6_Pressed_Stat "Joystick 6 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_5_Pressed_Stat 4582; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_5_Pressed_Stat "Joystick 6 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_12_Pressed_Sta 4583; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_12_Pressed_Sta "Joystick 6 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_11_Pressed_Sta 4584; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_11_Pressed_Sta "Joystick 6 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_10_Pressed_Sta 4585; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_10_Pressed_Sta "Joystick 6 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164075520 Joystick_6_Button_9_Pressed_Stat 4586; BA_ "SystemSignalLongSymbol" SG_ 2164075520 Joystick_6_Button_9_Pressed_Stat "Joystick 6 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_X_Axis_Neutral_P 4550; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_X_Axis_Neutral_P "Joystick 5 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_X_Axis_Lever_Lef 4551; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_X_Axis_Lever_Lef "Joystick 5 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_X_Axis_Lever_Rig 4552; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_X_Axis_Lever_Rig "Joystick 5 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_X_Axis_Position 4553; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Neutral_P 4554; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Neutral_P "Joystick 5 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Lever_Bac 4555; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Lever_Bac "Joystick 5 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Lever_For 4556; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Lever_For "Joystick 5 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Position 4557; BA_ "SPN" SG_ 2164075776 Joystick_5_Theta_Axis_Neutral_Po 4558; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Theta_Axis_Neutral_Po "Joystick 5 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Theta_Axis_Counter_Cl 4559; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Theta_Axis_Counter_Cl "Joystick 5 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Theta_Axis_Clockwise_ 4560; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Theta_Axis_Clockwise_ "Joystick 5 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Theta_Axis_Position 4561; BA_ "SPN" SG_ 2164075776 Joystick_5_Theta_Axis_Detent_Pos 4562; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Theta_Axis_Detent_Pos "Joystick 5 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Detent_Po 4563; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_Y_Axis_Detent_Po "Joystick 5 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164075776 Joystick_5_Grip_X_Axis_Detent_Po 4564; BA_ "SystemSignalLongSymbol" SG_ 2164075776 Joystick_5_Grip_X_Axis_Detent_Po "Joystick 5 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_X_Axis_Neutral_Positi 4528; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_X_Axis_Neutral_Positi "Joystick 5 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_X_Axis_Lever_Left_Neg 4529; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_X_Axis_Lever_Left_Neg "Joystick 5 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_X_Axis_Lever_Right_Po 4530; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_X_Axis_Lever_Right_Po "Joystick 5 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_X_Axis_Position 4531; BA_ "SPN" SG_ 2164076032 Joystick_5_Y_Axis_Neutral_Positi 4532; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Y_Axis_Neutral_Positi "Joystick 5 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Y_Axis_Lever_Back_Neg 4533; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Y_Axis_Lever_Back_Neg "Joystick 5 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Y_Axis_Lever_Forward_ 4534; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Y_Axis_Lever_Forward_ "Joystick 5 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Y_Axis_Position 4535; BA_ "SPN" SG_ 2164076032 Joystick_5_Y_Axis_Detent_Positio 4536; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Y_Axis_Detent_Positio "Joystick 5 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_X_Axis_Detent_Positio 4537; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_X_Axis_Detent_Positio "Joystick 5 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_4_Pressed_Stat 4538; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_4_Pressed_Stat "Joystick 5 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_3_Pressed_Stat 4539; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_3_Pressed_Stat "Joystick 5 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_2_Pressed_Stat 4540; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_2_Pressed_Stat "Joystick 5 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_1_Pressed_Stat 4541; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_1_Pressed_Stat "Joystick 5 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_8_Pressed_Stat 4542; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_8_Pressed_Stat "Joystick 5 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_7_Pressed_Stat 4543; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_7_Pressed_Stat "Joystick 5 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_6_Pressed_Stat 4544; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_6_Pressed_Stat "Joystick 5 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_5_Pressed_Stat 4545; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_5_Pressed_Stat "Joystick 5 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_12_Pressed_Sta 4546; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_12_Pressed_Sta "Joystick 5 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_11_Pressed_Sta 4547; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_11_Pressed_Sta "Joystick 5 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_10_Pressed_Sta 4548; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_10_Pressed_Sta "Joystick 5 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164076032 Joystick_5_Button_9_Pressed_Stat 4549; BA_ "SystemSignalLongSymbol" SG_ 2164076032 Joystick_5_Button_9_Pressed_Stat "Joystick 5 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_X_Axis_Neutral_P 4513; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_X_Axis_Neutral_P "Joystick 4 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_X_Axis_Lever_Lef 4514; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_X_Axis_Lever_Lef "Joystick 4 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_X_Axis_Lever_Rig 4515; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_X_Axis_Lever_Rig "Joystick 4 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_X_Axis_Position 4516; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Neutral_P 4517; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Neutral_P "Joystick 4 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Lever_Bac 4518; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Lever_Bac "Joystick 4 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Lever_For 4519; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Lever_For "Joystick 4 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Position 4520; BA_ "SPN" SG_ 2164076288 Joystick_4_Theta_Axis_Neutral_Po 4521; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Theta_Axis_Neutral_Po "Joystick 4 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Theta_Axis_Counter_Cl 4522; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Theta_Axis_Counter_Cl "Joystick 4 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Theta_Axis_Clockwise_ 4523; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Theta_Axis_Clockwise_ "Joystick 4 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Theta_Axis_Position 4524; BA_ "SPN" SG_ 2164076288 Joystick_4_Theta_Axis_Detent_Pos 4525; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Theta_Axis_Detent_Pos "Joystick 4 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Detent_Po 4526; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_Y_Axis_Detent_Po "Joystick 4 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076288 Joystick_4_Grip_X_Axis_Detent_Po 4527; BA_ "SystemSignalLongSymbol" SG_ 2164076288 Joystick_4_Grip_X_Axis_Detent_Po "Joystick 4 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_X_Axis_Neutral_Positi 4491; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_X_Axis_Neutral_Positi "Joystick 4 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_X_Axis_Lever_Left_Neg 4492; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_X_Axis_Lever_Left_Neg "Joystick 4 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_X_Axis_Lever_Right_Po 4493; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_X_Axis_Lever_Right_Po "Joystick 4 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_X_Axis_Position 4494; BA_ "SPN" SG_ 2164076544 Joystick_4_Y_Axis_Neutral_Positi 4495; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Y_Axis_Neutral_Positi "Joystick 4 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Y_Axis_Lever_Back_Neg 4496; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Y_Axis_Lever_Back_Neg "Joystick 4 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Y_Axis_Lever_Forward_ 4497; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Y_Axis_Lever_Forward_ "Joystick 4 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Y_Axis_Position 4498; BA_ "SPN" SG_ 2164076544 Joystick_4_Y_Axis_Detent_Positio 4499; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Y_Axis_Detent_Positio "Joystick 4 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_X_Axis_Detent_Positio 4500; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_X_Axis_Detent_Positio "Joystick 4 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_4_Pressed_Stat 4501; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_4_Pressed_Stat "Joystick 4 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_3_Pressed_Stat 4502; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_3_Pressed_Stat "Joystick 4 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_2_Pressed_Stat 4503; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_2_Pressed_Stat "Joystick 4 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_1_Pressed_Stat 4504; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_1_Pressed_Stat "Joystick 4 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_8_Pressed_Stat 4505; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_8_Pressed_Stat "Joystick 4 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_7_Pressed_Stat 4506; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_7_Pressed_Stat "Joystick 4 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_6_Pressed_Stat 4507; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_6_Pressed_Stat "Joystick 4 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_5_Pressed_Stat 4508; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_5_Pressed_Stat "Joystick 4 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_12_Pressed_Sta 4509; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_12_Pressed_Sta "Joystick 4 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_11_Pressed_Sta 4510; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_11_Pressed_Sta "Joystick 4 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_10_Pressed_Sta 4511; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_10_Pressed_Sta "Joystick 4 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164076544 Joystick_4_Button_9_Pressed_Stat 4512; BA_ "SystemSignalLongSymbol" SG_ 2164076544 Joystick_4_Button_9_Pressed_Stat "Joystick 4 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_1_Command 4460; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_2_Command 4461; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_3_Command 4462; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_4_Command 4463; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_5_Command 4464; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_6_Command 4465; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_7_Command 4466; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_8_Command 4467; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_9_Command 4468; BA_ "SPN" SG_ 2164076800 Joystick_1_Lamp_10_Command 4469; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_1_Command 4470; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_2_Command 4471; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_3_Command 4472; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_4_Command 4473; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_5_Command 4474; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_6_Command 4475; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_7_Command 4476; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_8_Command 4477; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_9_Command 4478; BA_ "SPN" SG_ 2164076800 Joystick_2_Lamp_10_Command 4479; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_1_Command 4480; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_2_Command 4481; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_3_Command 4482; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_4_Command 4483; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_5_Command 4484; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_6_Command 4485; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_7_Command 4486; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_8_Command 4487; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_9_Command 4488; BA_ "SPN" SG_ 2164076800 Joystick_3_Lamp_10_Command 4489; BA_ "SPN" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re0 4440; BA_ "SystemSignalLongSymbol" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Pump Motor Speed (feedback on pump speed)"; BA_ "SPN" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re1 4441; BA_ "SystemSignalLongSymbol" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Pump Drive Percentage (Command to pump)"; BA_ "SPN" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re2 4442; BA_ "SystemSignalLongSymbol" SG_ 2164077312 Aftertreatment_2_SCR_Catalyst_Re2 "Aftertreatment 2 SCR Catalyst Reagent Return Valve (Directional command for return)"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re0 4433; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Level"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re1 4434; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Temperature"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re2 4435; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re2 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Level 2"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re3 4436; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re3 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Level Preliminary FMI"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Reagent_Tan 4437; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Reagent_Tan "Aftertreatment 2 SCR Reagent Tank 2 Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re4 4438; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re4 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Heater (light-off)"; BA_ "SPN" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re5 4439; BA_ "SystemSignalLongSymbol" SG_ 2164077568 Aftertreatment_2_SCR_Catalyst_Re5 "Aftertreatment 2 SCR Catalyst Reagent Tank 2 Heater Preliminary FMI"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta0 4426; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta0 "Aftertreatment 2 SCR Catalyst Tank Level"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta1 4427; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta1 "Aftertreatment 2 SCR Catalyst Tank Temperature"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta2 4428; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta2 "Aftertreatment 2 SCR Catalyst Tank Level 2"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta3 4429; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Ta3 "Aftertreatment 2 SCR Catalyst Tank Level Preliminary FMI"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Re0 4430; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Tank 1 Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Re1 4432; BA_ "SystemSignalLongSymbol" SG_ 2164077824 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Tank 1 Heater Preliminary FMI"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re0 4420; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Temperature 2"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re1 4421; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Concentration"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re2 4422; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re2 "Aftertreatment 2 SCR Catalyst Reagent Conductivity"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re3 4423; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re3 "Aftertreatment 2 SCR Catalyst Reagent Temperature 2 Preliminary FMI"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re4 4424; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re4 "Aftertreatment 2 SCR Catalyst Reagent Properties Preliminary FMI"; BA_ "SPN" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re5 4425; BA_ "SystemSignalLongSymbol" SG_ 2164078080 Aftertreatment_2_SCR_Catalyst_Re5 "Aftertreatment 2 SCR Catalyst Reagent Type"; BA_ "SPN" SG_ 2164078336 Aftertreatment_2_SCR_Average_Cat 4417; BA_ "SystemSignalLongSymbol" SG_ 2164078336 Aftertreatment_2_SCR_Average_Cat "Aftertreatment 2 SCR Average Catalyst Reagent Consumption (15 hr avg)"; BA_ "SPN" SG_ 2164078336 Aftertreatment_2_SCR_Commanded_C 4418; BA_ "SystemSignalLongSymbol" SG_ 2164078336 Aftertreatment_2_SCR_Commanded_C "Aftertreatment 2 SCR Commanded Catalyst Reagent Consumption (15 hr avg)"; BA_ "SPN" SG_ 2164078336 Aftertreatment_2_SCR_Catalyst_Co 4419; BA_ "SystemSignalLongSymbol" SG_ 2164078336 Aftertreatment_2_SCR_Catalyst_Co "Aftertreatment 2 SCR Catalyst Conversion Efficiency"; BA_ "SPN" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_In0 4413; BA_ "SystemSignalLongSymbol" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_In0 "Aftertreatment 2 SCR Catalyst Intake Gas Temperature"; BA_ "SPN" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_In1 4414; BA_ "SystemSignalLongSymbol" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_In1 "Aftertreatment 2 SCR Catalyst Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_Ou0 4415; BA_ "SystemSignalLongSymbol" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_Ou0 "Aftertreatment 2 SCR Catalyst Outlet Gas Temperature"; BA_ "SPN" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_Ou1 4416; BA_ "SystemSignalLongSymbol" SG_ 2164078592 Aftertreatment_2_SCR_Catalyst_Ou1 "Aftertreatment 2 SCR Catalyst Outlet Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164078848 Aftertreatment_2_SCR_Catalyst_Ex0 4411; BA_ "SystemSignalLongSymbol" SG_ 2164078848 Aftertreatment_2_SCR_Catalyst_Ex0 "Aftertreatment 2 SCR Catalyst Exhaust Gas Differential Pressure"; BA_ "SPN" SG_ 2164078848 Aftertreatment_2_SCR_Catalyst_Ex1 4412; BA_ "SystemSignalLongSymbol" SG_ 2164078848 Aftertreatment_2_SCR_Catalyst_Ex1 "Aftertreatment 2 SCR Catalyst Exhaust Gas Differential Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Doser_Fault 4405; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Doser_Fault "Aftertreatment 2 SCR Doser Fault Suppression Request"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Doser_Heati 4406; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Doser_Heati "Aftertreatment 2 SCR Doser Heating Mode Request"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re0 4407; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 1 (request)"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re1 4408; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 2 (request)"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re2 4409; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re2 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 3 (request)"; BA_ "SPN" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re3 4410; BA_ "SystemSignalLongSymbol" SG_ 2164079104 Aftertreatment_2_SCR_Catalyst_Re3 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 4 (request)"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Air_0 4388; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Air_0 "Aftertreatment 2 SCR Dosing Air Assist Absolute Pressure"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Air_1 4389; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Air_1 "Aftertreatment 2 SCR Dosing Air Assist Valve (measured, 0 = closed)"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Reag 4390; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Reag "Aftertreatment 2 SCR Dosing Reagent Temperature (closest to dosing valve)"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Valv 4391; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Dosing_Valv "Aftertreatment 2 SCR Dosing Valve Exhaust Temp. Reduction Request"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Feedback_Co 4392; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Feedback_Co "Aftertreatment 2 SCR Feedback Control Status (Open/Closed Loop)"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re0 4393; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re0 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 1 state"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re1 4394; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re1 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 1 Preliminary FMI"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re2 4395; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re2 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 2 state"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re3 4396; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re3 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 2 Preliminary FMI"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re4 4397; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re4 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 3 state"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re5 4398; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re5 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 3 Preliminary FMI"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re6 4399; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re6 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 4 state"; BA_ "SPN" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re7 4400; BA_ "SystemSignalLongSymbol" SG_ 2164079360 Aftertreatment_2_SCR_Catalyst_Re7 "Aftertreatment 2 SCR Catalyst Reagent Line Heater 4 Preliminary FMI"; BA_ "SPN" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re0 4374; BA_ "SystemSignalLongSymbol" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Pump Motor Speed (feedback on pump speed)"; BA_ "SPN" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re1 4375; BA_ "SystemSignalLongSymbol" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Pump Drive Percentage (Command to pump)"; BA_ "SPN" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re2 4376; BA_ "SystemSignalLongSymbol" SG_ 2164079616 Aftertreatment_1_SCR_Catalyst_Re2 "Aftertreatment 1 SCR Catalyst Reagent Return Valve (Directional command for return)"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re0 4367; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Level"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re1 4368; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Temperature"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re2 4369; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re2 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Level 2"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re3 4370; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re3 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Level Preliminary FMI"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Reagent_Tan 4371; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Reagent_Tan "Aftertreatment 1 SCR Reagent Tank 2 Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re4 4372; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re4 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Heater (light-off)"; BA_ "SPN" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re5 4373; BA_ "SystemSignalLongSymbol" SG_ 2164079872 Aftertreatment_1_SCR_Catalyst_Re5 "Aftertreatment 1 SCR Catalyst Reagent Tank 2 Heater Preliminary FMI"; BA_ "SPN" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_In0 4360; BA_ "SystemSignalLongSymbol" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_In0 "Aftertreatment 1 SCR Catalyst Intake Gas Temperature"; BA_ "SPN" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_In1 4361; BA_ "SystemSignalLongSymbol" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_In1 "Aftertreatment 1 SCR Catalyst Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_Ou0 4363; BA_ "SystemSignalLongSymbol" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_Ou0 "Aftertreatment 1 SCR Catalyst Outlet Gas Temperature"; BA_ "SPN" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_Ou1 4362; BA_ "SystemSignalLongSymbol" SG_ 2164080128 Aftertreatment_1_SCR_Catalyst_Ou1 "Aftertreatment 1 SCR Catalyst Outlet Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164080384 Aftertreatment_1_SCR_Catalyst_Ex0 4358; BA_ "SystemSignalLongSymbol" SG_ 2164080384 Aftertreatment_1_SCR_Catalyst_Ex0 "Aftertreatment 1 SCR Catalyst Exhaust Gas Differential Pressure"; BA_ "SPN" SG_ 2164080384 Aftertreatment_1_SCR_Catalyst_Ex1 4359; BA_ "SystemSignalLongSymbol" SG_ 2164080384 Aftertreatment_1_SCR_Catalyst_Ex1 "Aftertreatment 1 SCR Catalyst Exhaust Gas Differential Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Doser_Fault 4352; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Doser_Fault "Aftertreatment 1 SCR Doser Fault Suppression Request"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Doser_Heati 4353; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Doser_Heati "Aftertreatment 1 SCR Doser Heating Mode Request"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re0 4354; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 1 (request)"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re1 4355; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 2 (request)"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re2 4356; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re2 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 3 (request)"; BA_ "SPN" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re3 4357; BA_ "SystemSignalLongSymbol" SG_ 2164080640 Aftertreatment_1_SCR_Catalyst_Re3 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 4 (request)"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Air_0 4335; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Air_0 "Aftertreatment 1 SCR Dosing Air Assist Absolute Pressure"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Air_1 4336; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Air_1 "Aftertreatment 1 SCR Dosing Air Assist Valve (measured, 0 = closed)"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Reag 4337; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Reag "Aftertreatment 1 SCR Dosing Reagent Temperature (closest to dosing valve)"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Valv 4338; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Dosing_Valv "Aftertreatment 1 SCR Dosing Valve Exhaust Temp. Reduction Request"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Feedback_Co 4339; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Feedback_Co "Aftertreatment 1 SCR Feedback Control Status (Open/Closed Loop)"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re0 4340; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 1 state"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re1 4341; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 1 Preliminary FMI"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re2 4342; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re2 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 2 state"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re3 4343; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re3 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 2 Preliminary FMI"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re4 4344; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re4 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 3 state"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re5 4345; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re5 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 3 Preliminary FMI"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re6 4346; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re6 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 4 state"; BA_ "SPN" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re7 4347; BA_ "SystemSignalLongSymbol" SG_ 2164080896 Aftertreatment_1_SCR_Catalyst_Re7 "Aftertreatment 1 SCR Catalyst Reagent Line Heater 4 Preliminary FMI"; BA_ "SPN" SG_ 2164081664 Aftertreatment_2_Fuel_Pressure_2 4303; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal0 4295; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal0 "Aftertreatment 2 Three Way Catalytic Converter Intake Gas Temperature"; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal1 4296; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal1 "Aftertreatment 2 Three Way Catalytic Converter Outlet Gas Temperature"; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal2 4297; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal2 "Aftertreatment 2 Three Way Catalytic Converter Differential Pressure"; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal3 4298; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal3 "Aftertreatment 2 Three Way Catalytic Converter Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal4 4299; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal4 "Aftertreatment 2 Three Way Catalytic Converter Outlet Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal5 4300; BA_ "SystemSignalLongSymbol" SG_ 2164081920 Aftertreatment_2_Three_Way_Catal5 "Aftertreatment 2 Three Way Catalytic Converter Differential Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal0 4289; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal0 "Aftertreatment 1 Three Way Catalytic Converter Intake Gas Temperature"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal1 4290; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal1 "Aftertreatment 1 Three Way Catalytic Converter Outlet Gas Temperature"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal2 4291; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal2 "Aftertreatment 1 Three Way Catalytic Converter Differential Pressure"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal3 4292; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal3 "Aftertreatment 1 Three Way Catalytic Converter Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal4 4293; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal4 "Aftertreatment 1 Three Way Catalytic Converter Outlet Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal5 4294; BA_ "SystemSignalLongSymbol" SG_ 2164082176 Aftertreatment_1_Three_Way_Catal5 "Aftertreatment 1 Three Way Catalytic Converter Differential Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164082432 Transmission_Mode_Label 4254; BA_ "SPN" SG_ 2164082688 Long_term_Fuel_Trim___Bank_2 4239; BA_ "SPN" SG_ 2164082688 Short_term_Fuel_Trim___Bank_2 4238; BA_ "SPN" SG_ 2164082688 Engine_Exhaust_Gas_Oxygen_Sensor 4241; BA_ "SystemSignalLongSymbol" SG_ 2164082688 Engine_Exhaust_Gas_Oxygen_Sensor "Engine Exhaust Gas Oxygen Sensor Closed Loop Operation, Bank 2"; BA_ "SPN" SG_ 2164082944 Long_term_Fuel_Trim___Bank_1 4237; BA_ "SPN" SG_ 2164082944 Short_term_Fuel_Trim___Bank_1 4236; BA_ "SPN" SG_ 2164082944 Engine_Exhaust_Gas_Oxygen_Sensor 4240; BA_ "SystemSignalLongSymbol" SG_ 2164082944 Engine_Exhaust_Gas_Oxygen_Sensor "Engine Exhaust Gas Oxygen Sensor Closed Loop Operation, Bank 1"; BA_ "SPN" SG_ 2164084992 Aftercooler_Coolant_Thermostat_M 4198; BA_ "SystemSignalLongSymbol" SG_ 2164084992 Aftercooler_Coolant_Thermostat_M "Aftercooler Coolant Thermostat Mode"; BA_ "SPN" SG_ 2164084992 Desired_Aftercooler_Coolant_Inle 4199; BA_ "SystemSignalLongSymbol" SG_ 2164084992 Desired_Aftercooler_Coolant_Inle "Desired Aftercooler Coolant Inlet Temperature"; BA_ "SPN" SG_ 2164084992 Desired_Aftercooler_Coolant_Ther 4200; BA_ "SystemSignalLongSymbol" SG_ 2164084992 Desired_Aftercooler_Coolant_Ther "Desired Aftercooler Coolant Thermostat Opening"; BA_ "SPN" SG_ 2164085248 Engine_Coolant_Thermostat_Mode 4195; BA_ "SPN" SG_ 2164085248 Desired_Engine_Coolant_Pump_Outl 4196; BA_ "SystemSignalLongSymbol" SG_ 2164085248 Desired_Engine_Coolant_Pump_Outl "Desired Engine Coolant Pump Outlet Temperature"; BA_ "SPN" SG_ 2164085248 Desired_Engine_Coolant_Thermosta 4197; BA_ "SystemSignalLongSymbol" SG_ 2164085248 Desired_Engine_Coolant_Thermosta "Desired Engine Coolant Thermostat Opening"; BA_ "SPN" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A0 4151; BA_ "SystemSignalLongSymbol" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A0 "Engine Exhaust Gas Temperature Average"; BA_ "SPN" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A1 4153; BA_ "SystemSignalLongSymbol" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A1 "Engine Exhaust Gas Temperature Average - Bank 1"; BA_ "SPN" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A2 4152; BA_ "SystemSignalLongSymbol" SG_ 2164085504 Engine_Exhaust_Gas_Temperature_A2 "Engine Exhaust Gas Temperature Average - Bank 2"; BA_ "SPN" SG_ 2164090112 Aftertreatment_1_Fuel_Pressure_2 4077; BA_ "SPN" SG_ 2164090368 Engine_Coolant_Temperature_2 4076; BA_ "SPN" SG_ 2164090368 Engine_Coolant_Pump_Outlet_Tempe 4193; BA_ "SystemSignalLongSymbol" SG_ 2164090368 Engine_Coolant_Pump_Outlet_Tempe "Engine Coolant Pump Outlet Temperature"; BA_ "SPN" SG_ 2164090368 Engine_Coolant_Thermostat_Openin 4194; BA_ "SystemSignalLongSymbol" SG_ 2164090368 Engine_Coolant_Thermostat_Openin "Engine Coolant Thermostat Opening"; BA_ "SPN" SG_ 2164090368 Engine_Exhaust_Valve_Actuation_S 4288; BA_ "SystemSignalLongSymbol" SG_ 2164090368 Engine_Exhaust_Valve_Actuation_S "Engine Exhaust Valve Actuation System Oil Temperature"; BA_ "SPN" SG_ 2164090624 Zero_Net_Vehicle_Weight_Change 4075; BA_ "SPN" SG_ 2164090880 Gross_Combination_Weight 417; BA_ "SPN" SG_ 2164090880 Net_Vehicle_Weight_Change 413; BA_ "SPN" SG_ 2164091136 Axle_Group_Location 4074; BA_ "SPN" SG_ 2164091136 Axle_Group_Empty_Weight_Calibrat 408; BA_ "SystemSignalLongSymbol" SG_ 2164091136 Axle_Group_Empty_Weight_Calibrat "Axle Group Empty Weight Calibration"; BA_ "SPN" SG_ 2164091136 Axle_Group_Full_Weight_Calibrati 407; BA_ "SystemSignalLongSymbol" SG_ 2164091136 Axle_Group_Full_Weight_Calibrati "Axle Group Full Weight Calibration"; BA_ "SPN" SG_ 2164091392 Axle_Group_Location 4073; BA_ "SPN" SG_ 2164091392 Axle_Group_Weight 409; BA_ "SPN" SG_ 2164091648 Steer_Axle_Group_Weight_Availabl 4059; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Steer_Axle_Group_Weight_Availabl "Steer Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Lift_Axle_Group_Weight_Available 4060; BA_ "SPN" SG_ 2164091648 Drive_Axle_Group_Weight_Availabl 4061; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Drive_Axle_Group_Weight_Availabl "Drive Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Tag_Axle_Group_Weight_Available 4062; BA_ "SPN" SG_ 2164091648 Additional_Tractor_Axle_Group_We 4063; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Additional_Tractor_Axle_Group_We "Additional Tractor Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_A_Axle_Group_Weight_Avai 4064; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_A_Axle_Group_Weight_Avai "Trailer A Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_B_Axle_Group_Weight_Avai 4065; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_B_Axle_Group_Weight_Avai "Trailer B Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_C_Axle_Group_Weight_Avai 4066; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_C_Axle_Group_Weight_Avai "Trailer C Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_D_Axle_Group_Weight_Avai 4067; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_D_Axle_Group_Weight_Avai "Trailer D Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_E_Axle_Group_Weight_Avai 4068; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_E_Axle_Group_Weight_Avai "Trailer E Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_F_Axle_Group_Weight_Avai 4069; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_F_Axle_Group_Weight_Avai "Trailer F Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_G_Axle_Group_Weight_Avai 4070; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_G_Axle_Group_Weight_Avai "Trailer G Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Trailer_H_Axle_Group_Weight_Avai 4071; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Trailer_H_Axle_Group_Weight_Avai "Trailer H Axle Group Weight Available"; BA_ "SPN" SG_ 2164091648 Additional_Trailer_Axle_Group_We 4072; BA_ "SystemSignalLongSymbol" SG_ 2164091648 Additional_Trailer_Axle_Group_We "Additional Trailer Axle Group Weight Available"; BA_ "SPN" SG_ 2164091904 Aftertreatment_2_Secondary_Air_D 3833; BA_ "SystemSignalLongSymbol" SG_ 2164091904 Aftertreatment_2_Secondary_Air_D "Aftertreatment 2 Secondary Air Differential Pressure"; BA_ "SPN" SG_ 2164091904 Aftertreatment_2_Secondary_Air_T 3834; BA_ "SystemSignalLongSymbol" SG_ 2164091904 Aftertreatment_2_Secondary_Air_T "Aftertreatment 2 Secondary Air Temperature"; BA_ "SPN" SG_ 2164091904 Aftertreatment_2_Secondary_Air_M 3835; BA_ "SystemSignalLongSymbol" SG_ 2164091904 Aftertreatment_2_Secondary_Air_M "Aftertreatment 2 Secondary Air Mass Flow"; BA_ "SPN" SG_ 2164091904 Aftertreatment_2_Secondary_Air_P 3838; BA_ "SystemSignalLongSymbol" SG_ 2164091904 Aftertreatment_2_Secondary_Air_P "Aftertreatment 2 Secondary Air Pressure"; BA_ "SPN" SG_ 2164092160 Aftertreatment_1_Secondary_Air_D 3830; BA_ "SystemSignalLongSymbol" SG_ 2164092160 Aftertreatment_1_Secondary_Air_D "Aftertreatment 1 Secondary Air Differential Pressure"; BA_ "SPN" SG_ 2164092160 Aftertreatment_1_Secondary_Air_T 3831; BA_ "SystemSignalLongSymbol" SG_ 2164092160 Aftertreatment_1_Secondary_Air_T "Aftertreatment 1 Secondary Air Temperature"; BA_ "SPN" SG_ 2164092160 Aftertreatment_1_Secondary_Air_M 3832; BA_ "SystemSignalLongSymbol" SG_ 2164092160 Aftertreatment_1_Secondary_Air_M "Aftertreatment 1 Secondary Air Mass Flow"; BA_ "SPN" SG_ 2164092160 Aftertreatment_1_Secondary_Air_P 3837; BA_ "SystemSignalLongSymbol" SG_ 2164092160 Aftertreatment_1_Secondary_Air_P "Aftertreatment 1 Secondary Air Pressure"; BA_ "SPN" SG_ 2164092416 Aftertreatment_1_SCR_Average_Cat 3826; BA_ "SystemSignalLongSymbol" SG_ 2164092416 Aftertreatment_1_SCR_Average_Cat "Aftertreatment 1 SCR Average Catalyst Reagent Consumption (15 hr avg)"; BA_ "SPN" SG_ 2164092416 Aftertreatment_1_SCR_Commanded_C 3828; BA_ "SystemSignalLongSymbol" SG_ 2164092416 Aftertreatment_1_SCR_Commanded_C "Aftertreatment 1 SCR Commanded Catalyst Reagent Consumption (15 hr avg)"; BA_ "SPN" SG_ 2164092416 Aftertreatment_1_SCR_Catalyst_Co 4364; BA_ "SystemSignalLongSymbol" SG_ 2164092416 Aftertreatment_1_SCR_Catalyst_Co "Aftertreatment 1 SCR Catalyst Conversion Efficiency"; BA_ "SPN" SG_ 2164092672 Engine_Exhaust_Gas_Recirculation 3821; BA_ "SystemSignalLongSymbol" SG_ 2164092672 Engine_Exhaust_Gas_Recirculation "Engine Exhaust Gas Recirculation (EGR) Valve 2 Control"; BA_ "SPN" SG_ 2164092928 Retract_Status_of_ramp_1 3810; BA_ "SPN" SG_ 2164092928 Enable_status_of_ramp_1 3811; BA_ "SPN" SG_ 2164092928 Movement_status_of_ramp_1 3812; BA_ "SPN" SG_ 2164092928 Retract_Status_of_ramp_2 3813; BA_ "SPN" SG_ 2164092928 Enable_status_of_ramp_2 3814; BA_ "SPN" SG_ 2164092928 Movement_status_of_ramp_2 3815; BA_ "SPN" SG_ 2164092928 Retract_Status_of_ramp_3 3816; BA_ "SPN" SG_ 2164092928 Enable_status_of_ramp_3 3817; BA_ "SPN" SG_ 2164092928 Movement_status_of_ramp_3 3818; BA_ "SPN" SG_ 2164092928 Retract_Status_of_ramp_4 4454; BA_ "SPN" SG_ 2164092928 Enable_status_of_ramp_4 4455; BA_ "SPN" SG_ 2164092928 Movement_status_of_ramp_4 4456; BA_ "SPN" SG_ 2164092928 Retract_Status_of_ramp_5 4457; BA_ "SPN" SG_ 2164092928 Enable_status_of_ramp_5 4458; BA_ "SPN" SG_ 2164092928 Movement_status_of_ramp_5 4459; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_1_Left 3785; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_1_Righ 3786; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Tractor_Brake_Stroke_Axle_1_Righ "Tractor Brake Stroke Axle 1 Right"; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_2_Left 3787; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_2_Righ 3788; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Tractor_Brake_Stroke_Axle_2_Righ "Tractor Brake Stroke Axle 2 Right"; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_3_Left 3789; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_3_Righ 3790; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Tractor_Brake_Stroke_Axle_3_Righ "Tractor Brake Stroke Axle 3 Right"; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_4_Left 3791; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_4_Righ 3792; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Tractor_Brake_Stroke_Axle_4_Righ "Tractor Brake Stroke Axle 4 Right"; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_5_Left 3793; BA_ "SPN" SG_ 2164093184 Tractor_Brake_Stroke_Axle_5_Righ 3794; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Tractor_Brake_Stroke_Axle_5_Righ "Tractor Brake Stroke Axle 5 Right"; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_1_Left 3795; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_1_Righ 3796; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Trailer_Brake_Stroke_Axle_1_Righ "Trailer Brake Stroke Axle 1 Right"; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_2_Left 3797; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_2_Righ 3798; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Trailer_Brake_Stroke_Axle_2_Righ "Trailer Brake Stroke Axle 2 Right"; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_3_Left 3799; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_3_Righ 3800; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Trailer_Brake_Stroke_Axle_3_Righ "Trailer Brake Stroke Axle 3 Right"; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_4_Left 3801; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_4_Righ 3802; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Trailer_Brake_Stroke_Axle_4_Righ "Trailer Brake Stroke Axle 4 Right"; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_5_Left 3803; BA_ "SPN" SG_ 2164093184 Trailer_Brake_Stroke_Axle_5_Righ 3804; BA_ "SystemSignalLongSymbol" SG_ 2164093184 Trailer_Brake_Stroke_Axle_5_Righ "Trailer Brake Stroke Axle 5 Right"; BA_ "SPN" SG_ 2164093440 Engine_Spark_Plug_21 1314; BA_ "SPN" SG_ 2164093440 Engine_Spark_Plug_22 1315; BA_ "SPN" SG_ 2164093440 Engine_Spark_Plug_23 1316; BA_ "SPN" SG_ 2164093440 Engine_Spark_Plug_24 1317; BA_ "SPN" SG_ 2164093696 Engine_Spark_Plug_17 1310; BA_ "SPN" SG_ 2164093696 Engine_Spark_Plug_18 1311; BA_ "SPN" SG_ 2164093696 Engine_Spark_Plug_19 1312; BA_ "SPN" SG_ 2164093696 Engine_Spark_Plug_20 1313; BA_ "SPN" SG_ 2164093952 Engine_Spark_Plug_13 1306; BA_ "SPN" SG_ 2164093952 Engine_Spark_Plug_14 1307; BA_ "SPN" SG_ 2164093952 Engine_Spark_Plug_15 1308; BA_ "SPN" SG_ 2164093952 Engine_Spark_Plug_16 1309; BA_ "SPN" SG_ 2164094208 Engine_Spark_Plug_9 1302; BA_ "SPN" SG_ 2164094208 Engine_Spark_Plug_10 1303; BA_ "SPN" SG_ 2164094208 Engine_Spark_Plug_11 1304; BA_ "SPN" SG_ 2164094208 Engine_Spark_Plug_12 1305; BA_ "SPN" SG_ 2164094464 Engine_Spark_Plug_5 1298; BA_ "SPN" SG_ 2164094464 Engine_Spark_Plug_6 1299; BA_ "SPN" SG_ 2164094464 Engine_Spark_Plug_7 1300; BA_ "SPN" SG_ 2164094464 Engine_Spark_Plug_8 1301; BA_ "SPN" SG_ 2164094720 Engine_Spark_Plug_1 1294; BA_ "SPN" SG_ 2164094720 Engine_Spark_Plug_2 1295; BA_ "SPN" SG_ 2164094720 Engine_Spark_Plug_3 1296; BA_ "SPN" SG_ 2164094720 Engine_Spark_Plug_4 1297; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Fuel_Used 3741; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Active_Reg 3742; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Active_Reg "Aftertreatment 2 Trip Active Regeneration Time"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Disabled_T 3743; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Disabled_T "Aftertreatment 2 Trip Disabled Time"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_0 3744; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_0 "Aftertreatment 2 Trip Number of Active Regenerations"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Passive_Re 3745; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Passive_Re "Aftertreatment 2 Trip Passive Regeneration Time"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_1 3746; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_1 "Aftertreatment 2 Trip Number of Passive Regenerations"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_2 3747; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_2 "Aftertreatment 2 Trip Number of Active Regeneration Inhibit Requests"; BA_ "SPN" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_3 3748; BA_ "SystemSignalLongSymbol" SG_ 2164094976 Aftertreatment_2_Trip_Number_of_3 "Aftertreatment 2 Trip Number of Active Regeneration Manual Requests"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Fuel_Used 3733; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Active_Reg 3734; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Active_Reg "Aftertreatment 1 Trip Active Regeneration Time"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Disabled_T 3735; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Disabled_T "Aftertreatment 1 Trip Disabled Time"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_0 3736; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_0 "Aftertreatment 1 Trip Number of Active Regenerations"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Passive_Re 3737; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Passive_Re "Aftertreatment 1 Trip Passive Regeneration Time"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_1 3738; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_1 "Aftertreatment 1 Trip Number of Passive Regenerations"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_2 3739; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_2 "Aftertreatment 1 Trip Number of Active Regeneration Inhibit Requests"; BA_ "SPN" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_3 3740; BA_ "SystemSignalLongSymbol" SG_ 2164095232 Aftertreatment_1_Trip_Number_of_3 "Aftertreatment 1 Trip Number of Active Regeneration Manual Requests"; BA_ "SPN" SG_ 2164095488 Diesel_Particulate_Filter_2_Soot 3722; BA_ "SystemSignalLongSymbol" SG_ 2164095488 Diesel_Particulate_Filter_2_Soot "Diesel Particulate Filter 2 Soot Load Percent"; BA_ "SPN" SG_ 2164095488 Diesel_Particulate_Filter_2_Ash_ 3723; BA_ "SystemSignalLongSymbol" SG_ 2164095488 Diesel_Particulate_Filter_2_Ash_ "Diesel Particulate Filter 2 Ash Load Percent"; BA_ "SPN" SG_ 2164095488 Diesel_Particulate_Filter_2_Time 3724; BA_ "SystemSignalLongSymbol" SG_ 2164095488 Diesel_Particulate_Filter_2_Time "Diesel Particulate Filter 2 Time Since Last Active Regeneration"; BA_ "SPN" SG_ 2164095744 Diesel_Particulate_Filter_1_Soot 3719; BA_ "SystemSignalLongSymbol" SG_ 2164095744 Diesel_Particulate_Filter_1_Soot "Diesel Particulate Filter 1 Soot Load Percent"; BA_ "SPN" SG_ 2164095744 Diesel_Particulate_Filter_1_Ash_ 3720; BA_ "SystemSignalLongSymbol" SG_ 2164095744 Diesel_Particulate_Filter_1_Ash_ "Diesel Particulate Filter 1 Ash Load Percent"; BA_ "SPN" SG_ 2164095744 Diesel_Particulate_Filter_1_Time 3721; BA_ "SystemSignalLongSymbol" SG_ 2164095744 Diesel_Particulate_Filter_1_Time "Diesel Particulate Filter 1 Time Since Last Active Regeneration"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Lamp_C 3697; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Lamp_C "Diesel Particulate Filter Lamp Command"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Passiv 3699; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Passiv "Diesel Particulate Filter Passive Regeneration Status"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active0 3700; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active0 "Diesel Particulate Filter Active Regeneration Status"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Status 3701; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active1 3702; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active1 "Diesel Particulate Filter Active Regeneration Inhibited Status"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active2 3703; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active2 "Diesel Particulate Filter Active Regeneration Inhibited Due to Inhibit Switch"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active3 3704; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active3 "Diesel Particulate Filter Active Regeneration Inhibited Due to Clutch Disengaged"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active4 3705; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active4 "Diesel Particulate Filter Active Regeneration Inhibited Due to Service Brake Active"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active5 3706; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active5 "Diesel Particulate Filter Active Regeneration Inhibited Due to PTO Active"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active6 3707; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active6 "Diesel Particulate Filter Active Regeneration Inhibited Due to Accelerator Pedal Off Idle"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active7 3708; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active7 "Diesel Particulate Filter Active Regeneration Inhibited Due to Out of Neutral"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active8 3709; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active8 "Diesel Particulate Filter Active Regeneration Inhibited Due to Vehicle Speed Above Allowed Speed"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active9 3710; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active9 "Diesel Particulate Filter Active Regeneration Inhibited Due to Parking Brake Not Set"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active10 3711; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active10 "Diesel Particulate Filter Active Regeneration Inhibited Due to Low Exhaust Gas Temperature"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active11 3712; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active11 "Diesel Particulate Filter Active Regeneration Inhibited Due to System Fault Active"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active12 3713; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active12 "Diesel Particulate Filter Active Regeneration Inhibited Due to System Timeout"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active13 3714; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active13 "Diesel Particulate Filter Active Regeneration Inhibited Due to Temporary System Lockout"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active14 3715; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active14 "Diesel Particulate Filter Active Regeneration Inhibited Due to Permanent System Lockout"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active15 3716; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active15 "Diesel Particulate Filter Active Regeneration Inhibited Due to Engine Not Warmed Up"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active16 3717; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active16 "Diesel Particulate Filter Active Regeneration Inhibited Due to Vehicle Speed Below Allowed Speed"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Automa 3718; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Automa "Diesel Particulate Filter Automatic Active Regeneration Initiation Configuration"; BA_ "SPN" SG_ 2164096000 Exhaust_System_High_Temperature_ 3698; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Exhaust_System_High_Temperature_ "Exhaust System High Temperature Lamp Command"; BA_ "SPN" SG_ 2164096000 Diesel_Particulate_Filter_Active17 4175; BA_ "SystemSignalLongSymbol" SG_ 2164096000 Diesel_Particulate_Filter_Active17 "Diesel Particulate Filter Active Regeneration Forced Status"; BA_ "SPN" SG_ 2164096512 Left_Headlamp_Dynamic_Bending_Li 3691; BA_ "SystemSignalLongSymbol" SG_ 2164096512 Left_Headlamp_Dynamic_Bending_Li "Left Headlamp Dynamic Bending Light"; BA_ "SPN" SG_ 2164096512 Right_Headlamp_Dynamic_Bending_L 3692; BA_ "SystemSignalLongSymbol" SG_ 2164096512 Right_Headlamp_Dynamic_Bending_L "Right Headlamp Dynamic Bending Light"; BA_ "SPN" SG_ 2164096512 Left_Headlamp_Light_Distribution 3693; BA_ "SPN" SG_ 2164096512 Right_Headlamp_Light_Distributio 3694; BA_ "SystemSignalLongSymbol" SG_ 2164096512 Right_Headlamp_Light_Distributio "Right Headlamp Light Distribution"; BA_ "SPN" SG_ 2164096768 Maximum_Crank_Attempts_per_Start 3670; BA_ "SystemSignalLongSymbol" SG_ 2164096768 Maximum_Crank_Attempts_per_Start "Maximum Crank Attempts per Start Attempt"; BA_ "SPN" SG_ 2164097280 EGR_Cooler_Bypass_Actuator_Posti 3672; BA_ "SystemSignalLongSymbol" SG_ 2164097280 EGR_Cooler_Bypass_Actuator_Posti "EGR Cooler Bypass Actuator Postion"; BA_ "SPN" SG_ 2164097792 Transfer_case_status 3645; BA_ "SPN" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi0 3640; BA_ "SystemSignalLongSymbol" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi0 "Engine Intake Valve Actuation Oil Pressure for Cylinder #17"; BA_ "SPN" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi1 3641; BA_ "SystemSignalLongSymbol" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi1 "Engine Intake Valve Actuation Oil Pressure for Cylinder #18"; BA_ "SPN" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi2 3642; BA_ "SystemSignalLongSymbol" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi2 "Engine Intake Valve Actuation Oil Pressure for Cylinder #19"; BA_ "SPN" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi3 3643; BA_ "SystemSignalLongSymbol" SG_ 2164098048 Engine_Intake_Valve_Actuation_Oi3 "Engine Intake Valve Actuation Oil Pressure for Cylinder #20"; BA_ "SPN" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi0 3636; BA_ "SystemSignalLongSymbol" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi0 "Engine Intake Valve Actuation Oil Pressure for Cylinder #13"; BA_ "SPN" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi1 3637; BA_ "SystemSignalLongSymbol" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi1 "Engine Intake Valve Actuation Oil Pressure for Cylinder #14"; BA_ "SPN" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi2 3638; BA_ "SystemSignalLongSymbol" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi2 "Engine Intake Valve Actuation Oil Pressure for Cylinder #15"; BA_ "SPN" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi3 3639; BA_ "SystemSignalLongSymbol" SG_ 2164098304 Engine_Intake_Valve_Actuation_Oi3 "Engine Intake Valve Actuation Oil Pressure for Cylinder #16"; BA_ "SPN" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi0 3632; BA_ "SystemSignalLongSymbol" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi0 "Engine Intake Valve Actuation Oil Pressure for Cylinder #9"; BA_ "SPN" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi1 3633; BA_ "SystemSignalLongSymbol" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi1 "Engine Intake Valve Actuation Oil Pressure for Cylinder #10"; BA_ "SPN" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi2 3634; BA_ "SystemSignalLongSymbol" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi2 "Engine Intake Valve Actuation Oil Pressure for Cylinder #11"; BA_ "SPN" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi3 3635; BA_ "SystemSignalLongSymbol" SG_ 2164098560 Engine_Intake_Valve_Actuation_Oi3 "Engine Intake Valve Actuation Oil Pressure for Cylinder #12"; BA_ "SPN" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi0 3628; BA_ "SystemSignalLongSymbol" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi0 "Engine Intake Valve Actuation Oil Pressure for Cylinder #5"; BA_ "SPN" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi1 3629; BA_ "SystemSignalLongSymbol" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi1 "Engine Intake Valve Actuation Oil Pressure for Cylinder #6"; BA_ "SPN" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi2 3630; BA_ "SystemSignalLongSymbol" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi2 "Engine Intake Valve Actuation Oil Pressure for Cylinder #7"; BA_ "SPN" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi3 3631; BA_ "SystemSignalLongSymbol" SG_ 2164098816 Engine_Intake_Valve_Actuation_Oi3 "Engine Intake Valve Actuation Oil Pressure for Cylinder #8"; BA_ "SPN" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi0 3624; BA_ "SystemSignalLongSymbol" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi0 "Engine Intake Valve Actuation Oil Pressure for Cylinder #1"; BA_ "SPN" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi1 3625; BA_ "SystemSignalLongSymbol" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi1 "Engine Intake Valve Actuation Oil Pressure for Cylinder #2"; BA_ "SPN" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi2 3626; BA_ "SystemSignalLongSymbol" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi2 "Engine Intake Valve Actuation Oil Pressure for Cylinder #3"; BA_ "SPN" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi3 3627; BA_ "SystemSignalLongSymbol" SG_ 2164099072 Engine_Intake_Valve_Actuation_Oi3 "Engine Intake Valve Actuation Oil Pressure for Cylinder #4"; BA_ "SPN" SG_ 2164099328 Vehicle_Roll 3623; BA_ "SPN" SG_ 2164099584 Number_of_J2012_DTCs 3619; BA_ "SPN" SG_ 2164099584 J2012_DTC 3620; BA_ "SPN" SG_ 2164099584 J2012_DTC_Status 3621; BA_ "SPN" SG_ 2164099584 J2012_DTC_Occurrence_Count 3622; BA_ "SPN" SG_ 2164099840 Diesel_Particulate_Filter_Intake 3611; BA_ "SystemSignalLongSymbol" SG_ 2164099840 Diesel_Particulate_Filter_Intake "Diesel Particulate Filter Intake Pressure 2"; BA_ "SPN" SG_ 2164099840 Diesel_Particulate_Filter_Outlet 3612; BA_ "SystemSignalLongSymbol" SG_ 2164099840 Diesel_Particulate_Filter_Outlet "Diesel Particulate Filter Outlet Pressure 2"; BA_ "SPN" SG_ 2164100096 Diesel_Particulate_Filter_Intake 3609; BA_ "SystemSignalLongSymbol" SG_ 2164100096 Diesel_Particulate_Filter_Intake "Diesel Particulate Filter Intake Pressure 1"; BA_ "SPN" SG_ 2164100096 Diesel_Particulate_Filter_Outlet 3610; BA_ "SystemSignalLongSymbol" SG_ 2164100096 Diesel_Particulate_Filter_Outlet "Diesel Particulate Filter Outlet Pressure 1"; BA_ "SPN" SG_ 2164101120 AETC_Data_Collection_Standard 3558; BA_ "SPN" SG_ 2164101120 Number_of_AETC_data_points 3559; BA_ "SPN" SG_ 2164101120 AETC_Speed_Value 3560; BA_ "SPN" SG_ 2164101120 AETC_Torque_value 3561; BA_ "SPN" SG_ 2164101632 Engine_Operating_State 3543; BA_ "SPN" SG_ 2164101632 Fuel_Pump_Primer_Control 4082; BA_ "SPN" SG_ 2164101632 Time_Remaining_in_Engine_Operati 3544; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Time_Remaining_in_Engine_Operati "Time Remaining in Engine Operating State"; BA_ "SPN" SG_ 2164101632 Engine_Fuel_Shutoff_Vent_Control 3608; BA_ "SPN" SG_ 2164101632 Engine_Fuel_Shutoff_1_Control 632; BA_ "SPN" SG_ 2164101632 Engine_Fuel_Shutoff_2_Control 2807; BA_ "SPN" SG_ 2164101632 Engine_Fuel_Shutoff_Valve_Leak_T 3601; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Fuel_Shutoff_Valve_Leak_T "Engine Fuel Shutoff Valve Leak Test Control"; BA_ "SPN" SG_ 2164101632 Engine_Oil_Priming_Pump_Control 3589; BA_ "SPN" SG_ 2164101632 Engine_Oil_Pre_heater_Control 3602; BA_ "SPN" SG_ 2164101632 Engine_Electrical_System_Power_C 3603; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Electrical_System_Power_C "Engine Electrical System Power Conservation Control"; BA_ "SPN" SG_ 2164101632 Engine_Block___Coolant_Pre_heate 3604; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Block___Coolant_Pre_heate "Engine Block / Coolant Pre-heater Control"; BA_ "SPN" SG_ 2164101632 Engine_Coolant_Circulating_Pump_ 3605; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Coolant_Circulating_Pump_ "Engine Coolant Circulating Pump Control"; BA_ "SPN" SG_ 2164101632 Engine_Controlled_Shutdown_Reque 3606; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Controlled_Shutdown_Reque "Engine Controlled Shutdown Request"; BA_ "SPN" SG_ 2164101632 Engine_Emergency__Immediate__Shu 3607; BA_ "SystemSignalLongSymbol" SG_ 2164101632 Engine_Emergency__Immediate__Shu "Engine Emergency (Immediate) Shutdown Indication"; BA_ "SPN" SG_ 2164101632 Engine_Derate_Request 3644; BA_ "SPN" SG_ 2164102144 Engine_Exhaust_Gas_Recirculation0 27; BA_ "SystemSignalLongSymbol" SG_ 2164102144 Engine_Exhaust_Gas_Recirculation0 "Engine Exhaust Gas Recirculation Valve Position"; BA_ "SPN" SG_ 2164102144 Engine_Exhaust_Gas_Recirculation1 3822; BA_ "SystemSignalLongSymbol" SG_ 2164102144 Engine_Exhaust_Gas_Recirculation1 "Engine Exhaust Gas Recirculation Valve 2 Position"; BA_ "SPN" SG_ 2164102400 Transmission_Oil_Filter_Restrict 3359; BA_ "SystemSignalLongSymbol" SG_ 2164102400 Transmission_Oil_Filter_Restrict "Transmission Oil Filter Restriction Switch"; BA_ "SPN" SG_ 2164102400 Transmission_Oil_Level_Switch 3533; BA_ "SPN" SG_ 2164102400 Transmission_Torque_Converter_Oi 3823; BA_ "SystemSignalLongSymbol" SG_ 2164102400 Transmission_Torque_Converter_Oi "Transmission Torque Converter Oil Outlet Temperature"; BA_ "SPN" SG_ 2164102400 Transmission_Oil_Life_Remaining 4177; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Fuel_Used 3522; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Regenerat 3523; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Regenerat "Aftertreatment 1 Total Regeneration Time"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Disabled_ 3524; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Disabled_ "Aftertreatment 1 Total Disabled Time"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Number_of0 3525; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Number_of0 "Aftertreatment 1 Total Number of Active Regenerations"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Passive_R 3725; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Passive_R "Aftertreatment 1 Total Passive Regeneration Time"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Number_of1 3726; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Number_of1 "Aftertreatment 1 Total Number of Passive Regenerations"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Number_of2 3727; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Number_of2 "Aftertreatment 1 Total Number of Active Regeneration Inhibit Requests"; BA_ "SPN" SG_ 2164103168 Aftertreatment_1_Total_Number_of3 3728; BA_ "SystemSignalLongSymbol" SG_ 2164103168 Aftertreatment_1_Total_Number_of3 "Aftertreatment 1 Total Number of Active Regeneration Manual Requests"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Fuel_Used 3526; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Regenerat 3527; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Regenerat "Aftertreatment 2 Total Regeneration Time"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Disabled_ 3528; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Disabled_ "Aftertreatment 2 Total Disabled Time"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Number_of0 3529; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Number_of0 "Aftertreatment 2 Total Number of Active Regenerations"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Passive_R 3729; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Passive_R "Aftertreatment 2 Total Passive Regeneration Time"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Number_of1 3730; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Number_of1 "Aftertreatment 2 Total Number of Passive Regenerations"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Number_of2 3731; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Number_of2 "Aftertreatment 2 Total Number of Active Regeneration Inhibit Requests"; BA_ "SPN" SG_ 2164103424 Aftertreatment_2_Total_Number_of3 3732; BA_ "SystemSignalLongSymbol" SG_ 2164103424 Aftertreatment_2_Total_Number_of3 "Aftertreatment 2 Total Number of Active Regeneration Manual Requests"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re0 3515; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Temperature 2"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re1 3516; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Concentration"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re2 3518; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re2 "Aftertreatment 1 SCR Catalyst Reagent Conductivity"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re3 3519; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re3 "Aftertreatment 1 SCR Catalyst Reagent Temperature 2 Preliminary FMI"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re4 3520; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re4 "Aftertreatment 1 SCR Catalyst Reagent Properties Preliminary FMI"; BA_ "SPN" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re5 3521; BA_ "SystemSignalLongSymbol" SG_ 2164103936 Aftertreatment_1_SCR_Catalyst_Re5 "Aftertreatment 1 SCR Catalyst Reagent Type"; BA_ "SPN" SG_ 2164104192 Sensor_supply_voltage_5 3513; BA_ "SPN" SG_ 2164104192 Sensor_supply_voltage_6 3514; BA_ "SPN" SG_ 2164104448 Sensor_supply_voltage_1 3509; BA_ "SPN" SG_ 2164104448 Sensor_supply_voltage_2 3510; BA_ "SPN" SG_ 2164104448 Sensor_supply_voltage_3 3511; BA_ "SPN" SG_ 2164104448 Sensor_supply_voltage_4 3512; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Supply_Air_Pres 3499; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Supply_Air_Pres "Aftertreatment 2 Supply Air Pressure"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Purge_Air_Press 3500; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Purge_Air_Press "Aftertreatment 2 Purge Air Pressure"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Air_Pressure_Co 3501; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Air_Pressure_Co "Aftertreatment 2 Air Pressure Control"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Air_Pressure_Ac 3502; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Air_Pressure_Ac "Aftertreatment 2 Air Pressure Actuator Position"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Air_System_Rela 3506; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Air_System_Rela "Aftertreatment 2 Air System Relay"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Atomization_Air 3505; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Atomization_Air "Aftertreatment 2 Atomization Air Actuator"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Purge_Air_Actua 3504; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Purge_Air_Actua "Aftertreatment 2 Purge Air Actuator"; BA_ "SPN" SG_ 2164104704 Aftertreatment_2_Air_Enable_Actu 3503; BA_ "SystemSignalLongSymbol" SG_ 2164104704 Aftertreatment_2_Air_Enable_Actu "Aftertreatment 2 Air Enable Actuator"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Supply_Air_Pres 3485; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Supply_Air_Pres "Aftertreatment 1 Supply Air Pressure"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Purge_Air_Press 3486; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Purge_Air_Press "Aftertreatment 1 Purge Air Pressure"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Air_Pressure_Co 3487; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Air_Pressure_Co "Aftertreatment 1 Air Pressure Control"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Air_Pressure_Ac 3488; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Air_Pressure_Ac "Aftertreatment 1 Air Pressure Actuator Position"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Air_System_Rela 3492; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Air_System_Rela "Aftertreatment 1 Air System Relay"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Atomization_Air 3491; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Atomization_Air "Aftertreatment 1 Atomization Air Actuator"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Purge_Air_Actua 3490; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Purge_Air_Actua "Aftertreatment 1 Purge Air Actuator"; BA_ "SPN" SG_ 2164104960 Aftertreatment_1_Air_Enable_Actu 3489; BA_ "SystemSignalLongSymbol" SG_ 2164104960 Aftertreatment_1_Air_Enable_Actu "Aftertreatment 1 Air Enable Actuator"; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Pressure_1 3494; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Rate 3495; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Pressure_C 3493; BA_ "SystemSignalLongSymbol" SG_ 2164105216 Aftertreatment_2_Fuel_Pressure_C "Aftertreatment 2 Fuel Pressure Control"; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Drain_Actu 4098; BA_ "SystemSignalLongSymbol" SG_ 2164105216 Aftertreatment_2_Fuel_Drain_Actu "Aftertreatment 2 Fuel Drain Actuator"; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Ignition 3498; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Regeneration_St 3497; BA_ "SystemSignalLongSymbol" SG_ 2164105216 Aftertreatment_2_Regeneration_St "Aftertreatment 2 Regeneration Status"; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Enable_Act 3496; BA_ "SystemSignalLongSymbol" SG_ 2164105216 Aftertreatment_2_Fuel_Enable_Act "Aftertreatment 2 Fuel Enable Actuator"; BA_ "SPN" SG_ 2164105216 Aftertreatment_2_Fuel_Injector_1 4302; BA_ "SystemSignalLongSymbol" SG_ 2164105216 Aftertreatment_2_Fuel_Injector_1 "Aftertreatment 2 Fuel Injector 1 Heater Control"; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Pressure_1 3480; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Rate 3481; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Pressure_C 3479; BA_ "SystemSignalLongSymbol" SG_ 2164105472 Aftertreatment_1_Fuel_Pressure_C "Aftertreatment 1 Fuel Pressure Control"; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Drain_Actu 4097; BA_ "SystemSignalLongSymbol" SG_ 2164105472 Aftertreatment_1_Fuel_Drain_Actu "Aftertreatment 1 Fuel Drain Actuator"; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Ignition 3484; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Regeneration_St 3483; BA_ "SystemSignalLongSymbol" SG_ 2164105472 Aftertreatment_1_Regeneration_St "Aftertreatment 1 Regeneration Status"; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Enable_Act 3482; BA_ "SystemSignalLongSymbol" SG_ 2164105472 Aftertreatment_1_Fuel_Enable_Act "Aftertreatment 1 Fuel Enable Actuator"; BA_ "SPN" SG_ 2164105472 Aftertreatment_1_Fuel_Injector_1 4301; BA_ "SystemSignalLongSymbol" SG_ 2164105472 Aftertreatment_1_Fuel_Injector_1 "Aftertreatment 1 Fuel Injector 1 Heater Control"; BA_ "SPN" SG_ 2164105728 Engine_Fuel_Valve_2_Inlet_Absolu 3466; BA_ "SystemSignalLongSymbol" SG_ 2164105728 Engine_Fuel_Valve_2_Inlet_Absolu "Engine Fuel Valve 2 Inlet Absolute Pressure"; BA_ "SPN" SG_ 2164105728 Engine_Gas_2_Mass_Flow_Rate 3467; BA_ "SPN" SG_ 2164105728 Engine_Fuel_Temperature_2 3468; BA_ "SPN" SG_ 2164105728 Engine_Fuel_Valve_2_Outlet_Abso 3469; BA_ "SystemSignalLongSymbol" SG_ 2164105728 Engine_Fuel_Valve_2_Outlet_Abso "Engine Fuel Valve 2 Outlet Absolute Pressure"; BA_ "SPN" SG_ 2164105984 Engine_Turbocharger_Compressor_C 3470; BA_ "SystemSignalLongSymbol" SG_ 2164105984 Engine_Turbocharger_Compressor_C "Engine Turbocharger Compressor Control"; BA_ "SPN" SG_ 2164105984 Engine_Variable_Geometry_Turboch 641; BA_ "SystemSignalLongSymbol" SG_ 2164105984 Engine_Variable_Geometry_Turboch "Engine Variable Geometry Turbocharger Actuator #1"; BA_ "SPN" SG_ 2164105984 Engine_Turbocharger_Compressor_B 3675; BA_ "SystemSignalLongSymbol" SG_ 2164105984 Engine_Turbocharger_Compressor_B "Engine Turbocharger Compressor Bypass Actuator Position"; BA_ "SPN" SG_ 2164106240 Enable_Switch___Transfer_case_ou 3455; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Enable_Switch___Transfer_case_ou "Enable Switch – Transfer case output shaft PTO"; BA_ "SPN" SG_ 2164106240 Enable_Switch___Transmission_out 3454; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Enable_Switch___Transmission_out "Enable Switch – Transmission output shaft PTO"; BA_ "SPN" SG_ 2164106240 Enable_Switch___Transmission_inp 3452; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Enable_Switch___Transmission_inp "Enable Switch – Transmission input shaft PTO 1"; BA_ "SPN" SG_ 2164106240 Enable_Switch___PTO_Engine_Flywh 3939; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Enable_Switch___PTO_Engine_Flywh "Enable Switch - PTO Engine Flywheel"; BA_ "SPN" SG_ 2164106240 Enable_Switch___PTO_Engine_Acces 3945; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Enable_Switch___PTO_Engine_Acces "Enable Switch - PTO Engine Accessory Drive 2"; BA_ "SPN" SG_ 2164106240 Engagement_Consent___Transfer_ca 3459; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Consent___Transfer_ca "Engagement Consent – Transfer case output shaft PTO"; BA_ "SPN" SG_ 2164106240 Engagement_Consent___Transmissio0 3456; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Consent___Transmissio0 "Engagement Consent – Transmission input shaft PTO 1"; BA_ "SPN" SG_ 2164106240 Engagement_Consent___PTO_Engine_0 3946; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Consent___PTO_Engine_0 "Engagement Consent - PTO Engine Accessory Drive 2"; BA_ "SPN" SG_ 2164106240 Engagement_Status___Transfer_cas 3463; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Status___Transfer_cas "Engagement Status – Transfer case output shaft PTO"; BA_ "SPN" SG_ 2164106240 Engagement_Status___Transmission0 3460; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Status___Transmission0 "Engagement Status – Transmission input shaft PTO 1"; BA_ "SPN" SG_ 2164106240 Engagement_Status___PTO_Engine_F 3941; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Status___PTO_Engine_F "Engagement Status - PTO Engine Flywheel"; BA_ "SPN" SG_ 2164106240 Engagement_Status___PTO_Engine_A 3947; BA_ "SystemSignalLongSymbol" SG_ 2164106240 Engagement_Status___PTO_Engine_A "Engagement Status - PTO Engine Accessory Drive 2"; BA_ "SPN" SG_ 2164106240 At_least_one_PTO_engaged 3948; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_1 3412; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_1 3413; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_1 3414; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_2 3415; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_2 3416; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_2 3417; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_3 3418; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_3 3419; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_3 3420; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_4 3421; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_4 3422; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_4 3423; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_5 3424; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_5 3425; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_5 3426; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_6 3427; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_6 3428; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_6 3429; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_7 3430; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_7 3431; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_7 3432; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_8 3433; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_8 3434; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_8 3435; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_9 3436; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_9 3437; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_9 3438; BA_ "SPN" SG_ 2164106496 Lock_Status_of_Door_10 3439; BA_ "SPN" SG_ 2164106496 Open_Status_of_Door_10 3440; BA_ "SPN" SG_ 2164106496 Enable_Status_of_Door_10 3441; BA_ "SPN" SG_ 2164107264 Network_Transceiver_Status_2 3442; BA_ "SPN" SG_ 2164107264 Network_Service_Status_2 3443; BA_ "SPN" SG_ 2164107264 Network_Antenna_Status_2 3444; BA_ "SPN" SG_ 2164107264 Network_Signal_Strength_2 3445; BA_ "SPN" SG_ 2164107264 Wireless_Communication_Network_T 3446; BA_ "SystemSignalLongSymbol" SG_ 2164107264 Wireless_Communication_Network_T "Wireless Communication Network Type 2"; BA_ "SPN" SG_ 2164107520 Network_Transceiver_Status_1 3368; BA_ "SPN" SG_ 2164107520 Network_Service_Status_1 3369; BA_ "SPN" SG_ 2164107520 Network_Antenna_Status_1 3370; BA_ "SPN" SG_ 2164107520 Network_Signal_Strength_1 3371; BA_ "SPN" SG_ 2164107520 Wireless_Communication_Network_T 3372; BA_ "SystemSignalLongSymbol" SG_ 2164107520 Wireless_Communication_Network_T "Wireless Communication Network Type 1"; BA_ "SPN" SG_ 2164107776 Engine_Charge_Air_Cooler_1_Inlet 3340; BA_ "SystemSignalLongSymbol" SG_ 2164107776 Engine_Charge_Air_Cooler_1_Inlet "Engine Charge Air Cooler 1 Inlet Pressure"; BA_ "SPN" SG_ 2164107776 Engine_Charge_Air_Cooler_2_Inlet 3341; BA_ "SystemSignalLongSymbol" SG_ 2164107776 Engine_Charge_Air_Cooler_2_Inlet "Engine Charge Air Cooler 2 Inlet Pressure"; BA_ "SPN" SG_ 2164107776 Engine_Coolant_Pump_Differential 3342; BA_ "SystemSignalLongSymbol" SG_ 2164107776 Engine_Coolant_Pump_Differential "Engine Coolant Pump Differential Pressure"; BA_ "SPN" SG_ 2164107776 Engine_Centrifugal_Oil_Filter_sp 3343; BA_ "SystemSignalLongSymbol" SG_ 2164107776 Engine_Centrifugal_Oil_Filter_sp "Engine Centrifugal Oil Filter speed"; BA_ "SPN" SG_ 2164107776 Engine_Intercooler_Coolant_Level 3668; BA_ "SPN" SG_ 2164107776 Engine_Aftercooler_Coolant_Level 3676; BA_ "SPN" SG_ 2164107776 Engine_Charge_Air_Cooler_Outlet_ 2631; BA_ "SystemSignalLongSymbol" SG_ 2164107776 Engine_Charge_Air_Cooler_Outlet_ "Engine Charge Air Cooler Outlet Pressure"; BA_ "SPN" SG_ 2164108800 Fifth_Wheel_Error_Status 3307; BA_ "SPN" SG_ 2164108800 Fifth_Wheel_Lock_Ready_to_Couple 3312; BA_ "SystemSignalLongSymbol" SG_ 2164108800 Fifth_Wheel_Lock_Ready_to_Couple "Fifth Wheel Lock Ready to Couple Indicator"; BA_ "SPN" SG_ 2164108800 Fifth_Wheel_Lock_Couple_Status_I 3313; BA_ "SystemSignalLongSymbol" SG_ 2164108800 Fifth_Wheel_Lock_Couple_Status_I "Fifth Wheel Lock Couple Status Indicator"; BA_ "SPN" SG_ 2164108800 Fifth_Wheel_Slider_Position 3311; BA_ "SPN" SG_ 2164108800 Fifth_Wheel_Slider_Lock_Indicato 3316; BA_ "SystemSignalLongSymbol" SG_ 2164108800 Fifth_Wheel_Slider_Lock_Indicato "Fifth Wheel Slider Lock Indicator"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Exhaust_Gas_Tem0 3283; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Exhaust_Gas_Tem0 "Aftertreatment 2 Exhaust Gas Temperature 2"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Diesel_Particul0 3284; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Diesel_Particul0 "Aftertreatment 2 Diesel Particulate Filter Intermediate Gas Temperature"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Diesel_Particul1 3285; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Diesel_Particul1 "Aftertreatment 2 Diesel Particulate Filter Differential Pressure"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Exhaust_Gas_Tem1 3286; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Exhaust_Gas_Tem1 "Aftertreatment 2 Exhaust Gas Temperature 2 Preliminary FMI"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Diesel_Particul2 3287; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Diesel_Particul2 "Aftertreatment 2 Diesel Particulate Filter Delta Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164109056 Aftertreatment_2_Diesel_Particul3 3288; BA_ "SystemSignalLongSymbol" SG_ 2164109056 Aftertreatment_2_Diesel_Particul3 "Aftertreatment 2 Diesel Particulate Filter Intermediate Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164109312 Aftertreatment_2_Exhaust_Gas_Tem0 3279; BA_ "SystemSignalLongSymbol" SG_ 2164109312 Aftertreatment_2_Exhaust_Gas_Tem0 "Aftertreatment 2 Exhaust Gas Temperature 3"; BA_ "SPN" SG_ 2164109312 Aftertreatment_2_Diesel_Particul0 3280; BA_ "SystemSignalLongSymbol" SG_ 2164109312 Aftertreatment_2_Diesel_Particul0 "Aftertreatment 2 Diesel Particulate Filter Outlet Gas Temperature"; BA_ "SPN" SG_ 2164109312 Aftertreatment_2_Exhaust_Gas_Tem1 3281; BA_ "SystemSignalLongSymbol" SG_ 2164109312 Aftertreatment_2_Exhaust_Gas_Tem1 "Aftertreatment 2 Exhaust Gas Temperature 3 Preliminary FMI"; BA_ "SPN" SG_ 2164109312 Aftertreatment_2_Diesel_Particul1 3282; BA_ "SystemSignalLongSymbol" SG_ 2164109312 Aftertreatment_2_Diesel_Particul1 "Aftertreatment 2 Diesel Particulate Filter Exhaust Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164109568 Aftertreatment_2_Exhaust_Gas_Tem0 3275; BA_ "SystemSignalLongSymbol" SG_ 2164109568 Aftertreatment_2_Exhaust_Gas_Tem0 "Aftertreatment 2 Exhaust Gas Temperature 1"; BA_ "SPN" SG_ 2164109568 Aftertreatment_2_Diesel_Particul0 3276; BA_ "SystemSignalLongSymbol" SG_ 2164109568 Aftertreatment_2_Diesel_Particul0 "Aftertreatment 2 Diesel Particulate Filter Intake Gas Temperature"; BA_ "SPN" SG_ 2164109568 Aftertreatment_2_Exhaust_Gas_Tem1 3277; BA_ "SystemSignalLongSymbol" SG_ 2164109568 Aftertreatment_2_Exhaust_Gas_Tem1 "Aftertreatment 2 Exhaust Gas Temperature 1 Preliminary FMI"; BA_ "SPN" SG_ 2164109568 Aftertreatment_2_Diesel_Particul1 3278; BA_ "SystemSignalLongSymbol" SG_ 2164109568 Aftertreatment_2_Diesel_Particul1 "Aftertreatment 2 Diesel Particulate Filter Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Exhaust_Gas_Tem0 3249; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Exhaust_Gas_Tem0 "Aftertreatment 1 Exhaust Gas Temperature 2"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Diesel_Particul0 3250; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Diesel_Particul0 "Aftertreatment 1 Diesel Particulate Filter Intermediate Gas Temperature"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Diesel_Particul1 3251; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Diesel_Particul1 "Aftertreatment 1 Diesel Particulate Filter Differential Pressure"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Exhaust_Gas_Tem1 3252; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Exhaust_Gas_Tem1 "Aftertreatment 1 Exhaust Gas Temperature 2 Preliminary FMI"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Diesel_Particul2 3253; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Diesel_Particul2 "Aftertreatment 1 Diesel Particulate Filter Delta Pressure Preliminary FMI"; BA_ "SPN" SG_ 2164109824 Aftertreatment_1_Diesel_Particul3 3254; BA_ "SystemSignalLongSymbol" SG_ 2164109824 Aftertreatment_1_Diesel_Particul3 "Aftertreatment 1 Diesel Particulate Filter Intermediate Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164110080 Aftertreatment_1_Exhaust_Gas_Tem0 3245; BA_ "SystemSignalLongSymbol" SG_ 2164110080 Aftertreatment_1_Exhaust_Gas_Tem0 "Aftertreatment 1 Exhaust Gas Temperature 3"; BA_ "SPN" SG_ 2164110080 Aftertreatment_1_Diesel_Particul0 3246; BA_ "SystemSignalLongSymbol" SG_ 2164110080 Aftertreatment_1_Diesel_Particul0 "Aftertreatment 1 Diesel Particulate Filter Outlet Gas Temperature"; BA_ "SPN" SG_ 2164110080 Aftertreatment_1_Exhaust_Gas_Tem1 3247; BA_ "SystemSignalLongSymbol" SG_ 2164110080 Aftertreatment_1_Exhaust_Gas_Tem1 "Aftertreatment 1 Exhaust Gas Temperature 3 Preliminary FMI"; BA_ "SPN" SG_ 2164110080 Aftertreatment_1_Diesel_Particul1 3248; BA_ "SystemSignalLongSymbol" SG_ 2164110080 Aftertreatment_1_Diesel_Particul1 "Aftertreatment 1 Diesel Particulate Filter Outlet Exhaust Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164110336 Aftertreatment_1_Exhaust_Gas_Tem0 3241; BA_ "SystemSignalLongSymbol" SG_ 2164110336 Aftertreatment_1_Exhaust_Gas_Tem0 "Aftertreatment 1 Exhaust Gas Temperature 1"; BA_ "SPN" SG_ 2164110336 Aftertreatment_1_Diesel_Particul0 3242; BA_ "SystemSignalLongSymbol" SG_ 2164110336 Aftertreatment_1_Diesel_Particul0 "Aftertreatment 1 Diesel Particulate Filter Intake Gas Temperature"; BA_ "SPN" SG_ 2164110336 Aftertreatment_1_Exhaust_Gas_Tem1 3243; BA_ "SystemSignalLongSymbol" SG_ 2164110336 Aftertreatment_1_Exhaust_Gas_Tem1 "Aftertreatment 1 Exhaust Gas Temperature 1 Preliminary FMI"; BA_ "SPN" SG_ 2164110336 Aftertreatment_1_Diesel_Particul1 3244; BA_ "SystemSignalLongSymbol" SG_ 2164110336 Aftertreatment_1_Diesel_Particul1 "Aftertreatment 1 Diesel Particulate Filter Intake Gas Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164111616 Tire_Location 3190; BA_ "SPN" SG_ 2164111616 Reference_Tire_Pressure 3191; BA_ "SPN" SG_ 2164111872 Farebox_Emergency_Status 3179; BA_ "SPN" SG_ 2164111872 Farebox_Alarm_Identifier 3181; BA_ "SPN" SG_ 2164112128 Transaction_Type 3170; BA_ "SPN" SG_ 2164112128 Passenger_Type 3171; BA_ "SPN" SG_ 2164112128 Type_of_Fare 3176; BA_ "SPN" SG_ 2164112128 Payment_Details 3177; BA_ "SPN" SG_ 2164112128 Fare_Validity 3165; BA_ "SPN" SG_ 2164112128 Pass_Category 3166; BA_ "SPN" SG_ 2164112128 Initial_Fare_Agency 3167; BA_ "SPN" SG_ 2164112128 Type_of_Service 3172; BA_ "SPN" SG_ 2164112128 Transfer_Type 3173; BA_ "SPN" SG_ 2164112128 Route_Number 3169; BA_ "SPN" SG_ 2164112128 Transfer_Sold 3168; BA_ "SPN" SG_ 2164112384 Farebox_Service_Status 3178; BA_ "SPN" SG_ 2164112384 Trip_Status 3180; BA_ "SPN" SG_ 2164112384 Trip_Direction 3174; BA_ "SPN" SG_ 2164112384 Fare_Presets 3175; BA_ "SPN" SG_ 2164112384 Trip_Number 3159; BA_ "SPN" SG_ 2164112384 Pattern_Number_ 3161; BA_ "SPN" SG_ 2164112384 Assigned_Route 3160; BA_ "SPN" SG_ 2164112384 Assigned_Run 3162; BA_ "SPN" SG_ 2164112384 Assigned_Block 3163; BA_ "SPN" SG_ 2164112384 Driver_s_farebox_security_code 3164; BA_ "SPN" SG_ 2164112640 Range_Code_Enable 3081; BA_ "SPN" SG_ 2164112640 Transit_Route_ID_Usage 3080; BA_ "SPN" SG_ 2164112640 Intersection_Preemption_Request_ 3079; BA_ "SystemSignalLongSymbol" SG_ 2164112640 Intersection_Preemption_Request_ "Intersection Preemption Request/Response"; BA_ "SPN" SG_ 2164112640 Priority_of_Response_Sent_by_Emi 3084; BA_ "SystemSignalLongSymbol" SG_ 2164112640 Priority_of_Response_Sent_by_Emi "Priority of Response Sent by Emitter"; BA_ "SPN" SG_ 2164112640 Transit_Door_Enable 3083; BA_ "SPN" SG_ 2164112640 Strobe_Activation_Control_Status 3082; BA_ "SPN" SG_ 2164112640 Vehicle_ID 3085; BA_ "SPN" SG_ 2164112896 Agency 3078; BA_ "SPN" SG_ 2164112896 Number_of_bytes_in_the_Transit_A0 3071; BA_ "SystemSignalLongSymbol" SG_ 2164112896 Number_of_bytes_in_the_Transit_A0 "Number of bytes in the Transit Assigned Route Identity"; BA_ "SPN" SG_ 2164112896 Number_of_bytes_in_the_Transit_A1 3072; BA_ "SystemSignalLongSymbol" SG_ 2164112896 Number_of_bytes_in_the_Transit_A1 "Number of bytes in the Transit Assigned Run Identity"; BA_ "SPN" SG_ 2164112896 Number_of_bytes_in_the_Transit_A2 3073; BA_ "SystemSignalLongSymbol" SG_ 2164112896 Number_of_bytes_in_the_Transit_A2 "Number of bytes in the Transit Assigned Block Identity"; BA_ "SPN" SG_ 2164112896 Transit_Assigned_Route_Identity 3074; BA_ "SPN" SG_ 2164112896 Transit_Assigned_Run_Identity 3075; BA_ "SPN" SG_ 2164112896 Transit_Assigned_Block_Identity 3076; BA_ "SPN" SG_ 2164113152 Number_of_bytes_in_the_Milepost_ 3070; BA_ "SystemSignalLongSymbol" SG_ 2164113152 Number_of_bytes_in_the_Milepost_ "Number of bytes in the Milepost Identification"; BA_ "SPN" SG_ 2164113152 Milepost_Identification 509; BA_ "SPN" SG_ 2164113408 Type_of_Passenger_Count 3043; BA_ "SPN" SG_ 2164113408 Patron_Count 3047; BA_ "SPN" SG_ 2164113408 Silent_Alarm_Status 3044; BA_ "SPN" SG_ 2164113408 Vehicle_Use_Status 3045; BA_ "SPN" SG_ 2164113408 Transit_Run_Status 3046; BA_ "SPN" SG_ 2164113664 Engine_Intake_Valve_Actuation_Sy 2948; BA_ "SystemSignalLongSymbol" SG_ 2164113664 Engine_Intake_Valve_Actuation_Sy "Engine Intake Valve Actuation System Oil Pressure"; BA_ "SPN" SG_ 2164113664 Engine_Exhaust_Gas_Recirculation 3358; BA_ "SystemSignalLongSymbol" SG_ 2164113664 Engine_Exhaust_Gas_Recirculation "Engine Exhaust Gas Recirculation Inlet Pressure"; BA_ "SPN" SG_ 2164113664 Engine_Exhaust_Valve_Actuation_S 4287; BA_ "SystemSignalLongSymbol" SG_ 2164113664 Engine_Exhaust_Valve_Actuation_S "Engine Exhaust Valve Actuation System Oil Pressure"; BA_ "SPN" SG_ 2164114432 Brake_Temperature_Warning 3839; BA_ "SPN" SG_ 2164114432 Halt_brake_mode 2913; BA_ "SPN" SG_ 2164114432 Hill_holder_mode 2912; BA_ "SPN" SG_ 2164114432 Foundation_Brake_Use 2919; BA_ "SPN" SG_ 2164114432 XBR_System_State 2917; BA_ "SPN" SG_ 2164114432 XBR_Active_Control_Mode 2918; BA_ "SPN" SG_ 2164114432 XBR_Acceleration_Limit 2921; BA_ "SPN" SG_ 2164114688 ECU_Part_Number 2901; BA_ "SPN" SG_ 2164114688 ECU_Serial_Number 2902; BA_ "SPN" SG_ 2164114688 ECU_Location 2903; BA_ "SPN" SG_ 2164114688 ECU_Type 2904; BA_ "SPN" SG_ 2164114688 ECU_Manufacturer_Name 4304; BA_ "SPN" SG_ 2164114944 Engine_Start_Enable_Device_1 626; BA_ "SPN" SG_ 2164114944 Engine_Start_Enable_Device_2 1804; BA_ "SPN" SG_ 2164114944 Engine_Start_Enable_Device_1_Con 2899; BA_ "SystemSignalLongSymbol" SG_ 2164114944 Engine_Start_Enable_Device_1_Con "Engine Start Enable Device 1 Configuration"; BA_ "SPN" SG_ 2164114944 Engine_Start_Enable_Device_2_Con 2898; BA_ "SystemSignalLongSymbol" SG_ 2164114944 Engine_Start_Enable_Device_2_Con "Engine Start Enable Device 2 Configuration"; BA_ "SPN" SG_ 2164115200 Engine_Auxiliary_Governor_State 2896; BA_ "SPN" SG_ 2164115200 Engine_Multi_Unit_Sync_State 2890; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Low_Idle_Select 2891; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Low_Idle_Select "Engine Alternate Low Idle Select State"; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Rating_Select_S 2888; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Rating_Select_S "Engine Alternate Rating Select State"; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Droop_Accelerat0 2889; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Droop_Accelerat0 "Engine Alternate Droop Accelerator 1 Select State"; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Droop_Accelerat1 2893; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Droop_Accelerat1 "Engine Alternate Droop Accelerator 2 Select State"; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Droop_Remote_Ac 2894; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Droop_Remote_Ac "Engine Alternate Droop Remote Accelerator Select State"; BA_ "SPN" SG_ 2164115200 Engine_Alternate_Droop_Auxiliary 2895; BA_ "SystemSignalLongSymbol" SG_ 2164115200 Engine_Alternate_Droop_Auxiliary "Engine Alternate Droop Auxiliary Input Select State"; BA_ "SPN" SG_ 2164115456 Engine_Operator_Primary_Intermed 2892; BA_ "SystemSignalLongSymbol" SG_ 2164115456 Engine_Operator_Primary_Intermed "Engine Operator Primary Intermediate Speed Select State"; BA_ "SPN" SG_ 2164115712 Total_Count_of_Configuration_Cha 2887; BA_ "SystemSignalLongSymbol" SG_ 2164115712 Total_Count_of_Configuration_Cha "Total Count of Configuration Changes Made"; BA_ "SPN" SG_ 2164115968 Engine_Operator_Primary_Intermed 2880; BA_ "SystemSignalLongSymbol" SG_ 2164115968 Engine_Operator_Primary_Intermed "Engine Operator Primary Intermediate Speed Select"; BA_ "SPN" SG_ 2164116224 Engine_Auxiliary_Governor_Switch 2884; BA_ "SPN" SG_ 2164116224 Engine_Synchronization_Switch 1377; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Low_Idle_Switch 2883; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Rating_Select 2882; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Droop_Accelerat0 2881; BA_ "SystemSignalLongSymbol" SG_ 2164116224 Engine_Alternate_Droop_Accelerat0 "Engine Alternate Droop Accelerator 1 Select"; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Droop_Accelerat1 2879; BA_ "SystemSignalLongSymbol" SG_ 2164116224 Engine_Alternate_Droop_Accelerat1 "Engine Alternate Droop Accelerator 2 Select"; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Droop_Remote_Ac 2886; BA_ "SystemSignalLongSymbol" SG_ 2164116224 Engine_Alternate_Droop_Remote_Ac "Engine Alternate Droop Remote Accelerator Select"; BA_ "SPN" SG_ 2164116224 Engine_Alternate_Droop_Auxiliary 2885; BA_ "SystemSignalLongSymbol" SG_ 2164116224 Engine_Alternate_Droop_Auxiliary "Engine Alternate Droop Auxiliary Input Select"; BA_ "SPN" SG_ 2164116480 Work_Light_Switch 2873; BA_ "SPN" SG_ 2164116480 Main_Light_Switch 2872; BA_ "SPN" SG_ 2164116480 Turn_Signal_Switch 2876; BA_ "SPN" SG_ 2164116480 Hazard_Light_Switch 2875; BA_ "SPN" SG_ 2164116480 High_Low_Beam_Switch 2874; BA_ "SPN" SG_ 2164116480 Operators_Desired_Back_light 2878; BA_ "SPN" SG_ 2164116480 Operators_Desired___Delayed_Lamp 2877; BA_ "SystemSignalLongSymbol" SG_ 2164116480 Operators_Desired___Delayed_Lamp "Operators Desired - Delayed Lamp Off Time"; BA_ "SPN" SG_ 2164116736 Front_Non_operator_Wiper_Switch 2864; BA_ "SPN" SG_ 2164116736 Front_Operator_Wiper_Switch 2863; BA_ "SPN" SG_ 2164116736 Rear_Wiper_Switch 2865; BA_ "SPN" SG_ 2164116736 Front_Operator_Wiper_Delay_Contr 2869; BA_ "SystemSignalLongSymbol" SG_ 2164116736 Front_Operator_Wiper_Delay_Contr "Front Operator Wiper Delay Control"; BA_ "SPN" SG_ 2164116736 Front_Non_operator_Wiper_Delay_C 2870; BA_ "SystemSignalLongSymbol" SG_ 2164116736 Front_Non_operator_Wiper_Delay_C "Front Non-operator Wiper Delay Control"; BA_ "SPN" SG_ 2164116736 Rear_Wiper_Delay_Control 2871; BA_ "SPN" SG_ 2164116736 Front_Non_operator_Washer_Switch 2867; BA_ "SPN" SG_ 2164116736 Front_Operator_Washer_Switch 2866; BA_ "SPN" SG_ 2164116736 Rear_Washer_Function 2868; BA_ "SPN" SG_ 2164117504 Engine_Air_Filter_2_Differential 2809; BA_ "SystemSignalLongSymbol" SG_ 2164117504 Engine_Air_Filter_2_Differential "Engine Air Filter 2 Differential Pressure"; BA_ "SPN" SG_ 2164117504 Engine_Air_Filter_3_Differential 2810; BA_ "SystemSignalLongSymbol" SG_ 2164117504 Engine_Air_Filter_3_Differential "Engine Air Filter 3 Differential Pressure"; BA_ "SPN" SG_ 2164117504 Engine_Air_Filter_4_Differential 2811; BA_ "SystemSignalLongSymbol" SG_ 2164117504 Engine_Air_Filter_4_Differential "Engine Air Filter 4 Differential Pressure"; BA_ "SPN" SG_ 2164117504 Engine_Intake_Manifold__2_Pressu 3562; BA_ "SystemSignalLongSymbol" SG_ 2164117504 Engine_Intake_Manifold__2_Pressu "Engine Intake Manifold #2 Pressure"; BA_ "SPN" SG_ 2164117504 Engine_Intake_Manifold__1_Absolu 3563; BA_ "SystemSignalLongSymbol" SG_ 2164117504 Engine_Intake_Manifold__1_Absolu "Engine Intake Manifold #1 Absolute Pressure"; BA_ "SPN" SG_ 2164117760 FMS_standard_Diagnostics_Support 2804; BA_ "SystemSignalLongSymbol" SG_ 2164117760 FMS_standard_Diagnostics_Support "FMS-standard Diagnostics Supported"; BA_ "SPN" SG_ 2164117760 FMS_standard_Requests_Supported 2805; BA_ "SPN" SG_ 2164117760 FMS_standard_SW_version_supporte 2806; BA_ "SystemSignalLongSymbol" SG_ 2164117760 FMS_standard_SW_version_supporte "FMS-standard SW-version supported."; BA_ "SPN" SG_ 2164118016 Keep_Alive_Battery_Consumption 2803; BA_ "SPN" SG_ 2164118016 Data_Memory_Usage 2802; BA_ "SPN" SG_ 2164118272 Engine_Turbocharger_1_Compressor 2629; BA_ "SystemSignalLongSymbol" SG_ 2164118272 Engine_Turbocharger_1_Compressor "Engine Turbocharger 1 Compressor Outlet Temperature"; BA_ "SPN" SG_ 2164118272 Engine_Turbocharger_2_Compressor 2799; BA_ "SystemSignalLongSymbol" SG_ 2164118272 Engine_Turbocharger_2_Compressor "Engine Turbocharger 2 Compressor Outlet Temperature"; BA_ "SPN" SG_ 2164118272 Engine_Turbocharger_3_Compressor 2800; BA_ "SystemSignalLongSymbol" SG_ 2164118272 Engine_Turbocharger_3_Compressor "Engine Turbocharger 3 Compressor Outlet Temperature"; BA_ "SPN" SG_ 2164118272 Engine_Turbocharger_4_Compressor 2801; BA_ "SystemSignalLongSymbol" SG_ 2164118272 Engine_Turbocharger_4_Compressor "Engine Turbocharger 4 Compressor Outlet Temperature"; BA_ "SPN" SG_ 2164118528 Transfer_Case_Selector_Switch 2796; BA_ "SPN" SG_ 2164118528 Fifth_Wheel_Release_Control 3314; BA_ "SPN" SG_ 2164118528 Fifth_Wheel_Release_Control_Secu 3315; BA_ "SystemSignalLongSymbol" SG_ 2164118528 Fifth_Wheel_Release_Control_Secu "Fifth Wheel Release Control Security Lockout"; BA_ "SPN" SG_ 2164118528 Transmission_Oil_Level_Request 3809; BA_ "SPN" SG_ 2164118784 Engine_Turbocharger_1_Calculated0 2789; BA_ "SystemSignalLongSymbol" SG_ 2164118784 Engine_Turbocharger_1_Calculated0 "Engine Turbocharger 1 Calculated Turbine Inlet Temperature"; BA_ "SPN" SG_ 2164118784 Engine_Turbocharger_1_Calculated1 2790; BA_ "SystemSignalLongSymbol" SG_ 2164118784 Engine_Turbocharger_1_Calculated1 "Engine Turbocharger 1 Calculated Turbine Outlet Temperature"; BA_ "SPN" SG_ 2164118784 Engine_Exhaust_Gas_Recirculation 2791; BA_ "SystemSignalLongSymbol" SG_ 2164118784 Engine_Exhaust_Gas_Recirculation "Engine Exhaust Gas Recirculation (EGR) Valve Control"; BA_ "SPN" SG_ 2164118784 Engine_Variable_Geometry_Turboch0 2792; BA_ "SystemSignalLongSymbol" SG_ 2164118784 Engine_Variable_Geometry_Turboch0 "Engine Variable Geometry Turbocharger (VGT) Air Control Shutoff Valve"; BA_ "SPN" SG_ 2164118784 Engine_Variable_Geometry_Turboch1 2795; BA_ "SystemSignalLongSymbol" SG_ 2164118784 Engine_Variable_Geometry_Turboch1 "Engine Variable Geometry Turbocharger (VGT) 1 Actuator Position"; BA_ "SPN" SG_ 2164119040 Joystick_1_X_Axis_Neutral_Positi 2675; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_X_Axis_Neutral_Positi "Joystick 1 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_X_Axis_Lever_Left_Neg 2670; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_X_Axis_Lever_Left_Neg "Joystick 1 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_X_Axis_Lever_Right_Po 2665; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_X_Axis_Lever_Right_Po "Joystick 1 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_X_Axis_Position 2660; BA_ "SPN" SG_ 2164119040 Joystick_1_Y_Axis_Neutral_Positi 2676; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Y_Axis_Neutral_Positi "Joystick 1 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Y_Axis_Lever_Back_Neg 2671; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Y_Axis_Lever_Back_Neg "Joystick 1 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Y_Axis_Lever_Forward_ 2666; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Y_Axis_Lever_Forward_ "Joystick 1 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Y_Axis_Position 2661; BA_ "SPN" SG_ 2164119040 Joystick_1_Y_Axis_Detent_Positio 2681; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Y_Axis_Detent_Positio "Joystick 1 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_X_Axis_Detent_Positio 2680; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_X_Axis_Detent_Positio "Joystick 1 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_4_Pressed_Stat 2688; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_4_Pressed_Stat "Joystick 1 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_3_Pressed_Stat 2687; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_3_Pressed_Stat "Joystick 1 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_2_Pressed_Stat 2686; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_2_Pressed_Stat "Joystick 1 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_1_Pressed_Stat 2685; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_1_Pressed_Stat "Joystick 1 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_8_Pressed_Stat 2692; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_8_Pressed_Stat "Joystick 1 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_7_Pressed_Stat 2691; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_7_Pressed_Stat "Joystick 1 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_6_Pressed_Stat 2690; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_6_Pressed_Stat "Joystick 1 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_5_Pressed_Stat 2689; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_5_Pressed_Stat "Joystick 1 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_12_Pressed_Sta 2696; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_12_Pressed_Sta "Joystick 1 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_11_Pressed_Sta 2695; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_11_Pressed_Sta "Joystick 1 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_10_Pressed_Sta 2694; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_10_Pressed_Sta "Joystick 1 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164119040 Joystick_1_Button_9_Pressed_Stat 2693; BA_ "SystemSignalLongSymbol" SG_ 2164119040 Joystick_1_Button_9_Pressed_Stat "Joystick 1 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_X_Axis_Neutral_P 2677; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_X_Axis_Neutral_P "Joystick 1 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_X_Axis_Lever_Lef 2672; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_X_Axis_Lever_Lef "Joystick 1 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_X_Axis_Lever_Rig 2667; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_X_Axis_Lever_Rig "Joystick 1 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_X_Axis_Position 2662; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Neutral_P 2678; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Neutral_P "Joystick 1 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Lever_Bac 2673; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Lever_Bac "Joystick 1 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Lever_For 2668; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Lever_For "Joystick 1 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Position 2663; BA_ "SPN" SG_ 2164119296 Joystick_1_Theta_Axis_Neutral_Po 2679; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Theta_Axis_Neutral_Po "Joystick 1 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Theta_Axis_Counter_Cl 2674; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Theta_Axis_Counter_Cl "Joystick 1 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Theta_Axis_Clockwise_ 2669; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Theta_Axis_Clockwise_ "Joystick 1 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Theta_Axis_Position 2664; BA_ "SPN" SG_ 2164119296 Joystick_1_Theta_Axis_Detent_Pos 2684; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Theta_Axis_Detent_Pos "Joystick 1 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Detent_Po 2683; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_Y_Axis_Detent_Po "Joystick 1 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119296 Joystick_1_Grip_X_Axis_Detent_Po 2682; BA_ "SystemSignalLongSymbol" SG_ 2164119296 Joystick_1_Grip_X_Axis_Detent_Po "Joystick 1 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_X_Axis_Neutral_Positi 2712; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_X_Axis_Neutral_Positi "Joystick 2 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_X_Axis_Lever_Left_Neg 2707; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_X_Axis_Lever_Left_Neg "Joystick 2 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_X_Axis_Lever_Right_Po 2702; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_X_Axis_Lever_Right_Po "Joystick 2 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_X_Axis_Position 2697; BA_ "SPN" SG_ 2164119552 Joystick_2_Y_Axis_Neutral_Positi 2713; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Y_Axis_Neutral_Positi "Joystick 2 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Y_Axis_Lever_Back_Neg 2708; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Y_Axis_Lever_Back_Neg "Joystick 2 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Y_Axis_Lever_Forward_ 2703; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Y_Axis_Lever_Forward_ "Joystick 2 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Y_Axis_Position 2698; BA_ "SPN" SG_ 2164119552 Joystick_2_Y_Axis_Detent_Positio 2718; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Y_Axis_Detent_Positio "Joystick 2 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_X_Axis_Detent_Positio 2717; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_X_Axis_Detent_Positio "Joystick 2 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_4_Pressed_Stat 2725; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_4_Pressed_Stat "Joystick 2 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_3_Pressed_Stat 2724; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_3_Pressed_Stat "Joystick 2 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_2_Pressed_Stat 2723; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_2_Pressed_Stat "Joystick 2 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_1_Pressed_Stat 2722; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_1_Pressed_Stat "Joystick 2 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_8_Pressed_Stat 2729; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_8_Pressed_Stat "Joystick 2 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_7_Pressed_Stat 2728; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_7_Pressed_Stat "Joystick 2 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_6_Pressed_Stat 2727; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_6_Pressed_Stat "Joystick 2 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_5_Pressed_Stat 2726; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_5_Pressed_Stat "Joystick 2 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_12_Pressed_Sta 2733; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_12_Pressed_Sta "Joystick 2 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_11_Pressed_Sta 2732; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_11_Pressed_Sta "Joystick 2 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_10_Pressed_Sta 2731; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_10_Pressed_Sta "Joystick 2 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164119552 Joystick_2_Button_9_Pressed_Stat 2730; BA_ "SystemSignalLongSymbol" SG_ 2164119552 Joystick_2_Button_9_Pressed_Stat "Joystick 2 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_X_Axis_Neutral_P 2714; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_X_Axis_Neutral_P "Joystick 2 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_X_Axis_Lever_Lef 2709; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_X_Axis_Lever_Lef "Joystick 2 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_X_Axis_Lever_Rig 2704; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_X_Axis_Lever_Rig "Joystick 2 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_X_Axis_Position 2699; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Neutral_P 2715; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Neutral_P "Joystick 2 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Lever_Bac 2710; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Lever_Bac "Joystick 2 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Lever_For 2705; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Lever_For "Joystick 2 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Position 2700; BA_ "SPN" SG_ 2164119808 Joystick_2_Theta_Axis_Neutral_Po 2716; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Theta_Axis_Neutral_Po "Joystick 2 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Theta_Axis_Counter_Cl 2711; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Theta_Axis_Counter_Cl "Joystick 2 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Theta_Axis_Clockwise_ 2706; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Theta_Axis_Clockwise_ "Joystick 2 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Theta_Axis_Position 2701; BA_ "SPN" SG_ 2164119808 Joystick_2_Theta_Axis_Detent_Pos 2721; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Theta_Axis_Detent_Pos "Joystick 2 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Detent_Po 2720; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_Y_Axis_Detent_Po "Joystick 2 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164119808 Joystick_2_Grip_X_Axis_Detent_Po 2719; BA_ "SystemSignalLongSymbol" SG_ 2164119808 Joystick_2_Grip_X_Axis_Detent_Po "Joystick 2 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_X_Axis_Neutral_Positi 2749; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_X_Axis_Neutral_Positi "Joystick 3 X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_X_Axis_Lever_Left_Neg 2744; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_X_Axis_Lever_Left_Neg "Joystick 3 X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_X_Axis_Lever_Right_Po 2739; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_X_Axis_Lever_Right_Po "Joystick 3 X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_X_Axis_Position 2734; BA_ "SPN" SG_ 2164120064 Joystick_3_Y_Axis_Neutral_Positi 2750; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Y_Axis_Neutral_Positi "Joystick 3 Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Y_Axis_Lever_Back_Neg 2745; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Y_Axis_Lever_Back_Neg "Joystick 3 Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Y_Axis_Lever_Forward_ 2740; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Y_Axis_Lever_Forward_ "Joystick 3 Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Y_Axis_Position 2735; BA_ "SPN" SG_ 2164120064 Joystick_3_Y_Axis_Detent_Positio 2755; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Y_Axis_Detent_Positio "Joystick 3 Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_X_Axis_Detent_Positio 2754; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_X_Axis_Detent_Positio "Joystick 3 X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_4_Pressed_Stat 2762; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_4_Pressed_Stat "Joystick 3 Button 4 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_3_Pressed_Stat 2761; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_3_Pressed_Stat "Joystick 3 Button 3 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_2_Pressed_Stat 2760; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_2_Pressed_Stat "Joystick 3 Button 2 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_1_Pressed_Stat 2759; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_1_Pressed_Stat "Joystick 3 Button 1 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_8_Pressed_Stat 2766; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_8_Pressed_Stat "Joystick 3 Button 8 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_7_Pressed_Stat 2765; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_7_Pressed_Stat "Joystick 3 Button 7 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_6_Pressed_Stat 2764; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_6_Pressed_Stat "Joystick 3 Button 6 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_5_Pressed_Stat 2763; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_5_Pressed_Stat "Joystick 3 Button 5 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_12_Pressed_Sta 2770; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_12_Pressed_Sta "Joystick 3 Button 12 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_11_Pressed_Sta 2769; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_11_Pressed_Sta "Joystick 3 Button 11 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_10_Pressed_Sta 2768; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_10_Pressed_Sta "Joystick 3 Button 10 Pressed Status"; BA_ "SPN" SG_ 2164120064 Joystick_3_Button_9_Pressed_Stat 2767; BA_ "SystemSignalLongSymbol" SG_ 2164120064 Joystick_3_Button_9_Pressed_Stat "Joystick 3 Button 9 Pressed Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_X_Axis_Neutral_P 2751; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_X_Axis_Neutral_P "Joystick 3 Grip X-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_X_Axis_Lever_Lef 2746; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_X_Axis_Lever_Lef "Joystick 3 Grip X-Axis Lever Left Negative Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_X_Axis_Lever_Rig 2741; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_X_Axis_Lever_Rig "Joystick 3 Grip X-Axis Lever Right Positive Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_X_Axis_Position 2736; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Neutral_P 2752; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Neutral_P "Joystick 3 Grip Y-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Lever_Bac 2747; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Lever_Bac "Joystick 3 Grip Y-Axis Lever Back Negative Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Lever_For 2742; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Lever_For "Joystick 3 Grip Y-Axis Lever Forward Positive Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Position 2737; BA_ "SPN" SG_ 2164120320 Joystick_3_Theta_Axis_Neutral_Po 2753; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Theta_Axis_Neutral_Po "Joystick 3 Theta-Axis Neutral Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Theta_Axis_Counter_Cl 2748; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Theta_Axis_Counter_Cl "Joystick 3 Theta-Axis Counter Clockwise Negative Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Theta_Axis_Clockwise_ 2743; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Theta_Axis_Clockwise_ "Joystick 3 Theta-Axis Clockwise Positive Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Theta_Axis_Position 2738; BA_ "SPN" SG_ 2164120320 Joystick_3_Theta_Axis_Detent_Pos 2758; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Theta_Axis_Detent_Pos "Joystick 3 Theta-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Detent_Po 2757; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_Y_Axis_Detent_Po "Joystick 3 Grip Y-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120320 Joystick_3_Grip_X_Axis_Detent_Po 2756; BA_ "SystemSignalLongSymbol" SG_ 2164120320 Joystick_3_Grip_X_Axis_Detent_Po "Joystick 3 Grip X-Axis Detent Position Status"; BA_ "SPN" SG_ 2164120576 Engine_Throttle_Synchronization_ 2615; BA_ "SystemSignalLongSymbol" SG_ 2164120576 Engine_Throttle_Synchronization_ "Engine Throttle Synchronization Mode Status"; BA_ "SPN" SG_ 2164120576 Trolling_Mode_Status 2616; BA_ "SPN" SG_ 2164120576 Slow_Vessel_Mode_Status 2617; BA_ "SPN" SG_ 2164121344 Front_Wheel_Drive_Actuator_Statu 2612; BA_ "SystemSignalLongSymbol" SG_ 2164121344 Front_Wheel_Drive_Actuator_Statu "Front Wheel Drive Actuator Status"; BA_ "SPN" SG_ 2164121600 Solar_Intensity_Percent 2610; BA_ "SPN" SG_ 2164121600 Solar_Sensor_Maximum 2611; BA_ "SPN" SG_ 2164121600 Specific_Humidity 4490; BA_ "SPN" SG_ 2164121856 Cab_A_C_Refrigerant_Compressor_O 2609; BA_ "SystemSignalLongSymbol" SG_ 2164121856 Cab_A_C_Refrigerant_Compressor_O "Cab A/C Refrigerant Compressor Outlet Pressure"; BA_ "SPN" SG_ 2164122112 Pneumatic_Supply_Pressure_Reques 2603; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Pneumatic_Supply_Pressure_Reques "Pneumatic Supply Pressure Request"; BA_ "SPN" SG_ 2164122112 Parking_and_or_Trailer_Air_Press 2604; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Parking_and_or_Trailer_Air_Press "Parking and/or Trailer Air Pressure Request"; BA_ "SPN" SG_ 2164122112 Service_Brake_Air_Pressure_Reque0 2605; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Service_Brake_Air_Pressure_Reque0 "Service Brake Air Pressure Request, Circuit #1"; BA_ "SPN" SG_ 2164122112 Service_Brake_Air_Pressure_Reque1 2606; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Service_Brake_Air_Pressure_Reque1 "Service Brake Air Pressure Request, Circuit #2"; BA_ "SPN" SG_ 2164122112 Auxiliary_Equipment_Supply_Press 2607; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Auxiliary_Equipment_Supply_Press "Auxiliary Equipment Supply Pressure Request"; BA_ "SPN" SG_ 2164122112 Air_Suspension_Supply_Pressure_R 2608; BA_ "SystemSignalLongSymbol" SG_ 2164122112 Air_Suspension_Supply_Pressure_R "Air Suspension Supply Pressure Request"; BA_ "SPN" SG_ 2164122368 Travel_Velocity_Control_Position 2601; BA_ "SPN" SG_ 2164122624 Payload_Percentage 2600; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_1 2588; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_2 2589; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_3 2590; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_4 2591; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_5 2592; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_6 2593; BA_ "SPN" SG_ 2164122880 Maximum_Vehicle_Speed_Limit_7 2594; BA_ "SPN" SG_ 2164122880 Applied_Vehicle_Speed_Limit 2595; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Circuit0 2580; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Circuit0 "Hydraulic Brake Pressure Circuit 1"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Circuit1 2581; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Circuit1 "Hydraulic Brake Pressure Circuit 2"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Warning0 2584; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Warning0 "Hydraulic Brake Pressure Warning State Circuit 1"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Warning1 2585; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Warning1 "Hydraulic Brake Pressure Warning State Circuit 2"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Supply_0 2582; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Supply_0 "Hydraulic Brake Pressure Supply State Circuit 1"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Pressure_Supply_1 2583; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Pressure_Supply_1 "Hydraulic Brake Pressure Supply State Circuit 2"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_System_Audible_W 2930; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_System_Audible_W "Hydraulic Brake System Audible Warning Command"; BA_ "SPN" SG_ 2164123136 Hydraulic_Brake_Fluid_Level_Swit 2931; BA_ "SystemSignalLongSymbol" SG_ 2164123136 Hydraulic_Brake_Fluid_Level_Swit "Hydraulic Brake Fluid Level Switch"; BA_ "SPN" SG_ 2164131584 Engine_Exhaust_Gas_Temperature__ 2434; BA_ "SystemSignalLongSymbol" SG_ 2164131584 Engine_Exhaust_Gas_Temperature__ "Engine Exhaust Gas Temperature - Left Manifold"; BA_ "SPN" SG_ 2164146176 Running_Light 2404; BA_ "SPN" SG_ 2164146176 Alternate_Beam_Head_Light_Data 2352; BA_ "SPN" SG_ 2164146176 Low_Beam_Head_Light_Data 2350; BA_ "SPN" SG_ 2164146176 High_Beam_Head_Light_Data 2348; BA_ "SPN" SG_ 2164146176 Tractor_Front_Fog_Lights 2388; BA_ "SPN" SG_ 2164146176 Rotating_Beacon_Light 2386; BA_ "SPN" SG_ 2164146176 Right_Turn_Signal_Lights 2370; BA_ "SPN" SG_ 2164146176 Left_Turn_Signal_Lights 2368; BA_ "SPN" SG_ 2164146176 Back_Up_Light_and_Alarm_Horn 2392; BA_ "SPN" SG_ 2164146176 Center_Stop_Light 2376; BA_ "SPN" SG_ 2164146176 Right_Stop_Light 2374; BA_ "SPN" SG_ 2164146176 Left_Stop_Light 2372; BA_ "SPN" SG_ 2164146176 Implement_Clearance_Light 2384; BA_ "SPN" SG_ 2164146176 Tractor_Clearance_Light 2382; BA_ "SPN" SG_ 2164146176 Implement_Marker_Light 2380; BA_ "SPN" SG_ 2164146176 Tractor_Marker_Light 2378; BA_ "SPN" SG_ 2164146176 Rear_Fog_Lights 2390; BA_ "SPN" SG_ 2164146176 Tractor_Underside_Mounted_Work_L 2358; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Underside_Mounted_Work_L "Tractor Underside Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Rear_Low_Mounted_Work_Li 2360; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Rear_Low_Mounted_Work_Li "Tractor Rear Low Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Rear_High_Mounted_Work_L 2362; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Rear_High_Mounted_Work_L "Tractor Rear High Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Side_Low_Mounted_Work_Li 2364; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Side_Low_Mounted_Work_Li "Tractor Side Low Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Side_High_Mounted_Work_L 2366; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Side_High_Mounted_Work_L "Tractor Side High Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Front_Low_Mounted_Work_L 2354; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Front_Low_Mounted_Work_L "Tractor Front Low Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Tractor_Front_High_Mounted_Work_ 2356; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Tractor_Front_High_Mounted_Work_ "Tractor Front High Mounted Work Lights"; BA_ "SPN" SG_ 2164146176 Implement_OEM_Option_2_Light 2398; BA_ "SPN" SG_ 2164146176 Implement_OEM_Option_1_Light 2396; BA_ "SPN" SG_ 2164146176 Implement_Right_Facing_Work_Ligh 2407; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Implement_Right_Facing_Work_Ligh "Implement Right Facing Work Light"; BA_ "SPN" SG_ 2164146176 Implement_Left_Facing_Work_Light 2598; BA_ "SPN" SG_ 2164146176 Implement_Right_Forward_Work_Lig 2402; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Implement_Right_Forward_Work_Lig "Implement Right Forward Work Light"; BA_ "SPN" SG_ 2164146176 Implement_Left_Forward_Work_Ligh 2400; BA_ "SystemSignalLongSymbol" SG_ 2164146176 Implement_Left_Forward_Work_Ligh "Implement Left Forward Work Light"; BA_ "SPN" SG_ 2164146176 Implement_Rear_Work_Light 2394; BA_ "SPN" SG_ 2164146432 Running_Light_Command 2403; BA_ "SPN" SG_ 2164146432 Alternate_Beam_Head_Light_Comman 2351; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Alternate_Beam_Head_Light_Comman "Alternate Beam Head Light Command"; BA_ "SPN" SG_ 2164146432 Low_Beam_Head_Light_Command 2349; BA_ "SPN" SG_ 2164146432 High_Beam_Head_Light_Command 2347; BA_ "SPN" SG_ 2164146432 Tractor_Front_Fog_Lights_Command 2387; BA_ "SPN" SG_ 2164146432 Rotating_Beacon_Light_Command 2385; BA_ "SPN" SG_ 2164146432 Right_Turn_Signal_Lights_Command 2369; BA_ "SPN" SG_ 2164146432 Left_Turn_Signal_Lights_Command 2367; BA_ "SPN" SG_ 2164146432 Back_Up_Light_and_Alarm_Horn_Com 2391; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Back_Up_Light_and_Alarm_Horn_Com "Back Up Light and Alarm Horn Command"; BA_ "SPN" SG_ 2164146432 Center_Stop_Light_Command 2375; BA_ "SPN" SG_ 2164146432 Right_Stop_Light_Command 2373; BA_ "SPN" SG_ 2164146432 Left_Stop_Light_Command 2371; BA_ "SPN" SG_ 2164146432 Implement_Clearance_Light_Comman 2383; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Clearance_Light_Comman "Implement Clearance Light Command"; BA_ "SPN" SG_ 2164146432 Tractor_Clearance_Light_Command 2381; BA_ "SPN" SG_ 2164146432 Implement_Marker_Light_Command 2379; BA_ "SPN" SG_ 2164146432 Tractor_Marker_Light_Command 2377; BA_ "SPN" SG_ 2164146432 Rear_Fog_Light_Command 2389; BA_ "SPN" SG_ 2164146432 Tractor_Underside_Mounted_Work_L 2357; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Underside_Mounted_Work_L "Tractor Underside Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Rear_Low_Mounted_Work_Li 2359; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Rear_Low_Mounted_Work_Li "Tractor Rear Low Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Rear_High_Mounted_Work_L 2361; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Rear_High_Mounted_Work_L "Tractor Rear High Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Side_Low_Mounted_Work_Li 2363; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Side_Low_Mounted_Work_Li "Tractor Side Low Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Side_High_Mounted_Work_L 2365; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Side_High_Mounted_Work_L "Tractor Side High Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Front_Low_Mounted_Work_L 2353; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Front_Low_Mounted_Work_L "Tractor Front Low Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Tractor_Front_High_Mounted_Work_ 2355; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Tractor_Front_High_Mounted_Work_ "Tractor Front High Mounted Work Lights Command"; BA_ "SPN" SG_ 2164146432 Implement_OEM_Option_2_Light_Com 2397; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_OEM_Option_2_Light_Com "Implement OEM Option 2 Light Command"; BA_ "SPN" SG_ 2164146432 Implement_OEM_Option_1_Light_Com 2395; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_OEM_Option_1_Light_Com "Implement OEM Option 1 Light Command"; BA_ "SPN" SG_ 2164146432 Implement_Right_Facing_Work_Ligh 2406; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Right_Facing_Work_Ligh "Implement Right Facing Work Light Command"; BA_ "SPN" SG_ 2164146432 Implement_Left_Facing_Work_Light 2597; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Left_Facing_Work_Light "Implement Left Facing Work Light Command"; BA_ "SPN" SG_ 2164146432 Lighting_Data_Request_Command 2393; BA_ "SPN" SG_ 2164146432 Implement_Right_Forward_Work_Lig 2401; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Right_Forward_Work_Lig "Implement Right Forward Work Light Command"; BA_ "SPN" SG_ 2164146432 Implement_Left_Forward_Work_Ligh 2399; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Left_Forward_Work_Ligh "Implement Left Forward Work Light Command"; BA_ "SPN" SG_ 2164146432 Implement_Rear_Work_Light_Comman 2405; BA_ "SystemSignalLongSymbol" SG_ 2164146432 Implement_Rear_Work_Light_Comman "Implement Rear Work Light Command"; BA_ "SPN" SG_ 2164148736 Transmission_Current_Range_Displ 4176; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Current_Range_Displ "Transmission Current Range Display Blank State"; BA_ "SPN" SG_ 2164148736 Transmission_Service_Indicator 4178; BA_ "SPN" SG_ 2164148736 Transmission_Requested_Range_Dis0 1850; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Requested_Range_Dis0 "Transmission Requested Range Display Blank State"; BA_ "SPN" SG_ 2164148736 Transmission_Requested_Range_Dis1 1849; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Requested_Range_Dis1 "Transmission Requested Range Display Flash State"; BA_ "SPN" SG_ 2164148736 Transmission_Ready_for_Brake_Rel 3086; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Ready_for_Brake_Rel "Transmission Ready for Brake Release"; BA_ "SPN" SG_ 2164148736 Active_Shift_Console_Indicator 2945; BA_ "SPN" SG_ 2164148736 Transmission_Engine_Crank_Enable 2900; BA_ "SPN" SG_ 2164148736 Transmission_Shift_Inhibit_Indic 1851; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Shift_Inhibit_Indic "Transmission Shift Inhibit Indicator"; BA_ "SPN" SG_ 2164148736 Transmission_Mode_4_Indicator 2539; BA_ "SPN" SG_ 2164148736 Transmission_Mode_3_Indicator 2538; BA_ "SPN" SG_ 2164148736 Transmission_Mode_2_Indicator 2537; BA_ "SPN" SG_ 2164148736 Transmission_Mode_1_Indicator 2536; BA_ "SPN" SG_ 2164148736 Transmission_Requested_Gear_Feed 3289; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Requested_Gear_Feed "Transmission Requested Gear Feedback"; BA_ "SPN" SG_ 2164148736 Transmission_Mode_5_Indicator 4250; BA_ "SPN" SG_ 2164148736 Transmission_Mode_6_Indicator 4251; BA_ "SPN" SG_ 2164148736 Transmission_Mode_7_Indicator 4252; BA_ "SPN" SG_ 2164148736 Transmission_Mode_8_Indicator 4253; BA_ "SPN" SG_ 2164148736 Transmission_Reverse_Gear_Shift_ 4261; BA_ "SystemSignalLongSymbol" SG_ 2164148736 Transmission_Reverse_Gear_Shift_ "Transmission Reverse Gear Shift Inhibit Status"; BA_ "SPN" SG_ 2164148992 Transmission_Torque_Limit 1845; BA_ "SPN" SG_ 2164149248 Rear_Black_Out_Marker_Select 1840; BA_ "SPN" SG_ 2164149248 Front_Black_Out_Marker_Lamp_Sele 1839; BA_ "SystemSignalLongSymbol" SG_ 2164149248 Front_Black_Out_Marker_Lamp_Sele "Front Black Out Marker Lamp Select"; BA_ "SPN" SG_ 2164149248 Convoy_Lamp_Select 1838; BA_ "SPN" SG_ 2164149248 Convoy_Driving_Lamp_Select 1837; BA_ "SPN" SG_ 2164149248 Black_Out_Brake_Stop_Lamp_Select 1841; BA_ "SPN" SG_ 2164149248 Night_Vision_Illuminator_Select 1843; BA_ "SPN" SG_ 2164149248 Black_Out_Work_Lamp_Select 1842; BA_ "SPN" SG_ 2164149248 Operators_Black_Out_Intensity_Se 1844; BA_ "SystemSignalLongSymbol" SG_ 2164149248 Operators_Black_Out_Intensity_Se "Operators Black Out Intensity Selection"; BA_ "SPN" SG_ 2164149504 Engine_Total_Average_Fuel_Rate 1834; BA_ "SPN" SG_ 2164149504 Engine_Total_Average_Fuel_Econom 1835; BA_ "SystemSignalLongSymbol" SG_ 2164149504 Engine_Total_Average_Fuel_Econom "Engine Total Average Fuel Economy"; BA_ "SPN" SG_ 2164149760 Position_of_doors 1821; BA_ "SPN" SG_ 2164149760 Ramp___Wheel_Chair_Lift_Position 1820; BA_ "SPN" SG_ 2164149760 Status_2_of_doors 3411; BA_ "SPN" SG_ 2164150016 VDC_Information_Signal 1813; BA_ "SPN" SG_ 2164150016 VDC_Fully_Operational 1814; BA_ "SPN" SG_ 2164150016 VDC_brake_light_request 1815; BA_ "SPN" SG_ 2164150016 ROP_Engine_Control_active 1816; BA_ "SPN" SG_ 2164150016 ROP_Brake_Control_active 1818; BA_ "SPN" SG_ 2164150016 YC_Engine_Control_active 1817; BA_ "SPN" SG_ 2164150016 YC_Brake_Control_active 1819; BA_ "SPN" SG_ 2164150272 Battery_1_Temperature 1800; BA_ "SPN" SG_ 2164150272 Battery_2_Temperature 1801; BA_ "SPN" SG_ 2164150528 Requested_ACC_Distance_Mode 1799; BA_ "SPN" SG_ 2164150784 Alternator_Current__High_Range_R 1795; BA_ "SystemSignalLongSymbol" SG_ 2164150784 Alternator_Current__High_Range_R "Alternator Current (High Range/Resolution)"; BA_ "SPN" SG_ 2164150784 Net_Battery_Current__High_Range_ 2579; BA_ "SystemSignalLongSymbol" SG_ 2164150784 Net_Battery_Current__High_Range_ "Net Battery Current (High Range/Resolution)"; BA_ "SPN" SG_ 2164151040 Low_Limit_Threshold_for_Maximum_0 1776; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Low_Limit_Threshold_for_Maximum_0 "Low Limit Threshold for Maximum RPM from Retarder"; BA_ "SPN" SG_ 2164151040 High_Limit_Threshold_for_Minimum0 1777; BA_ "SystemSignalLongSymbol" SG_ 2164151040 High_Limit_Threshold_for_Minimum0 "High Limit Threshold for Minimum Continuous RPM from Retarder"; BA_ "SPN" SG_ 2164151040 Low_Limit_Threshold_for_Maximum_1 1778; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Low_Limit_Threshold_for_Maximum_1 "Low Limit Threshold for Maximum Torque from Retarder"; BA_ "SPN" SG_ 2164151040 High_Limit_Threshold_for_Minimum1 1779; BA_ "SystemSignalLongSymbol" SG_ 2164151040 High_Limit_Threshold_for_Minimum1 "High Limit Threshold for Minimum Continuous Torque from Retarder"; BA_ "SPN" SG_ 2164151040 Maximum_Continuous_Retarder_Spee 1780; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Maximum_Continuous_Retarder_Spee "Maximum Continuous Retarder Speed "; BA_ "SPN" SG_ 2164151040 Minimum_Continuous_Retarder_Spee 1781; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Minimum_Continuous_Retarder_Spee "Minimum Continuous Retarder Speed"; BA_ "SPN" SG_ 2164151040 Maximum_Continuous_Retarder_Torq 1782; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Maximum_Continuous_Retarder_Torq "Maximum Continuous Retarder Torque"; BA_ "SPN" SG_ 2164151040 Minimum_Continuous_Retarder_Torq 1783; BA_ "SystemSignalLongSymbol" SG_ 2164151040 Minimum_Continuous_Retarder_Torq "Minimum Continuous Retarder Torque"; BA_ "SPN" SG_ 2164151296 Engine_Low_Limit_Threshold_for_M0 1768; BA_ "SystemSignalLongSymbol" SG_ 2164151296 Engine_Low_Limit_Threshold_for_M0 "Engine Low Limit Threshold for Maximum RPM from Engine"; BA_ "SPN" SG_ 2164151296 Engine_High_Limit_Threshold_for_0 1769; BA_ "SystemSignalLongSymbol" SG_ 2164151296 Engine_High_Limit_Threshold_for_0 "Engine High Limit Threshold for Minimum Continuous Engine RPM"; BA_ "SPN" SG_ 2164151296 Engine_Low_Limit_Threshold_for_M1 1770; BA_ "SystemSignalLongSymbol" SG_ 2164151296 Engine_Low_Limit_Threshold_for_M1 "Engine Low Limit Threshold for Maximum Torque from Engine"; BA_ "SPN" SG_ 2164151296 Engine_High_Limit_Threshold_for_1 1771; BA_ "SystemSignalLongSymbol" SG_ 2164151296 Engine_High_Limit_Threshold_for_1 "Engine High Limit Threshold for Minimum Continuous Torque from Engine"; BA_ "SPN" SG_ 2164151296 Engine_Maximum_Continuous_RPM 1772; BA_ "SPN" SG_ 2164151296 Engine_Minimum_Continuous_RPM 1773; BA_ "SPN" SG_ 2164151296 Engine_Maximum_Continuous_Torque 1774; BA_ "SPN" SG_ 2164151296 Engine_Minimum_Continuous_Torque 1775; BA_ "SPN" SG_ 2164151552 Specific_Heat_Ratio 1767; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta0 1761; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta0 "Aftertreatment 1 SCR Catalyst Tank Level"; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta1 3031; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta1 "Aftertreatment 1 SCR Catalyst Tank Temperature"; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta2 3517; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta2 "Aftertreatment 1 SCR Catalyst Tank Level 2"; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta3 3532; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Ta3 "Aftertreatment 1 SCR Catalyst Tank Level Preliminary FMI"; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Re0 4365; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Re0 "Aftertreatment 1 SCR Catalyst Reagent Tank 1 Temperature Preliminary FMI"; BA_ "SPN" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Re1 4366; BA_ "SystemSignalLongSymbol" SG_ 2164151808 Aftertreatment_1_SCR_Catalyst_Re1 "Aftertreatment 1 SCR Catalyst Reagent Tank 1 Heater Preliminary FMI"; BA_ "SPN" SG_ 2164152064 Damper_Stiffness_Front_Axle 1729; BA_ "SPN" SG_ 2164152064 Damper_Stiffness_Rear_Axle 1730; BA_ "SPN" SG_ 2164152064 Damper_Stiffness_Lift___Tag_Axle 1731; BA_ "SPN" SG_ 2164152064 Electronic_Shock_Absorber_Contro0 1833; BA_ "SystemSignalLongSymbol" SG_ 2164152064 Electronic_Shock_Absorber_Contro0 "Electronic Shock Absorber Control Mode - Front Axle"; BA_ "SPN" SG_ 2164152064 Electronic_Shock_Absorber_Contro1 1832; BA_ "SystemSignalLongSymbol" SG_ 2164152064 Electronic_Shock_Absorber_Contro1 "Electronic Shock Absorber Control Mode - Rear Axle"; BA_ "SPN" SG_ 2164152064 Electronic_Shock_Absorber_Contro2 1831; BA_ "SystemSignalLongSymbol" SG_ 2164152064 Electronic_Shock_Absorber_Contro2 "Electronic Shock Absorber Control Mode - Lift/Tag Axle"; BA_ "SPN" SG_ 2164152320 Bellow_Pressure_Front_Axle_Left 1725; BA_ "SPN" SG_ 2164152320 Bellow_Pressure_Front_Axle_Right 1726; BA_ "SPN" SG_ 2164152320 Bellow_Pressure_Rear_Axle_Left 1727; BA_ "SPN" SG_ 2164152320 Bellow_Pressure_Rear_Axle_Right 1728; BA_ "SPN" SG_ 2164152576 Relative_Level_Front_Axle_Left 1721; BA_ "SPN" SG_ 2164152576 Relative_Level_Front_Axle_Right 1722; BA_ "SPN" SG_ 2164152576 Relative_Level_Rear_Axle_Left 1724; BA_ "SPN" SG_ 2164152576 Relative_Level_Rear_Axle_Right 1723; BA_ "SPN" SG_ 2164152832 Nominal_Level_Front_Axle 1734; BA_ "SPN" SG_ 2164152832 Nominal_Level_Rear_Axle 1733; BA_ "SPN" SG_ 2164152832 Below_Nominal_Level_Front_Axle 1738; BA_ "SPN" SG_ 2164152832 Below_Nominal_Level_Rear_Axle 1754; BA_ "SPN" SG_ 2164152832 Above_Nominal_Level_Front_Axle 1737; BA_ "SPN" SG_ 2164152832 Above_Nominal_Level_Rear_Axle 1736; BA_ "SPN" SG_ 2164152832 Lowering_Control_Mode_Front_Axle 1740; BA_ "SPN" SG_ 2164152832 Lowering_Control_Mode_Rear_Axle 1755; BA_ "SPN" SG_ 2164152832 Lifting_Control_Mode_Front_Axle 1739; BA_ "SPN" SG_ 2164152832 Lifting_Control_Mode_Rear_Axle 1756; BA_ "SPN" SG_ 2164152832 Kneeling_Information 1742; BA_ "SPN" SG_ 2164152832 Level_Control_Mode 1741; BA_ "SPN" SG_ 2164152832 Security_Device 1746; BA_ "SPN" SG_ 2164152832 Vehicle_Motion_Inhibit 1745; BA_ "SPN" SG_ 2164152832 Door_Release 1744; BA_ "SPN" SG_ 2164152832 Lift_Axle_1_Position 1743; BA_ "SPN" SG_ 2164152832 Front_Axle_in_Bumper_Range 1824; BA_ "SPN" SG_ 2164152832 Rear_Axle_in_Bumper_Range 1823; BA_ "SPN" SG_ 2164152832 Lift_Axle_2_Position 1822; BA_ "SPN" SG_ 2164152832 Suspension_Remote_Control_1 1826; BA_ "SPN" SG_ 2164152832 Suspension_Remote_control_2 1825; BA_ "SPN" SG_ 2164152832 Suspension_Control_Refusal_Infor 1827; BA_ "SystemSignalLongSymbol" SG_ 2164152832 Suspension_Control_Refusal_Infor "Suspension Control Refusal Information"; BA_ "SPN" SG_ 2164153088 Lane_Tracking_Status_Right_Side 1711; BA_ "SPN" SG_ 2164153088 Lane_Tracking_Status_Left_Side 1710; BA_ "SPN" SG_ 2164153088 Lane_Departure_Indication_Enable 1702; BA_ "SystemSignalLongSymbol" SG_ 2164153088 Lane_Departure_Indication_Enable "Lane Departure Indication Enable Status"; BA_ "SPN" SG_ 2164155904 Battery_Main_Switch_Hold_State 1681; BA_ "SPN" SG_ 2164156160 Auxiliary_Heater_Maximum_Output_ 1690; BA_ "SystemSignalLongSymbol" SG_ 2164156160 Auxiliary_Heater_Maximum_Output_ "Auxiliary Heater Maximum Output Power"; BA_ "SPN" SG_ 2164156416 Hydraulic_Temperature 1638; BA_ "SPN" SG_ 2164156416 Hydraulic_Oil_Filter_Restriction 1713; BA_ "SystemSignalLongSymbol" SG_ 2164156416 Hydraulic_Oil_Filter_Restriction "Hydraulic Oil Filter Restriction Switch"; BA_ "SPN" SG_ 2164156416 Winch_Oil_Pressure_Switch 1857; BA_ "SPN" SG_ 2164156416 Hydraulic_Oil_Level 2602; BA_ "SPN" SG_ 2164156672 Engine_Intake_Manifold_1_Air_Tem 1636; BA_ "SystemSignalLongSymbol" SG_ 2164156672 Engine_Intake_Manifold_1_Air_Tem "Engine Intake Manifold 1 Air Temperature (High Resolution)"; BA_ "SPN" SG_ 2164156672 Engine_Coolant_Temperature__High 1637; BA_ "SystemSignalLongSymbol" SG_ 2164156672 Engine_Coolant_Temperature__High "Engine Coolant Temperature (High Resolution)"; BA_ "SPN" SG_ 2164156672 Engine_Intake_Valve_Actuation_Sy 2986; BA_ "SystemSignalLongSymbol" SG_ 2164156672 Engine_Intake_Valve_Actuation_Sy "Engine Intake Valve Actuation System Oil Temperature"; BA_ "SPN" SG_ 2164156672 Engine_Charge_Air_Cooler_Outlet_ 2630; BA_ "SystemSignalLongSymbol" SG_ 2164156672 Engine_Charge_Air_Cooler_Outlet_ "Engine Charge Air Cooler Outlet Temperature"; BA_ "SPN" SG_ 2164156928 Engine_Oil_Level_Remote_Reservoi 1380; BA_ "SystemSignalLongSymbol" SG_ 2164156928 Engine_Oil_Level_Remote_Reservoi "Engine Oil Level Remote Reservoir"; BA_ "SPN" SG_ 2164156928 Engine_Fuel_Supply_Pump_Inlet_Pr 1381; BA_ "SystemSignalLongSymbol" SG_ 2164156928 Engine_Fuel_Supply_Pump_Inlet_Pr "Engine Fuel Supply Pump Inlet Pressure"; BA_ "SPN" SG_ 2164156928 Engine_Fuel_Filter__suction_side 1382; BA_ "SystemSignalLongSymbol" SG_ 2164156928 Engine_Fuel_Filter__suction_side "Engine Fuel Filter (suction side) Differential Pressure"; BA_ "SPN" SG_ 2164156928 Engine_Waste_Oil_Reservoir_Level 3548; BA_ "SPN" SG_ 2164156928 Engine_Oil_Filter_Outlet_Pressur 3549; BA_ "SystemSignalLongSymbol" SG_ 2164156928 Engine_Oil_Filter_Outlet_Pressur "Engine Oil-Filter Outlet Pressure"; BA_ "SPN" SG_ 2164156928 Engine_Oil_Priming_Pump_Switch 3550; BA_ "SPN" SG_ 2164156928 Engine_Oil_Priming_State 3551; BA_ "SPN" SG_ 2164156928 Engine_Oil_Pre_Heated_State 3552; BA_ "SPN" SG_ 2164156928 Engine_Coolant_Pre_heated_State 3553; BA_ "SPN" SG_ 2164156928 Engine_Ventilation_Status 3554; BA_ "SPN" SG_ 2164156928 Fuel_Pump_Primer_Status 4083; BA_ "SPN" SG_ 2164157184 Driver_1_identification 1625; BA_ "SPN" SG_ 2164157184 Driver_2_identification 1626; BA_ "SPN" SG_ 2164157440 Driver_1_working_state 1612; BA_ "SPN" SG_ 2164157440 Driver_2_working_state 1613; BA_ "SPN" SG_ 2164157440 Vehicle_motion 1611; BA_ "SPN" SG_ 2164157440 Driver_1_Time_Related_States 1617; BA_ "SPN" SG_ 2164157440 Driver_card__driver_1 1615; BA_ "SPN" SG_ 2164157440 Vehicle_Overspeed 1614; BA_ "SPN" SG_ 2164157440 Driver_2_Time_Related_States 1618; BA_ "SPN" SG_ 2164157440 Driver_card__driver_2 1616; BA_ "SPN" SG_ 2164157440 System_event 1622; BA_ "SPN" SG_ 2164157440 Handling_information 1621; BA_ "SPN" SG_ 2164157440 Tachograph_performance 1620; BA_ "SPN" SG_ 2164157440 Direction_indicator 1619; BA_ "SPN" SG_ 2164157440 Tachograph_output_shaft_speed 1623; BA_ "SPN" SG_ 2164157440 Tachograph_vehicle_speed 1624; BA_ "SPN" SG_ 2164157696 Auxiliary_Heater_Output_Coolant_ 1687; BA_ "SystemSignalLongSymbol" SG_ 2164157696 Auxiliary_Heater_Output_Coolant_ "Auxiliary Heater Output Coolant Temperature"; BA_ "SPN" SG_ 2164157696 Auxiliary_Heater_Input_Air_Tempe 1688; BA_ "SystemSignalLongSymbol" SG_ 2164157696 Auxiliary_Heater_Input_Air_Tempe "Auxiliary Heater Input Air Temperature"; BA_ "SPN" SG_ 2164157696 Auxiliary_Heater_Output_Power_Pe 1689; BA_ "SystemSignalLongSymbol" SG_ 2164157696 Auxiliary_Heater_Output_Power_Pe "Auxiliary Heater Output Power Percent"; BA_ "SPN" SG_ 2164157696 Auxiliary_Heater_Mode 1677; BA_ "SPN" SG_ 2164157696 Auxiliary_Heater_Water_Pump_Stat 1676; BA_ "SystemSignalLongSymbol" SG_ 2164157696 Auxiliary_Heater_Water_Pump_Stat "Auxiliary Heater Water Pump Status"; BA_ "SPN" SG_ 2164157696 Cab_Ventilation 1678; BA_ "SPN" SG_ 2164157696 Engine_Heating_Zone 1679; BA_ "SPN" SG_ 2164157696 Cab_Heating_Zone 1680; BA_ "SPN" SG_ 2164157952 Front_Axle__Left_Wheel_Speed 1592; BA_ "SPN" SG_ 2164157952 Front_axle__right_wheel_speed 1593; BA_ "SPN" SG_ 2164157952 Rear_axle__left_wheel_speed 1594; BA_ "SPN" SG_ 2164157952 Rear_axle__right_wheel_speed 1595; BA_ "SPN" SG_ 2164158208 Speed_of_forward_vehicle 1586; BA_ "SPN" SG_ 2164158208 Distance_to_forward_vehicle 1587; BA_ "SPN" SG_ 2164158208 Adaptive_Cruise_Control_Set_Spee 1588; BA_ "SystemSignalLongSymbol" SG_ 2164158208 Adaptive_Cruise_Control_Set_Spee "Adaptive Cruise Control Set Speed"; BA_ "SPN" SG_ 2164158208 Adaptive_Cruise_Control_Mode 1590; BA_ "SPN" SG_ 2164158208 Adaptive_cruise_control_set_dist 1589; BA_ "SystemSignalLongSymbol" SG_ 2164158208 Adaptive_cruise_control_set_dist "Adaptive cruise control set distance mode"; BA_ "SPN" SG_ 2164158208 Road_curvature 1591; BA_ "SPN" SG_ 2164158208 ACC_Target_Detected 1798; BA_ "SPN" SG_ 2164158208 ACC_System_Shutoff_Warning 1797; BA_ "SPN" SG_ 2164158208 ACC_Distance_Alert_Signal 1796; BA_ "SPN" SG_ 2164158464 Powered_Vehicle_Weight 1585; BA_ "SPN" SG_ 2164158464 Gross_Combination_Vehicle_Weight 1760; BA_ "SPN" SG_ 2164158720 Laser_Tracer_Target_Deviation 1579; BA_ "SPN" SG_ 2164158720 Laser_Tracer_Vertical_Distance 1580; BA_ "SPN" SG_ 2164158720 Laser_Tracer_Horizontal_Deviatio 1581; BA_ "SystemSignalLongSymbol" SG_ 2164158720 Laser_Tracer_Horizontal_Deviatio "Laser Tracer Horizontal Deviation"; BA_ "SPN" SG_ 2164158720 LED_Display_Data__2 1582; BA_ "SPN" SG_ 2164158720 Laser_Tracer_Information 1583; BA_ "SPN" SG_ 2164158976 Blade_Duration_and_Direction 1577; BA_ "SPN" SG_ 2164158976 Blade_Control_Mode 1578; BA_ "SPN" SG_ 2164159232 Mast_Position 1576; BA_ "SPN" SG_ 2164159488 Modify_Leveling_System_Set_Point 1575; BA_ "SPN" SG_ 2164159488 Blade_Height_Set_Point___High_Re 1759; BA_ "SystemSignalLongSymbol" SG_ 2164159488 Blade_Height_Set_Point___High_Re "Blade Height Set Point - High Resolution"; BA_ "SPN" SG_ 2164159744 Laser_Strike_Vertical_Deviation 1574; BA_ "SPN" SG_ 2164159744 Laser_Receiver_Type 2576; BA_ "SPN" SG_ 2164159744 Laser_Strike_Data_Latency 2793; BA_ "SPN" SG_ 2164159744 Absolute_Laser_Strike_Position 2794; BA_ "SPN" SG_ 2164160000 LED_Display_Data__1 1573; BA_ "SPN" SG_ 2164160000 LED_Display_Mode_Control 1805; BA_ "SPN" SG_ 2164160000 LED_Display_Deadband_Control 1806; BA_ "SPN" SG_ 2164160000 LED_Pattern_Control 2578; BA_ "SPN" SG_ 2164160000 Display_Deadbands 2577; BA_ "SPN" SG_ 2164160256 Auxiliary_Vacuum_Pressure_Readin 136; BA_ "SystemSignalLongSymbol" SG_ 2164160256 Auxiliary_Vacuum_Pressure_Readin "Auxiliary Vacuum Pressure Reading"; BA_ "SPN" SG_ 2164160256 Auxiliary_Gage_Pressure_Reading_ 137; BA_ "SystemSignalLongSymbol" SG_ 2164160256 Auxiliary_Gage_Pressure_Reading_ "Auxiliary Gage Pressure Reading 1"; BA_ "SPN" SG_ 2164160256 Auxiliary_Absolute_Pressure_Read 138; BA_ "SystemSignalLongSymbol" SG_ 2164160256 Auxiliary_Absolute_Pressure_Read "Auxiliary Absolute Pressure Reading"; BA_ "SPN" SG_ 2164160512 Tire_Pressure_Check_Interval 39; BA_ "SPN" SG_ 2164160512 Steer_Channel_Mode 1466; BA_ "SPN" SG_ 2164160512 Trailer_tag_Channel_Mode 1467; BA_ "SPN" SG_ 2164160512 Drive_Channel_Mode 1468; BA_ "SPN" SG_ 2164160512 PCU_Drive_Solenoid_Status 1469; BA_ "SPN" SG_ 2164160512 PCU_Steer_Solenoid_Status 1470; BA_ "SPN" SG_ 2164160512 Tire_Pressure_Supply_Switch_Stat 1471; BA_ "SystemSignalLongSymbol" SG_ 2164160512 Tire_Pressure_Supply_Switch_Stat "Tire Pressure Supply Switch Status"; BA_ "SPN" SG_ 2164160512 PCU_Deflate_Solenoid_Status 1472; BA_ "SPN" SG_ 2164160512 PCU_Control_Solenoid_Status 1473; BA_ "SPN" SG_ 2164160512 PCU_Supply_Solenoid_Status 1474; BA_ "SPN" SG_ 2164160512 PCU_Trailer__Tag_or_Push_Solenoi 1475; BA_ "SystemSignalLongSymbol" SG_ 2164160512 PCU_Trailer__Tag_or_Push_Solenoi "PCU Trailer, Tag or Push Solenoid Status"; BA_ "SPN" SG_ 2164160768 Trailer__Tag_Or_Push_Channel_Tir 141; BA_ "SystemSignalLongSymbol" SG_ 2164160768 Trailer__Tag_Or_Push_Channel_Tir "Trailer, Tag Or Push Channel Tire Pressure Target"; BA_ "SPN" SG_ 2164160768 Drive_Channel_Tire_Pressure_Targ 142; BA_ "SystemSignalLongSymbol" SG_ 2164160768 Drive_Channel_Tire_Pressure_Targ "Drive Channel Tire Pressure Target"; BA_ "SPN" SG_ 2164160768 Steer_Channel_Tire_Pressure_Targ 143; BA_ "SystemSignalLongSymbol" SG_ 2164160768 Steer_Channel_Tire_Pressure_Targ "Steer Channel Tire Pressure Target"; BA_ "SPN" SG_ 2164161024 Trailer__Tag_Or_Push_Channel_Tir 144; BA_ "SystemSignalLongSymbol" SG_ 2164161024 Trailer__Tag_Or_Push_Channel_Tir "Trailer, Tag Or Push Channel Tire Pressure"; BA_ "SPN" SG_ 2164161024 Drive_Channel_Tire_Pressure 145; BA_ "SPN" SG_ 2164161024 Steer_Channel_Tire_Pressure 146; BA_ "SPN" SG_ 2164161280 Engine_Cylinder__1_Combustion_Ti 1444; BA_ "SystemSignalLongSymbol" SG_ 2164161280 Engine_Cylinder__1_Combustion_Ti "Engine Cylinder #1 Combustion Time"; BA_ "SPN" SG_ 2164161280 Engine_Cylinder__2_Combustion_Ti 1445; BA_ "SystemSignalLongSymbol" SG_ 2164161280 Engine_Cylinder__2_Combustion_Ti "Engine Cylinder #2 Combustion Time"; BA_ "SPN" SG_ 2164161280 Engine_Cylinder__3_Combustion_Ti 1446; BA_ "SystemSignalLongSymbol" SG_ 2164161280 Engine_Cylinder__3_Combustion_Ti "Engine Cylinder #3 Combustion Time"; BA_ "SPN" SG_ 2164161280 Engine_Cylinder__4_Combustion_Ti 1447; BA_ "SystemSignalLongSymbol" SG_ 2164161280 Engine_Cylinder__4_Combustion_Ti "Engine Cylinder #4 Combustion Time"; BA_ "SPN" SG_ 2164161536 Engine_Cylinder__5_Combustion_Ti 1448; BA_ "SystemSignalLongSymbol" SG_ 2164161536 Engine_Cylinder__5_Combustion_Ti "Engine Cylinder #5 Combustion Time"; BA_ "SPN" SG_ 2164161536 Engine_Cylinder__6_Combustion_Ti 1449; BA_ "SystemSignalLongSymbol" SG_ 2164161536 Engine_Cylinder__6_Combustion_Ti "Engine Cylinder #6 Combustion Time"; BA_ "SPN" SG_ 2164161536 Engine_Cylinder__7_Combustion_Ti 1450; BA_ "SystemSignalLongSymbol" SG_ 2164161536 Engine_Cylinder__7_Combustion_Ti "Engine Cylinder #7 Combustion Time"; BA_ "SPN" SG_ 2164161536 Engine_Cylinder__8_Combustion_Ti 1451; BA_ "SystemSignalLongSymbol" SG_ 2164161536 Engine_Cylinder__8_Combustion_Ti "Engine Cylinder #8 Combustion Time"; BA_ "SPN" SG_ 2164161792 Engine_Cylinder__9_Combustion_Ti 1452; BA_ "SystemSignalLongSymbol" SG_ 2164161792 Engine_Cylinder__9_Combustion_Ti "Engine Cylinder #9 Combustion Time"; BA_ "SPN" SG_ 2164161792 Engine_Cylinder__10_Combustion_T 1453; BA_ "SystemSignalLongSymbol" SG_ 2164161792 Engine_Cylinder__10_Combustion_T "Engine Cylinder #10 Combustion Time"; BA_ "SPN" SG_ 2164161792 Engine_Cylinder__11_Combustion_T 1454; BA_ "SystemSignalLongSymbol" SG_ 2164161792 Engine_Cylinder__11_Combustion_T "Engine Cylinder #11 Combustion Time"; BA_ "SPN" SG_ 2164161792 Engine_Cylinder__12_Combustion_T 1455; BA_ "SystemSignalLongSymbol" SG_ 2164161792 Engine_Cylinder__12_Combustion_T "Engine Cylinder #12 Combustion Time"; BA_ "SPN" SG_ 2164162048 Engine_Cylinder__13_Combustion_T 1456; BA_ "SystemSignalLongSymbol" SG_ 2164162048 Engine_Cylinder__13_Combustion_T "Engine Cylinder #13 Combustion Time"; BA_ "SPN" SG_ 2164162048 Engine_Cylinder__14_Combustion_T 1457; BA_ "SystemSignalLongSymbol" SG_ 2164162048 Engine_Cylinder__14_Combustion_T "Engine Cylinder #14 Combustion Time"; BA_ "SPN" SG_ 2164162048 Engine_Cylinder__15_Combustion_T 1458; BA_ "SystemSignalLongSymbol" SG_ 2164162048 Engine_Cylinder__15_Combustion_T "Engine Cylinder #15 Combustion Time"; BA_ "SPN" SG_ 2164162048 Engine_Cylinder__16_Combustion_T 1459; BA_ "SystemSignalLongSymbol" SG_ 2164162048 Engine_Cylinder__16_Combustion_T "Engine Cylinder #16 Combustion Time"; BA_ "SPN" SG_ 2164162304 Engine_Cylinder__17_Combustion_T 1460; BA_ "SystemSignalLongSymbol" SG_ 2164162304 Engine_Cylinder__17_Combustion_T "Engine Cylinder #17 Combustion Time"; BA_ "SPN" SG_ 2164162304 Engine_Cylinder__18_Combustion_T 1461; BA_ "SystemSignalLongSymbol" SG_ 2164162304 Engine_Cylinder__18_Combustion_T "Engine Cylinder #18 Combustion Time"; BA_ "SPN" SG_ 2164162304 Engine_Cylinder__19_Combustion_T 1462; BA_ "SystemSignalLongSymbol" SG_ 2164162304 Engine_Cylinder__19_Combustion_T "Engine Cylinder #19 Combustion Time"; BA_ "SPN" SG_ 2164162304 Engine_Cylinder__20_Combustion_T 1463; BA_ "SystemSignalLongSymbol" SG_ 2164162304 Engine_Cylinder__20_Combustion_T "Engine Cylinder #20 Combustion Time"; BA_ "SPN" SG_ 2164162560 Engine_Desired_Combustion_Time 1464; BA_ "SPN" SG_ 2164162560 Engine_Average_Combustion_Time 1465; BA_ "SPN" SG_ 2164162816 Engine_Fuel_Flow_Rate_1 1440; BA_ "SPN" SG_ 2164162816 Engine_Fuel_Flow_Rate_2 1441; BA_ "SPN" SG_ 2164162816 Engine_Fuel_Valve_1_Position 1442; BA_ "SPN" SG_ 2164162816 Engine_Fuel_Valve_2_Position 1443; BA_ "SPN" SG_ 2164162816 Engine_Requested_Fuel_Valve_1_Po 1765; BA_ "SystemSignalLongSymbol" SG_ 2164162816 Engine_Requested_Fuel_Valve_1_Po "Engine Requested Fuel Valve 1 Position"; BA_ "SPN" SG_ 2164162816 Engine_Requested_Fuel_Valve_2_Po 1766; BA_ "SystemSignalLongSymbol" SG_ 2164162816 Engine_Requested_Fuel_Valve_2_Po "Engine Requested Fuel Valve 2 Position"; BA_ "SPN" SG_ 2164163072 Engine_Cylinder__1_Ignition_Timi 1413; BA_ "SystemSignalLongSymbol" SG_ 2164163072 Engine_Cylinder__1_Ignition_Timi "Engine Cylinder #1 Ignition Timing"; BA_ "SPN" SG_ 2164163072 Engine_Cylinder__2_Ignition_Timi 1414; BA_ "SystemSignalLongSymbol" SG_ 2164163072 Engine_Cylinder__2_Ignition_Timi "Engine Cylinder #2 Ignition Timing"; BA_ "SPN" SG_ 2164163072 Engine_Cylinder__3_Ignition_Timi 1415; BA_ "SystemSignalLongSymbol" SG_ 2164163072 Engine_Cylinder__3_Ignition_Timi "Engine Cylinder #3 Ignition Timing"; BA_ "SPN" SG_ 2164163072 Engine_Cylinder__4_Ignition_Timi 1416; BA_ "SystemSignalLongSymbol" SG_ 2164163072 Engine_Cylinder__4_Ignition_Timi "Engine Cylinder #4 Ignition Timing"; BA_ "SPN" SG_ 2164163328 Engine_Cylinder__5_Ignition_Timi 1417; BA_ "SystemSignalLongSymbol" SG_ 2164163328 Engine_Cylinder__5_Ignition_Timi "Engine Cylinder #5 Ignition Timing"; BA_ "SPN" SG_ 2164163328 Engine_Cylinder__6_Ignition_Timi 1418; BA_ "SystemSignalLongSymbol" SG_ 2164163328 Engine_Cylinder__6_Ignition_Timi "Engine Cylinder #6 Ignition Timing"; BA_ "SPN" SG_ 2164163328 Engine_Cylinder__7_Ignition_Timi 1419; BA_ "SystemSignalLongSymbol" SG_ 2164163328 Engine_Cylinder__7_Ignition_Timi "Engine Cylinder #7 Ignition Timing"; BA_ "SPN" SG_ 2164163328 Engine_Cylinder__8_Ignition_Timi 1420; BA_ "SystemSignalLongSymbol" SG_ 2164163328 Engine_Cylinder__8_Ignition_Timi "Engine Cylinder #8 Ignition Timing"; BA_ "SPN" SG_ 2164163584 Engine_Cylinder__9_Ignition_Timi 1421; BA_ "SystemSignalLongSymbol" SG_ 2164163584 Engine_Cylinder__9_Ignition_Timi "Engine Cylinder #9 Ignition Timing"; BA_ "SPN" SG_ 2164163584 Engine_Cylinder__10_Ignition_Tim 1422; BA_ "SystemSignalLongSymbol" SG_ 2164163584 Engine_Cylinder__10_Ignition_Tim "Engine Cylinder #10 Ignition Timing"; BA_ "SPN" SG_ 2164163584 Engine_Cylinder__11_Ignition_Tim 1423; BA_ "SystemSignalLongSymbol" SG_ 2164163584 Engine_Cylinder__11_Ignition_Tim "Engine Cylinder #11 Ignition Timing"; BA_ "SPN" SG_ 2164163584 Engine_Cylinder__12_Ignition_Tim 1424; BA_ "SystemSignalLongSymbol" SG_ 2164163584 Engine_Cylinder__12_Ignition_Tim "Engine Cylinder #12 Ignition Timing"; BA_ "SPN" SG_ 2164163840 Engine_Cylinder__13_Ignition_Tim 1425; BA_ "SystemSignalLongSymbol" SG_ 2164163840 Engine_Cylinder__13_Ignition_Tim "Engine Cylinder #13 Ignition Timing"; BA_ "SPN" SG_ 2164163840 Engine_Cylinder__14_Ignition_Tim 1426; BA_ "SystemSignalLongSymbol" SG_ 2164163840 Engine_Cylinder__14_Ignition_Tim "Engine Cylinder #14 Ignition Timing"; BA_ "SPN" SG_ 2164163840 Engine_Cylinder__15_Ignition_Tim 1427; BA_ "SystemSignalLongSymbol" SG_ 2164163840 Engine_Cylinder__15_Ignition_Tim "Engine Cylinder #15 Ignition Timing"; BA_ "SPN" SG_ 2164163840 Engine_Cylinder__16_Ignition_Tim 1428; BA_ "SystemSignalLongSymbol" SG_ 2164163840 Engine_Cylinder__16_Ignition_Tim "Engine Cylinder #16 Ignition Timing"; BA_ "SPN" SG_ 2164164096 Engine_Cylinder__17_Ignition_Tim 1429; BA_ "SystemSignalLongSymbol" SG_ 2164164096 Engine_Cylinder__17_Ignition_Tim "Engine Cylinder #17 Ignition Timing"; BA_ "SPN" SG_ 2164164096 Engine_Cylinder__18_Ignition_Tim 1430; BA_ "SystemSignalLongSymbol" SG_ 2164164096 Engine_Cylinder__18_Ignition_Tim "Engine Cylinder #18 Ignition Timing"; BA_ "SPN" SG_ 2164164096 Engine_Cylinder__19_Ignition_Tim 1431; BA_ "SystemSignalLongSymbol" SG_ 2164164096 Engine_Cylinder__19_Ignition_Tim "Engine Cylinder #19 Ignition Timing"; BA_ "SPN" SG_ 2164164096 Engine_Cylinder__20_Ignition_Tim 1432; BA_ "SystemSignalLongSymbol" SG_ 2164164096 Engine_Cylinder__20_Ignition_Tim "Engine Cylinder #20 Ignition Timing"; BA_ "SPN" SG_ 2164164352 Engine_Desired_Ignition_Timing__0 1435; BA_ "SystemSignalLongSymbol" SG_ 2164164352 Engine_Desired_Ignition_Timing__0 "Engine Desired Ignition Timing #3"; BA_ "SPN" SG_ 2164164352 Engine_Actual_Ignition_Timing 1436; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__1_Ignition_Tran 1393; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__1_Ignition_Tran "Engine Cylinder #1 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__2_Ignition_Tran 1394; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__2_Ignition_Tran "Engine Cylinder #2 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__3_Ignition_Tran 1395; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__3_Ignition_Tran "Engine Cylinder #3 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__4_Ignition_Tran 1396; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__4_Ignition_Tran "Engine Cylinder #4 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__5_Ignition_Tran 1397; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__5_Ignition_Tran "Engine Cylinder #5 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__6_Ignition_Tran 1398; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__6_Ignition_Tran "Engine Cylinder #6 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__7_Ignition_Tran 1399; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__7_Ignition_Tran "Engine Cylinder #7 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164608 Engine_Cylinder__8_Ignition_Tran 1400; BA_ "SystemSignalLongSymbol" SG_ 2164164608 Engine_Cylinder__8_Ignition_Tran "Engine Cylinder #8 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__9_Ignition_Tran 1401; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__9_Ignition_Tran "Engine Cylinder #9 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__10_Ignition_Tra 1402; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__10_Ignition_Tra "Engine Cylinder #10 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__11_Ignition_Tra 1403; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__11_Ignition_Tra "Engine Cylinder #11 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__12_Ignition_Tra 1404; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__12_Ignition_Tra "Engine Cylinder #12 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__13_Ignition_Tra 1405; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__13_Ignition_Tra "Engine Cylinder #13 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__14_Ignition_Tra 1406; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__14_Ignition_Tra "Engine Cylinder #14 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__15_Ignition_Tra 1407; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__15_Ignition_Tra "Engine Cylinder #15 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164164864 Engine_Cylinder__16_Ignition_Tra 1408; BA_ "SystemSignalLongSymbol" SG_ 2164164864 Engine_Cylinder__16_Ignition_Tra "Engine Cylinder #16 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164165120 Engine_Cylinder__17_Ignition_Tra 1409; BA_ "SystemSignalLongSymbol" SG_ 2164165120 Engine_Cylinder__17_Ignition_Tra "Engine Cylinder #17 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164165120 Engine_Cylinder__18_Ignition_Tra 1410; BA_ "SystemSignalLongSymbol" SG_ 2164165120 Engine_Cylinder__18_Ignition_Tra "Engine Cylinder #18 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164165120 Engine_Cylinder__19_Ignition_Tra 1411; BA_ "SystemSignalLongSymbol" SG_ 2164165120 Engine_Cylinder__19_Ignition_Tra "Engine Cylinder #19 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164165120 Engine_Cylinder__20_Ignition_Tra 1412; BA_ "SystemSignalLongSymbol" SG_ 2164165120 Engine_Cylinder__20_Ignition_Tra "Engine Cylinder #20 Ignition Transformer Secondary Output"; BA_ "SPN" SG_ 2164165376 Engine_Fuel_Valve_1_Inlet_Absolu 1390; BA_ "SystemSignalLongSymbol" SG_ 2164165376 Engine_Fuel_Valve_1_Inlet_Absolu "Engine Fuel Valve 1 Inlet Absolute Pressure"; BA_ "SPN" SG_ 2164165376 Engine_Fuel_Valve_Differential_P 1391; BA_ "SystemSignalLongSymbol" SG_ 2164165376 Engine_Fuel_Valve_Differential_P "Engine Fuel Valve Differential Pressure"; BA_ "SPN" SG_ 2164165376 Engine_Air_to_Fuel_Differential_ 1392; BA_ "SystemSignalLongSymbol" SG_ 2164165376 Engine_Air_to_Fuel_Differential_ "Engine Air to Fuel Differential Pressure"; BA_ "SPN" SG_ 2164165376 Engine_Fuel_Valve_1_Outlet_Abso 2980; BA_ "SystemSignalLongSymbol" SG_ 2164165376 Engine_Fuel_Valve_1_Outlet_Abso "Engine Fuel Valve 1 Outlet Absolute Pressure"; BA_ "SPN" SG_ 2164165632 Auxiliary_Temperature_1 441; BA_ "SPN" SG_ 2164165632 Auxiliary_Temperature_2 442; BA_ "SPN" SG_ 2164165632 Auxiliary_Pressure__1 1387; BA_ "SPN" SG_ 2164165632 Auxiliary_Pressure__2 1388; BA_ "SPN" SG_ 2164165632 Auxiliary_Level 3087; BA_ "SPN" SG_ 2164165632 Relative_Humidity 354; BA_ "SPN" SG_ 2164165888 Battery_Potential___Power_Input_ 444; BA_ "SystemSignalLongSymbol" SG_ 2164165888 Battery_Potential___Power_Input_ "Battery Potential / Power Input 2"; BA_ "SPN" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_0 3597; BA_ "SystemSignalLongSymbol" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_0 "ECU Power Output Supply Voltage #1"; BA_ "SPN" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_1 3598; BA_ "SystemSignalLongSymbol" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_1 "ECU Power Output Supply Voltage #2"; BA_ "SPN" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_2 3599; BA_ "SystemSignalLongSymbol" SG_ 2164165888 ECU_Power_Output_Supply_Voltage_2 "ECU Power Output Supply Voltage #3"; BA_ "SPN" SG_ 2164166144 Service_Component_Identification 1379; BA_ "SPN" SG_ 2164166144 Time_Since_Last_Service 1350; BA_ "SPN" SG_ 2164166400 Engine_External_Shutdown_Air_Sup 1320; BA_ "SystemSignalLongSymbol" SG_ 2164166400 Engine_External_Shutdown_Air_Sup "Engine External Shutdown Air Supply Pressure"; BA_ "SPN" SG_ 2164166656 Number_of_Engine_Torque_History_ 1246; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Number_of_Engine_Torque_History_ "Number of Engine Torque History Records"; BA_ "SPN" SG_ 2164166656 Engine_Power 1247; BA_ "SPN" SG_ 2164166656 Engine_Peak_Torque_1 1248; BA_ "SPN" SG_ 2164166656 Engine_Peak_Torque_2 1249; BA_ "SPN" SG_ 2164166656 Calibration_Record_Start_Month 1250; BA_ "SPN" SG_ 2164166656 Calibration_Record_Start_Day 1251; BA_ "SPN" SG_ 2164166656 Calibration_Record_Start_Year 1252; BA_ "SPN" SG_ 2164166656 Calibration_Record_Duration_Time 1253; BA_ "SPN" SG_ 2164166656 Torque_Limiting_Feature_Status 1254; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_Feature 1632; BA_ "SPN" SG_ 2164166656 Transmission_Gear_Ratio_1 1255; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_1__Transmiss 1256; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Engine_Torque_Limit_1__Transmiss "Engine Torque Limit 1, Transmission"; BA_ "SPN" SG_ 2164166656 Transmission_Gear_Ratio_2 1257; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_2__Transmiss 1258; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Engine_Torque_Limit_2__Transmiss "Engine Torque Limit 2, Transmission"; BA_ "SPN" SG_ 2164166656 Transmission_Gear_Ratio_3 1259; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_3__Transmiss 1260; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Engine_Torque_Limit_3__Transmiss "Engine Torque Limit 3, Transmission"; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_4__Transmiss 1261; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Engine_Torque_Limit_4__Transmiss "Engine Torque Limit 4, Transmission"; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_5__Switch 1262; BA_ "SPN" SG_ 2164166656 Engine_Torque_Limit_6__Axle_Inpu 1263; BA_ "SystemSignalLongSymbol" SG_ 2164166656 Engine_Torque_Limit_6__Axle_Inpu "Engine Torque Limit 6, Axle Input"; BA_ "SPN" SG_ 2164166912 Engine_Fuel_Leakage_1 1239; BA_ "SPN" SG_ 2164166912 Engine_Fuel_Leakage_2 1240; BA_ "SPN" SG_ 2164167168 Engine_Pre_filter_Oil_Pressure 1208; BA_ "SPN" SG_ 2164167168 Engine_Exhaust_Gas_Pressure 1209; BA_ "SPN" SG_ 2164167168 Engine_Fuel_Rack_Position 1210; BA_ "SPN" SG_ 2164167168 Engine_Gas_Mass_Flow_Rate_1 1241; BA_ "SPN" SG_ 2164167168 Instantaneous_Estimated_Brake_Po 1242; BA_ "SystemSignalLongSymbol" SG_ 2164167168 Instantaneous_Estimated_Brake_Po "Instantaneous Estimated Brake Power"; BA_ "SPN" SG_ 2164167424 Electrical_Load 1204; BA_ "SPN" SG_ 2164167424 Safety_Wire_Status 1205; BA_ "SPN" SG_ 2164167680 Engine_Auxiliary_Coolant_Pressur 1203; BA_ "SystemSignalLongSymbol" SG_ 2164167680 Engine_Auxiliary_Coolant_Pressur "Engine Auxiliary Coolant Pressure"; BA_ "SPN" SG_ 2164167680 Engine_Auxiliary_Coolant_Tempera 1212; BA_ "SystemSignalLongSymbol" SG_ 2164167680 Engine_Auxiliary_Coolant_Tempera "Engine Auxiliary Coolant Temperature"; BA_ "SPN" SG_ 2164167680 Sea_Water_Pump_Outlet_Pressure 2435; BA_ "SPN" SG_ 2164167936 Engine_Operation_Time_Since_Rebu 1193; BA_ "SystemSignalLongSymbol" SG_ 2164167936 Engine_Operation_Time_Since_Rebu "Engine Operation Time Since Rebuild"; BA_ "SPN" SG_ 2164168192 Engine_Turbocharger_1_Wastegate_ 1188; BA_ "SystemSignalLongSymbol" SG_ 2164168192 Engine_Turbocharger_1_Wastegate_ "Engine Turbocharger 1 Wastegate Drive"; BA_ "SPN" SG_ 2164168192 Engine_Turbocharger_2_Wastegate_ 1189; BA_ "SystemSignalLongSymbol" SG_ 2164168192 Engine_Turbocharger_2_Wastegate_ "Engine Turbocharger 2 Wastegate Drive"; BA_ "SPN" SG_ 2164168192 Engine_Turbocharger_3_Wastegate_ 1190; BA_ "SystemSignalLongSymbol" SG_ 2164168192 Engine_Turbocharger_3_Wastegate_ "Engine Turbocharger 3 Wastegate Drive"; BA_ "SPN" SG_ 2164168192 Engine_Turbocharger_4_Wastegate_ 1191; BA_ "SystemSignalLongSymbol" SG_ 2164168192 Engine_Turbocharger_4_Wastegate_ "Engine Turbocharger 4 Wastegate Drive"; BA_ "SPN" SG_ 2164168192 Engine_Turbocharger_Wastegate_Ac 1192; BA_ "SystemSignalLongSymbol" SG_ 2164168192 Engine_Turbocharger_Wastegate_Ac "Engine Turbocharger Wastegate Actuator Control Air Pressure"; BA_ "SPN" SG_ 2164168448 Engine_Turbocharger_1_Turbine_Ou 1184; BA_ "SystemSignalLongSymbol" SG_ 2164168448 Engine_Turbocharger_1_Turbine_Ou "Engine Turbocharger 1 Turbine Outlet Temperature"; BA_ "SPN" SG_ 2164168448 Engine_Turbocharger_2_Turbine_Ou 1185; BA_ "SystemSignalLongSymbol" SG_ 2164168448 Engine_Turbocharger_2_Turbine_Ou "Engine Turbocharger 2 Turbine Outlet Temperature"; BA_ "SPN" SG_ 2164168448 Engine_Turbocharger_3_Turbine_Ou 1186; BA_ "SystemSignalLongSymbol" SG_ 2164168448 Engine_Turbocharger_3_Turbine_Ou "Engine Turbocharger 3 Turbine Outlet Temperature"; BA_ "SPN" SG_ 2164168448 Engine_Turbocharger_4_Turbine_Ou 1187; BA_ "SystemSignalLongSymbol" SG_ 2164168448 Engine_Turbocharger_4_Turbine_Ou "Engine Turbocharger 4 Turbine Outlet Temperature"; BA_ "SPN" SG_ 2164168704 Engine_Turbocharger_1_Turbine_In 1180; BA_ "SystemSignalLongSymbol" SG_ 2164168704 Engine_Turbocharger_1_Turbine_In "Engine Turbocharger 1 Turbine Inlet Temperature"; BA_ "SPN" SG_ 2164168704 Engine_Turbocharger_2_Turbine_In 1181; BA_ "SystemSignalLongSymbol" SG_ 2164168704 Engine_Turbocharger_2_Turbine_In "Engine Turbocharger 2 Turbine Inlet Temperature"; BA_ "SPN" SG_ 2164168704 Engine_Turbocharger_3_Turbine_In 1182; BA_ "SystemSignalLongSymbol" SG_ 2164168704 Engine_Turbocharger_3_Turbine_In "Engine Turbocharger 3 Turbine Inlet Temperature"; BA_ "SPN" SG_ 2164168704 Engine_Turbocharger_4_Turbine_In 1183; BA_ "SystemSignalLongSymbol" SG_ 2164168704 Engine_Turbocharger_4_Turbine_In "Engine Turbocharger 4 Turbine Inlet Temperature"; BA_ "SPN" SG_ 2164168960 Engine_Turbocharger_1_Compressor 1176; BA_ "SystemSignalLongSymbol" SG_ 2164168960 Engine_Turbocharger_1_Compressor "Engine Turbocharger 1 Compressor Inlet Pressure"; BA_ "SPN" SG_ 2164168960 Engine_Turbocharger_2_Compressor 1177; BA_ "SystemSignalLongSymbol" SG_ 2164168960 Engine_Turbocharger_2_Compressor "Engine Turbocharger 2 Compressor Inlet Pressure"; BA_ "SPN" SG_ 2164168960 Engine_Turbocharger_3_Compressor 1178; BA_ "SystemSignalLongSymbol" SG_ 2164168960 Engine_Turbocharger_3_Compressor "Engine Turbocharger 3 Compressor Inlet Pressure"; BA_ "SPN" SG_ 2164168960 Engine_Turbocharger_4_Compressor 1179; BA_ "SystemSignalLongSymbol" SG_ 2164168960 Engine_Turbocharger_4_Compressor "Engine Turbocharger 4 Compressor Inlet Pressure"; BA_ "SPN" SG_ 2164169216 Engine_Turbocharger_1_Compressor 1172; BA_ "SystemSignalLongSymbol" SG_ 2164169216 Engine_Turbocharger_1_Compressor "Engine Turbocharger 1 Compressor Inlet Temperature"; BA_ "SPN" SG_ 2164169216 Engine_Turbocharger_2_Compressor 1173; BA_ "SystemSignalLongSymbol" SG_ 2164169216 Engine_Turbocharger_2_Compressor "Engine Turbocharger 2 Compressor Inlet Temperature"; BA_ "SPN" SG_ 2164169216 Engine_Turbocharger_3_Compressor 1174; BA_ "SystemSignalLongSymbol" SG_ 2164169216 Engine_Turbocharger_3_Compressor "Engine Turbocharger 3 Compressor Inlet Temperature"; BA_ "SPN" SG_ 2164169216 Engine_Turbocharger_4_Compressor 1175; BA_ "SystemSignalLongSymbol" SG_ 2164169216 Engine_Turbocharger_4_Compressor "Engine Turbocharger 4 Compressor Inlet Temperature"; BA_ "SPN" SG_ 2164169472 Engine_Turbocharger_Lube_Oil_Pre 1168; BA_ "SystemSignalLongSymbol" SG_ 2164169472 Engine_Turbocharger_Lube_Oil_Pre "Engine Turbocharger Lube Oil Pressure 2"; BA_ "SPN" SG_ 2164169472 Engine_Turbocharger_2_Speed 1169; BA_ "SPN" SG_ 2164169472 Engine_Turbocharger_3_Speed 1170; BA_ "SPN" SG_ 2164169472 Engine_Turbocharger_4_Speed 1171; BA_ "SPN" SG_ 2164169728 Engine_Main_Bearing_9_Temperatur 1165; BA_ "SystemSignalLongSymbol" SG_ 2164169728 Engine_Main_Bearing_9_Temperatur "Engine Main Bearing 9 Temperature"; BA_ "SPN" SG_ 2164169728 Engine_Main_Bearing_10_Temperatu 1166; BA_ "SystemSignalLongSymbol" SG_ 2164169728 Engine_Main_Bearing_10_Temperatu "Engine Main Bearing 10 Temperature"; BA_ "SPN" SG_ 2164169728 Engine_Main_Bearing_11_Temperatu 1167; BA_ "SystemSignalLongSymbol" SG_ 2164169728 Engine_Main_Bearing_11_Temperatu "Engine Main Bearing 11 Temperature"; BA_ "SPN" SG_ 2164169984 Engine_Main_Bearing_5_Temperatur 1161; BA_ "SystemSignalLongSymbol" SG_ 2164169984 Engine_Main_Bearing_5_Temperatur "Engine Main Bearing 5 Temperature"; BA_ "SPN" SG_ 2164169984 Engine_Main_Bearing_6_Temperatur 1162; BA_ "SystemSignalLongSymbol" SG_ 2164169984 Engine_Main_Bearing_6_Temperatur "Engine Main Bearing 6 Temperature"; BA_ "SPN" SG_ 2164169984 Engine_Main_Bearing_7_Temperatur 1163; BA_ "SystemSignalLongSymbol" SG_ 2164169984 Engine_Main_Bearing_7_Temperatur "Engine Main Bearing 7 Temperature"; BA_ "SPN" SG_ 2164169984 Engine_Main_Bearing_8_Temperatur 1164; BA_ "SystemSignalLongSymbol" SG_ 2164169984 Engine_Main_Bearing_8_Temperatur "Engine Main Bearing 8 Temperature"; BA_ "SPN" SG_ 2164170240 Engine_Main_Bearing_1_Temperatur 1157; BA_ "SystemSignalLongSymbol" SG_ 2164170240 Engine_Main_Bearing_1_Temperatur "Engine Main Bearing 1 Temperature"; BA_ "SPN" SG_ 2164170240 Engine_Main_Bearing_2_Temperatur 1158; BA_ "SystemSignalLongSymbol" SG_ 2164170240 Engine_Main_Bearing_2_Temperatur "Engine Main Bearing 2 Temperature"; BA_ "SPN" SG_ 2164170240 Engine_Main_Bearing_3_Temperatur 1159; BA_ "SystemSignalLongSymbol" SG_ 2164170240 Engine_Main_Bearing_3_Temperatur "Engine Main Bearing 3 Temperature"; BA_ "SPN" SG_ 2164170240 Engine_Main_Bearing_4_Temperatur 1160; BA_ "SystemSignalLongSymbol" SG_ 2164170240 Engine_Main_Bearing_4_Temperatur "Engine Main Bearing 4 Temperature"; BA_ "SPN" SG_ 2164170496 Engine_Exhaust_Gas_Port_17_Tempe 1153; BA_ "SystemSignalLongSymbol" SG_ 2164170496 Engine_Exhaust_Gas_Port_17_Tempe "Engine Exhaust Gas Port 17 Temperature"; BA_ "SPN" SG_ 2164170496 Engine_Exhaust_Gas_Port_18_Tempe 1154; BA_ "SystemSignalLongSymbol" SG_ 2164170496 Engine_Exhaust_Gas_Port_18_Tempe "Engine Exhaust Gas Port 18 Temperature"; BA_ "SPN" SG_ 2164170496 Engine_Exhaust_Gas_Port_19_Tempe 1155; BA_ "SystemSignalLongSymbol" SG_ 2164170496 Engine_Exhaust_Gas_Port_19_Tempe "Engine Exhaust Gas Port 19 Temperature"; BA_ "SPN" SG_ 2164170496 Engine_Exhaust_Gas_Port_20_Tempe 1156; BA_ "SystemSignalLongSymbol" SG_ 2164170496 Engine_Exhaust_Gas_Port_20_Tempe "Engine Exhaust Gas Port 20 Temperature"; BA_ "SPN" SG_ 2164170752 Engine_Exhaust_Gas_Port_13_Tempe 1149; BA_ "SystemSignalLongSymbol" SG_ 2164170752 Engine_Exhaust_Gas_Port_13_Tempe "Engine Exhaust Gas Port 13 Temperature"; BA_ "SPN" SG_ 2164170752 Engine_Exhaust_Gas_Port_14_Tempe 1150; BA_ "SystemSignalLongSymbol" SG_ 2164170752 Engine_Exhaust_Gas_Port_14_Tempe "Engine Exhaust Gas Port 14 Temperature"; BA_ "SPN" SG_ 2164170752 Engine_Exhaust_Gas_Port_15_Tempe 1151; BA_ "SystemSignalLongSymbol" SG_ 2164170752 Engine_Exhaust_Gas_Port_15_Tempe "Engine Exhaust Gas Port 15 Temperature"; BA_ "SPN" SG_ 2164170752 Engine_Exhaust_Gas_Port_16_Tempe 1152; BA_ "SystemSignalLongSymbol" SG_ 2164170752 Engine_Exhaust_Gas_Port_16_Tempe "Engine Exhaust Gas Port 16 Temperature"; BA_ "SPN" SG_ 2164171008 Engine_Exhaust_Gas_Port_9_Temper 1145; BA_ "SystemSignalLongSymbol" SG_ 2164171008 Engine_Exhaust_Gas_Port_9_Temper "Engine Exhaust Gas Port 9 Temperature"; BA_ "SPN" SG_ 2164171008 Engine_Exhaust_Gas_Port_10_Tempe 1146; BA_ "SystemSignalLongSymbol" SG_ 2164171008 Engine_Exhaust_Gas_Port_10_Tempe "Engine Exhaust Gas Port 10 Temperature"; BA_ "SPN" SG_ 2164171008 Engine_Exhaust_Gas_Port_11_Tempe 1147; BA_ "SystemSignalLongSymbol" SG_ 2164171008 Engine_Exhaust_Gas_Port_11_Tempe "Engine Exhaust Gas Port 11 Temperature"; BA_ "SPN" SG_ 2164171008 Engine_Exhaust_Gas_Port_12_Tempe 1148; BA_ "SystemSignalLongSymbol" SG_ 2164171008 Engine_Exhaust_Gas_Port_12_Tempe "Engine Exhaust Gas Port 12 Temperature"; BA_ "SPN" SG_ 2164171264 Engine_Exhaust_Gas_Port_5_Temper 1141; BA_ "SystemSignalLongSymbol" SG_ 2164171264 Engine_Exhaust_Gas_Port_5_Temper "Engine Exhaust Gas Port 5 Temperature"; BA_ "SPN" SG_ 2164171264 Engine_Exhaust_Gas_Port_6_Temper 1142; BA_ "SystemSignalLongSymbol" SG_ 2164171264 Engine_Exhaust_Gas_Port_6_Temper "Engine Exhaust Gas Port 6 Temperature"; BA_ "SPN" SG_ 2164171264 Engine_Exhaust_Gas_Port_7_Temper 1143; BA_ "SystemSignalLongSymbol" SG_ 2164171264 Engine_Exhaust_Gas_Port_7_Temper "Engine Exhaust Gas Port 7 Temperature"; BA_ "SPN" SG_ 2164171264 Engine_Exhaust_Gas_Port_8_Temper 1144; BA_ "SystemSignalLongSymbol" SG_ 2164171264 Engine_Exhaust_Gas_Port_8_Temper "Engine Exhaust Gas Port 8 Temperature"; BA_ "SPN" SG_ 2164171520 Engine_Exhaust_Gas_Port_1_Temper 1137; BA_ "SystemSignalLongSymbol" SG_ 2164171520 Engine_Exhaust_Gas_Port_1_Temper "Engine Exhaust Gas Port 1 Temperature"; BA_ "SPN" SG_ 2164171520 Engine_Exhaust_Gas_Port_2_Temper 1138; BA_ "SystemSignalLongSymbol" SG_ 2164171520 Engine_Exhaust_Gas_Port_2_Temper "Engine Exhaust Gas Port 2 Temperature"; BA_ "SPN" SG_ 2164171520 Engine_Exhaust_Gas_Port_3_Temper 1139; BA_ "SystemSignalLongSymbol" SG_ 2164171520 Engine_Exhaust_Gas_Port_3_Temper "Engine Exhaust Gas Port 3 Temperature"; BA_ "SPN" SG_ 2164171520 Engine_Exhaust_Gas_Port_4_Temper 1140; BA_ "SystemSignalLongSymbol" SG_ 2164171520 Engine_Exhaust_Gas_Port_4_Temper "Engine Exhaust Gas Port 4 Temperature"; BA_ "SPN" SG_ 2164171776 Engine_Oil_Temperature_2 1135; BA_ "SPN" SG_ 2164171776 Engine_ECU_Temperature 1136; BA_ "SPN" SG_ 2164171776 Engine_Exhaust_Gas_Recirculation0 411; BA_ "SystemSignalLongSymbol" SG_ 2164171776 Engine_Exhaust_Gas_Recirculation0 "Engine Exhaust Gas Recirculation Differential Pressure"; BA_ "SPN" SG_ 2164171776 Engine_Exhaust_Gas_Recirculation1 412; BA_ "SystemSignalLongSymbol" SG_ 2164171776 Engine_Exhaust_Gas_Recirculation1 "Engine Exhaust Gas Recirculation Temperature"; BA_ "SPN" SG_ 2164172032 Engine_Intake_Manifold_2_Tempera 1131; BA_ "SystemSignalLongSymbol" SG_ 2164172032 Engine_Intake_Manifold_2_Tempera "Engine Intake Manifold 2 Temperature"; BA_ "SPN" SG_ 2164172032 Engine_Intake_Manifold_3_Tempera 1132; BA_ "SystemSignalLongSymbol" SG_ 2164172032 Engine_Intake_Manifold_3_Tempera "Engine Intake Manifold 3 Temperature"; BA_ "SPN" SG_ 2164172032 Engine_Intake_Manifold_4_Tempera 1133; BA_ "SystemSignalLongSymbol" SG_ 2164172032 Engine_Intake_Manifold_4_Tempera "Engine Intake Manifold 4 Temperature"; BA_ "SPN" SG_ 2164172032 Engine_Intake_Manifold_5_Tempera 1802; BA_ "SystemSignalLongSymbol" SG_ 2164172032 Engine_Intake_Manifold_5_Tempera "Engine Intake Manifold 5 Temperature"; BA_ "SPN" SG_ 2164172032 Engine_Intake_Manifold_6_Tempera 1803; BA_ "SystemSignalLongSymbol" SG_ 2164172032 Engine_Intake_Manifold_6_Tempera "Engine Intake Manifold 6 Temperature"; BA_ "SPN" SG_ 2164172288 Engine_Turbocharger_1_Boost_Pres 1127; BA_ "SystemSignalLongSymbol" SG_ 2164172288 Engine_Turbocharger_1_Boost_Pres "Engine Turbocharger 1 Boost Pressure"; BA_ "SPN" SG_ 2164172288 Engine_Turbocharger_2_Boost_Pres 1128; BA_ "SystemSignalLongSymbol" SG_ 2164172288 Engine_Turbocharger_2_Boost_Pres "Engine Turbocharger 2 Boost Pressure"; BA_ "SPN" SG_ 2164172288 Engine_Turbocharger_3_Boost_Pres 1129; BA_ "SystemSignalLongSymbol" SG_ 2164172288 Engine_Turbocharger_3_Boost_Pres "Engine Turbocharger 3 Boost Pressure"; BA_ "SPN" SG_ 2164172288 Engine_Turbocharger_4_Boost_Pres 1130; BA_ "SystemSignalLongSymbol" SG_ 2164172288 Engine_Turbocharger_4_Boost_Pres "Engine Turbocharger 4 Boost Pressure"; BA_ "SPN" SG_ 2164172544 Engine_Alternator_Bearing_1_Temp 1122; BA_ "SystemSignalLongSymbol" SG_ 2164172544 Engine_Alternator_Bearing_1_Temp "Engine Alternator Bearing 1 Temperature"; BA_ "SPN" SG_ 2164172544 Engine_Alternator_Bearing_2_Temp 1123; BA_ "SystemSignalLongSymbol" SG_ 2164172544 Engine_Alternator_Bearing_2_Temp "Engine Alternator Bearing 2 Temperature"; BA_ "SPN" SG_ 2164172544 Engine_Alternator_Winding_1_Temp 1124; BA_ "SystemSignalLongSymbol" SG_ 2164172544 Engine_Alternator_Winding_1_Temp "Engine Alternator Winding 1 Temperature"; BA_ "SPN" SG_ 2164172544 Engine_Alternator_Winding_2_Temp 1125; BA_ "SystemSignalLongSymbol" SG_ 2164172544 Engine_Alternator_Winding_2_Temp "Engine Alternator Winding 2 Temperature"; BA_ "SPN" SG_ 2164172544 Engine_Alternator_Winding_3_Temp 1126; BA_ "SystemSignalLongSymbol" SG_ 2164172544 Engine_Alternator_Winding_3_Temp "Engine Alternator Winding 3 Temperature"; BA_ "SPN" SG_ 2164172800 Articulation_Angle 1120; BA_ "SPN" SG_ 2164173056 Engine_Desired_Rated_Exhaust_Oxy 1117; BA_ "SystemSignalLongSymbol" SG_ 2164173056 Engine_Desired_Rated_Exhaust_Oxy "Engine Desired Rated Exhaust Oxygen"; BA_ "SPN" SG_ 2164173056 Engine_Desired_Exhaust_Oxygen 1118; BA_ "SPN" SG_ 2164173056 Engine_Actual_Exhaust_Oxygen 1119; BA_ "SPN" SG_ 2164173056 Engine_Exhaust_Gas_Oxygen_Sensor0 1695; BA_ "SystemSignalLongSymbol" SG_ 2164173056 Engine_Exhaust_Gas_Oxygen_Sensor0 "Engine Exhaust Gas Oxygen Sensor Fueling Correction"; BA_ "SPN" SG_ 2164173056 Engine_Exhaust_Gas_Oxygen_Sensor1 1696; BA_ "SystemSignalLongSymbol" SG_ 2164173056 Engine_Exhaust_Gas_Oxygen_Sensor1 "Engine Exhaust Gas Oxygen Sensor Closed Loop Operation"; BA_ "SPN" SG_ 2164173312 Engine_Gaseous_Fuel_Correction_F 1116; BA_ "SystemSignalLongSymbol" SG_ 2164173312 Engine_Gaseous_Fuel_Correction_F "Engine Gaseous Fuel Correction Factor"; BA_ "SPN" SG_ 2164173312 Engine_Desired_Absolute_Intake_M 1692; BA_ "SystemSignalLongSymbol" SG_ 2164173312 Engine_Desired_Absolute_Intake_M "Engine Desired Absolute Intake Manifold Pressure (Turbo Boost Limit)"; BA_ "SPN" SG_ 2164173312 Engine_Turbocharger_Wastegate_Va 1693; BA_ "SystemSignalLongSymbol" SG_ 2164173312 Engine_Turbocharger_Wastegate_Va "Engine Turbocharger Wastegate Valve Position"; BA_ "SPN" SG_ 2164173312 Engine_Gas_Mass_Flow_Sensor_Fuel 1694; BA_ "SystemSignalLongSymbol" SG_ 2164173312 Engine_Gas_Mass_Flow_Sensor_Fuel "Engine Gas Mass Flow Sensor Fueling Correction"; BA_ "SPN" SG_ 2164173568 Recommended_Gear 1113; BA_ "SPN" SG_ 2164173568 Highest_Possible_Gear 1115; BA_ "SPN" SG_ 2164173568 Lowest_Possible_Gear 1114; BA_ "SPN" SG_ 2164173568 Clutch_Life_Remaining 2983; BA_ "SPN" SG_ 2164173824 Brake_Lining_Remaining__Front_Ax 1100; BA_ "SystemSignalLongSymbol" SG_ 2164173824 Brake_Lining_Remaining__Front_Ax "Brake Lining Remaining, Front Axle, Right Wheel"; BA_ "SPN" SG_ 2164173824 Brake_Lining_Remaining__Rear_Axl0 1106; BA_ "SystemSignalLongSymbol" SG_ 2164173824 Brake_Lining_Remaining__Rear_Axl0 "Brake Lining Remaining, Rear Axle #3, Right Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_0 1091; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_0 "Brake Application Pressure High Range, Front Axle, Left Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_1 1092; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_1 "Brake Application Pressure High Range, Front Axle, Right Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_2 1093; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_2 "Brake Application Pressure High Range, Rear Axle #1, Left Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_3 1094; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_3 "Brake Application Pressure High Range, Rear Axle #1, Right Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_4 1095; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_4 "Brake Application Pressure High Range, Rear Axle #2, Left Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_5 1096; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_5 "Brake Application Pressure High Range, Rear Axle #2, Right Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_6 1097; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_6 "Brake Application Pressure High Range, Rear Axle #3, Left Wheel"; BA_ "SPN" SG_ 2164174080 Brake_Application_Pressure_High_7 1098; BA_ "SystemSignalLongSymbol" SG_ 2164174080 Brake_Application_Pressure_High_7 "Brake Application Pressure High Range, Rear Axle #3, Right Wheel"; BA_ "SPN" SG_ 2164174336 Pneumatic_Supply_Pressure 46; BA_ "SPN" SG_ 2164174336 Parking_and_or_Trailer_Air_Press 1086; BA_ "SystemSignalLongSymbol" SG_ 2164174336 Parking_and_or_Trailer_Air_Press "Parking and/or Trailer Air Pressure"; BA_ "SPN" SG_ 2164174336 Service_Brake_Circuit_1_Air_Pres 1087; BA_ "SystemSignalLongSymbol" SG_ 2164174336 Service_Brake_Circuit_1_Air_Pres "Service Brake Circuit 1 Air Pressure"; BA_ "SPN" SG_ 2164174336 Service_Brake_Circuit_2_Air_Pres 1088; BA_ "SystemSignalLongSymbol" SG_ 2164174336 Service_Brake_Circuit_2_Air_Pres "Service Brake Circuit 2 Air Pressure"; BA_ "SPN" SG_ 2164174336 Auxiliary_Equipment_Supply_Press 1089; BA_ "SystemSignalLongSymbol" SG_ 2164174336 Auxiliary_Equipment_Supply_Press "Auxiliary Equipment Supply Pressure"; BA_ "SPN" SG_ 2164174336 Air_Suspension_Supply_Pressure 1090; BA_ "SPN" SG_ 2164174336 Air_Compressor_Status 1351; BA_ "SPN" SG_ 2164174592 Trip_Fuel__Gaseous_ 1039; BA_ "SPN" SG_ 2164174592 Total_Fuel_Used__Gaseous_ 1040; BA_ "SPN" SG_ 2164174848 Trip_Cruise_Time 1034; BA_ "SPN" SG_ 2164174848 Trip_PTO_Governor_Time 1035; BA_ "SPN" SG_ 2164174848 Trip_Engine_Running_Time 1036; BA_ "SPN" SG_ 2164174848 Trip_Idle_Time 1037; BA_ "SPN" SG_ 2164174848 Trip_Air_Compressor_On_Time 1038; BA_ "SPN" SG_ 2164175104 Total_ECU_Distance 1032; BA_ "SPN" SG_ 2164175104 Total_ECU_Run_Time 1033; BA_ "SPN" SG_ 2164175360 Total_Engine_PTO_Governor_Fuel_U 1030; BA_ "SystemSignalLongSymbol" SG_ 2164175360 Total_Engine_PTO_Governor_Fuel_U "Total Engine PTO Governor Fuel Used (Gaseous)"; BA_ "SPN" SG_ 2164175360 Trip_Average_Fuel_Rate__Gaseous_ 1031; BA_ "SPN" SG_ 2164175360 Engine_Fuel_Specific_Gravity 1389; BA_ "SPN" SG_ 2164175616 Total_Engine_PTO_Governor_Fuel_U 1028; BA_ "SystemSignalLongSymbol" SG_ 2164175616 Total_Engine_PTO_Governor_Fuel_U "Total Engine PTO Governor Fuel Used"; BA_ "SPN" SG_ 2164175616 Trip_Average_Fuel_Rate 1029; BA_ "SPN" SG_ 2164175872 Trip_Time_in_VSL 1024; BA_ "SPN" SG_ 2164175872 Trip_Time_in_Top_Gear 1025; BA_ "SPN" SG_ 2164175872 Trip_Time_in_Gear_Down 1026; BA_ "SPN" SG_ 2164175872 Trip_Time_in_Derate_by_Engine 1027; BA_ "SPN" SG_ 2164176128 Trip_Number_of_Hot_Shutdowns 1020; BA_ "SPN" SG_ 2164176128 Trip_Number_of_Idle_Shutdowns 1021; BA_ "SPN" SG_ 2164176128 Trip_Number_of_Idle_Shutdown_Ove 1022; BA_ "SystemSignalLongSymbol" SG_ 2164176128 Trip_Number_of_Idle_Shutdown_Ove "Trip Number of Idle Shutdown Overrides"; BA_ "SPN" SG_ 2164176128 Trip_Sudden_Decelerations 1023; BA_ "SPN" SG_ 2164176384 Trip_Maximum_Vehicle_Speed 1018; BA_ "SPN" SG_ 2164176384 Trip_Cruise_Distance 1019; BA_ "SPN" SG_ 2164176640 Trip_Maximum_Engine_Speed 1013; BA_ "SPN" SG_ 2164176640 Trip_Average_Engine_Speed 1014; BA_ "SPN" SG_ 2164176640 Trip_Drive_Average_Load_Factor 1015; BA_ "SPN" SG_ 2164176640 Total_Drive_Average_Load_Factor 1016; BA_ "SPN" SG_ 2164176640 Total_Engine_Cruise_Time 1017; BA_ "SPN" SG_ 2164176896 Trip_Drive_Fuel_Used__Gaseous_ 1007; BA_ "SPN" SG_ 2164176896 Trip_PTO_Governor_Moving_Fuel_Us 1008; BA_ "SystemSignalLongSymbol" SG_ 2164176896 Trip_PTO_Governor_Moving_Fuel_Us "Trip PTO Governor Moving Fuel Used (Gaseous)"; BA_ "SPN" SG_ 2164176896 Trip_PTO_Governor_Non_moving_Fue 1009; BA_ "SystemSignalLongSymbol" SG_ 2164176896 Trip_PTO_Governor_Non_moving_Fue "Trip PTO Governor Non-moving Fuel Used (Gaseous)"; BA_ "SPN" SG_ 2164176896 Trip_Vehicle_Idle_Fuel_Used__Gas 1010; BA_ "SystemSignalLongSymbol" SG_ 2164176896 Trip_Vehicle_Idle_Fuel_Used__Gas "Trip Vehicle Idle Fuel Used (Gaseous)"; BA_ "SPN" SG_ 2164176896 Trip_Cruise_Fuel_Used__Gaseous_ 1011; BA_ "SPN" SG_ 2164176896 Trip_Drive_Fuel_Economy__Gaseous 1012; BA_ "SystemSignalLongSymbol" SG_ 2164176896 Trip_Drive_Fuel_Economy__Gaseous "Trip Drive Fuel Economy (Gaseous)"; BA_ "SPN" SG_ 2164177152 Trip_Drive_Fuel_Used 1001; BA_ "SPN" SG_ 2164177152 Trip_PTO_Governor_Moving_Fuel_Us 1002; BA_ "SystemSignalLongSymbol" SG_ 2164177152 Trip_PTO_Governor_Moving_Fuel_Us "Trip PTO Governor Moving Fuel Used"; BA_ "SPN" SG_ 2164177152 Trip_PTO_Governor_Non_moving_Fue 1003; BA_ "SystemSignalLongSymbol" SG_ 2164177152 Trip_PTO_Governor_Non_moving_Fue "Trip PTO Governor Non-moving Fuel Used"; BA_ "SPN" SG_ 2164177152 Trip_Vehicle_Idle_Fuel_Used 1004; BA_ "SPN" SG_ 2164177152 Trip_Cruise_Fuel_Used 1005; BA_ "SPN" SG_ 2164177152 Trip_Drive_Fuel_Economy 1006; BA_ "SPN" SG_ 2164177408 Trip_Distance_on_VSL 998; BA_ "SPN" SG_ 2164177408 Trip_Gear_Down_Distance 999; BA_ "SPN" SG_ 2164177408 Trip_Distance_in_Top_Gear 1000; BA_ "SPN" SG_ 2164177664 Trip_Fan_On_Time 994; BA_ "SPN" SG_ 2164177664 Trip_Fan_On_Time_Due_to_the_Engi 995; BA_ "SystemSignalLongSymbol" SG_ 2164177664 Trip_Fan_On_Time_Due_to_the_Engi "Trip Fan On Time Due to the Engine System"; BA_ "SPN" SG_ 2164177664 Trip_Fan_On_Time_Due_to_a_Manual 996; BA_ "SystemSignalLongSymbol" SG_ 2164177664 Trip_Fan_On_Time_Due_to_a_Manual "Trip Fan On Time Due to a Manual Switch"; BA_ "SPN" SG_ 2164177664 Trip_Fan_On_Time_Due_to_the_A_C_ 997; BA_ "SystemSignalLongSymbol" SG_ 2164177664 Trip_Fan_On_Time_Due_to_the_A_C_ "Trip Fan On Time Due to the A/C System"; BA_ "SPN" SG_ 2164177920 Total_Compression_Brake_Distance 990; BA_ "SPN" SG_ 2164177920 Trip_Compression_Brake_Distance 991; BA_ "SPN" SG_ 2164177920 Trip_Service_Brake_Distance 992; BA_ "SPN" SG_ 2164177920 Trip_Service_Brake_Applications 993; BA_ "SPN" SG_ 2164178176 Estimated_Percent_Fan_Speed 975; BA_ "SPN" SG_ 2164178176 Fan_Drive_State 977; BA_ "SPN" SG_ 2164178176 Fan_Speed 1639; BA_ "SPN" SG_ 2164178176 Hydraulic_Fan_Motor_Pressure 4211; BA_ "SPN" SG_ 2164178176 Fan_Drive_Bypass_Command_Status 4212; BA_ "SPN" SG_ 2164178432 Engine_Rated_Power 166; BA_ "SPN" SG_ 2164178432 Engine_Rated_Speed 189; BA_ "SPN" SG_ 2164178432 Engine_Rotation_Direction 3669; BA_ "SPN" SG_ 2164178432 Crank_Attempt_Count_on_Present_S 3671; BA_ "SystemSignalLongSymbol" SG_ 2164178432 Crank_Attempt_Count_on_Present_S "Crank Attempt Count on Present Start Attempt"; BA_ "SPN" SG_ 2164178688 Front_Axle_Speed 904; BA_ "SPN" SG_ 2164178688 Relative_Speed__Front_Axle__Left 905; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Front_Axle__Left "Relative Speed; Front Axle, Left Wheel"; BA_ "SPN" SG_ 2164178688 Relative_Speed__Front_Axle__Righ 906; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Front_Axle__Righ "Relative Speed; Front Axle, Right Wheel"; BA_ "SPN" SG_ 2164178688 Relative_Speed__Rear_Axle__1__Le 907; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Rear_Axle__1__Le "Relative Speed; Rear Axle #1, Left Wheel"; BA_ "SPN" SG_ 2164178688 Relative_Speed__Rear_Axle__1__Ri 908; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Rear_Axle__1__Ri "Relative Speed; Rear Axle #1, Right Wheel"; BA_ "SPN" SG_ 2164178688 Relative_Speed__Rear_Axle__2__Le 909; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Rear_Axle__2__Le "Relative Speed; Rear Axle #2, Left Wheel"; BA_ "SPN" SG_ 2164178688 Relative_Speed__Rear_Axle__2__Ri 910; BA_ "SystemSignalLongSymbol" SG_ 2164178688 Relative_Speed__Rear_Axle__2__Ri "Relative Speed; Rear Axle #2, Right Wheel"; BA_ "SPN" SG_ 2164178944 Service_Component_Identification0 911; BA_ "SystemSignalLongSymbol" SG_ 2164178944 Service_Component_Identification0 "Service_Component_Identification0"; BA_ "SPN" SG_ 2164178944 Service_Distance 914; BA_ "SPN" SG_ 2164178944 Service_Component_Identification1 912; BA_ "SystemSignalLongSymbol" SG_ 2164178944 Service_Component_Identification1 "Service_Component_Identification1"; BA_ "SPN" SG_ 2164178944 Service_Delay_Calendar_Time_Base 915; BA_ "SystemSignalLongSymbol" SG_ 2164178944 Service_Delay_Calendar_Time_Base "Service Delay/Calendar Time Based"; BA_ "SPN" SG_ 2164178944 Service_Component_Identification2 913; BA_ "SystemSignalLongSymbol" SG_ 2164178944 Service_Component_Identification2 "Service_Component_Identification2"; BA_ "SPN" SG_ 2164178944 Service_Delay_Operational_Time_B 916; BA_ "SystemSignalLongSymbol" SG_ 2164178944 Service_Delay_Operational_Time_B "Service Delay/Operational Time Based"; BA_ "SPN" SG_ 2164179200 High_Resolution_Total_Vehicle_Di 917; BA_ "SystemSignalLongSymbol" SG_ 2164179200 High_Resolution_Total_Vehicle_Di "High Resolution Total Vehicle Distance"; BA_ "SPN" SG_ 2164179200 High_Resolution_Trip_Distance 918; BA_ "SPN" SG_ 2164179456 Transmission_Output_Retarder 748; BA_ "SPN" SG_ 2164179712 Transmission_High_Range_Sense_Sw 778; BA_ "SystemSignalLongSymbol" SG_ 2164179712 Transmission_High_Range_Sense_Sw "Transmission High Range Sense Switch"; BA_ "SPN" SG_ 2164179712 Transmission_Low_Range_Sense_Swi 779; BA_ "SystemSignalLongSymbol" SG_ 2164179712 Transmission_Low_Range_Sense_Swi "Transmission Low Range Sense Switch"; BA_ "SPN" SG_ 2164179712 Transmission_Reverse_Direction_S 767; BA_ "SystemSignalLongSymbol" SG_ 2164179712 Transmission_Reverse_Direction_S "Transmission Reverse Direction Switch"; BA_ "SPN" SG_ 2164179712 Transmission_Neutral_Switch 604; BA_ "SPN" SG_ 2164179712 Transmission_Forward_Direction_S 903; BA_ "SystemSignalLongSymbol" SG_ 2164179712 Transmission_Forward_Direction_S "Transmission Forward Direction Switch"; BA_ "SPN" SG_ 2164180224 Transmission_Synchronizer_Clutch 53; BA_ "SystemSignalLongSymbol" SG_ 2164180224 Transmission_Synchronizer_Clutch "Transmission Synchronizer Clutch Value"; BA_ "SPN" SG_ 2164180224 Transmission_Synchronizer_Brake_ 54; BA_ "SystemSignalLongSymbol" SG_ 2164180224 Transmission_Synchronizer_Brake_ "Transmission Synchronizer Brake Value"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Gear_P 59; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Gear_P "Transmission Shift Finger Gear Position"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Rail_P 60; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Rail_P "Transmission Shift Finger Rail Position"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Neutra 780; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Neutra "Transmission Shift Finger Neutral Indicator"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Engage 781; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Engage "Transmission Shift Finger Engagement Indicator"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Center 782; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Center "Transmission Shift Finger Center Rail Indicator"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Rail_A0 772; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Rail_A0 "Transmission Shift Finger Rail Actuator 1"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Gear_A0 773; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Gear_A0 "Transmission Shift Finger Gear Actuator 1"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Rail_A1 783; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Rail_A1 "Transmission Shift Finger Rail Actuator 2"; BA_ "SPN" SG_ 2164180736 Transmission_Shift_Finger_Gear_A1 784; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Shift_Finger_Gear_A1 "Transmission Shift Finger Gear Actuator 2"; BA_ "SPN" SG_ 2164180736 Transmission_Range_High_Actuator 768; BA_ "SPN" SG_ 2164180736 Transmission_Range_Low_Actuator 769; BA_ "SPN" SG_ 2164180736 Transmission_Splitter_Direct_Act 770; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Splitter_Direct_Act "Transmission Splitter Direct Actuator"; BA_ "SPN" SG_ 2164180736 Transmission_Splitter_Indirect_A 771; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Splitter_Indirect_A "Transmission Splitter Indirect Actuator"; BA_ "SPN" SG_ 2164180736 Transmission_Clutch_Actuator 788; BA_ "SPN" SG_ 2164180736 Transmission_Lockup_Clutch_Actua 740; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Lockup_Clutch_Actua "Transmission Lockup Clutch Actuator"; BA_ "SPN" SG_ 2164180736 Transmission_Defuel_Actuator 786; BA_ "SPN" SG_ 2164180736 Transmission_Inertia_Brake_Actua 787; BA_ "SystemSignalLongSymbol" SG_ 2164180736 Transmission_Inertia_Brake_Actua "Transmission Inertia Brake Actuator"; BA_ "SPN" SG_ 2164184320 Alternator_Speed 589; BA_ "SPN" SG_ 2164184320 Alternator_1_Status 3353; BA_ "SPN" SG_ 2164184320 Alternator_2_Status 3354; BA_ "SPN" SG_ 2164184320 Alternator_3_Status 3355; BA_ "SPN" SG_ 2164184320 Alternator_4_Status 3356; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__04 704; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__03 703; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__02 702; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__01 701; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__08 708; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__07 707; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__06 706; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__05 705; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__12 712; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__11 711; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__10 710; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__09 709; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__16 716; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__15 715; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__14 714; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O__13 713; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O_Channel__1 1083; BA_ "SPN" SG_ 2164185344 Auxiliary_I_O_Channel__2 1084; BA_ "SPN" SG_ 2164185600 Number_of_Software_Identificatio 965; BA_ "SystemSignalLongSymbol" SG_ 2164185600 Number_of_Software_Identificatio "Number of Software Identification Fields"; BA_ "SPN" SG_ 2164185600 Software_Identification 234; BA_ "SPN" SG_ 2164185856 Engine_Injection_Control_Pressur 164; BA_ "SystemSignalLongSymbol" SG_ 2164185856 Engine_Injection_Control_Pressur "Engine Injection Control Pressure"; BA_ "SPN" SG_ 2164185856 Engine_Injector_Metering_Rail_1_ 157; BA_ "SystemSignalLongSymbol" SG_ 2164185856 Engine_Injector_Metering_Rail_1_ "Engine Injector Metering Rail 1 Pressure"; BA_ "SPN" SG_ 2164185856 Engine_Injector_Timing_Rail_1_Pr 156; BA_ "SystemSignalLongSymbol" SG_ 2164185856 Engine_Injector_Timing_Rail_1_Pr "Engine Injector Timing Rail 1 Pressure"; BA_ "SPN" SG_ 2164185856 Engine_Injector_Metering_Rail_2_ 1349; BA_ "SystemSignalLongSymbol" SG_ 2164185856 Engine_Injector_Metering_Rail_2_ "Engine Injector Metering Rail 2 Pressure"; BA_ "SPN" SG_ 2164186112 Engine_Total_Idle_Fuel_Used 236; BA_ "SPN" SG_ 2164186112 Engine_Total_Idle_Hours 235; BA_ "SPN" SG_ 2164186368 Engine_Turbocharger_Lube_Oil_Pre 104; BA_ "SystemSignalLongSymbol" SG_ 2164186368 Engine_Turbocharger_Lube_Oil_Pre "Engine Turbocharger Lube Oil Pressure 1"; BA_ "SPN" SG_ 2164186368 Engine_Turbocharger_1_Speed 103; BA_ "SPN" SG_ 2164186368 Engine_Turbocharger_Oil_Level_Sw 1665; BA_ "SystemSignalLongSymbol" SG_ 2164186368 Engine_Turbocharger_Oil_Level_Sw "Engine Turbocharger Oil Level Switch"; BA_ "SPN" SG_ 2164186624 Engine_Air_Start_Pressure 82; BA_ "SPN" SG_ 2164186880 Nominal_Friction___Percent_Torqu 514; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Nominal_Friction___Percent_Torqu "Nominal Friction - Percent Torque"; BA_ "SPN" SG_ 2164186880 Engine_s_Desired_Operating_Speed 519; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Engine_s_Desired_Operating_Speed "Engine's Desired Operating Speed Asymmetry Adjustment"; BA_ "SPN" SG_ 2164186880 Estimated_Engine_Parasitic_Losse 2978; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Estimated_Engine_Parasitic_Losse "Estimated Engine Parasitic Losses - Percent Torque"; BA_ "SPN" SG_ 2164186880 Aftertreatment_1_Exhaust_Gas_Mas 3236; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Aftertreatment_1_Exhaust_Gas_Mas "Aftertreatment 1 Exhaust Gas Mass Flow"; BA_ "SPN" SG_ 2164186880 Aftertreatment_1_Intake_Dew_Poin 3237; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Aftertreatment_1_Intake_Dew_Poin "Aftertreatment 1 Intake Dew Point"; BA_ "SPN" SG_ 2164186880 Aftertreatment_1_Exhaust_Dew_Poi 3238; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Aftertreatment_1_Exhaust_Dew_Poi "Aftertreatment 1 Exhaust Dew Point"; BA_ "SPN" SG_ 2164186880 Aftertreatment_2_Intake_Dew_Poin 3239; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Aftertreatment_2_Intake_Dew_Poin "Aftertreatment 2 Intake Dew Point"; BA_ "SPN" SG_ 2164186880 Aftertreatment_2_Exhaust_Dew_Poi 3240; BA_ "SystemSignalLongSymbol" SG_ 2164186880 Aftertreatment_2_Exhaust_Dew_Poi "Aftertreatment 2 Exhaust Dew Point"; BA_ "SPN" SG_ 2164187136 Trip_Distance 244; BA_ "SPN" SG_ 2164187136 Total_Vehicle_Distance 245; BA_ "SPN" SG_ 2164187392 Retarder_Type 901; BA_ "SPN" SG_ 2164187392 Retarder_Location 902; BA_ "SPN" SG_ 2164187392 Retarder_Control_Method__Retarde 557; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Retarder_Control_Method__Retarde "Retarder Control Method (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Retarder_Speed_At_Idle__Point_1_ 546; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Retarder_Speed_At_Idle__Point_1_ "Retarder Speed At Idle, Point 1 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Percent_Torque_At_Idle__Point_1_ 551; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Percent_Torque_At_Idle__Point_1_ "Percent Torque At Idle, Point 1 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Maximum_Retarder_Speed__Point_2_ 548; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Maximum_Retarder_Speed__Point_2_ "Maximum Retarder Speed, Point 2 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Percent_Torque_At_Maximum_Speed_ 552; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Percent_Torque_At_Maximum_Speed_ "Percent Torque At Maximum Speed, Point 2 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Retarder_Speed_At_Point_3__Retar 549; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Retarder_Speed_At_Point_3__Retar "Retarder Speed At Point 3 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Percent_Torque_At_Point_3__Retar 553; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Percent_Torque_At_Point_3__Retar "Percent Torque At Point 3 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Retarder_Speed_At_Point_4__Retar 550; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Retarder_Speed_At_Point_4__Retar "Retarder Speed At Point 4 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Percent_Torque_At_Point_4__Retar 554; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Percent_Torque_At_Point_4__Retar "Percent Torque At Point 4 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Retarder_Speed_At_Peak_Torque__P 547; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Retarder_Speed_At_Peak_Torque__P "Retarder Speed At Peak Torque, Point 5 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Reference_Retarder_Torque__Retar 556; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Reference_Retarder_Torque__Retar "Reference Retarder Torque (Retarder Configuration)"; BA_ "SPN" SG_ 2164187392 Percent_Torque_At_Peak_Torque__P 555; BA_ "SystemSignalLongSymbol" SG_ 2164187392 Percent_Torque_At_Peak_Torque__P "Percent Torque At Peak Torque, Point 5 (Retarder Configuration)"; BA_ "SPN" SG_ 2164187648 Number_of_Reverse_Gear_Ratios 958; BA_ "SPN" SG_ 2164187648 Number_of_Forward_Gear_Ratios 957; BA_ "SPN" SG_ 2164187648 Transmission_Gear_Ratio 581; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_Idle__Point_1__E 188; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_Idle__Point_1__E "Engine Speed At Idle, Point 1 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Percent_Torque_At_Idle__P 539; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Percent_Torque_At_Idle__P "Engine Percent Torque At Idle, Point 1 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_Point_2__Engine_ 528; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_Point_2__Engine_ "Engine Speed At Point 2 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Percent_Torque_At_Point_2 540; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Percent_Torque_At_Point_2 "Engine Percent Torque At Point 2 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_Point_3__Engine_ 529; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_Point_3__Engine_ "Engine Speed At Point 3 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Percent_Torque_At_Point_3 541; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Percent_Torque_At_Point_3 "Engine Percent Torque At Point 3 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_Point_4__Engine_ 530; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_Point_4__Engine_ "Engine Speed At Point 4 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Percent_Torque_At_Point_4 542; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Percent_Torque_At_Point_4 "Engine Percent Torque At Point 4 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_Point_5__Engine_ 531; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_Point_5__Engine_ "Engine Speed At Point 5 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Percent_Torque_At_Point_5 543; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Percent_Torque_At_Point_5 "Engine Percent Torque At Point 5 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Speed_At_High_Idle__Point 532; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Speed_At_High_Idle__Point "Engine Speed At High Idle, Point 6 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Gain__Kp__Of_The_Endspeed 545; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Gain__Kp__Of_The_Endspeed "Engine Gain (Kp) Of The Endspeed Governor (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Reference_Torque__Engine_ 544; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Reference_Torque__Engine_ "Engine Reference Torque (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Maximum_Momentary_Overrid0 533; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Maximum_Momentary_Overrid0 "Engine Maximum Momentary Override Speed, Point 7 (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Maximum_Momentary_Overrid1 534; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Maximum_Momentary_Overrid1 "Engine Maximum Momentary Override Time Limit (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Requested_Speed_Control_R0 535; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Requested_Speed_Control_R0 "Engine Requested Speed Control Range Lower Limit (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Requested_Speed_Control_R1 536; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Requested_Speed_Control_R1 "Engine Requested Speed Control Range Upper Limit (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Requested_Torque_Control_0 537; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Requested_Torque_Control_0 "Engine Requested Torque Control Range Lower Limit (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Requested_Torque_Control_1 538; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Requested_Torque_Control_1 "Engine Requested Torque Control Range Upper Limit (Engine Configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Extended_Range_Requested_ 1712; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Engine_Extended_Range_Requested_ "Engine Extended Range Requested Speed Control Range Upper Limit (Engine configuration)"; BA_ "SPN" SG_ 2164187904 Engine_Moment_of_Inertia 1794; BA_ "SPN" SG_ 2164187904 Engine_Default_Torque_Limit 1846; BA_ "SPN" SG_ 2164187904 Support_Variable_Rate_TSC1_Messa 3344; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Support_Variable_Rate_TSC1_Messa "Support Variable Rate TSC1 Message"; BA_ "SPN" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro0 3345; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro0 "Support TSC1 Control Purpose Group 1"; BA_ "SPN" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro1 3346; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro1 "Support TSC1 Control Purpose Group 2"; BA_ "SPN" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro2 3347; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro2 "Support TSC1 Control Purpose Group 3"; BA_ "SPN" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro3 3348; BA_ "SystemSignalLongSymbol" SG_ 2164187904 Support_TSC1_Control_Purpose_Gro3 "Support TSC1 Control Purpose Group 4"; BA_ "SPN" SG_ 2164188160 Engine_Idle_Shutdown_has_Shutdow 593; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Idle_Shutdown_has_Shutdow "Engine Idle Shutdown has Shutdown Engine"; BA_ "SPN" SG_ 2164188160 Engine_Idle_Shutdown_Driver_Aler 594; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Idle_Shutdown_Driver_Aler "Engine Idle Shutdown Driver Alert Mode"; BA_ "SPN" SG_ 2164188160 Engine_Idle_Shutdown_Timer_Overr 592; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Idle_Shutdown_Timer_Overr "Engine Idle Shutdown Timer Override"; BA_ "SPN" SG_ 2164188160 Engine_Idle_Shutdown_Timer_State 590; BA_ "SPN" SG_ 2164188160 Engine_Idle_Shutdown_Timer_Funct 591; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Idle_Shutdown_Timer_Funct "Engine Idle Shutdown Timer Function"; BA_ "SPN" SG_ 2164188160 A_C_High_Pressure_Fan_Switch 985; BA_ "SPN" SG_ 2164188160 Refrigerant_Low_Pressure_Switch 875; BA_ "SPN" SG_ 2164188160 Refrigerant_High_Pressure_Switch 605; BA_ "SPN" SG_ 2164188160 Engine_Wait_to_Start_Lamp 1081; BA_ "SPN" SG_ 2164188160 Engine_Protection_System_has_Shu 1110; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Protection_System_has_Shu "Engine Protection System has Shutdown Engine"; BA_ "SPN" SG_ 2164188160 Engine_Protection_System_Approac 1109; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Protection_System_Approac "Engine Protection System Approaching Shutdown"; BA_ "SPN" SG_ 2164188160 Engine_Protection_System_Timer_O 1108; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Protection_System_Timer_O "Engine Protection System Timer Override"; BA_ "SPN" SG_ 2164188160 Engine_Protection_System_Timer_S 1107; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Protection_System_Timer_S "Engine Protection System Timer State"; BA_ "SPN" SG_ 2164188160 Engine_Protection_System_Configu 1111; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Protection_System_Configu "Engine Protection System Configuration"; BA_ "SPN" SG_ 2164188160 Engine_Alarm_Acknowledge 2815; BA_ "SPN" SG_ 2164188160 Engine_Alarm_Output_Command_Stat 2814; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Alarm_Output_Command_Stat "Engine Alarm Output Command Status"; BA_ "SPN" SG_ 2164188160 Engine_Air_Shutoff_Command_Statu 2813; BA_ "SystemSignalLongSymbol" SG_ 2164188160 Engine_Air_Shutoff_Command_Statu "Engine Air Shutoff Command Status"; BA_ "SPN" SG_ 2164188160 Engine_Overspeed_Test 2812; BA_ "SPN" SG_ 2164188160 Engine_Air_Shutoff_Status 3667; BA_ "SPN" SG_ 2164188416 Engine_Total_Hours_of_Operation 247; BA_ "SPN" SG_ 2164188416 Engine_Total_Revolutions 249; BA_ "SPN" SG_ 2164188672 Seconds 959; BA_ "SPN" SG_ 2164188672 Minutes 960; BA_ "SPN" SG_ 2164188672 Hours 961; BA_ "SPN" SG_ 2164188672 Month 963; BA_ "SPN" SG_ 2164188672 Day 962; BA_ "SPN" SG_ 2164188672 Year 964; BA_ "SPN" SG_ 2164188672 Local_minute_offset 1601; BA_ "SPN" SG_ 2164188672 Local_hour_offset 1602; BA_ "SPN" SG_ 2164188928 Total_Vehicle_Hours 246; BA_ "SPN" SG_ 2164188928 Total_Power_Takeoff_Hours 248; BA_ "SPN" SG_ 2164189184 Compass_Bearing 165; BA_ "SPN" SG_ 2164189184 Navigation_Based_Vehicle_Speed 517; BA_ "SPN" SG_ 2164189184 Pitch 583; BA_ "SPN" SG_ 2164189184 Altitude 580; BA_ "SPN" SG_ 2164189440 Engine_Trip_Fuel 182; BA_ "SPN" SG_ 2164189440 Engine_Total_Fuel_Used 250; BA_ "SPN" SG_ 2164189696 Axle_Location 928; BA_ "SPN" SG_ 2164189696 Axle_Weight 582; BA_ "SPN" SG_ 2164189696 Trailer_Weight 180; BA_ "SPN" SG_ 2164189696 Cargo_Weight 181; BA_ "SPN" SG_ 2164189952 Make 586; BA_ "SPN" SG_ 2164189952 Model 587; BA_ "SPN" SG_ 2164189952 Serial_Number 588; BA_ "SPN" SG_ 2164189952 Unit_Number__Power_Unit_ 233; BA_ "SPN" SG_ 2164190208 Vehicle_Identification_Number 237; BA_ "SPN" SG_ 2164190464 Maximum_Vehicle_Speed_Limit 74; BA_ "SPN" SG_ 2164190464 Cruise_Control_High_Set_Limit_Sp 87; BA_ "SystemSignalLongSymbol" SG_ 2164190464 Cruise_Control_High_Set_Limit_Sp "Cruise Control High Set Limit Speed"; BA_ "SPN" SG_ 2164190464 Cruise_Control_Low_Set_Limit_Spe 88; BA_ "SystemSignalLongSymbol" SG_ 2164190464 Cruise_Control_Low_Set_Limit_Spe "Cruise Control Low Set Limit Speed"; BA_ "SPN" SG_ 2164190720 Engine_Coolant_Temperature 110; BA_ "SPN" SG_ 2164190720 Engine_Fuel_Temperature_1 174; BA_ "SPN" SG_ 2164190720 Engine_Oil_Temperature_1 175; BA_ "SPN" SG_ 2164190720 Engine_Turbocharger_Oil_Temperat 176; BA_ "SystemSignalLongSymbol" SG_ 2164190720 Engine_Turbocharger_Oil_Temperat "Engine Turbocharger Oil Temperature"; BA_ "SPN" SG_ 2164190720 Engine_Intercooler_Temperature 52; BA_ "SPN" SG_ 2164190720 Engine_Intercooler_Thermostat_Op 1134; BA_ "SystemSignalLongSymbol" SG_ 2164190720 Engine_Intercooler_Thermostat_Op "Engine Intercooler Thermostat Opening"; BA_ "SPN" SG_ 2164190976 Engine_Fuel_Delivery_Pressure 94; BA_ "SPN" SG_ 2164190976 Engine_Extended_Crankcase_Blow_b 22; BA_ "SystemSignalLongSymbol" SG_ 2164190976 Engine_Extended_Crankcase_Blow_b "Engine Extended Crankcase Blow-by Pressure"; BA_ "SPN" SG_ 2164190976 Engine_Oil_Level 98; BA_ "SPN" SG_ 2164190976 Engine_Oil_Pressure 100; BA_ "SPN" SG_ 2164190976 Engine_Crankcase_Pressure 101; BA_ "SPN" SG_ 2164190976 Engine_Coolant_Pressure 109; BA_ "SPN" SG_ 2164190976 Engine_Coolant_Level 111; BA_ "SPN" SG_ 2164191232 Power_Takeoff_Oil_Temperature 90; BA_ "SPN" SG_ 2164191232 Power_Takeoff_Speed 186; BA_ "SPN" SG_ 2164191232 Power_Takeoff_Set_Speed 187; BA_ "SPN" SG_ 2164191232 Engine_PTO_Governor_Enable_Switc 980; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_PTO_Governor_Enable_Switc "Engine PTO Governor Enable Switch"; BA_ "SPN" SG_ 2164191232 Engine_Remote_PTO_Governor_Prepr 979; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_Remote_PTO_Governor_Prepr "Engine Remote PTO Governor Preprogrammed Speed Control Switch"; BA_ "SPN" SG_ 2164191232 Engine_Remote_PTO_Governor_Varia 978; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_Remote_PTO_Governor_Varia "Engine Remote PTO Governor Variable Speed Control Switch"; BA_ "SPN" SG_ 2164191232 Engine_PTO_Governor_Set_Switch 984; BA_ "SPN" SG_ 2164191232 Engine_PTO_Governor_Coast_Decele 983; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_PTO_Governor_Coast_Decele "Engine PTO Governor Coast/Decelerate Switch"; BA_ "SPN" SG_ 2164191232 Engine_PTO_Governor_Resume_Switc 982; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_PTO_Governor_Resume_Switc "Engine PTO Governor Resume Switch"; BA_ "SPN" SG_ 2164191232 Engine_PTO_Governor_Accelerate_S 981; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Engine_PTO_Governor_Accelerate_S "Engine PTO Governor Accelerate Switch"; BA_ "SPN" SG_ 2164191232 Operator_Engine_PTO_Governor_Mem 2897; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Operator_Engine_PTO_Governor_Mem "Operator Engine PTO Governor Memory Select Switch"; BA_ "SPN" SG_ 2164191232 Remote_PTO_Governor_Preprogramme 3447; BA_ "SystemSignalLongSymbol" SG_ 2164191232 Remote_PTO_Governor_Preprogramme "Remote PTO Governor Preprogrammed Speed Control Switch #2"; BA_ "SPN" SG_ 2164191232 Auxiliary_Input_Ignore_Switch 3448; BA_ "SPN" SG_ 2164191488 Two_Speed_Axle_Switch 69; BA_ "SPN" SG_ 2164191488 Parking_Brake_Switch 70; BA_ "SPN" SG_ 2164191488 Cruise_Control_Pause_Switch 1633; BA_ "SPN" SG_ 2164191488 Park_Brake_Release_Inhibit_Reque 3807; BA_ "SystemSignalLongSymbol" SG_ 2164191488 Park_Brake_Release_Inhibit_Reque "Park Brake Release Inhibit Request"; BA_ "SPN" SG_ 2164191488 Wheel_Based_Vehicle_Speed 84; BA_ "SPN" SG_ 2164191488 Cruise_Control_Active 595; BA_ "SPN" SG_ 2164191488 Cruise_Control_Enable_Switch 596; BA_ "SPN" SG_ 2164191488 Brake_Switch 597; BA_ "SPN" SG_ 2164191488 Clutch_Switch 598; BA_ "SPN" SG_ 2164191488 Cruise_Control_Set_Switch 599; BA_ "SPN" SG_ 2164191488 Cruise_Control_Coast__Decelerate 600; BA_ "SystemSignalLongSymbol" SG_ 2164191488 Cruise_Control_Coast__Decelerate "Cruise Control Coast (Decelerate) Switch"; BA_ "SPN" SG_ 2164191488 Cruise_Control_Resume_Switch 601; BA_ "SPN" SG_ 2164191488 Cruise_Control_Accelerate_Switch 602; BA_ "SPN" SG_ 2164191488 Cruise_Control_Set_Speed 86; BA_ "SPN" SG_ 2164191488 PTO_Governor_State 976; BA_ "SPN" SG_ 2164191488 Cruise_Control_States 527; BA_ "SPN" SG_ 2164191488 Engine_Idle_Increment_Switch 968; BA_ "SPN" SG_ 2164191488 Engine_Idle_Decrement_Switch 967; BA_ "SPN" SG_ 2164191488 Engine_Test_Mode_Switch 966; BA_ "SPN" SG_ 2164191488 Engine_Shutdown_Override_Switch 1237; BA_ "SPN" SG_ 2164191744 Engine_Fuel_Rate 183; BA_ "SPN" SG_ 2164191744 Engine_Instantaneous_Fuel_Econom 184; BA_ "SystemSignalLongSymbol" SG_ 2164191744 Engine_Instantaneous_Fuel_Econom "Engine Instantaneous Fuel Economy"; BA_ "SPN" SG_ 2164191744 Engine_Average_Fuel_Economy 185; BA_ "SPN" SG_ 2164191744 Engine_Throttle_Position 51; BA_ "SPN" SG_ 2164191744 Engine_Throttle_2_Position 3673; BA_ "SPN" SG_ 2164192000 Latitude 584; BA_ "SPN" SG_ 2164192000 Longitude 585; BA_ "SPN" SG_ 2164192256 Tire_Location 929; BA_ "SPN" SG_ 2164192256 Tire_Pressure 241; BA_ "SPN" SG_ 2164192256 Tire_Temperature 242; BA_ "SPN" SG_ 2164192256 CTI_Wheel_Sensor_Status 1699; BA_ "SPN" SG_ 2164192256 CTI_Tire_Status 1698; BA_ "SPN" SG_ 2164192256 CTI_Wheel_End_Electrical_Fault 1697; BA_ "SPN" SG_ 2164192256 Tire_Air_Leakage_Rate 2586; BA_ "SPN" SG_ 2164192256 Tire_Pressure_Threshold_Detectio 2587; BA_ "SystemSignalLongSymbol" SG_ 2164192256 Tire_Pressure_Threshold_Detectio "Tire Pressure Threshold Detection"; BA_ "SPN" SG_ 2164192512 Barometric_Pressure 108; BA_ "SPN" SG_ 2164192512 Cab_Interior_Temperature 170; BA_ "SPN" SG_ 2164192512 Ambient_Air_Temperature 171; BA_ "SPN" SG_ 2164192512 Engine_Air_Inlet_Temperature 172; BA_ "SPN" SG_ 2164192512 Road_Surface_Temperature 79; BA_ "SPN" SG_ 2164192768 Engine_Diesel_Particulate_Filter 81; BA_ "SystemSignalLongSymbol" SG_ 2164192768 Engine_Diesel_Particulate_Filter "Engine Diesel Particulate Filter Inlet Pressure"; BA_ "SPN" SG_ 2164192768 Engine_Intake_Manifold__1_Pressu 102; BA_ "SystemSignalLongSymbol" SG_ 2164192768 Engine_Intake_Manifold__1_Pressu "Engine Intake Manifold #1 Pressure"; BA_ "SPN" SG_ 2164192768 Engine_Intake_Manifold_1_Tempera 105; BA_ "SystemSignalLongSymbol" SG_ 2164192768 Engine_Intake_Manifold_1_Tempera "Engine Intake Manifold 1 Temperature"; BA_ "SPN" SG_ 2164192768 Engine_Air_Inlet_Pressure 106; BA_ "SPN" SG_ 2164192768 Engine_Air_Filter_1_Differential 107; BA_ "SystemSignalLongSymbol" SG_ 2164192768 Engine_Air_Filter_1_Differential "Engine Air Filter 1 Differential Pressure"; BA_ "SPN" SG_ 2164192768 Engine_Exhaust_Gas_Temperature 173; BA_ "SPN" SG_ 2164192768 Engine_Coolant_Filter_Differenti 112; BA_ "SystemSignalLongSymbol" SG_ 2164192768 Engine_Coolant_Filter_Differenti "Engine Coolant Filter Differential Pressure"; BA_ "SPN" SG_ 2164193024 Net_Battery_Current 114; BA_ "SPN" SG_ 2164193024 Alternator_Current 115; BA_ "SPN" SG_ 2164193024 Charging_System_Potential__Volta 167; BA_ "SystemSignalLongSymbol" SG_ 2164193024 Charging_System_Potential__Volta "Charging System Potential (Voltage)"; BA_ "SPN" SG_ 2164193024 Battery_Potential___Power_Input_ 168; BA_ "SystemSignalLongSymbol" SG_ 2164193024 Battery_Potential___Power_Input_ "Battery Potential / Power Input 1"; BA_ "SPN" SG_ 2164193024 Keyswitch_Battery_Potential 158; BA_ "SPN" SG_ 2164193280 Clutch_Pressure 123; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Level 124; BA_ "SPN" SG_ 2164193280 Transmission_Filter_Differential 126; BA_ "SystemSignalLongSymbol" SG_ 2164193280 Transmission_Filter_Differential "Transmission Filter Differential Pressure"; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Pressure 127; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Temperature 177; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Level_High___Lo 3027; BA_ "SystemSignalLongSymbol" SG_ 2164193280 Transmission_Oil_Level_High___Lo "Transmission Oil Level High / Low"; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Level_Countdown 3028; BA_ "SystemSignalLongSymbol" SG_ 2164193280 Transmission_Oil_Level_Countdown "Transmission Oil Level Countdown Timer"; BA_ "SPN" SG_ 2164193280 Transmission_Oil_Level_Measureme 3026; BA_ "SystemSignalLongSymbol" SG_ 2164193280 Transmission_Oil_Level_Measureme "Transmission Oil Level Measurement Status"; BA_ "SPN" SG_ 2164193536 Steering_Axle_Temperature 75; BA_ "SPN" SG_ 2164193536 Drive_Axle_Location 930; BA_ "SPN" SG_ 2164193536 Drive_Axle_Lift_Air_Pressure 579; BA_ "SPN" SG_ 2164193536 Drive_Axle_Temperature 578; BA_ "SPN" SG_ 2164193536 Drive_Axle_Lube_Pressure 2613; BA_ "SPN" SG_ 2164193536 Steering_Axle_Lube_Pressure 2614; BA_ "SPN" SG_ 2164193792 Brake_Application_Pressure 116; BA_ "SPN" SG_ 2164193792 Brake_Primary_Pressure 117; BA_ "SPN" SG_ 2164193792 Brake_Secondary_Pressure 118; BA_ "SPN" SG_ 2164193792 Parking_Brake_Actuator 619; BA_ "SPN" SG_ 2164193792 Parking_Brake_Red_Warning_Signal 3557; BA_ "SPN" SG_ 2164193792 Park_Brake_Release_Inhibit_Statu 3808; BA_ "SystemSignalLongSymbol" SG_ 2164193792 Park_Brake_Release_Inhibit_Statu "Park Brake Release Inhibit Status"; BA_ "SPN" SG_ 2164194048 Hydraulic_Retarder_Pressure 119; BA_ "SPN" SG_ 2164194048 Hydraulic_Retarder_Oil_Temperatu 120; BA_ "SystemSignalLongSymbol" SG_ 2164194048 Hydraulic_Retarder_Oil_Temperatu "Hydraulic Retarder Oil Temperature"; BA_ "SPN" SG_ 2164194304 Washer_Fluid_Level 80; BA_ "SPN" SG_ 2164194304 Fuel_Level_1 96; BA_ "SPN" SG_ 2164194304 Engine_Fuel_Filter_Differential_ 95; BA_ "SystemSignalLongSymbol" SG_ 2164194304 Engine_Fuel_Filter_Differential_ "Engine Fuel Filter Differential Pressure"; BA_ "SPN" SG_ 2164194304 Engine_Oil_Filter_Differential_P 99; BA_ "SystemSignalLongSymbol" SG_ 2164194304 Engine_Oil_Filter_Differential_P "Engine Oil Filter Differential Pressure"; BA_ "SPN" SG_ 2164194304 Cargo_Ambient_Temperature 169; BA_ "SPN" SG_ 2164194304 Fuel_Level_2 38; BA_ "SPN" SG_ 2164194560 Engine_Blower_Bypass_Valve_Posit 72; BA_ "SystemSignalLongSymbol" SG_ 2164194560 Engine_Blower_Bypass_Valve_Posit "Engine Blower Bypass Valve Position"; BA_ "SPN" SG_ 2164194560 Engine_Gas_Supply_Pressure 159; BA_ "SPN" SG_ 2164194816 Auxiliary_Pump_Pressure 73; BA_ "SPN" SG_ 2164195072 Water_In_Fuel_Indicator 97; canmatrix-0.9.5/src/canmatrix/j1939_decoder.py000066400000000000000000000105301416730473300211150ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import, division, print_function from builtins import * import attr import canmatrix.formats try: from importlib.resources import read_binary except ImportError: from pkgutil import get_data as read_binary @attr.s class j1939_decoder(object): string = read_binary(__name__.rpartition('.')[0], "j1939.dbc") j1939_db = canmatrix.formats.loads_flat( string, import_type="dbc", dbcImportEncoding="utf8" ) length = attr.ib(default=0) # type: int count_succesive_frames = attr.ib(default=0) # type: int transfered_pgn = attr.ib(default=0) # type: int _data = attr.ib(init=False, default=bytearray()) def decode(self, arbitration_id, can_data, matrix = None): if matrix is not None: frame = matrix.frame_by_pgn(arbitration_id.pgn) else: frame = None if frame is not None: return ("regular " + frame.name, frame.decode(can_data)) elif self.j1939_db.frame_by_pgn(arbitration_id.pgn) is not None: signals = self.j1939_db.decode(arbitration_id,can_data) frame_name = self.j1939_db.frame_by_pgn(arbitration_id.pgn).name return ("J1939 known: " + frame_name, signals) elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xECFF).pgn and can_data[0] == 32: # BAM detected self.length = (int(can_data[2]) << 8) + int(can_data[1]) self.count_succesive_frames = int(can_data[3]) self.transfered_pgn = (int(can_data[7]) << 16) + (int(can_data[6]) << 8) + int(can_data[5]) self.bytes_left = self.length self._data = bytearray() return ("BAM ", {}) elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xECFF).pgn and can_data[0] == 16: # RTS detected self.length = (int(can_data[2]) << 8) + int(can_data[1]) self.count_of_packets = int(can_data[3]) self.total_count_of_packet_sent = int(can_data[4]) self.transfered_pgn = (int(can_data[7]) << 16) + (int(can_data[6]) << 8) + int(can_data[5]) return ("ERROR - decoding RTS not yet implemented") elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xECFF).pgn and can_data[0] == 17: # CTS detected self.max_packets_at_once = can_data[1] self.sequence_number_to_start = can_data[2] self.transfered_pgn = (int(can_data[7]) << 16) + (int(can_data[6]) << 8) + int(can_data[5]) return ("ERROR - decoding CTS not yet implemented") elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xECFF).pgn and can_data[0] == 19: # ACK detected self.message_size = (int(can_data[2]) << 8) + int(can_data[1]) self.count_of_packets = int(can_data[3]) self.transfered_pgn = (int(can_data[7]) << 16) + (int(can_data[6]) << 8) + int(can_data[5]) return ("ERROR - decoding ACK not yet implemented") elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xECFF).pgn and can_data[0] == 255: # Connection Abort self.abort_reason = can_data[1] self.transfered_pgn = (int(can_data[7]) << 16) + (int(can_data[6]) << 8) + int(can_data[5]) return ("ERROR - decoding Connection Abbort not yet implemented") elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xEEFF).pgn: #Address Claimed #arbitration_id.j1939_source #name in can_data[0:8] return ("ERROR - address claim detected not yet implemented") pass elif arbitration_id.pgn == canmatrix.ArbitrationId.from_pgn(0xEBFF).pgn: # transfer data self._data = self._data + can_data[1:min(8, self.bytes_left + 1)] self.bytes_left = max(self.bytes_left - 7, 0) if self.count_succesive_frames == 0: #print(self._data) frame = matrix.frame_by_pgn(self.transfered_pgn) if frame is not None: signals = frame.decode(self._data) return ("BAM last data", signals) return ("BAM last data", {}) else: self.count_succesive_frames -= 1 return ("BAM data ", {}) return ("",{}) canmatrix-0.9.5/src/canmatrix/join.py000066400000000000000000000076761416730473300176310ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import, division, print_function import typing from builtins import * import canmatrix import canmatrix.formats def list_pgn(db): # type: (canmatrix.CanMatrix) -> typing.Tuple[typing.List[int], typing.List[canmatrix.ArbitrationId]] """ Get all PGN values for given frame. :param db: CanMatrix database :return: tuple of [pgn] and [arbitration_id] """ id_list = [x.arbitration_id for x in db.frames] pgn_list = [arb_id.pgn for arb_id in id_list] return pgn_list, id_list def ids_sharing_same_pgn(id_x, pgn_x, id_y, pgn_y): # type: (typing.Sequence[canmatrix.ArbitrationId], typing.Sequence[int], typing.Sequence[canmatrix.ArbitrationId], typing.Sequence[int]) -> typing.Iterable[typing.Tuple[canmatrix.ArbitrationId, canmatrix.ArbitrationId]] """Yield arbitration ids which has the same pgn.""" for id_a, pgn_a in zip(id_x, pgn_x): for id_b, pgn_b in zip(id_y, pgn_y): if pgn_a == pgn_b: yield (id_a, id_b) def join_frame_by_signal_start_bit(files): # type: (typing.List[str]) -> canmatrix.CanMatrix target_db = next(iter(canmatrix.formats.loadp(files.pop(0)).values())) pgn_x, id_x = list_pgn(db=target_db) for f in files: source_db = next(iter(canmatrix.formats.loadp(f).values())) pgn_y, id_y = list_pgn(db=source_db) same_pgn = ids_sharing_same_pgn(id_x, pgn_x, id_y, pgn_y) for id_a, id_b in same_pgn: # print("{0:#x} {1:#x}".format(id_x, id_y)) target_fr = target_db.frame_by_id(id_a) source_fr = source_db.frame_by_id(id_b) signal_to_add = [] for sig_t in target_fr.signals: for sig_s in source_fr.signals: # print(sig.name) if sig_t.start_bit == sig_s.start_bit: # print("\t{0} {1}".format(sig_t.name, sig_s.name)) signal_to_add.append(sig_s) for s in signal_to_add: target_fr.add_signal(s) return target_db def rename_frame_with_id(source_db): # type: (canmatrix.CanMatrix) -> None for frameSc in source_db.frames: _, pgn, sa = frameSc.arbitration_id.j1939_tuple extension = "__{pgn:#04X}_{sa:#02X}_{sa:03d}d".format(pgn=pgn, sa=sa) new_name = frameSc.name + extension # print(new_name) frameSc.name = new_name def rename_frame_with_sae_acronym(source_db, target_db): # type: (canmatrix.CanMatrix, canmatrix.CanMatrix) -> None pgn_x, id_x = list_pgn(db=target_db) pgn_y, id_y = list_pgn(db=source_db) same_pgn = ids_sharing_same_pgn(id_x, pgn_x, id_y, pgn_y) for idx, idy in same_pgn: target_fr = target_db.frame_by_id(idx) source_fr = source_db.frame_by_id(idy) new_name = source_fr.name + "__" + target_fr.name target_fr.name = new_name def join_frame_for_manufacturer(db, files): # type: (canmatrix.CanMatrix, typing.Sequence[str]) -> None # target_db = next(iter(im.importany(files.pop(0)).values())) pgn_x, id_x = list_pgn(db=db) for f in files: source_db = next(iter(canmatrix.formats.loadp(f).values())) pgn_y, id_y = list_pgn(db=source_db) same_pgn = ids_sharing_same_pgn(id_x, pgn_x, id_y, pgn_y) for idx, idy in same_pgn: # print("{0:#x} {1:#x}".format(idx, idy)) target_fr = db.frame_by_id(idx) source_fr = source_db.frame_by_id(idy) _, pgn, sa = target_fr.arbitration_id.j1939_tuple if sa < 128: print('less', target_fr.name) to_add = [] for sig_s in source_fr.signals: new_name = "{name}_{pgn:#04x}_{sa:03}".format( name=sig_s.name, pgn=pgn, sa=sa) sig_s.name = new_name to_add.append(sig_s) for s in to_add: target_fr.add_signal(s) canmatrix-0.9.5/src/canmatrix/log.py000066400000000000000000000044521416730473300174400ustar00rootroot00000000000000# -*- coding: utf-8 -*- # Copyright (c) 2013, Eduard Broecker # All rights reserved. # # Redistribution and use in source and binary forms, with or without modification, are permitted provided that # the following conditions are met: # # Redistributions of source code must retain the above copyright notice, this list of conditions and the # following disclaimer. # Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the # following disclaimer in the documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A # PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH # DAMAGE. # Configurable logging # Author: Martin Hoffmann (m8ddin@gmail.com) from __future__ import absolute_import, division, print_function import logging def setup_logger(): # type: () -> logging.Logger """Setup the root logger. Return the logger instance for possible further setting and use. To be used from CLI scripts only. """ formatter = logging.Formatter( fmt='%(levelname)s - %(module)s - %(message)s') handler = logging.StreamHandler() handler.setFormatter(formatter) logger = logging.getLogger() logger.setLevel(logging.DEBUG) logger.addHandler(handler) return logger def set_log_level(logger, level): # type: (logging.Logger, int) -> None """Dynamic reconfiguration of the log level""" if level > 2: level = 2 if level < -1: level = -1 levels = { -1: logging.ERROR, 0: logging.WARN, 1: logging.INFO, 2: logging.DEBUG } logger.setLevel(levels[level]) canmatrix-0.9.5/src/canmatrix/tests/000077500000000000000000000000001416730473300174425ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/tests/ARXMLContainerTest.arxml000066400000000000000000026354341416730473300241160ustar00rootroot00000000000000 VectorAutosarExplorerGeneratedObjects SYSTEM System /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU_Contained_1 /VectorAutosarExplorerGeneratedObjects/PDUS/Contained_PDU_2 /VectorAutosarExplorerGeneratedObjects/PDUS/Container /VectorAutosarExplorerGeneratedObjects/FRAME/PDU_Frame /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/Sender /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/FRAME/TestFrame /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsPDU /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsContainer /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsPDUIntel /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/PDUS/PDU3 /VectorAutosarExplorerGeneratedObjects/FRAME/Trame4PDUS /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/PDUS/PDU1 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU2 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU_3 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU4 /VectorAutosarExplorerGeneratedObjects/PDUS/PDUCont /VectorAutosarExplorerGeneratedObjects/FRAME/Trame2PDUs /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/PDUS/PDU5 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU6 /VectorAutosarExplorerGeneratedObjects/PDUS/Cont2PDUs /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsContainer_NewPDU /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal New_CanCluster New_CanCluster 250000 CANChannel /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/Sender/Connector_Sender_2954a2d1271579a3 NewFrameTriggering_b2f22d434ee2fb66 /VectorAutosarExplorerGeneratedObjects/FRAME/Frame_With_Container /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_b1c33886f0a2c89c /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_3abaa70732f5cbe4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_f2dab933de20f6a8 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_f4a99caecaba894a STANDARD CAN-FD 100 NewFrameTriggering_d861343caaa35ec3 /VectorAutosarExplorerGeneratedObjects/FRAME/PDU_Frame /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_86fa10c27580fc3c STANDARD CAN-FD 101 NewFrameTriggering_cb5cc732fa461c3c /VectorAutosarExplorerGeneratedObjects/FRAME/TestFrame /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_f57cf9d48832bf7e /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_514c9b5e125373e1 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_a7a2097b9c192eb4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_b23e0a4157bbef45 STANDARD CAN-FD 99 NewFrameTriggering_ac29b3e7fd91f00c /VectorAutosarExplorerGeneratedObjects/FRAME/Trame4PDUS /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_4b6207d896bee4b7 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_a2ecb69513c338ba /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_0c851bec2e8a62d7 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_301feee6efa3b0a4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_6681ec041c9ee394 STANDARD CAN-FD 1 NewFrameTriggering_6cdec4ce4cc48e52 /VectorAutosarExplorerGeneratedObjects/FRAME/Trame2PDUs /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_71f505b37e0d51ee /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_794da5837c30c057 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_e9b41d43efa157b3 STANDARD CAN-FD 2 NewSignalTriggering_4a24057ee178183a /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal NewSignalTriggering_201b6b1dd6f9bdac /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 NewSignalTriggering_bcfc0043e652bff6 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 NewSignalTriggering_64a180782984ac31 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 NewSignalTriggering_1f99a0d574696445 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 NewSignalTriggering_9efb08a1a1cfd7e7 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal NewSignalTriggering_bceed15026ba8c3a /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 NewSignalTriggering_9d1106e9f6f49900 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit NewSignalTriggering_e8a247f22e2cc227 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits NewSignalTriggering_c356537a6471b5d4 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits NewSignalTriggering_2477beebacfbe3d3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 NewSignalTriggering_fba033d4ddea917c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 NewSignalTriggering_8fb9af80f0619dc6 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 NewSignalTriggering_98b08604595a2c9f /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 NewSignalTriggering_c97f6434e2a52758 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 NewSignalTriggering_f8e2e02f17ae5d57 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal NewSignalTriggering_99d5fd3e082d738d /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal NewSignalTriggering_d9a3ea3d1a2e76da /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal NewSignalTriggering_099561399410dec5 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 NewSignalTriggering_874820411d87a3c6 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal NewSignalTriggering_e1b101095a6469a4 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal NewSignalTriggering_2d222329d9baea8e /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal NewSignalTriggering_546ac28f990c6d15 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal NewSignalTriggering_c414cc55486780d4 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal NewPduTriggering_b1c33886f0a2c89c /VectorAutosarExplorerGeneratedObjects/PDUS/Container NewPduTriggering_86fa10c27580fc3c /VectorAutosarExplorerGeneratedObjects/PDUS/PDU /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_4a24057ee178183a /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_201b6b1dd6f9bdac NewPduTriggering_3abaa70732f5cbe4 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU_Contained_1 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_bcfc0043e652bff6 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_64a180782984ac31 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_1f99a0d574696445 NewPduTriggering_f2dab933de20f6a8 /VectorAutosarExplorerGeneratedObjects/PDUS/Contained_PDU_2 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_9efb08a1a1cfd7e7 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_bceed15026ba8c3a NewPduTriggering_f57cf9d48832bf7e /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsContainer NewPduTriggering_514c9b5e125373e1 /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsPDU /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_9d1106e9f6f49900 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_e8a247f22e2cc227 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_c356537a6471b5d4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_2477beebacfbe3d3 NewPduTriggering_a7a2097b9c192eb4 /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsPDUIntel /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_fba033d4ddea917c /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_8fb9af80f0619dc6 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_98b08604595a2c9f /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_c97f6434e2a52758 NewPduTriggering_f4a99caecaba894a /VectorAutosarExplorerGeneratedObjects/PDUS/PDU3 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_f8e2e02f17ae5d57 NewPduTriggering_4b6207d896bee4b7 /VectorAutosarExplorerGeneratedObjects/PDUS/PDUCont NewPduTriggering_a2ecb69513c338ba /VectorAutosarExplorerGeneratedObjects/PDUS/PDU1 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_99d5fd3e082d738d NewPduTriggering_0c851bec2e8a62d7 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU2 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_d9a3ea3d1a2e76da /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_099561399410dec5 NewPduTriggering_301feee6efa3b0a4 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU_3 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_874820411d87a3c6 NewPduTriggering_6681ec041c9ee394 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_e1b101095a6469a4 NewPduTriggering_71f505b37e0d51ee /VectorAutosarExplorerGeneratedObjects/PDUS/Cont2PDUs NewPduTriggering_794da5837c30c057 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU5 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_2d222329d9baea8e NewPduTriggering_e9b41d43efa157b3 /VectorAutosarExplorerGeneratedObjects/PDUS/PDU6 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_546ac28f990c6d15 NewPduTriggering_b23e0a4157bbef45 /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsContainer_NewPDU /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_c414cc55486780d4 CAN 250000 FRAME Frame_With_Container 16 PduToFrameMapping_24dffdbcf72978fd MOST-SIGNIFICANT-BYTE-FIRST /VectorAutosarExplorerGeneratedObjects/PDUS/Container 0 PDU_Frame 2 PduToFrameMapping_0293daafb40a43a8 MOST-SIGNIFICANT-BYTE-LAST /VectorAutosarExplorerGeneratedObjects/PDUS/PDU 0 TestFrame 15 PduToFrameMapping_629236531d6fef13 MOST-SIGNIFICANT-BYTE-LAST /VectorAutosarExplorerGeneratedObjects/PDUS/SmallSignalsContainer 0 Trame4PDUS 30 PduToFrameMapping_ff56809f343f59e9 MOST-SIGNIFICANT-BYTE-FIRST /VectorAutosarExplorerGeneratedObjects/PDUS/PDUCont 0 Trame2PDUs 32 PduToFrameMapping_0bda22472a7ba1c7 MOST-SIGNIFICANT-BYTE-FIRST /VectorAutosarExplorerGeneratedObjects/PDUS/Cont2PDUs 0 PDUS PDU_Contained_1 4 LAST-IS-BEST 15 ALWAYS SignalPduMapping_1755f1d619384170 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal1 MOST-SIGNIFICANT-BYTE-FIRST 7 SignalPduMapping_c09819220e7c8917 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal2 MOST-SIGNIFICANT-BYTE-FIRST 15 SignalPduMapping_43433a3b5f9b9840 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_Contained_1_Signal3 MOST-SIGNIFICANT-BYTE-FIRST 31 Contained_PDU_2 4 LAST-IS-BEST 16 ALWAYS SignalPduMapping_1200e85081511526 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 SignalPduMapping_e57cf88d34bc3cec /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/Contained_PDU_2_NewSignal_1 MOST-SIGNIFICANT-BYTE-FIRST 23 Container 16 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_3abaa70732f5cbe4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_f2dab933de20f6a8 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_f4a99caecaba894a 0 DEFAULT-TRIGGER SHORT-HEADER ACCEPT-CONFIGURED 0 PDU 2 SignalPduMapping_d92d80e42844d706 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal MOST-SIGNIFICANT-BYTE-LAST 0 SignalPduMapping_99b57847caf951e6 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU_NewSignal_1 MOST-SIGNIFICANT-BYTE-LAST 8 SmallSignalsPDU 6 5 ALWAYS SignalPduMapping_b15f236d6144cf6a /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/1bit MOST-SIGNIFICANT-BYTE-FIRST 0 SignalPduMapping_5da951091ba27343 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits MOST-SIGNIFICANT-BYTE-FIRST 2 SignalPduMapping_ec931bcac1e60bf9 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/3bits MOST-SIGNIFICANT-BYTE-FIRST 5 SignalPduMapping_db356a17ac0d0409 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/2bits2 MOST-SIGNIFICANT-BYTE-FIRST 7 SmallSignalsContainer 15 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_514c9b5e125373e1 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_a7a2097b9c192eb4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_b23e0a4157bbef45 0 DEFAULT-TRIGGER SHORT-HEADER ACCEPT-CONFIGURED 8 SmallSignalsPDUIntel 1 6 NEVER SignalPduMapping_0cb5c71ff3dde2e1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal1 MOST-SIGNIFICANT-BYTE-LAST 0 SignalPduMapping_f9d554e021efc20f /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2 MOST-SIGNIFICANT-BYTE-LAST 1 SignalPduMapping_97841779d3b3479c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal3 MOST-SIGNIFICANT-BYTE-LAST 3 SignalPduMapping_c4befd31b22f649e /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2 MOST-SIGNIFICANT-BYTE-LAST 6 PDU3 1 LAST-IS-BEST 17 ALWAYS SignalPduMapping_cf67a462a521103e /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU3_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 PDU1 1 LAST-IS-BEST 10 ALWAYS SignalPduMapping_4e75c8c3326679a6 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU1_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 PDU2 2 LAST-IS-BEST 11 ALWAYS SignalPduMapping_4efe69f9e66e9e71 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 SignalPduMapping_df53a603b7f3959d /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU2_NewSignal_1 MOST-SIGNIFICANT-BYTE-FIRST 15 PDU_3 1 LAST-IS-BEST 12 NEVER SignalPduMapping_3c1ae8f71a7ab0c7 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PD_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 PDU4 1 LAST-IS-BEST 20 ALWAYS SignalPduMapping_2bc6c45daf1cff81 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU4_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 PDUCont 30 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_a2ecb69513c338ba /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_0c851bec2e8a62d7 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_301feee6efa3b0a4 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_6681ec041c9ee394 0 DEFAULT-TRIGGER SHORT-HEADER ACCEPT-CONFIGURED 0 PDU5 1 LAST-IS-BEST 50 NEVER SignalPduMapping_b1bfa3015911e920 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU5_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 PDU6 1 LAST-IS-BEST 60 ALWAYS SignalPduMapping_436476762c80d9f2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/PDU6_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 7 Cont2PDUs 30 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_794da5837c30c057 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_e9b41d43efa157b3 1 DEFAULT-TRIGGER SHORT-HEADER ACCEPT-CONFIGURED 0 SmallSignalsContainer_NewPDU 1 SignalPduMapping_3b3d8f80b807631c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal MOST-SIGNIFICANT-BYTE-LAST 0 I_SIGNALS PDU_Contained_1_Signal1 OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU_Contained_1_Signal1_905db81da40081cb PDU_Contained_1_Signal2 OVERRIDE 16 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU_Contained_1_Signal2_560dca45b917ac81 PDU_Contained_1_Signal3 OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU_Contained_1_Signal3_c2518f7b986c2257 Contained_PDU_2_NewSignal OVERRIDE 16 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/Contained_PDU_2_NewSignal_4521aa60e6ed341c Contained_PDU_2_NewSignal_1 OVERRIDE 16 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/Contained_PDU_2_NewSignal_1_7013bc93a91870d1 PDU_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU_NewSignal_adf0210fbe6c5cec PDU_NewSignal_1 OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU_NewSignal_1_a340d33220b108d5 1bit OVERRIDE 1 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/1bit_6e81c7874a94126b 2bits OVERRIDE 2 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/2bits_648803615523b604 3bits OVERRIDE 3 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/3bits_9c83fdb894ed05bf 2bits2 OVERRIDE 2 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/2bits2_0ed8412ba478bbdc SmallSignalsPDUIntel_NewSignal1 OVERRIDE 1 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/SmallSignalsPDUIntel_NewSignal1_7ca0913a74a189fa SmallSignalsPDUIntel_NewSignal2 OVERRIDE 2 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/SmallSignalsPDUIntel_NewSignal2_efd2350a025ed292 SmallSignalsPDUIntel_NewSignal3 OVERRIDE 3 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/SmallSignalsPDUIntel_NewSignal3_3864388f1c22f038 SmallSignalsPDUIntel_NewSignal2_2 OVERRIDE 2 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/SmallSignalsPDUIntel_NewSignal2_2_7976cc7aa716cfde PDU3_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU3_NewSignal_663edd1f1125ded2 PDU1_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU1_NewSignal_a4ef752e6cbdffff PDU2_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU2_NewSignal_b45992d48685ea1e PDU2_NewSignal_1 OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU2_NewSignal_1_da3a4ef278f76687 PD_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PD_NewSignal_925527ee06ca0d25 PDU4_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU4_NewSignal_74daf6dbae331632 PDU5_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU5_NewSignal_6a23afcdd65a64d4 PDU6_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/PDU6_NewSignal_525b3b193f364475 SmallSignalsContainer_NewPDU_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/SmallSignalsContainer_NewPDU_NewSignal_3f03f2fd574a4fce BASE_TYPES New_BaseType 16 NONE SYSTEM_SIGNALS PDU_Contained_1_Signal1_5fac22b55f933050 PDU_Contained_1_Signal2_e0a31c3b54fa942e PDU_Contained_1_Signal3_b9ac4fd0a37af254 Contained_PDU_2_NewSignal_d502d9e45ab03d3c Contained_PDU_2_NewSignal_1_609fae7d6d082c3a PDU_Contained_1_Signal1_e793d75f4a99a0d0 PDU_Contained_1_Signal2_8ffde51bd5846f35 PDU_Contained_1_Signal3_a7b88fe76dcaa2bd Contained_PDU_2_NewSignal_8f42ebb60baa0c24 Contained_PDU_2_NewSignal_1_04bec30ade99575b PDU_NewSignal_cceb166f2cdcd51c PDU_NewSignal_1_f077d111aa10e478 PDU_Contained_1_Signal1_b82e9320f64b1cd8 PDU_Contained_1_Signal2_8a8692bea6469b12 PDU_Contained_1_Signal3_7c962ba1a08e13b8 Contained_PDU_2_NewSignal_803085c02e4d4195 Contained_PDU_2_NewSignal_1_d35e066ab94c2e32 PDU_NewSignal_25e287d5acfbbf69 PDU_NewSignal_1_26029de203282f02 PDU_Contained_1_Signal1_7f3f90db1e4a6057 PDU_Contained_1_Signal2_082a52ca47ad89dc PDU_Contained_1_Signal3_a0ffab2a85af6f16 Contained_PDU_2_NewSignal_ae40496482a9ae63 Contained_PDU_2_NewSignal_1_7e2258055ea71795 PDU_NewSignal_974208459a6c7ad4 PDU_NewSignal_1_4038e30a2c567593 PDU_Contained_1_Signal1_0240ea8da7d7ad2c PDU_Contained_1_Signal2_65acb4934b18e0f1 PDU_Contained_1_Signal3_17652a7d4afca5c5 Contained_PDU_2_NewSignal_fd6b0a5495d68286 Contained_PDU_2_NewSignal_1_a976a209f233ad9e PDU_NewSignal_5327a153e22983a6 PDU_NewSignal_1_027c3a3514d8c91c PDU_Contained_1_Signal1_8cfa3ec27646be70 PDU_Contained_1_Signal2_45ad7c4c0e7c6408 PDU_Contained_1_Signal3_5fe16039c330879d Contained_PDU_2_NewSignal_0319faf2f5e1f93b Contained_PDU_2_NewSignal_1_ce6c1f8d704558ac PDU_NewSignal_13d7898a3886a1f8 PDU_NewSignal_1_1f93761cb75c7a8a PDU_Contained_1_Signal1_df420c54ead9c557 PDU_Contained_1_Signal2_1ebd6b6d2b1b9c25 PDU_Contained_1_Signal3_d7b07758fb333db0 Contained_PDU_2_NewSignal_a577267b152f7f39 Contained_PDU_2_NewSignal_1_2ecc0429a1292f1d PDU_NewSignal_b08f7bb9b215fcf6 PDU_NewSignal_1_3d3a1c094c3fdb75 PDU_Contained_1_Signal1_55691232985dd0f2 PDU_Contained_1_Signal2_fc9f804129e7ebd8 PDU_Contained_1_Signal3_3ac57f1899f3dda8 Contained_PDU_2_NewSignal_0a120875eb300060 Contained_PDU_2_NewSignal_1_c9b3fe0589b7ae74 PDU_NewSignal_13c4bbd81e5b9b9c PDU_NewSignal_1_dd60503916857e6e PDU_Contained_1_Signal1_930d6c482bf3cbc3 PDU_Contained_1_Signal2_448f0fcbec59cff5 PDU_Contained_1_Signal3_79738849b74700ca Contained_PDU_2_NewSignal_5ea48d9d87b1c2a3 Contained_PDU_2_NewSignal_1_b73e430dfcac916a PDU_NewSignal_b139fbccd90e94d7 PDU_NewSignal_1_b6ba96adfd0373c6 PDU_Contained_1_Signal1_b78e2d86262fe947 PDU_Contained_1_Signal2_c753277f79eb089e PDU_Contained_1_Signal3_767b683a9354bb22 Contained_PDU_2_NewSignal_0b6ccc7387d708dc Contained_PDU_2_NewSignal_1_29c208d6dd68face PDU_NewSignal_f8dcec4ea4517688 PDU_NewSignal_1_b4bca9ba646fdad7 PDU_Contained_1_Signal1_46aedd73582912ee PDU_Contained_1_Signal2_4f81802b9258d9cc PDU_Contained_1_Signal3_f4aa41a9f70682e7 Contained_PDU_2_NewSignal_cc16deee7b08a32f Contained_PDU_2_NewSignal_1_9878d8b5849685c7 PDU_NewSignal_54136ad84f3fdfd4 PDU_NewSignal_1_f75f36f86ee2e368 PDU_Contained_1_Signal1_e5c11e7ad3de7c98 PDU_Contained_1_Signal2_104677f7de427d3e PDU_Contained_1_Signal3_3e653b13f5775d03 Contained_PDU_2_NewSignal_dc77e2fb8f14805a Contained_PDU_2_NewSignal_1_3a67cc69c2695c4b PDU_NewSignal_2c71a5dadfd014bb PDU_NewSignal_1_fea157dabd0c09d1 PDU_Contained_1_Signal1_4642ac7b49c3446d PDU_Contained_1_Signal2_10d7d7b26380d01c PDU_Contained_1_Signal3_ff203327425f8cba Contained_PDU_2_NewSignal_be3e1a39c1558f82 Contained_PDU_2_NewSignal_1_f88f3bb0be3a0f09 PDU_NewSignal_ff17f39fc63086f6 PDU_NewSignal_1_88abfc2398333889 PDU_Contained_1_Signal1_7cbdf1905d547055 PDU_Contained_1_Signal2_6211644bd28f5f34 PDU_Contained_1_Signal3_826308a69c46bc6e Contained_PDU_2_NewSignal_1978ac02026045ed Contained_PDU_2_NewSignal_1_0e2671fd6b9411df PDU_NewSignal_f194969d2fdb4aa9 PDU_NewSignal_1_df9e71a20c87b07f PDU_Contained_1_Signal1_424f75be607a6318 PDU_Contained_1_Signal2_8459c0bbfed8ada1 PDU_Contained_1_Signal3_4ce8591537a4d7a6 Contained_PDU_2_NewSignal_2469a8e9fd881f4f Contained_PDU_2_NewSignal_1_268bc63d2eefb0a6 PDU_NewSignal_8cb3463e5f24207a PDU_NewSignal_1_88c8eea292315bc4 PDU_Contained_1_Signal1_37d7890cccd99dff PDU_Contained_1_Signal2_952bc11e55ca8711 PDU_Contained_1_Signal3_7b3a4c03d67b2dc6 Contained_PDU_2_NewSignal_88736ff23d386c67 Contained_PDU_2_NewSignal_1_391f3b31f24b030b PDU_NewSignal_3397bf9faee6940b PDU_NewSignal_1_fb0972fa0f5921fc PDU_Contained_1_Signal1_50dcada09cfe4d9a PDU_Contained_1_Signal2_04a8f78d8194a85c PDU_Contained_1_Signal3_c832c450a2e18cbb Contained_PDU_2_NewSignal_6513002602a88943 Contained_PDU_2_NewSignal_1_05d2c5d5a7ee68ab PDU_NewSignal_b9d6f3b745848516 PDU_NewSignal_1_52d3ce53428f269f 1bit_a0f62f347a006507 2bits_2a8e028cdcd6f832 3bits_5470f50a881cf53b 2bits2_1a5b394698196c0b PDU_Contained_1_Signal1_a2dc5de94ff08933 PDU_Contained_1_Signal2_9ccb951ec75b1da4 PDU_Contained_1_Signal3_9be6d4f4511bfce1 Contained_PDU_2_NewSignal_f1a9a6705f184eed Contained_PDU_2_NewSignal_1_a92ad7b8abfd5516 PDU_NewSignal_594e81282a39e528 PDU_NewSignal_1_1312f940225a4bd4 1bit_32506f4721d6181f 2bits_19a84c869112982e 3bits_ee6a91e7fdd7d251 2bits2_4e9b3adc133731c7 PDU_Contained_1_Signal1_a0c05528d62e556a PDU_Contained_1_Signal2_93437f2b1c979b1b PDU_Contained_1_Signal3_075c5743bd832b45 Contained_PDU_2_NewSignal_b62427bf9b338111 Contained_PDU_2_NewSignal_1_4dc2d435f1b2c2cd PDU_NewSignal_9475b63576ece39e PDU_NewSignal_1_47ea336dbd1904f7 1bit_c40f1b9776d381f9 2bits_2610640b3a2b4b99 3bits_4c52b54f5b671100 2bits2_cc7b04e2d1693fba PDU_Contained_1_Signal1_71823c9fee504208 PDU_Contained_1_Signal2_7d0a8a56a8a5b8df PDU_Contained_1_Signal3_257c06635a10d72b Contained_PDU_2_NewSignal_0e453f84d89976e0 Contained_PDU_2_NewSignal_1_cfe45b602d49c99a PDU_NewSignal_aaf8ff07ec53d024 PDU_NewSignal_1_e72f6f445e3d8dae 1bit_a82e632fd5eb0ff0 2bits_77b02a50366a93c6 3bits_cff7f4b8594d57db 2bits2_d9ae63251b95573d SmallSignalsPDUIntel_NewSignal1_1e1b46d1c8327c51 SmallSignalsPDUIntel_NewSignal2_84d88acf459319b0 SmallSignalsPDUIntel_NewSignal3_9b458b360d82d872 SmallSignalsPDUIntel_NewSignal2_2_9e8a7a2c394322e5 PDU_Contained_1_Signal1_7799f4d7b040febd PDU_Contained_1_Signal2_ac4ac2034e142b95 PDU_Contained_1_Signal3_7d374272fe849234 Contained_PDU_2_NewSignal_9409ea28cb80feb8 Contained_PDU_2_NewSignal_1_c568fb215261e244 PDU_NewSignal_03028c33b5260487 PDU_NewSignal_1_5da6b305f5c0af0e 1bit_67fa9035dcff80a3 2bits_cd9aacd75b90a277 3bits_b17e778e5d5e0289 2bits2_fddce4de75a33c4a SmallSignalsPDUIntel_NewSignal1_6bf3b5a1f3b63e73 SmallSignalsPDUIntel_NewSignal2_52113ed3b95b6bf4 SmallSignalsPDUIntel_NewSignal3_a29c6b111d1f9e12 SmallSignalsPDUIntel_NewSignal2_2_41e613b6235be70d PDU_Contained_1_Signal1_f2b384fd3538d78f PDU_Contained_1_Signal2_5b7890fce07aea78 PDU_Contained_1_Signal3_5db53b4a7a8b67ec Contained_PDU_2_NewSignal_62a6255bd598e927 Contained_PDU_2_NewSignal_1_170c44817b165f8b PDU_NewSignal_ed1ebd9f3346854e PDU_NewSignal_1_6fcd1940aaee91f0 1bit_72300cdda3d5cad9 2bits_383569d0f4831c30 3bits_f46542e47c078b73 2bits2_d0eee79a7048ae5e SmallSignalsPDUIntel_NewSignal1_a3c11c5b8ec2a8a8 SmallSignalsPDUIntel_NewSignal2_79cb2d4cc541d6f2 SmallSignalsPDUIntel_NewSignal3_599c21a6da9a9747 SmallSignalsPDUIntel_NewSignal2_2_5c198aa3430690b6 PDU_Contained_1_Signal1_5c741a871cc5ef9d PDU_Contained_1_Signal2_08abfe1fccc2ec2e PDU_Contained_1_Signal3_bad659d726987987 Contained_PDU_2_NewSignal_02e7e27c1f74d655 Contained_PDU_2_NewSignal_1_d99d8e033e77fa86 PDU_NewSignal_c95f1bc7b8a03325 PDU_NewSignal_1_f97519753d8c1fca 1bit_8a2b84b9ac86f392 2bits_30b2d5b10a67b7cc 3bits_fdf201dbcc6b2f2b 2bits2_616f5f3c753769f8 SmallSignalsPDUIntel_NewSignal1_952772804f203f78 SmallSignalsPDUIntel_NewSignal2_05ee8d1ca382ae86 SmallSignalsPDUIntel_NewSignal3_33bd6ebf0a5a5008 SmallSignalsPDUIntel_NewSignal2_2_d1655d6000ddb905 PDU_Contained_1_Signal1_27a64c9abaa0af2f PDU_Contained_1_Signal2_9023ff6298704b14 PDU_Contained_1_Signal3_f5ff8d6c6abcd74a Contained_PDU_2_NewSignal_dc21cda9d6c6001a Contained_PDU_2_NewSignal_1_fd8fbb94e170502d PDU_NewSignal_960608e42ecd8cba PDU_NewSignal_1_ff0814ae5a1dd4a2 1bit_b0a7e93ca5c3fc17 2bits_6f3a627ec06f33f7 3bits_ace73c0cf6f45dff 2bits2_f087901faedaed33 SmallSignalsPDUIntel_NewSignal1_a2b08f00801adba7 SmallSignalsPDUIntel_NewSignal2_12571d564ea7dce2 SmallSignalsPDUIntel_NewSignal3_5104aad74ca1a6fa SmallSignalsPDUIntel_NewSignal2_2_cf80a218b574ea67 PDU_Contained_1_Signal1_8f7d79aa143c819d PDU_Contained_1_Signal2_f3fc49849c0f0f92 PDU_Contained_1_Signal3_141ef8f7f291224e Contained_PDU_2_NewSignal_6abc3feb9df80b40 Contained_PDU_2_NewSignal_1_04f57e5a40fc9ca3 PDU_NewSignal_73131d42c96acdef PDU_NewSignal_1_dd2e9568e3e7a2fd 1bit_f52677243ac9bb0e 2bits_5c380f0ab683e179 3bits_24b37b8a1bb7a848 2bits2_510b6ee5129caa98 SmallSignalsPDUIntel_NewSignal1_cacec3a6a2223d59 SmallSignalsPDUIntel_NewSignal2_0dd0855370f38eb7 SmallSignalsPDUIntel_NewSignal3_5ef905ca2178334a SmallSignalsPDUIntel_NewSignal2_2_e48e2298f6e456eb PDU_Contained_1_Signal1_080a7eec8d2acfac PDU_Contained_1_Signal2_d62a9d17d31142d1 PDU_Contained_1_Signal3_ff93e682c201a5c0 Contained_PDU_2_NewSignal_2a5f1810c3d8d3c8 Contained_PDU_2_NewSignal_1_64482afb03f806cc PDU_NewSignal_a9f85b983f039412 PDU_NewSignal_1_006617c820014b01 1bit_8fa3a5afde9fc61e 2bits_aae627657f199ff4 3bits_71ef3a7a0f87b674 2bits2_82940b693ca341c3 SmallSignalsPDUIntel_NewSignal1_28704dfe61a2e491 SmallSignalsPDUIntel_NewSignal2_af331c6d98897387 SmallSignalsPDUIntel_NewSignal3_7fd62ee30cfd63f0 SmallSignalsPDUIntel_NewSignal2_2_a611ad6e09dbfa36 PDU_Contained_1_Signal1_b128449853bc5968 PDU_Contained_1_Signal2_295f5b61e813e2e8 PDU_Contained_1_Signal3_0a035f3432153795 Contained_PDU_2_NewSignal_310c5f21aa4158ec Contained_PDU_2_NewSignal_1_11e113d2c00ffa7e PDU_NewSignal_48b5f52112feab63 PDU_NewSignal_1_62b1651f0d70be05 1bit_3a0203c9e0f6dcc2 2bits_b534ed6814184469 3bits_8351e5e7c226c027 2bits2_954d20e908dc4e9d SmallSignalsPDUIntel_NewSignal1_8a72ebdeefad71b5 SmallSignalsPDUIntel_NewSignal2_87cb0d568b2e3806 SmallSignalsPDUIntel_NewSignal3_fa4df69fc0fdd7bb SmallSignalsPDUIntel_NewSignal2_2_07a490a419db772a PDU_Contained_1_Signal1_e52ee22fc23773dd PDU_Contained_1_Signal2_855e95915b04e168 PDU_Contained_1_Signal3_db4d5c5d20f64e52 Contained_PDU_2_NewSignal_c7d9b9b2a1ff24b7 Contained_PDU_2_NewSignal_1_6999022358fa9513 PDU_NewSignal_d8f951e9fc287a62 PDU_NewSignal_1_5bc0d73909bcdc4a 1bit_6e47982a379b2c05 2bits_f4694dccefa8c19a 3bits_a0f4bd77fddf0678 2bits2_ffe1bc817a5df73a SmallSignalsPDUIntel_NewSignal1_b0bcc1cc6dd3d789 SmallSignalsPDUIntel_NewSignal2_90b09a96f62b1887 SmallSignalsPDUIntel_NewSignal3_91179c85123bc2b1 SmallSignalsPDUIntel_NewSignal2_2_c45962d6331848dd PDU_Contained_1_Signal1_279d72383a36c528 PDU_Contained_1_Signal2_9a2a14c2064b727c PDU_Contained_1_Signal3_85963823669a0e11 Contained_PDU_2_NewSignal_7ea1342af5bf50c1 Contained_PDU_2_NewSignal_1_b3f22020380daf74 PDU_NewSignal_d73ac03113b04d70 PDU_NewSignal_1_0b9410821a58d015 1bit_5305f20c2f9f150d 2bits_74d46dd43458f606 3bits_4acf224dd78bc95a 2bits2_586697c78757ce8a SmallSignalsPDUIntel_NewSignal1_70479147715192ee SmallSignalsPDUIntel_NewSignal2_91756d69fcafac0e SmallSignalsPDUIntel_NewSignal3_f9b31537167a5d32 SmallSignalsPDUIntel_NewSignal2_2_4652d05db5d0ff56 PDU_Contained_1_Signal1_b300f2b6ffaab14c PDU_Contained_1_Signal2_edcc03a60bdce425 PDU_Contained_1_Signal3_4c2f8ba410eff68d Contained_PDU_2_NewSignal_8da48459b85cf385 Contained_PDU_2_NewSignal_1_7522216184fe770f PDU_NewSignal_884dfe667c9fbfc5 PDU_NewSignal_1_196e077044502cef 1bit_61117d4ba6e794c0 2bits_456581e9c746d4a4 3bits_181e8842b61781a7 2bits2_87e7c73226afa8bb SmallSignalsPDUIntel_NewSignal1_b07c10ed7b287a7d SmallSignalsPDUIntel_NewSignal2_9b35a8e2afc14fcf SmallSignalsPDUIntel_NewSignal3_584b8b073aae606b SmallSignalsPDUIntel_NewSignal2_2_83d09e2697e21d0c PDU_Contained_1_Signal1_1df733db592438c9 PDU_Contained_1_Signal2_aa15f3c70844da19 PDU_Contained_1_Signal3_c1b10f9107cd3fe5 Contained_PDU_2_NewSignal_5d1ebcfb944f4817 Contained_PDU_2_NewSignal_1_0be80e80eeae19e5 PDU_NewSignal_f08e8405bf8bef12 PDU_NewSignal_1_f13f45d183fe0e7e 1bit_947107da56c63201 2bits_8e723eb38a6d1d28 3bits_3b2f964cda5601bc 2bits2_336486a96679f8f8 SmallSignalsPDUIntel_NewSignal1_6be6ded62823bc7f SmallSignalsPDUIntel_NewSignal2_07950e5745b2fe62 SmallSignalsPDUIntel_NewSignal3_63d51d3ce4d8ae64 SmallSignalsPDUIntel_NewSignal2_2_69f426ac7765a74c PDU_Contained_1_Signal1_a1a59dd914ca8868 PDU_Contained_1_Signal2_715267f876c696b1 PDU_Contained_1_Signal3_83b88fc03ad3cfd3 Contained_PDU_2_NewSignal_b8a2d98ee4441e16 Contained_PDU_2_NewSignal_1_45cab4d24c79e2eb PDU_NewSignal_fc771fe2fcb4d98c PDU_NewSignal_1_8e99186d86263a8b 1bit_3bb2d9bb1b3332b2 2bits_259e767de4b88fa1 3bits_cce541012a5441e0 2bits2_5cfb916eac663f60 SmallSignalsPDUIntel_NewSignal1_7f858036a1b81353 SmallSignalsPDUIntel_NewSignal2_25edfb46f6873950 SmallSignalsPDUIntel_NewSignal3_9c7dab3e6a302c75 SmallSignalsPDUIntel_NewSignal2_2_e47e582cff8955a7 PDU_Contained_1_Signal1_2f2e6c1e5b4413cb PDU_Contained_1_Signal2_a027ae3d4ef00344 PDU_Contained_1_Signal3_9ea1c5d1834c25cf Contained_PDU_2_NewSignal_132f7d69a6aa4423 Contained_PDU_2_NewSignal_1_c0fd5fc8e4871d63 PDU_NewSignal_d6d28096c909eabc PDU_NewSignal_1_27d0549c1d107c91 1bit_49a9c1c5a218b009 2bits_fe14c50419b4416d 3bits_99f388b90f413a7c 2bits2_99e27f56b8d7ba93 SmallSignalsPDUIntel_NewSignal1_84a25458f0983169 SmallSignalsPDUIntel_NewSignal2_2883fa9e5d15af27 SmallSignalsPDUIntel_NewSignal3_82453cee1b3a5041 SmallSignalsPDUIntel_NewSignal2_2_2c3ad9b2bdcb0fd8 PDU_Contained_1_Signal1_ef8d682a6c0f3fc1 PDU_Contained_1_Signal2_1e1c721a1d550bf9 PDU_Contained_1_Signal3_3424c229e3f5e31a Contained_PDU_2_NewSignal_1bd0ead9147e97b7 Contained_PDU_2_NewSignal_1_3ba38a31d5081d7e PDU_NewSignal_9ea89d1a87c622bd PDU_NewSignal_1_4b83b4cd35d2a052 1bit_8c4b2f1dbf332ffe 2bits_f35794b313f476fc 3bits_2971152e5297d7a6 2bits2_d886c2fe08980429 SmallSignalsPDUIntel_NewSignal1_07ebb88f7abade83 SmallSignalsPDUIntel_NewSignal2_359fc7c27f07f48c SmallSignalsPDUIntel_NewSignal3_b2a03e0f36f5c351 SmallSignalsPDUIntel_NewSignal2_2_3547c57e3f576ef7 PDU_Contained_1_Signal1_b2cc349df8755d33 PDU_Contained_1_Signal2_1c6d880ab53f85fa PDU_Contained_1_Signal3_06848a7b45c14632 Contained_PDU_2_NewSignal_b77692eb43196e2b Contained_PDU_2_NewSignal_1_5025804bf4d122a4 PDU_NewSignal_d18aaf5f17549fa2 PDU_NewSignal_1_e94d29878d81b199 1bit_1c7f3bba45c2bb0f 2bits_670b34cad40c7add 3bits_09fed70235b1cb73 2bits2_71c496a8a2123aa0 SmallSignalsPDUIntel_NewSignal1_1d14254af88e02af SmallSignalsPDUIntel_NewSignal2_768da3e758c335ee SmallSignalsPDUIntel_NewSignal3_4c261ae8224464c3 SmallSignalsPDUIntel_NewSignal2_2_ea3a82c0e5212288 PDU_Contained_1_Signal1_56e694090f46295a PDU_Contained_1_Signal2_d5076ab34f1636c7 PDU_Contained_1_Signal3_e0f5f418cee3e200 Contained_PDU_2_NewSignal_fe8e54964d00d509 Contained_PDU_2_NewSignal_1_c6f384f8f66c474b PDU_NewSignal_d691d4c4e410622c PDU_NewSignal_1_d2b76d65f17cdb5c 1bit_aa132fe5a6a6516b 2bits_bcd531cbf0c0ff97 3bits_daf7c20faca121ac 2bits2_77bb11dd5421f4a4 SmallSignalsPDUIntel_NewSignal1_533e5de6d1aefe7a SmallSignalsPDUIntel_NewSignal2_8a84e32fea2cac22 SmallSignalsPDUIntel_NewSignal3_7079a4bbb624592f SmallSignalsPDUIntel_NewSignal2_2_d7c07e4b6bf7f51b PDU_Contained_1_Signal1_4f81dee44c576d79 PDU_Contained_1_Signal2_8aab1722c5db7f26 PDU_Contained_1_Signal3_8cfd4c704217af4b Contained_PDU_2_NewSignal_037050b9b4f433f9 Contained_PDU_2_NewSignal_1_a58218589cfc7b06 PDU_NewSignal_af670991872d31db PDU_NewSignal_1_5fc73eca7843f2d3 1bit_efcb7b9017e0c2fc 2bits_6e6de38b392506b2 3bits_a268a161213be915 2bits2_e60e25d82045629e SmallSignalsPDUIntel_NewSignal1_736d63f279b70567 SmallSignalsPDUIntel_NewSignal2_1c6183f8af8149f2 SmallSignalsPDUIntel_NewSignal3_4f17cd4fb42ba05a SmallSignalsPDUIntel_NewSignal2_2_b277acdeda58540d PDU3_NewSignal_bff3fde4abf05e51 PDU_Contained_1_Signal1_34fb2ba2b5c9418d PDU_Contained_1_Signal2_a1de2d7c381351ab PDU_Contained_1_Signal3_ece7ac8be81cdb96 Contained_PDU_2_NewSignal_092b3431eab50801 Contained_PDU_2_NewSignal_1_e99098f0f4fe89ae PDU_NewSignal_6f6dece212cb1071 PDU_NewSignal_1_ef60d37f71c7afbf 1bit_759ed4d0235d68fc 2bits_96a796547caea51b 3bits_d4c868077dd79296 2bits2_99bbb7b2b55b5948 SmallSignalsPDUIntel_NewSignal1_977a8b30938a2895 SmallSignalsPDUIntel_NewSignal2_44ec46fceb3a6102 SmallSignalsPDUIntel_NewSignal3_925dd422c69730f9 SmallSignalsPDUIntel_NewSignal2_2_6300be962cf75aeb PDU3_NewSignal_ea81a0cee7bc2e33 PDU1_NewSignal_fd934d0328605c0b PDU2_NewSignal_f0d0ccdb0e99ebed PDU2_NewSignal_1_f41b717a3fc5d1f6 PD_NewSignal_1d009f4280261d67 PDU4_NewSignal_05d8f2ce8ac85429 PDU_Contained_1_Signal1_e0eded11e16e95c1 PDU_Contained_1_Signal2_1dac80ad80cbd2ce PDU_Contained_1_Signal3_4b67e9c20c29ed4e Contained_PDU_2_NewSignal_a94ee55b1e4630c5 Contained_PDU_2_NewSignal_1_15c88c678c166a75 PDU_NewSignal_939a84ccbd92e94f PDU_NewSignal_1_41b4dd2eeac4ebc4 1bit_dc0d967e8f127436 2bits_48e0880919b227c9 3bits_4c034d1c3c25b872 2bits2_a595880636bd55cc SmallSignalsPDUIntel_NewSignal1_97e2675421e428d9 SmallSignalsPDUIntel_NewSignal2_20afb7a59fef7930 SmallSignalsPDUIntel_NewSignal3_6fa43c685bf22edb SmallSignalsPDUIntel_NewSignal2_2_277e892943e1229e PDU3_NewSignal_832d7a0386e87d1b PDU1_NewSignal_93484ee42325e5d1 PDU2_NewSignal_00b5530a53bbb64d PDU2_NewSignal_1_9358cd31259908df PD_NewSignal_e1021a46509382e8 PDU4_NewSignal_2f636caa6e2cc651 PDU5_NewSignal_718129d9e80dafd3 PDU6_NewSignal_900b4ca490f5be9e PDU_Contained_1_Signal1_0436b939ba92b9e9 PDU_Contained_1_Signal2_cf6ab6821a2292f2 PDU_Contained_1_Signal3_536ff5696db2e052 Contained_PDU_2_NewSignal_9ca62b461303e38f Contained_PDU_2_NewSignal_1_046a259d0f1f4d9a PDU_NewSignal_cd852579f75c1063 PDU_NewSignal_1_72ca447d0aecb4f5 1bit_1e1b4f826a7c47fb 2bits_185acfe53f42a840 3bits_ce5dd47cf5b560e0 2bits2_d85407a26596a9e1 SmallSignalsPDUIntel_NewSignal1_f80de3af13f82f88 SmallSignalsPDUIntel_NewSignal2_3c1b6f0222f0cd37 SmallSignalsPDUIntel_NewSignal3_d4e3c504e39a23e7 SmallSignalsPDUIntel_NewSignal2_2_db8af0f1817ce885 PDU3_NewSignal_c9e369e3162c8430 PDU1_NewSignal_2863e740585a98c8 PDU2_NewSignal_fe313a00b6b44759 PDU2_NewSignal_1_ee9f66a7b853a3b8 PD_NewSignal_87e724bdf047d546 PDU4_NewSignal_7ce655e0ba93284f PDU5_NewSignal_9e0b7427397e4337 PDU6_NewSignal_b0015114903e8f06 PDU_Contained_1_Signal1_41a581a3eacf04ca PDU_Contained_1_Signal2_d9bcabe0672d9097 PDU_Contained_1_Signal3_83064d23ae8bc122 Contained_PDU_2_NewSignal_08020420c297ad57 Contained_PDU_2_NewSignal_1_93154d9072c3617d PDU_NewSignal_a00f87c3409e9719 PDU_NewSignal_1_134aa6f3baba9640 1bit_9b02fc79768d621b 2bits_a9dab422b343fc82 3bits_da87219e132ad7eb 2bits2_7e0cb91cea8f9ba4 SmallSignalsPDUIntel_NewSignal1_1f42ac60d6b17db7 SmallSignalsPDUIntel_NewSignal2_075781747eccc8e9 SmallSignalsPDUIntel_NewSignal3_8b8a7e633c2b47c1 SmallSignalsPDUIntel_NewSignal2_2_ece80d3b5ff7d2ab PDU3_NewSignal_e9214647d5be10b9 PDU1_NewSignal_3c0d941fb1c1d44c PDU2_NewSignal_803afce6f943cd7e PDU2_NewSignal_1_d6bd5c77601411ca PD_NewSignal_2ef095599d2f163f PDU4_NewSignal_b95cb5a2622307fb PDU5_NewSignal_555fe7109ba0ceba PDU6_NewSignal_55333fe018d26051 PDU_Contained_1_Signal1_7dcb9904daf0e9ac PDU_Contained_1_Signal2_8ec9352cee5c4e91 PDU_Contained_1_Signal3_5fa210a6b1f5e844 Contained_PDU_2_NewSignal_20697eda339d5172 Contained_PDU_2_NewSignal_1_f01b38609b89bfd1 PDU_NewSignal_919d1d323b8d3e66 PDU_NewSignal_1_e27e9644f6929a94 1bit_8e69838eb790ecba 2bits_53beac7e22c903e9 3bits_7b7de342bb527d28 2bits2_93b0e56696d50c83 SmallSignalsPDUIntel_NewSignal1_ecda364fd486bdae SmallSignalsPDUIntel_NewSignal2_faa10c53b929b2d1 SmallSignalsPDUIntel_NewSignal3_d98e9fa045cc3300 SmallSignalsPDUIntel_NewSignal2_2_6d9ac3fddce3b391 PDU3_NewSignal_67f0539eb88e28e5 PDU1_NewSignal_261116abf27383f7 PDU2_NewSignal_e26377805822df3e PDU2_NewSignal_1_3156a8cc0ee5857c PD_NewSignal_7a59e29cadeb1175 PDU4_NewSignal_06cfcc0f5d232a54 PDU5_NewSignal_b3053ecbdcea867e PDU6_NewSignal_daa668cd41aba9d6 PDU_Contained_1_Signal1_36c7294dd8da991c PDU_Contained_1_Signal2_b29993312dc3cb08 PDU_Contained_1_Signal3_6733a61ae3c203d1 Contained_PDU_2_NewSignal_617a7cf9c112ce2c Contained_PDU_2_NewSignal_1_c56526c20fc2932a PDU_NewSignal_100aa989e29ddab6 PDU_NewSignal_1_979b20c147338f42 1bit_7b2d6e398b026bc3 2bits_e519442d19bbf87f 3bits_00c4bdac38d37447 2bits2_459c17b3544578e5 SmallSignalsPDUIntel_NewSignal1_bd00204e983bd27b SmallSignalsPDUIntel_NewSignal2_a5a31e0e3b9a9889 SmallSignalsPDUIntel_NewSignal3_5c6373fe56ef45e2 SmallSignalsPDUIntel_NewSignal2_2_571b7c42014c4790 PDU3_NewSignal_b568caccf3ffd17f PDU1_NewSignal_ceb3e0afee9f4e5f PDU2_NewSignal_4d18b15595ed520c PDU2_NewSignal_1_ae9cc7d0b556f537 PD_NewSignal_5227334928051798 PDU4_NewSignal_344d6177af4d0d77 PDU5_NewSignal_bc4dca2eaeb60c33 PDU6_NewSignal_8cc8fb270e140443 PDU_Contained_1_Signal1_d2d139f23970fec2 PDU_Contained_1_Signal2_fe3cfd97f14981f0 PDU_Contained_1_Signal3_755633aeb865ca0a Contained_PDU_2_NewSignal_0aa64168266d0aaf Contained_PDU_2_NewSignal_1_b27061ca2845ac46 PDU_NewSignal_e79134b2911b4b6b PDU_NewSignal_1_38b54ed53693055d 1bit_0fbb1041bf223b96 2bits_472562e57ce11788 3bits_9ad2d7c336fa75f7 2bits2_64c2fa37fe492f48 SmallSignalsPDUIntel_NewSignal1_58687282e80f8464 SmallSignalsPDUIntel_NewSignal2_e15eb235fcf126c2 SmallSignalsPDUIntel_NewSignal3_18091a62ccee6205 SmallSignalsPDUIntel_NewSignal2_2_fb92242337aef3fa PDU3_NewSignal_6adc7015248794b2 PDU1_NewSignal_43b4015a69b8db7d PDU2_NewSignal_9c5aa399bd755edc PDU2_NewSignal_1_142dfd20a74ec6a3 PD_NewSignal_b996ad3958a2b665 PDU4_NewSignal_fc317393a3de58e2 PDU5_NewSignal_df143e1d1dc3b50a PDU6_NewSignal_b5802980a41fdc21 PDU_Contained_1_Signal1_c54586349338b4dd PDU_Contained_1_Signal2_9cb2cc925d911422 PDU_Contained_1_Signal3_532acdd78749bf80 Contained_PDU_2_NewSignal_53da7229e95328f4 Contained_PDU_2_NewSignal_1_83fd0bf10e69390f PDU_NewSignal_b4582f32fe77605f PDU_NewSignal_1_5dd076efd82e1668 1bit_49cecb71b09c85b1 2bits_3a9060cf78976128 3bits_bc1d0b655e31ac73 2bits2_04d3ee944c36d813 SmallSignalsPDUIntel_NewSignal1_649295ad9ed51857 SmallSignalsPDUIntel_NewSignal2_454a1eea61128581 SmallSignalsPDUIntel_NewSignal3_65d4a888a6eb763c SmallSignalsPDUIntel_NewSignal2_2_28b09f0713f623da PDU3_NewSignal_6d2f820e9c08a4c7 PDU1_NewSignal_4fc6f0bf16326bad PDU2_NewSignal_a11a63e6fc83e9bd PDU2_NewSignal_1_01235f15e6f60909 PD_NewSignal_91c02aa07f647ead PDU4_NewSignal_2657f29990376a4e PDU5_NewSignal_aff001f80f98c5d8 PDU6_NewSignal_693cc9acda485f44 PDU_Contained_1_Signal1_62e6d1706c34d5f1 PDU_Contained_1_Signal2_49885bf49c43fd8b PDU_Contained_1_Signal3_fa895ca4510ec5a4 Contained_PDU_2_NewSignal_b03e19bf2672f2da Contained_PDU_2_NewSignal_1_a9cd5d44ccda1a14 PDU_NewSignal_2f2de581c02eba91 PDU_NewSignal_1_cd914a9110e5a778 1bit_f441f085750bf263 2bits_858942c7a0dcb349 3bits_ad98cf3022413400 2bits2_5eed5241afec6ff8 SmallSignalsPDUIntel_NewSignal1_a5bd94713d4ac1f1 SmallSignalsPDUIntel_NewSignal2_0815c37c6452f447 SmallSignalsPDUIntel_NewSignal3_c5989dd9642dc74b SmallSignalsPDUIntel_NewSignal2_2_c87383c3a06bdfa5 PDU3_NewSignal_fb28d477ddfecd50 PDU1_NewSignal_ad2ad3d4c5ee7448 PDU2_NewSignal_489f5302ed95e82f PDU2_NewSignal_1_a71d87f35d41e75c PD_NewSignal_abd97840bd41023d PDU4_NewSignal_e024b7cf5e351c4b PDU5_NewSignal_74371d55895093e8 PDU6_NewSignal_84be80bd90a2eea8 PDU_Contained_1_Signal1_a53aede7b63a247e PDU_Contained_1_Signal2_507e5bf80d867eb8 PDU_Contained_1_Signal3_427162af02ccf69a Contained_PDU_2_NewSignal_5bdaeb28c7ec8155 Contained_PDU_2_NewSignal_1_5a898a6f538e6f6b PDU_NewSignal_3d7f2945e6647bc0 PDU_NewSignal_1_6c3a6d1aa4da152b 1bit_fa8112d4f81b8583 2bits_70545ced246f0eb9 3bits_ebb3b913be8f995a 2bits2_4c4983e4eee73e2b SmallSignalsPDUIntel_NewSignal1_ed3bbc8a79488bc8 SmallSignalsPDUIntel_NewSignal2_a02642c58b3a4a77 SmallSignalsPDUIntel_NewSignal3_e2009c5dc769e48d SmallSignalsPDUIntel_NewSignal2_2_276bdb2e8a8c9e2d PDU3_NewSignal_9b22fe4c0c8e31f2 PDU1_NewSignal_80a517b632676f3c PDU2_NewSignal_c010bd0f149ab1a9 PDU2_NewSignal_1_1c9b404fe4c47ca4 PD_NewSignal_86479b408b42ddea PDU4_NewSignal_190d4b2f87d9098f PDU5_NewSignal_1aa738fe77b4ae9d PDU6_NewSignal_f07b068fef21236d PDU_Contained_1_Signal1_70897e6c8653d132 PDU_Contained_1_Signal2_2a496b9d6d8189b5 PDU_Contained_1_Signal3_2183519386270458 Contained_PDU_2_NewSignal_570b6cb1cb4f9d1c Contained_PDU_2_NewSignal_1_8a3d0f5bb8e92133 PDU_NewSignal_ff5df50f86ae3917 PDU_NewSignal_1_014cbe38867906e8 1bit_82ec8ad986f661d5 2bits_3c7bbe0925f3a7ad 3bits_ff14d2cfb3462e12 2bits2_106656ee9b456e29 SmallSignalsPDUIntel_NewSignal1_d8e24fc5cfaa43e9 SmallSignalsPDUIntel_NewSignal2_b6673c7271f3c87e SmallSignalsPDUIntel_NewSignal3_fe7095c789e4fc03 SmallSignalsPDUIntel_NewSignal2_2_0788939294cd1509 PDU3_NewSignal_3e9d793bbe468e9a PDU1_NewSignal_e0064e5d0812d398 PDU2_NewSignal_cf2f65e23ab7a225 PDU2_NewSignal_1_92a233e181645e77 PD_NewSignal_a5ac2fe6fba384b9 PDU4_NewSignal_8c7f5e1d4789b71b PDU5_NewSignal_74bf5b72d740be81 PDU6_NewSignal_799190292c2721c2 PDU_Contained_1_Signal1_e8d55364cb41004a PDU_Contained_1_Signal2_bb34f418b6fe6ee7 PDU_Contained_1_Signal3_63e0f90d8822bad5 Contained_PDU_2_NewSignal_33428b07e6e60471 Contained_PDU_2_NewSignal_1_ead3bdc66177c966 PDU_NewSignal_415ed4cbb0fa8cd4 PDU_NewSignal_1_6e5595d007555be2 1bit_34f50b049ac6b001 2bits_d4af203d29c9a276 3bits_def09d2afdefeecc 2bits2_f4c1e0dc03d6f555 SmallSignalsPDUIntel_NewSignal1_a2698368c06d675e SmallSignalsPDUIntel_NewSignal2_fbb8100e8fd6219b SmallSignalsPDUIntel_NewSignal3_c17fd07602d7ccc2 SmallSignalsPDUIntel_NewSignal2_2_62a4269d1935893d PDU3_NewSignal_89a0db0e73301ee8 PDU1_NewSignal_2282589ced91e84d PDU2_NewSignal_4821e5cb3486d2d7 PDU2_NewSignal_1_2a9bd94fa971ada3 PD_NewSignal_e67f8fd540567844 PDU4_NewSignal_b56416d9ec08bcad PDU5_NewSignal_0d8b834b9f404dc7 PDU6_NewSignal_9304ede4fa1b65f8 PDU_Contained_1_Signal1_fb279558247e5aa7 PDU_Contained_1_Signal2_89d2b07eed0c03aa PDU_Contained_1_Signal3_f5674e7fe32548e2 Contained_PDU_2_NewSignal_b20bf5780b432722 Contained_PDU_2_NewSignal_1_48cc0c78c76e05fa PDU_NewSignal_c26d3d6f8e54b4f6 PDU_NewSignal_1_78f9a2f08bcd246d 1bit_53e2ac1ee5a84ca1 2bits_6499a83b21894f65 3bits_11ca0c1edc4837c3 2bits2_48ea3dcf2cf40d1d SmallSignalsPDUIntel_NewSignal1_596d792dff48d963 SmallSignalsPDUIntel_NewSignal2_61dd673ac90be77b SmallSignalsPDUIntel_NewSignal3_feccb5c332a50360 SmallSignalsPDUIntel_NewSignal2_2_2739d01644171d50 PDU3_NewSignal_5653860c158b6727 PDU1_NewSignal_bacb44ccdc25545b PDU2_NewSignal_8067c71adc3ddd35 PDU2_NewSignal_1_87d1777d1d24fce5 PD_NewSignal_f895a073b891bd12 PDU4_NewSignal_e2e7a9245aabd9e3 PDU5_NewSignal_5be35f83adca3091 PDU6_NewSignal_6e4b3fb7a47b0bd9 PDU_Contained_1_Signal1_75687e40a421e596 PDU_Contained_1_Signal2_6e57cd47a98ec6cc PDU_Contained_1_Signal3_a13cedacf801d6a3 Contained_PDU_2_NewSignal_07db7e101459293d Contained_PDU_2_NewSignal_1_080cb5dc1b8d10ff PDU_NewSignal_0c6c0f2093d3772f PDU_NewSignal_1_a3bf4a527b909df9 1bit_5c6b34bdd5c9c579 2bits_ad181588ff5f922e 3bits_e84dff2149582138 2bits2_c1cf3a50e955e4f5 SmallSignalsPDUIntel_NewSignal1_2497145c67b5a18c SmallSignalsPDUIntel_NewSignal2_aa365662662a869d SmallSignalsPDUIntel_NewSignal3_3735c780fcbebeec SmallSignalsPDUIntel_NewSignal2_2_77c259463fbabe8f PDU3_NewSignal_cf4f70b7be98da42 PDU1_NewSignal_1778f99504b07b08 PDU2_NewSignal_2a47242dcf62871e PDU2_NewSignal_1_b540fb10d06f33af PD_NewSignal_7dca7b1d09d36c12 PDU4_NewSignal_dde6411cb37560ce PDU5_NewSignal_8efed9540d1a8f53 PDU6_NewSignal_c87d891bab3846e0 PDU_Contained_1_Signal1_c8f7ab4fbc810f20 PDU_Contained_1_Signal2_adae3ff0f73aabee PDU_Contained_1_Signal3_6707ebd44bdb36f3 Contained_PDU_2_NewSignal_1ad982a90066015d Contained_PDU_2_NewSignal_1_dd0c6c9368b36a08 PDU_NewSignal_ba851618687eb034 PDU_NewSignal_1_4ffc1af93e2978c1 1bit_e4aa868d84847fed 2bits_0fa8d48ea56bb34b 3bits_d861940fb5ce0228 2bits2_4834279c04dd0386 SmallSignalsPDUIntel_NewSignal1_ef44f311d6b056b8 SmallSignalsPDUIntel_NewSignal2_fc28c5fb98b4e6c9 SmallSignalsPDUIntel_NewSignal3_1110848c4c2046b7 SmallSignalsPDUIntel_NewSignal2_2_7a00b75ed2d0253a PDU3_NewSignal_db8d41b515db0319 PDU1_NewSignal_1acf15763b0bdc41 PDU2_NewSignal_c00840a151476c29 PDU2_NewSignal_1_432e230e92cf55d7 PD_NewSignal_f581cfe0fc4e7114 PDU4_NewSignal_609bdb772ef98557 PDU5_NewSignal_413e7f66864f5a12 PDU6_NewSignal_d1b0a3eb5bc18ea9 PDU_Contained_1_Signal1_6b31dab88911f066 PDU_Contained_1_Signal2_64f60bbd26471e4c PDU_Contained_1_Signal3_ecf41c4aa8c40f95 Contained_PDU_2_NewSignal_772a2ab6ba25499f Contained_PDU_2_NewSignal_1_66eda78c4a168e7b PDU_NewSignal_5d88e757fdfb5efe PDU_NewSignal_1_d80c5b0472ec50c0 1bit_5bce133299515ff0 2bits_28797904b7ee713d 3bits_55329e8485dd45aa 2bits2_8a4f9a207015b04c SmallSignalsPDUIntel_NewSignal1_724411ecac4284f3 SmallSignalsPDUIntel_NewSignal2_eb76548324280ff1 SmallSignalsPDUIntel_NewSignal3_78abff9de5d8bc8f SmallSignalsPDUIntel_NewSignal2_2_c47635f5cac90c30 PDU3_NewSignal_b4b102299289c580 PDU1_NewSignal_cf4af7441177c1a7 PDU2_NewSignal_4a848b4ec7b579cd PDU2_NewSignal_1_4d1bcc0e47a7a196 PD_NewSignal_aafc46a389c02eba PDU4_NewSignal_e073f786c933908f PDU5_NewSignal_cfd7f05e1d2e35eb PDU6_NewSignal_6307da95c10fa418 PDU_Contained_1_Signal1_635304fd2add886b PDU_Contained_1_Signal2_2c81655f9acd2359 PDU_Contained_1_Signal3_606f0946ea9d3bfb Contained_PDU_2_NewSignal_68c391115fbc64fa Contained_PDU_2_NewSignal_1_419dc1dd05f1cd0a PDU_NewSignal_a61016b06945dcb6 PDU_NewSignal_1_b35d706fba58eb6a 1bit_0086075acca97d2c 2bits_e95251e685a89538 3bits_21a93161dd9a2413 2bits2_5be62607e564c035 SmallSignalsPDUIntel_NewSignal1_708ad5aba23ae77d SmallSignalsPDUIntel_NewSignal2_c8b8f5edcaee4852 SmallSignalsPDUIntel_NewSignal3_eb27c2b666a3846f SmallSignalsPDUIntel_NewSignal2_2_60835745e825e13a PDU3_NewSignal_6a6b24f4fbcd4d3b PDU1_NewSignal_57f5675cfba9a6cb PDU2_NewSignal_0e152fcc509e66a7 PDU2_NewSignal_1_9e0a7de8b0861781 PD_NewSignal_03bab04af6cb1696 PDU4_NewSignal_d298107a12a448f0 PDU5_NewSignal_4463f1befba797c6 PDU6_NewSignal_6e882693b4c2cd2c PDU_Contained_1_Signal1_267f74f65d507a36 PDU_Contained_1_Signal2_877906f0949880d5 PDU_Contained_1_Signal3_6b6afd3538716a4b Contained_PDU_2_NewSignal_bba49c8fad8b1938 Contained_PDU_2_NewSignal_1_f068e39b0fa28ce6 PDU_NewSignal_280af7317a081f27 PDU_NewSignal_1_5986d5a411cebac3 1bit_c35f502627df5b27 2bits_33a436ad1798475d 3bits_77fd131f0c4d0954 2bits2_a18f32e3cd5d3ebb SmallSignalsPDUIntel_NewSignal1_79765e786aa1f15b SmallSignalsPDUIntel_NewSignal2_c78d9dc6ca03d224 SmallSignalsPDUIntel_NewSignal3_7390d5252f30ee89 SmallSignalsPDUIntel_NewSignal2_2_0695c678f93c01e0 PDU3_NewSignal_af9d5590f6d31e9b PDU1_NewSignal_91d34272eebc44ed PDU2_NewSignal_0d8092de66f63488 PDU2_NewSignal_1_fced249da38a1faa PD_NewSignal_42a5df88dbce5b4e PDU4_NewSignal_897fccc48e8ed633 PDU5_NewSignal_6e51ac6bb3aa5a37 PDU6_NewSignal_44b5105a8d551903 PDU_Contained_1_Signal1_98a53cf825cce349 PDU_Contained_1_Signal2_aee07074700711f5 PDU_Contained_1_Signal3_2d6d3cbabaa403c2 Contained_PDU_2_NewSignal_103cba3fcd650212 Contained_PDU_2_NewSignal_1_7e16241bc2e82631 PDU_NewSignal_d344308a89c5329c PDU_NewSignal_1_65cd5a43ad3617db 1bit_dc2f234919ebf6ec 2bits_24197f2495610ee1 3bits_8fbf5c3f480423b4 2bits2_f41937a96b261b2b SmallSignalsPDUIntel_NewSignal1_02725c13d80c41e9 SmallSignalsPDUIntel_NewSignal2_206dbb3c0afc3121 SmallSignalsPDUIntel_NewSignal3_392e7dead296b46c SmallSignalsPDUIntel_NewSignal2_2_f3a515c17313b82e PDU3_NewSignal_27166d579b4efcd8 PDU1_NewSignal_6db82d14ea22c3a1 PDU2_NewSignal_8d8cafa86bd68743 PDU2_NewSignal_1_7f38bd21ff9acfb5 PD_NewSignal_c54b4e53016a3f3d PDU4_NewSignal_ca648aaf6e131bad PDU5_NewSignal_2fe06662b3c99bab PDU6_NewSignal_e00fd3b2cf2f8011 SmallSignalsContainer_NewPDU_NewSignal_0952869bdcd9ca37 PDU_Contained_1_Signal1_c1094bb879bec42a PDU_Contained_1_Signal2_896c8fd2aba19adf PDU_Contained_1_Signal3_de3d4c662dfe5cca Contained_PDU_2_NewSignal_0e52529ad15cdb6a Contained_PDU_2_NewSignal_1_edc09960d8aaf6aa PDU_NewSignal_06553781c254a68c PDU_NewSignal_1_c9867ceca7aa8dec 1bit_b41801f011ae3e30 2bits_d46066a828c54a7c 3bits_aa8691c2a1edd3d9 2bits2_e2855bcdfc3c84f4 SmallSignalsPDUIntel_NewSignal1_fd7799f744217db8 SmallSignalsPDUIntel_NewSignal2_00e57b518fc1c4e0 SmallSignalsPDUIntel_NewSignal3_91db882315c31004 SmallSignalsPDUIntel_NewSignal2_2_16aaaa31c5dea9fd PDU3_NewSignal_cce4a88bb19076e7 PDU1_NewSignal_e97ef9348b1001f8 PDU2_NewSignal_9164e005e5ee9ad5 PDU2_NewSignal_1_c1dc6a04dd1d7a8c PD_NewSignal_338f59002ee5cd0f PDU4_NewSignal_9b7e55f6ccfaa7a1 PDU5_NewSignal_a54941ca3491500b PDU6_NewSignal_d4018615272101e0 SmallSignalsContainer_NewPDU_NewSignal_f7517a84f6c511a6 PDU_Contained_1_Signal1_acbff4deae2d01be PDU_Contained_1_Signal2_5b7a322f351c2b1e PDU_Contained_1_Signal3_a77b44dfa2107713 Contained_PDU_2_NewSignal_fb44653a20f554da Contained_PDU_2_NewSignal_1_7c62caa0f35318dc PDU_NewSignal_bfee1abfbd9a6105 PDU_NewSignal_1_73485eec37f5fadc 1bit_51e4e1219eecec42 2bits_c1b3231808df1f41 3bits_8cb84d9e01833f8c 2bits2_534b770d76031728 SmallSignalsPDUIntel_NewSignal1_a544f75e8478b03d SmallSignalsPDUIntel_NewSignal2_ff90314631bf5c56 SmallSignalsPDUIntel_NewSignal3_9be304f732ee4d51 SmallSignalsPDUIntel_NewSignal2_2_2a3dee3ed19b212a PDU3_NewSignal_19222e35c3ab5602 PDU1_NewSignal_7d7efee1597c1c52 PDU2_NewSignal_df41afbebe086dfb PDU2_NewSignal_1_7b17bcc0b28538fc PD_NewSignal_f23209ff228983f0 PDU4_NewSignal_3e17cd5f139ec85c PDU5_NewSignal_b372b99766cc1a56 PDU6_NewSignal_e9ab5c0afd978b19 SmallSignalsContainer_NewPDU_NewSignal_fcd583a758543f70 PDU_Contained_1_Signal1_017471846d38c03a PDU_Contained_1_Signal2_7be6968bbb62c0d4 PDU_Contained_1_Signal3_d7435ad49071c553 Contained_PDU_2_NewSignal_f6084f38c50de47e Contained_PDU_2_NewSignal_1_60b3ff4280b25948 PDU_NewSignal_3b0575e50b89bbfb PDU_NewSignal_1_947aca428cf89b88 1bit_4c67698e66f04545 2bits_7a69d1ad2c03278c 3bits_77b5044612ac22c1 2bits2_bff2ae9cde80d21e SmallSignalsPDUIntel_NewSignal1_b73093ee263fb65a SmallSignalsPDUIntel_NewSignal2_73a78afb5e0ccb36 SmallSignalsPDUIntel_NewSignal3_82f30afad3430f1d SmallSignalsPDUIntel_NewSignal2_2_b0b57d39401ef1a5 PDU3_NewSignal_af2da4b89b4b0921 PDU1_NewSignal_36f9b7b852926f60 PDU2_NewSignal_4a9a5487b53dc5b8 PDU2_NewSignal_1_b99a0cae0270e43e PD_NewSignal_821c9e76483563f0 PDU4_NewSignal_7bc6ce78967a9bfc PDU5_NewSignal_9626a006af67a04b PDU6_NewSignal_0ab4be14b81f4d3b SmallSignalsContainer_NewPDU_NewSignal_4cd061e3413bacae PDU_Contained_1_Signal1_b504a0d188c6606d PDU_Contained_1_Signal2_6352b21e9c8012ff PDU_Contained_1_Signal3_a4fb574b74f62b4f Contained_PDU_2_NewSignal_67df08dd1f2ccff1 Contained_PDU_2_NewSignal_1_00104c9e24385470 PDU_NewSignal_b6f132d06cbd3078 PDU_NewSignal_1_108f589a0b584e73 1bit_48d9cfbb739d5ce9 2bits_77c3e5fbbc8789bb 3bits_6303ba315c4a14f1 2bits2_42cd8ffba3b36153 SmallSignalsPDUIntel_NewSignal1_9d4379d45276fdf4 SmallSignalsPDUIntel_NewSignal2_a3cb4350e1023b9e SmallSignalsPDUIntel_NewSignal3_b5fcf59525494d38 SmallSignalsPDUIntel_NewSignal2_2_0fe6cb8093f5d898 PDU3_NewSignal_f71f7aa93610ff68 PDU1_NewSignal_777fce8bb37d3744 PDU2_NewSignal_cf9c2c86aaf85f26 PDU2_NewSignal_1_0c5d7a02e8922f52 PD_NewSignal_7f30153143e42d87 PDU4_NewSignal_49a3975370611d00 PDU5_NewSignal_9c6361858de9fc6c PDU6_NewSignal_c1d8655d108dd401 SmallSignalsContainer_NewPDU_NewSignal_b305430dac022dec PDU_Contained_1_Signal1_cf5e442c3ee16db7 PDU_Contained_1_Signal2_7bc0b00e9800e0a9 PDU_Contained_1_Signal3_7f691443abf5c1d5 Contained_PDU_2_NewSignal_8479e47f67570808 Contained_PDU_2_NewSignal_1_9171c11def3fdbff PDU_NewSignal_150aac2139034fac PDU_NewSignal_1_df935bda526bf64c 1bit_18e785c94ee1efe3 2bits_3bda9b4e51ace677 3bits_e71eae60d296b539 2bits2_990a02a732e4ed6a SmallSignalsPDUIntel_NewSignal1_6c36db68e0a7f835 SmallSignalsPDUIntel_NewSignal2_223b35d8d47cbb96 SmallSignalsPDUIntel_NewSignal3_cd438ae5aff528a9 SmallSignalsPDUIntel_NewSignal2_2_7112e29d98bf148d PDU3_NewSignal_66c626af0cb4a7f4 PDU1_NewSignal_5a5dba63196c517f PDU2_NewSignal_38be3a2a97ea1159 PDU2_NewSignal_1_912912a25b62a0bf PD_NewSignal_5b000ebfcb222501 PDU4_NewSignal_673a317de6c2f8aa PDU5_NewSignal_55cb0bbf214037b3 PDU6_NewSignal_dd10d0d5b9cf5598 SmallSignalsContainer_NewPDU_NewSignal_896f84cbc066b1e6 PDU_Contained_1_Signal1_f06866add9d0a749 PDU_Contained_1_Signal2_d1ee124464d6b4cb PDU_Contained_1_Signal3_c8ba0dbc07015a53 Contained_PDU_2_NewSignal_7a4ff4eec4db761a Contained_PDU_2_NewSignal_1_aa83b5b47e033457 PDU_NewSignal_010c6b5aeebe126f PDU_NewSignal_1_da97ff381cddc681 1bit_95e52ffe1e99092d 2bits_22963ba2f88f18bb 3bits_f6ebad567e8027a3 2bits2_ed0d28a809e4eeba SmallSignalsPDUIntel_NewSignal1_a3443fbc8c44d930 SmallSignalsPDUIntel_NewSignal2_1f6dcaf7c9196865 SmallSignalsPDUIntel_NewSignal3_3e16f9ba25e948e8 SmallSignalsPDUIntel_NewSignal2_2_1c97538dc490b2a1 PDU3_NewSignal_5a2d42f5a4f9f2f5 PDU1_NewSignal_8e29158c82f2740c PDU2_NewSignal_4ab7a523acefef2f PDU2_NewSignal_1_8f51f1d0b7e68ef9 PD_NewSignal_d895471656676ebb PDU4_NewSignal_f753f0f8914b70f0 PDU5_NewSignal_5bcfcb6571c8b5d2 PDU6_NewSignal_754830e9d4544d03 SmallSignalsContainer_NewPDU_NewSignal_4716ae88fca3eac2 PDU_Contained_1_Signal1_7453395c0e088f1b PDU_Contained_1_Signal2_691023848081a9ef PDU_Contained_1_Signal3_1a56512b17bad263 Contained_PDU_2_NewSignal_2177231add9e02f8 Contained_PDU_2_NewSignal_1_a59b6823116b8902 PDU_NewSignal_e6c9bc566ff330ca PDU_NewSignal_1_8de6dc0e695583ca 1bit_53af30ad13f15fdb 2bits_99b4259b97118b6d 3bits_866c61a97b4bcdba 2bits2_98efbb522c7f3580 SmallSignalsPDUIntel_NewSignal1_b47648ed48d89499 SmallSignalsPDUIntel_NewSignal2_e3223b28625625a2 SmallSignalsPDUIntel_NewSignal3_c510a6a7a6c400f3 SmallSignalsPDUIntel_NewSignal2_2_1ff1e3ffff18103e PDU3_NewSignal_42522d14398d023c PDU1_NewSignal_a1c47ab658fd283b PDU2_NewSignal_f60ea8941a5da02d PDU2_NewSignal_1_8d8566a0a895c3ed PD_NewSignal_3fa03f0f942deb39 PDU4_NewSignal_c17266d461de265f PDU5_NewSignal_cbe46e1f9effb6b2 PDU6_NewSignal_7b81ccc3d7c1511d SmallSignalsContainer_NewPDU_NewSignal_a500b1246bea0876 PDU_Contained_1_Signal1_111b99c0ac1cff7a PDU_Contained_1_Signal2_bf9bd1716a4a1639 PDU_Contained_1_Signal3_4594ce29e6e148a8 Contained_PDU_2_NewSignal_00a9a5dd5d152976 Contained_PDU_2_NewSignal_1_7aa1ac9729a14d46 PDU_NewSignal_0c1d5ea820de66cb PDU_NewSignal_1_fb4209c597cd8aa0 1bit_f466e19eb1de0648 2bits_6c9b683c1c1a37b4 3bits_cf9655c40c96657a 2bits2_19752e7dfa28e7f3 SmallSignalsPDUIntel_NewSignal1_803b2f713cf1efa7 SmallSignalsPDUIntel_NewSignal2_9cea8032e065a1d0 SmallSignalsPDUIntel_NewSignal3_7c27b528473e33ed SmallSignalsPDUIntel_NewSignal2_2_5195175eec94c686 PDU3_NewSignal_4316eeb2271ecdd2 PDU1_NewSignal_53f4fb1e072fe0a4 PDU2_NewSignal_54deba0a44f9c3c1 PDU2_NewSignal_1_641b9b208c5e7caa PD_NewSignal_677570877e354f8a PDU4_NewSignal_e1232d5ab699545a PDU5_NewSignal_9a380380b07386a3 PDU6_NewSignal_414239b83f4903a3 SmallSignalsContainer_NewPDU_NewSignal_5ea61637efb587ff PDU_Contained_1_Signal1_25121d247773d09b PDU_Contained_1_Signal2_24e6da4b34a597fe PDU_Contained_1_Signal3_6cd19cf61483be42 Contained_PDU_2_NewSignal_14390215f4654c25 Contained_PDU_2_NewSignal_1_b4668b9a7410d643 PDU_NewSignal_898e52ae244864c1 PDU_NewSignal_1_2c25f9e5b2f73f4b 1bit_9ba90e9cfee10749 2bits_b9278e38fecc716d 3bits_9d5343732d692f47 2bits2_ff699bd5a253fc00 SmallSignalsPDUIntel_NewSignal1_257c1fb94ef99b5b SmallSignalsPDUIntel_NewSignal2_21e8305b5cc887b1 SmallSignalsPDUIntel_NewSignal3_ef3c253ca651a5c0 SmallSignalsPDUIntel_NewSignal2_2_913ad7a5560389c9 PDU3_NewSignal_9957ee9f1b3735e6 PDU1_NewSignal_c0beebf0ab78b5b7 PDU2_NewSignal_59fac2352a3f4f9b PDU2_NewSignal_1_29e8e2bcc812e0a3 PD_NewSignal_ded23f9d538cdb92 PDU4_NewSignal_0f055c25b6f01b14 PDU5_NewSignal_6614e83ce430c610 PDU6_NewSignal_2ad9344530cf8d59 SmallSignalsContainer_NewPDU_NewSignal_e20c23b7791091a5 PDU_Contained_1_Signal1_c0fbe7e68939de02 PDU_Contained_1_Signal2_59298d8e9cd72956 PDU_Contained_1_Signal3_fd142dfb5b90f193 Contained_PDU_2_NewSignal_f5cae94f03b5967d Contained_PDU_2_NewSignal_1_e261507906a7a2c9 PDU_NewSignal_f57dda012e192e6b PDU_NewSignal_1_e1e54fe3fb08afc8 1bit_ef9bd7f0354a5fb7 2bits_4350993d15543425 3bits_3d36d908398a3271 2bits2_2bdefa864e4335f5 SmallSignalsPDUIntel_NewSignal1_1965430b54445e80 SmallSignalsPDUIntel_NewSignal2_f2f194bd454f056b SmallSignalsPDUIntel_NewSignal3_e448857099961307 SmallSignalsPDUIntel_NewSignal2_2_1400f2b6d41e9a04 PDU3_NewSignal_77e4b96fd9994926 PDU1_NewSignal_142fc7df52c800b5 PDU2_NewSignal_28ac356adf5f7270 PDU2_NewSignal_1_77f1c46bba92bf0f PD_NewSignal_c82901ded6104a53 PDU4_NewSignal_882143fd1a13f5ac PDU5_NewSignal_a602b73fc1350fec PDU6_NewSignal_732e6c0194fd1ca2 SmallSignalsContainer_NewPDU_NewSignal_08a512781c519d0e PDU_Contained_1_Signal1_a2b512826d63d9fa PDU_Contained_1_Signal2_e54d9ad78eeb344c PDU_Contained_1_Signal3_7ae7ad453da21232 Contained_PDU_2_NewSignal_6949b8831f167350 Contained_PDU_2_NewSignal_1_246c8addf2e9da20 PDU_NewSignal_ebca4ee61af5a96f PDU_NewSignal_1_e38ac411427587e5 1bit_810d12a32f9ac4e9 2bits_a366e45cd4cf5c27 3bits_5877c320d06e2171 2bits2_8ac66ec76c02048d SmallSignalsPDUIntel_NewSignal1_2a3bbfe7ce7d162a SmallSignalsPDUIntel_NewSignal2_0239bdba32e4f848 SmallSignalsPDUIntel_NewSignal3_3bffb11cc7ba1a75 SmallSignalsPDUIntel_NewSignal2_2_10c7774dc8ba1504 PDU3_NewSignal_6d3d05d7162d435c PDU1_NewSignal_784e8897ba46dacb PDU2_NewSignal_b4b573f890ab2a39 PDU2_NewSignal_1_6129a4895fa0207a PD_NewSignal_3eaed1302ded94df PDU4_NewSignal_e81a5492a65fd3b2 PDU5_NewSignal_e48dca134bc2a6ef PDU6_NewSignal_be03f78f75752384 SmallSignalsContainer_NewPDU_NewSignal_ba500dd6bc35e5e2 PDU_Contained_1_Signal1_905db81da40081cb PDU_Contained_1_Signal2_560dca45b917ac81 PDU_Contained_1_Signal3_c2518f7b986c2257 Contained_PDU_2_NewSignal_4521aa60e6ed341c Contained_PDU_2_NewSignal_1_7013bc93a91870d1 PDU_NewSignal_adf0210fbe6c5cec PDU_NewSignal_1_a340d33220b108d5 1bit_6e81c7874a94126b 2bits_648803615523b604 3bits_9c83fdb894ed05bf 2bits2_0ed8412ba478bbdc SmallSignalsPDUIntel_NewSignal1_7ca0913a74a189fa SmallSignalsPDUIntel_NewSignal2_efd2350a025ed292 SmallSignalsPDUIntel_NewSignal3_3864388f1c22f038 SmallSignalsPDUIntel_NewSignal2_2_7976cc7aa716cfde PDU3_NewSignal_663edd1f1125ded2 PDU1_NewSignal_a4ef752e6cbdffff PDU2_NewSignal_b45992d48685ea1e PDU2_NewSignal_1_da3a4ef278f76687 PD_NewSignal_925527ee06ca0d25 PDU4_NewSignal_74daf6dbae331632 PDU5_NewSignal_6a23afcdd65a64d4 PDU6_NewSignal_525b3b193f364475 SmallSignalsContainer_NewPDU_NewSignal_3f03f2fd574a4fce PDU_GROUP PduGroup_042e32d1ba96422cac04f714a225afa0_Rx IN PduGroup_4f54045b527c4277ba0338f739b9e734_Rx IN PduGroup_af6bae122781459fb0c1ca5e3415c717_Tx OUT PduGroup_3895d9be6f3c4329b8557b370c2f3fe5_Rx IN PduGroup_b357a8c9d9ac4e3290f3729d6b073edf_Tx OUT PduGroup_0b47d3658d2b468abfa9b314d83eb7d5_Rx IN PduGroup_2f70bf870a05458f8c661f841601475c_Tx OUT PduGroup_3bf76826a25947baa9035020462995ab_Rx IN PduGroup_96b93623d04d432691eb5168eba07ecc_Tx OUT PduGroup_20500f7ee12f4a26ab5d751c9d8f3c69_Tx OUT PduGroup_80f3d23d6e0346b4966a9559789a57a5_Rx IN PduGroup_ff48df5186db45b8aa93ff9ca4c69c07_Tx OUT PduGroup_5ea18f33ff444996983705192dd2276b_Rx IN PduGroup_1510f271a4334efe9712980772168867_Tx OUT PduGroup_f98de66e327946dea5c899a735b6c35b_Rx IN COMPUMETHODS Computation_Method_Test TEXTTABLE Label_for_first_value 0 0 First Value Label_for_second_value 1 1 Second Value 0 0 0 1 1 ECU_INSTANCES Sender Controller_Sender_5d41ed80d754df4a Connector_Sender_2954a2d1271579a3 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/Sender/Controller_Sender_5d41ed80d754df4a 0 I_SIGNAL_GROUPS canmatrix-0.9.5/src/canmatrix/tests/ARXMLSecuredPDUTest.arxml000066400000000000000000000341421416730473300241220ustar00rootroot00000000000000 Cluster CAN CAN testFrame1 /ECU/testBU/CN_testBU/testFrame1 /ECU/recBU/CN_recBU/testFrame1 /Frame/FRAME_testFrame1_SEC /Cluster/CAN/IPDUTRIGG_testFrame1 STANDARD 291 extendedFrame /ECU/testBU/CN_testBU/extendedFrame /Frame/FRAME_extendedFrame /Cluster/CAN/IPDUTRIGG_extendedFrame EXTENDED 18 IPDUTRIGG_testFrame1 /PDU/PDU_testFrame1 IPDUTRIGG_extendedFrame /PDU/PDU_extendedFrame someTestSignal /ECU/recBU/CN_recBU/someTestSignal /ISignal/someTestSignal Signal /ECU/recBU/CN_recBU/Signal /ISignal/Signal Frame FRAME_testFrame1_SEC Multi Line Frame comment 8 securedTestFrame MOST-SIGNIFICANT-BYTE-LAST /PDU/secPdu 0 FRAME_extendedFrame 8 extendedFrame MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_extendedFrame 0 PDU secPdu /PDU/myPayLoad myPayLoad /PDU/PDU_testFrame1 PDU_testFrame1 64 someTestSignal MOST-SIGNIFICANT-BYTE-FIRST /ISignal/someTestSignal 3 Signal MOST-SIGNIFICANT-BYTE-LAST /ISignal/Signal 20 PDU_extendedFrame 64 ISignal someTestSignal /Signal/someTestSignal Signal /Signal/Signal Signal someTestSignal Multi Line Signal comment with a-umlaut: ä /DataType/someTestSignal 11 Signal /DataType/Signal 3 DataType someTestSignal /DataType/Semantics/someTestSignal Signal /DataType/Semantics/Signal Semantics someTestSignal 1 5 1 Signal one 1 1 one two 2 2 two three 3 3 three 0 1 1 Unit someTestSignal specialCharUnit°$ Signal someUnit ECU testBU sender ECU /IPDUGroup/testBU_Tx CN_testBU testFrame1 OUT someTestSignal OUT Signal OUT extendedFrame OUT recBU receiver ECU /IPDUGroup/recBU_Rx CN_recBU testFrame1 IN someTestSignal IN Signal IN IPDUGroup testBU_Tx OUT /PDU/PDU_testFrame1 /PDU/PDU_extendedFrame recBU_Rx IN /PDU/PDU_testFrame1 canmatrix-0.9.5/src/canmatrix/tests/ARXML_min_max.arxml000066400000000000000000001047701416730473300231130ustar00rootroot00000000000000 VectorAutosarExplorerGeneratedObjects SYSTEM System /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU /VectorAutosarExplorerGeneratedObjects/FRAME/New_Frame /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_1 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_2 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_3 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_4 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_5 /VectorAutosarExplorerGeneratedObjects/PDUS/New_Frame_NewPDU /VectorAutosarExplorerGeneratedObjects/PDU_GROUP/PduGroup_3d1efacc48324fb6a458184295d222c5_Rx New_CanCluster New_CanCluster 250000 CANChannel /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f NewFrameTriggering_da879414224fd9a2 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/framePort_fee56426c0f5d2a3 /VectorAutosarExplorerGeneratedObjects/FRAME/New_Frame /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewPduTriggering_a1c914924e7a9908 STANDARD CAN-FD 1 NewSignalTriggering_b62ee9d4c50e6c9a /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_cef6f2b8d73546568794359c9a2a4f5c_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal NewSignalTriggering_7cfa964bc203bb08 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_7a4fcad1cfba48098e94f0573468de09_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_1 NewSignalTriggering_88b663171f0a13df /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_e9dbba2d6e3b4114a534d69dc7282b13_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_2 NewSignalTriggering_c692530680bd7c7e /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_19f4ade4ae0242e883eea84e083b9108_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_3 NewSignalTriggering_69ccfba3cb53e752 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_ce5f248122604afdb1440f8a7ac1b295_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_4 NewSignalTriggering_b195eb23b91e65a9 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/SP_8df6e862731f403c82dd1a92f9f19830_Rx /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_5 NewPduTriggering_a1c914924e7a9908 /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Connector_New_ECU_1c8171768535fd8f/PP_d757904cffa04e799d91690b59226ace_Rx /VectorAutosarExplorerGeneratedObjects/PDUS/New_Frame_NewPDU /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_b62ee9d4c50e6c9a /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_7cfa964bc203bb08 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_88b663171f0a13df /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_c692530680bd7c7e /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_69ccfba3cb53e752 /VectorAutosarExplorerGeneratedObjects/New_CanCluster/New_CanCluster/CANChannel/NewSignalTriggering_b195eb23b91e65a9 CAN 250000 ECU_INSTANCES New_ECU /VectorAutosarExplorerGeneratedObjects/PDU_GROUP/PduGroup_3d1efacc48324fb6a458184295d222c5_Rx Controller_New_ECU_26c2009afd6ed0f5 Connector_New_ECU_1c8171768535fd8f /VectorAutosarExplorerGeneratedObjects/ECU_INSTANCES/New_ECU/Controller_New_ECU_26c2009afd6ed0f5 framePort_fee56426c0f5d2a3 IN PP_d757904cffa04e799d91690b59226ace_Rx IN SP_cef6f2b8d73546568794359c9a2a4f5c_Rx IN SP_7a4fcad1cfba48098e94f0573468de09_Rx IN SP_e9dbba2d6e3b4114a534d69dc7282b13_Rx IN SP_19f4ade4ae0242e883eea84e083b9108_Rx IN SP_ce5f248122604afdb1440f8a7ac1b295_Rx IN SP_8df6e862731f403c82dd1a92f9f19830_Rx IN 0 FRAME New_Frame 8 PduToFrameMapping_a48ffcd274baecd2 MOST-SIGNIFICANT-BYTE-LAST /VectorAutosarExplorerGeneratedObjects/PDUS/New_Frame_NewPDU 0 PDUS New_Frame_NewPDU 8 SignalPduMapping_d12425b0cf87e337 /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal MOST-SIGNIFICANT-BYTE-FIRST 0 PENDING SignalPduMapping_cbe48419bd90be0c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_1 MOST-SIGNIFICANT-BYTE-FIRST 1 PENDING SignalPduMapping_37669ae8aab1d57d /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_2 MOST-SIGNIFICANT-BYTE-LAST 16 SignalPduMapping_7de6d326c0e389eb /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_3 MOST-SIGNIFICANT-BYTE-FIRST 32 PENDING SignalPduMapping_32ed7fa6bba2303c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_4 MOST-SIGNIFICANT-BYTE-FIRST 56 PENDING SignalPduMapping_c205706ea96dfa5c /VectorAutosarExplorerGeneratedObjects/I_SIGNALS/New_Frame_NewPDU_NewSignal_5 MOST-SIGNIFICANT-BYTE-FIRST 2 PENDING I_SIGNALS New_Frame_NewPDU_NewSignal OVERRIDE 8 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_d3ad4ded3d1f5a52 New_Frame_NewPDU_NewSignal_1 OVERRIDE 4 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_1_97dba33bf5006571 New_Frame_NewPDU_NewSignal_2 OVERRIDE 16 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_2_c4d5cde179c23521 New_Frame_NewPDU_NewSignal_3 OVERRIDE 12 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_3_545262b7a6cd1260 New_Frame_NewPDU_NewSignal_4 OVERRIDE 2 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_4_7c569e4203cfd6a3 New_Frame_NewPDU_NewSignal_5 OVERRIDE 1 /VectorAutosarExplorerGeneratedObjects/BASE_TYPES/New_BaseType /VectorAutosarExplorerGeneratedObjects/SYSTEM_SIGNALS/New_Frame_NewPDU_NewSignal_5_0fa1a7a828ef955d BASE_TYPES New_BaseType 16 NONE COMPUMETHODS New_Frame_NewPDU_NewSignal_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 255 0 1 0 1 New_Frame_NewPDU_NewSignal_1_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 16 0 1 0 1 New_Frame_NewPDU_NewSignal_2_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 65534 0 0.125 0 1 New_Frame_NewPDU_NewSignal_3_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 4094 -400 0.5 0 1 New_Frame_NewPDU_NewSignal_4_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 0 0 1 0 1 New_Frame_NewPDU_NewSignal_5_Encoding SCALE_LINEAR_AND_TEXTTABLE 0 20000 -20000 2 0 1 SYSTEM_SIGNALS New_Frame_NewPDU_NewSignal_d3ad4ded3d1f5a52 /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_Encoding New_Frame_NewPDU_NewSignal_1_97dba33bf5006571 /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_1_Encoding New_Frame_NewPDU_NewSignal_2_c4d5cde179c23521 /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_2_Encoding New_Frame_NewPDU_NewSignal_3_545262b7a6cd1260 /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_3_Encoding New_Frame_NewPDU_NewSignal_4_7c569e4203cfd6a3 /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_4_Encoding New_Frame_NewPDU_NewSignal_5_0fa1a7a828ef955d /VectorAutosarExplorerGeneratedObjects/COMPUMETHODS/New_Frame_NewPDU_NewSignal_5_Encoding PDU_GROUP PduGroup_3d1efacc48324fb6a458184295d222c5_Rx IN canmatrix-0.9.5/src/canmatrix/tests/MyECU.ecuc.arxml000066400000000000000000050747641416730473300223760ustar00rootroot00000000000000 ActiveEcuC ActiveEcuC /COM/CFG/WORKFLOW/SYSDESC/SYNC/SYSTEM /ActiveEcuC/CanSM /ActiveEcuC/EcuC /ActiveEcuC/Det /ActiveEcuC/CanIf /ActiveEcuC/Nm /ActiveEcuC/PduR /ActiveEcuC/Com /ActiveEcuC/Can /ActiveEcuC/Rte /ActiveEcuC/EcuM /ActiveEcuC/CanNm /ActiveEcuC/ComM /ActiveEcuC/Mcu /ActiveEcuC/Os /ActiveEcuC/Crc /ActiveEcuC/Fee /ActiveEcuC/Fls /ActiveEcuC/MemIf /ActiveEcuC/NvM /ActiveEcuC/BswM /ActiveEcuC/Dem CanSM /MICROSAR/CanSM VARIANT-PRE-COMPILE /MICROSAR/CanSM_Impl CanSMGeneral /MICROSAR/CanSM/CanSMGeneral /MICROSAR/CanSM/CanSMGeneral/CanSMDevErrorDetect true /MICROSAR/CanSM/CanSMGeneral/CanSMMainFunctionTimePeriod 0.01 /MICROSAR/CanSM/CanSMGeneral/CanSMVersionInfoApi false /MICROSAR/CanSM/CanSMGeneral/CanSMBorCheckLevel false /MICROSAR/CanSM/CanSMGeneral/CanSMSetBaudrateApi false /MICROSAR/CanSM/CanSMGeneral/CanSmChangeBaudrateApi false CanSMGeneration /MICROSAR/CanSM/CanSMGeneral/CanSMGeneration /MICROSAR/CanSM/CanSMGeneral/CanSMGeneration/CanSMOutOfBoundsWriteSanitizer false /MICROSAR/CanSM/CanSMGeneral/CanSMGeneration/CanSMOutOfBoundsReadSanitizer false CanSMConfiguration /MICROSAR/CanSM/CanSMConfiguration /MICROSAR/CanSM/CanSMConfiguration/CanSMModeRequestRepetitionMax 10 /MICROSAR/CanSM/CanSMConfiguration/CanSMModeRequestRepetitionTime 0.1 CHNL_f276589c /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMBorCounterL1ToL2 5 /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMBorTimeL1 1 /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMBorTimeL2 3 /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMBorTimeTxEnsured 5 /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMBorTxConfirmationPolling false /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMComMNetworkHandleRef /ActiveEcuC/ComM/ComMConfigSet/CAN00_f26020e5 CT_CAN00_e98c47e6 /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMController /MICROSAR/CanSM/CanSMConfiguration/CanSMManagerNetwork/CanSMController/CanSMControllerId /ActiveEcuC/CanIf/CanIfCtrlDrvCfg/CT_CAN00_e98c47e6 EcuC /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/BswM_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/BswM_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanIf_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanIf_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanNm_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanNm_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanSM_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/CanSM_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/ComM_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/ComM_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Com_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Com_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Dem_PreInit /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Dem_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Dem_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Det_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Det_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/EcuM_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Fee_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Nm_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Nm_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/NvM_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/PduR_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/PduR_Init /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/Rte_InitMemory /ActiveEcuC/EcuC/EcucGeneral/BswInitialization/SchM_Init /MICROSAR/EcuC VARIANT-PRE-COMPILE /MICROSAR/EcuC_Impl EcucPduCollection /MICROSAR/EcuC/EcucPduCollection /MICROSAR/EcuC/EcucPduCollection/PduIdTypeEnum UINT8 /MICROSAR/EcuC/EcucPduCollection/PduLengthTypeEnum UINT8 msg_Transmit_ca20852c /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 1 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false /MICROSAR/EcuC/EcucPduCollection/Pdu/SysTPduToFrameMappingRef /CanFrame/msg_Transmit_oCAN00/msg_Transmit msg_nm_RearECU_721237f7 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 8 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false /MICROSAR/EcuC/EcucPduCollection/Pdu/SysTPduToFrameMappingRef /CanFrame/msg_nm_RearECU_oCAN00/msg_nm_RearECU msg_nm_MyECU_5fb848b3 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 8 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false /MICROSAR/EcuC/EcucPduCollection/Pdu/SysTPduToFrameMappingRef /CanFrame/msg_nm_MyECU_oCAN00/msg_nm_MyECU msg_Receive_ff2f8fca /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 1 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false /MICROSAR/EcuC/EcucPduCollection/Pdu/SysTPduToFrameMappingRef /CanFrame/msg_Receive_oCAN00/msg_Receive PT_msg_diag_Request_MyECU_PP_msg_diag_Request_MyECU_Rx_0fb271d2_5e566ad9 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 8 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false PT_msg_diag_Response_MyECU_PP_msg_diag_Response_MyECU_Tx_0fb271d2_5e566ad9 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 8 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false CAN00_NmRxPdu_f26020e5 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 8 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false PT_msg_diag_RequestGlobal_PP_msg_diag_RequestGlobal_Rx_0fb271d2_5e566ad9 /MICROSAR/EcuC/EcucPduCollection/Pdu /MICROSAR/EcuC/EcucPduCollection/Pdu/PduLength 7 /MICROSAR/EcuC/EcucPduCollection/Pdu/J1939Requestable false EcucGeneral /MICROSAR/EcuC/EcucGeneral /MICROSAR/EcuC/EcucGeneral/CPUType CPU32Bit /MICROSAR/EcuC/EcucGeneral/SizeOfInt Size32Bit /MICROSAR/EcuC/EcucGeneral/ByteOrder LITTLE_ENDIAN /MICROSAR/EcuC/EcucGeneral/BitOrder LSB_to_MSB /MICROSAR/EcuC/EcucGeneral/AtomicBitAccessInBitfield false /MICROSAR/EcuC/EcucGeneral/AtomicVariableAccess Atomic16BitAccess /MICROSAR/EcuC/EcucGeneral/SizeOfEnum Size16Bit /MICROSAR/EcuC/EcucGeneral/SizeOfROMPointer Size32Bit /MICROSAR/EcuC/EcucGeneral/SizeOfRAMPointer Size32Bit /MICROSAR/EcuC/EcucGeneral/BitFieldDataType INT /MICROSAR/EcuC/EcucGeneral/StructAlignment Auto /MICROSAR/EcuC/EcucGeneral/ArrayAlignment Auto /MICROSAR/EcuC/EcucGeneral/StructInArrayAlignment Auto /MICROSAR/EcuC/EcucGeneral/DummyFunction false /MICROSAR/EcuC/EcucGeneral/DummyStatement false /MICROSAR/EcuC/EcucGeneral/ConditionalGenerating true /MICROSAR/EcuC/EcucGeneral/DummyStatementKind SelfAssignment /MICROSAR/EcuC/EcucGeneral/EcuCSafeBswChecks false /MICROSAR/EcuC/EcucGeneral/EcuCUseStdReturnTypeForRte false /MICROSAR/EcuC/EcucGeneral/EcucBswImplementationCodeType EcuCSourceCode PostbuildLoadable /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable/AlignmentFillPattern 0 /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable/PBRAMEndAddress 0 /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable/PBRAMStartAddress 0 /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable/PBROMEndAddress 0 /MICROSAR/EcuC/EcucGeneral/PostbuildLoadable/PBROMStartAddress 0 BswInitialization /MICROSAR/EcuC/EcucGeneral/BswInitialization BswM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header BswM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase NO_INIT /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType BswM_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName BswM_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass BSWM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/BswM BswM_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header BswM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/BswM CanIf_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanIf.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanIf CanIf_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanIf.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_IF /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType CanIf_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName CanIf_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass CANIF_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanIf CanNm_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanNm.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanNm CanNm_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanNm.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_NM /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType CanNm_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName CanNm_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass CANNM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanNm CanSM_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanSM_EcuM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanSM CanSM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header CanSM_EcuM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_SM /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType CanSM_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName CanSM_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass CANSM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/CanSM ComM_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header ComM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/ComM ComM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header ComM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_POST_NVMREADALL /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/ComM Com_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Com.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_COM /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType Com_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName Com_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass COM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Com Com_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Com.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Com Dem_PreInit /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Dem.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_ZERO /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType Dem_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName Dem_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass DEM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Dem Dem_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Dem.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Dem Dem_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Dem.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_POST_NVMREADALL /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType Dem_ConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName Dem_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass DEM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Dem Det_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Det.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_ZERO /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Det Det_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Det.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Det EcuM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header EcuM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase NO_INIT /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType EcuM_PbConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName EcuM_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass ECUM_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/EcuM Fee_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Fee.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_IF /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Fee Nm_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Nm.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Nm Nm_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Nm.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_NM /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Nm NvM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header NvM.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_SYS /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/NvM PduR_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header PduR.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/PduR PduR_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header PduR.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_TWO_COM /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigType PduR_PBConfigType /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrName PduR_Config_Ptr /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ConfigPtrClass PDUR_INIT_DATA /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/PduR Rte_InitMemory /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Rte_Main.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase INIT_MEMORY /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Rte SchM_Init /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/Header Rte_Main.h /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/InitPhase NO_INIT /MICROSAR/EcuC/EcucGeneral/BswInitialization/InitFunction/ModuleRef /ActiveEcuC/Rte Det /MICROSAR/Det VARIANT-PRE-COMPILE /MICROSAR/Det_Impl DetGeneral /MICROSAR/Det/DetGeneral /MICROSAR/Det/DetGeneral/DetVersionInfoApi false /MICROSAR/Det/DetGeneral/DetEnableDet true /MICROSAR/Det/DetGeneral/DetExtDebugSupport false /MICROSAR/Det/DetGeneral/DetGlobalFilterSize 0 /MICROSAR/Det/DetGeneral/DetBreakFilterSize 0 /MICROSAR/Det/DetGeneral/DetLogBufferSize 0 /MICROSAR/Det/DetGeneral/DetEntryCallout false CanIf /MICROSAR/CanIf VARIANT-PRE-COMPILE /MICROSAR/CanIf_Impl CanIfPrivateCfg /MICROSAR/CanIf/CanIfPrivateCfg /MICROSAR/CanIf/CanIfPrivateCfg/CanIfPrivateSoftwareFilterType LINEAR /MICROSAR/CanIf/CanIfPrivateCfg/CanIfPrivateDlcCheck true /MICROSAR/CanIf/CanIfPrivateCfg/CanIfSupportTTCAN false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfTransceiverMapping false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfTransceiverHandling false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfSupportExtendedIds false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfSupportNmOsek false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfTxBufferType NONE /MICROSAR/CanIf/CanIfPrivateCfg/CanIfOptimizeOneController true /MICROSAR/CanIf/CanIfPrivateCfg/CanIfWakeupSupport true /MICROSAR/CanIf/CanIfPrivateCfg/CanIfMultipleBasicCANTxObjects false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfRxSearchConsiderMsgType false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfStaticFdTxBufferSupport false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfTxBufferFifoSupport false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfDataChecksumRxSupport false /MICROSAR/CanIf/CanIfPrivateCfg/CanIfDataChecksumTxSupport false CanIfPublicCfg /MICROSAR/CanIf/CanIfPublicCfg /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicPnSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicCancelTransmitSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicDevErrorDetect true /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicHandleTypeEnum UINT8 /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicMultipleDrvSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicNumberOfCanHwUnits 1 /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicReadRxPduDataApi false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicReadRxPduNotifyStatusApi false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicReadTxPduNotifyStatusApi false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicSetDynamicTxIdApi false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicTxBuffering false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicTxConfirmPollingSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicVersionInfoApi true /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicWakeupCheckValidSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPnWakeupTxPduFilterSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPnTrcvHandlingSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfSetBaudrateApi false /MICROSAR/CanIf/CanIfPublicCfg/CanIfPublicChangeBaudrateSupport false /MICROSAR/CanIf/CanIfPublicCfg/CanIfJ1939DynAddrSupport DISABLED CanIfCtrlDrvCfg /MICROSAR/CanIf/CanIfCtrlDrvCfg /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlDrvTxCancellation false /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlDrvInitHohConfigRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfInitHohCfg /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlDrvNameRef /ActiveEcuC/Can/CanGeneral CT_CAN00_e98c47e6 /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlCfg /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlCfg/CanIfCtrlId 0 /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlCfg/CanIfCtrlWakeupSupport true /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlCfg/CanIfCtrlJ1939DynAddrSupport DISABLED /MICROSAR/CanIf/CanIfCtrlDrvCfg/CanIfCtrlCfg/CanIfCtrlCanCtrlRef /ActiveEcuC/Can/CanConfigSet/CT_CAN00_e98c47e6 CanIfInitCfg /MICROSAR/CanIf/CanIfInitCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfInitCfgSet 1 CanIfBufferCfg_Tx_Std_0fb271d2 /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg/CanIfBufferSize 0 /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg/CanIfTxBufferHandlingType NONE /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg/CanIfTxBufferMappedTxPdus 2 /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg/CanIfTxBufferMaxPduLength 8 /MICROSAR/CanIf/CanIfInitCfg/CanIfBufferCfg/CanIfBufferHthRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfInitHohCfg/CN_CAN00_e98c47e6_Tx_Std CanIfInitHohCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfInitRefCfgSet /ActiveEcuC/Can/CanConfigSet CN_CAN00_e98c47e6_Tx_Std /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHthCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHthCfg/CanIfHthCanCtrlIdRef /ActiveEcuC/CanIf/CanIfCtrlDrvCfg/CT_CAN00_e98c47e6 /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHthCfg/CanIfHthIdSymRef /ActiveEcuC/Can/CanConfigSet/CN_CAN00_e98c47e6_Tx_Std CN_CAN00_e98c47e6_Rx_Std /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHrhCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHrhCfg/CanIfHrhSoftwareFilter true /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHrhCfg/CanIfHrhCanCtrlIdRef /ActiveEcuC/CanIf/CanIfCtrlDrvCfg/CT_CAN00_e98c47e6 /MICROSAR/CanIf/CanIfInitCfg/CanIfInitHohCfg/CanIfHrhCfg/CanIfHrhIdSymRef /ActiveEcuC/Can/CanConfigSet/CN_CAN00_e98c47e6_Rx_Std CHNL_f276589c_NMCanIDRange /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanIdType STANDARD_CAN /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduDlc 8 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduUserRxIndicationName CanNm_RxIndication /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduUserRxIndicationUL CAN_NM /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduId 0 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduReadData false /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduReadNotifyStatus false /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduDlcCheck true /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduHrhIdRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfInitHohCfg/CN_CAN00_e98c47e6_Rx_Std /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduRef /ActiveEcuC/EcuC/EcucPduCollection/CAN00_NmRxPdu_f26020e5 CHNL /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanIdRange /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanIdRange/CanIfRxPduCanIdRangeLowerCanId 1024 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanIdRange/CanIfRxPduCanIdRangeUpperCanId 1087 msg_nm_MyECU_oCAN00_Tx_3abd61be /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduCanId 1024 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduCanIdType STANDARD_CAN /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduDlc 8 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduUserTxConfirmationName CanNm_TxConfirmation /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduUserTxConfirmationUL CAN_NM /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduId 0 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduReadNotifyStatus false /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduType STATIC /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduBufferRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfBufferCfg_Tx_Std_0fb271d2 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_nm_MyECU_5fb848b3 msg_Receive_oCAN00_Rx_3abd61be /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanId 528 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduCanIdType STANDARD_CAN /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduDlc 1 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduUserRxIndicationName PduR_CanIfRxIndication /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduUserRxIndicationUL PDUR /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduId 1 /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduReadData false /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduReadNotifyStatus false /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduDlcCheck true /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduHrhIdRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfInitHohCfg/CN_CAN00_e98c47e6_Rx_Std /MICROSAR/CanIf/CanIfInitCfg/CanIfRxPduCfg/CanIfRxPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Receive_ff2f8fca msg_Transmit_oCAN00_Tx_3abd61be /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduCanId 512 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduCanIdType STANDARD_CAN /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduDlc 1 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduUserTxConfirmationName NULL_PTR /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduUserTxConfirmationUL NONE /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduId 1 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduReadNotifyStatus false /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduType STATIC /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduBufferRef /ActiveEcuC/CanIf/CanIfInitCfg/CanIfBufferCfg_Tx_Std_0fb271d2 /MICROSAR/CanIf/CanIfInitCfg/CanIfTxPduCfg/CanIfTxPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Transmit_ca20852c CanIfDispatchCfg /MICROSAR/CanIf/CanIfDispatchCfg /MICROSAR/CanIf/CanIfDispatchCfg/CanIfDispatchUserCtrlBusOffName CanSM_ControllerBusOff /MICROSAR/CanIf/CanIfDispatchCfg/CanIfDispatchUserCtrlBusOffUL CAN_SM /MICROSAR/CanIf/CanIfDispatchCfg/CanIfDispatchUserCtrlModeIndicationName CanSM_ControllerModeIndication /MICROSAR/CanIf/CanIfDispatchCfg/CanIfDispatchUserCtrlModeIndicationUL CAN_SM Nm /MICROSAR/Nm VARIANT-PRE-COMPILE /MICROSAR/Nm_Impl NmGlobalConfig /MICROSAR/Nm/NmGlobalConfig NmGlobalFeatures /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmComUserDataSupport false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmCoordinatorSupportEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmUserDataEnabled true /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmBusSynchronizationEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmCarWakeUpRxEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmComControlEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmNodeDetectionEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmNodeIdEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmPduRxIndicationEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmRemoteSleepIndEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmRepeatMsgIndEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmStateChangeIndEnabled true /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmMacroLayerEnabled false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmCoordinatorSyncSupport false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmRuntimeMeasurementSupport false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmCoordinatorPassiveStartUpForwarding false /MICROSAR/Nm/NmGlobalConfig/NmGlobalFeatures/NmCoordinatorRequestChannelsInBusSleep false NmGlobalConstants /MICROSAR/Nm/NmGlobalConfig/NmGlobalConstants /MICROSAR/Nm/NmGlobalConfig/NmGlobalConstants/NmNumberOfChannels 1 NmGlobalProperties /MICROSAR/Nm/NmGlobalConfig/NmGlobalProperties /MICROSAR/Nm/NmGlobalConfig/NmGlobalProperties/NmCycletimeMainFunction 0.01 /MICROSAR/Nm/NmGlobalConfig/NmGlobalProperties/NmDevErrorDetect true /MICROSAR/Nm/NmGlobalConfig/NmGlobalProperties/NmVersionInfoApi false NmGeneration /MICROSAR/Nm/NmGlobalConfig/NmGeneration /MICROSAR/Nm/NmGlobalConfig/NmGeneration/NmOutOfBoundsWriteSanitizer false /MICROSAR/Nm/NmGlobalConfig/NmGeneration/NmOutOfBoundsReadSanitizer false /MICROSAR/Nm/NmGlobalConfig/NmGeneration/NmShortSymbols false /MICROSAR/Nm/NmGlobalConfig/NmGeneration/NmInterfacesForDeactivatedData false /MICROSAR/Nm/NmGlobalConfig/NmGeneration/NmReferringKeysInComments false CAN00_17d0077e /MICROSAR/Nm/NmChannelConfig /MICROSAR/Nm/NmChannelConfig/NmChannelId 0 /MICROSAR/Nm/NmChannelConfig/NmChannelSleepMaster false /MICROSAR/Nm/NmChannelConfig/NmPassiveModeEnabled false /MICROSAR/Nm/NmChannelConfig/NmStateReportEnabled false /MICROSAR/Nm/NmChannelConfig/NmSynchronizingNetwork false /MICROSAR/Nm/NmChannelConfig/NmComMChannelRef /ActiveEcuC/ComM/ComMConfigSet/CAN00_f26020e5 NmBusType /MICROSAR/Nm/NmChannelConfig/NmBusType NmStandardBusNmConfig /MICROSAR/Nm/NmChannelConfig/NmBusType/NmStandardBusNmConfig /MICROSAR/Nm/NmChannelConfig/NmBusType/NmStandardBusNmConfig/NmStandardBusType NM_BUSNM_CANNM PduR /MICROSAR/PduR VARIANT-PRE-COMPILE /MICROSAR/PduR_Impl Com /MICROSAR/PduR/PduRBswModules /MICROSAR/PduR/PduRBswModules/PduRCancelReceive false /MICROSAR/PduR/PduRBswModules/PduRCancelTransmit false /MICROSAR/PduR/PduRBswModules/PduRChangeParameterRequestApi false /MICROSAR/PduR/PduRBswModules/PduRCommunicationInterface true /MICROSAR/PduR/PduRBswModules/PduRLowerModule false /MICROSAR/PduR/PduRBswModules/PduRTransportProtocol false /MICROSAR/PduR/PduRBswModules/PduRTriggertransmit false /MICROSAR/PduR/PduRBswModules/PduRTxConfirmation false /MICROSAR/PduR/PduRBswModules/PduRUpperModule true /MICROSAR/PduR/PduRBswModules/PduRUseTag false /MICROSAR/PduR/PduRBswModules/PduRBswModuleRef /ActiveEcuC/Com PduRRoutingTables /MICROSAR/PduR/PduRRoutingTables /MICROSAR/PduR/PduRRoutingTables/PduRConfigurationId 0 PduRRoutingTable /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable Can_PT_msg_Receive_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRRoutingPathCommunicationType COMMUNICATION_INTERFACE DST_Can_PT_msg_Receive_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduHandleId 0 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRTransmissionConfirmation false /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduDirection RECEIVE /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduRoutingType API_FORWARDING /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Receive_ff2f8fca /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduPduRBswModulesRef /ActiveEcuC/PduR/Com SRC_Can_PT_msg_Receive_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSourcePduHandleId 0 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduDirection RECEIVE /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Receive_ff2f8fca /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduPduRBswModulesRef /ActiveEcuC/PduR/CanIf Can_PT_msg_Transmit_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRRoutingPathCommunicationType COMMUNICATION_INTERFACE SRC_Can_PT_msg_Transmit_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSourcePduHandleId 0 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduDirection TRANSMIT /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Transmit_ca20852c /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRSrcPdu/PduRSrcPduPduRBswModulesRef /ActiveEcuC/PduR/Com DST_Can_PT_msg_Transmit_0fb271d2 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduHandleId 0 /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduDataProvision PDUR_DIRECT /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRTransmissionConfirmation false /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduDirection TRANSMIT /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduRoutingType API_FORWARDING /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Transmit_ca20852c /MICROSAR/PduR/PduRRoutingTables/PduRRoutingTable/PduRRoutingPath/PduRDestPdu/PduRDestPduPduRBswModulesRef /ActiveEcuC/PduR/CanIf CanIf /MICROSAR/PduR/PduRBswModules /MICROSAR/PduR/PduRBswModules/PduRCancelReceive false /MICROSAR/PduR/PduRBswModules/PduRCancelTransmit false /MICROSAR/PduR/PduRBswModules/PduRChangeParameterRequestApi false /MICROSAR/PduR/PduRBswModules/PduRCommunicationInterface true /MICROSAR/PduR/PduRBswModules/PduRLowerModule true /MICROSAR/PduR/PduRBswModules/PduRTransportProtocol false /MICROSAR/PduR/PduRBswModules/PduRTriggertransmit false /MICROSAR/PduR/PduRBswModules/PduRTxConfirmation false /MICROSAR/PduR/PduRBswModules/PduRUpperModule false /MICROSAR/PduR/PduRBswModules/PduRUseTag false /MICROSAR/PduR/PduRBswModules/PduRBswModuleRef /ActiveEcuC/CanIf PduRGeneral /MICROSAR/PduR/PduRGeneral /MICROSAR/PduR/PduRGeneral/PduRDevErrorDetect true /MICROSAR/PduR/PduRGeneral/PduRVersionInfoApi false /MICROSAR/PduR/PduRGeneral/PduRMetaDataSupport false /MICROSAR/PduR/PduRGeneral/PduRPduCallback false PduRGeneration /MICROSAR/PduR/PduRGeneral/PduRGeneration /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceDataByStreaming false /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRDeduplicateIndirectedData true /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceConstantData2Define true /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceBoolDataByNegationThreshold 2 /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceBoolDataByNumericalRelationThreshold 2 /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceBoolDataByNumericalComparisonThreshold 2 /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceNumericalDataByArraySubtractionThreshold 2 /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceNumericalDataByOffsetThreshold 2 /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRBoolDataInArrayOfStructStrategy BITMASKING /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRDataDeduplicationStrategy WITH_CAST /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRNumericalDataTypeMinimizationStrategy WITH_CAST /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReduceBoolDataByNumericalOperandStrategy WITH_ANY_VALUE /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRInterfacesForDeactivatedData false /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduROutOfBoundsReadSanitizer false /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduROutOfBoundsWriteProtectionStrategy NONE /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduROutOfBoundsWriteSanitizer false /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRReferringKeysInComments false /MICROSAR/PduR/PduRGeneral/PduRGeneration/PduRShortSymbols false Com /MICROSAR/Com VARIANT-PRE-COMPILE /MICROSAR/Com_Impl ComConfig /MICROSAR/Com/ComConfig /MICROSAR/Com/ComConfig/ComConfigurationId 0 /MICROSAR/Com/ComConfig/ComRxDeferredNotificationCacheSize 0 /MICROSAR/Com/ComConfig/ComRxImmediateNotificationCacheSize 0 msg_Receive_oCAN00_3abd61be /MICROSAR/Com/ComConfig/ComIPdu /MICROSAR/Com/ComConfig/ComIPdu/ComIPduDirection RECEIVE /MICROSAR/Com/ComConfig/ComIPdu/ComIPduHandleId 0 /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalProcessing DEFERRED /MICROSAR/Com/ComConfig/ComIPdu/ComIPduType NORMAL /MICROSAR/Com/ComConfig/ComIPdu/ComIPduCancellationSupport false /MICROSAR/Com/ComConfig/ComIPdu/ComIPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Rx_fcef2243 /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalRef /ActiveEcuC/Com/ComConfig/sig_State_RearInteriorLight /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalRef /ActiveEcuC/Com/ComConfig/sig_State_RearLeftDoor /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalRef /ActiveEcuC/Com/ComConfig/sig_State_RearRightDoor /MICROSAR/Com/ComConfig/ComIPdu/ComPduIdRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Receive_ff2f8fca ComTimeBase /MICROSAR/Com/ComConfig/ComTimeBase /MICROSAR/Com/ComConfig/ComTimeBase/ComRxTimeBase 0.01 /MICROSAR/Com/ComConfig/ComTimeBase/ComTxTimeBase 0.01 /MICROSAR/Com/ComConfig/ComTimeBase/ComGwTimeBase 0.01 MyECU_oCAN00_Tx_fcef2243 /MICROSAR/Com/ComConfig/ComIPduGroup /MICROSAR/Com/ComConfig/ComIPduGroup/ComIPduGroupHandleId 1 MyECU_oCAN00_Rx_fcef2243 /MICROSAR/Com/ComConfig/ComIPduGroup /MICROSAR/Com/ComConfig/ComIPduGroup/ComIPduGroupHandleId 0 msg_Transmit_oCAN00_3abd61be /MICROSAR/Com/ComConfig/ComIPdu /MICROSAR/Com/ComConfig/ComIPdu/ComIPduDirection SEND /MICROSAR/Com/ComConfig/ComIPdu/ComIPduHandleId 0 /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalProcessing DEFERRED /MICROSAR/Com/ComConfig/ComIPdu/ComIPduType NORMAL /MICROSAR/Com/ComConfig/ComIPdu/ComIPduCancellationSupport false /MICROSAR/Com/ComConfig/ComIPdu/ComIPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Tx_fcef2243 /MICROSAR/Com/ComConfig/ComIPdu/ComIPduSignalRef /ActiveEcuC/Com/ComConfig/sig_RearInteriorLight /MICROSAR/Com/ComConfig/ComIPdu/ComPduIdRef /ActiveEcuC/EcuC/EcucPduCollection/msg_Transmit_ca20852c ComTxIPdu /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComMinimumDelayTime 0 /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxIPduUnusedAreasDefault 0 ComTxModeTrue /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue ComTxMode /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeMode PERIODIC /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimeOffset 0 /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeTrue/ComTxMode/ComTxModeTimePeriod 0.1 ComTxModeFalse /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeFalse ComTxMode /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeFalse/ComTxMode /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeFalse/ComTxMode/ComTxModeMode PERIODIC /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeFalse/ComTxMode/ComTxModeTimeOffset 0 /MICROSAR/Com/ComConfig/ComIPdu/ComTxIPdu/ComTxModeFalse/ComTxMode/ComTxModeTimePeriod 0.1 sig_RearInteriorLight /MICROSAR/Com/ComConfig/ComSignal /MICROSAR/Com/ComConfig/ComSignal/ComBitPosition 0 /MICROSAR/Com/ComConfig/ComSignal/ComBitSize 1 /MICROSAR/Com/ComConfig/ComSignal/ComHandleId 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalEndianness LITTLE_ENDIAN /MICROSAR/Com/ComConfig/ComSignal/ComSignalInitValue 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalType UINT8 /MICROSAR/Com/ComConfig/ComSignal/ComTransferProperty PENDING /MICROSAR/Com/ComConfig/ComSignal/ComSignalAccess ACCESS_UNCLEAR /MICROSAR/Com/ComConfig/ComSignal/ComSystemTemplateSystemSignalRef /PDU/msg_Transmit_oCAN00/sig_RearInteriorLight sig_State_RearLeftDoor /MICROSAR/Com/ComConfig/ComSignal /MICROSAR/Com/ComConfig/ComSignal/ComBitPosition 0 /MICROSAR/Com/ComConfig/ComSignal/ComBitSize 1 /MICROSAR/Com/ComConfig/ComSignal/ComHandleId 1 /MICROSAR/Com/ComConfig/ComSignal/ComSignalEndianness LITTLE_ENDIAN /MICROSAR/Com/ComConfig/ComSignal/ComSignalInitValue 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalType UINT8 /MICROSAR/Com/ComConfig/ComSignal/ComTimeout 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalAccess ACCESS_UNCLEAR /MICROSAR/Com/ComConfig/ComSignal/ComSystemTemplateSystemSignalRef /PDU/msg_Receive_oCAN00/sig_State_RearLeftDoor sig_State_RearInteriorLight /MICROSAR/Com/ComConfig/ComSignal /MICROSAR/Com/ComConfig/ComSignal/ComBitPosition 2 /MICROSAR/Com/ComConfig/ComSignal/ComBitSize 1 /MICROSAR/Com/ComConfig/ComSignal/ComHandleId 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalEndianness LITTLE_ENDIAN /MICROSAR/Com/ComConfig/ComSignal/ComSignalInitValue 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalType BOOLEAN /MICROSAR/Com/ComConfig/ComSignal/ComTimeout 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalAccess ACCESS_UNCLEAR /MICROSAR/Com/ComConfig/ComSignal/ComSystemTemplateSystemSignalRef /PDU/msg_Receive_oCAN00/sig_State_RearInteriorLight sig_State_RearRightDoor /MICROSAR/Com/ComConfig/ComSignal /MICROSAR/Com/ComConfig/ComSignal/ComBitPosition 1 /MICROSAR/Com/ComConfig/ComSignal/ComBitSize 1 /MICROSAR/Com/ComConfig/ComSignal/ComHandleId 2 /MICROSAR/Com/ComConfig/ComSignal/ComSignalEndianness LITTLE_ENDIAN /MICROSAR/Com/ComConfig/ComSignal/ComSignalInitValue 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalType UINT8 /MICROSAR/Com/ComConfig/ComSignal/ComTimeout 0 /MICROSAR/Com/ComConfig/ComSignal/ComSignalAccess ACCESS_UNCLEAR /MICROSAR/Com/ComConfig/ComSignal/ComSystemTemplateSystemSignalRef /PDU/msg_Receive_oCAN00/sig_State_RearRightDoor ComGeneral /MICROSAR/Com/ComGeneral /MICROSAR/Com/ComGeneral/ComConfigurationUseDet true /MICROSAR/Com/ComGeneral/ComRetryFailedTransmitRequests false /MICROSAR/Com/ComGeneral/ComSupportedIPduGroups 2 /MICROSAR/Com/ComGeneral/ComVersionInfoApi false /MICROSAR/Com/ComGeneral/ComAdvancedIPduCallouts false /MICROSAR/Com/ComGeneral/ComDeferredEventCacheSupport false /MICROSAR/Com/ComGeneral/ComDescriptionRoutingCodeGeneration false /MICROSAR/Com/ComGeneral/ComEnableSignalGroupArrayApi false /MICROSAR/Com/ComGeneral/ComMainfunctionTimingDomainSupport false /MICROSAR/Com/ComGeneral/ComMetaDataSupport false /MICROSAR/Com/ComGeneral/ComOptimizedIPduGroupHandling false /MICROSAR/Com/ComGeneral/ComReceiveSignalMacroAPI false ComGeneration /MICROSAR/Com/ComGeneration /MICROSAR/Com/ComGeneration/ComReduceDataByStreaming false /MICROSAR/Com/ComGeneration/ComDeduplicateIndirectedData true /MICROSAR/Com/ComGeneration/ComReduceConstantData2Define true /MICROSAR/Com/ComGeneration/ComReduceBoolDataByNegationThreshold 2 /MICROSAR/Com/ComGeneration/ComReduceBoolDataByNumericalRelationThreshold 2 /MICROSAR/Com/ComGeneration/ComReduceBoolDataByNumericalComparisonThreshold 2 /MICROSAR/Com/ComGeneration/ComReduceNumericalDataByArraySubtractionThreshold 2 /MICROSAR/Com/ComGeneration/ComReduceNumericalDataByOffsetThreshold 2 /MICROSAR/Com/ComGeneration/ComBoolDataInArrayOfStructStrategy BITMASKING /MICROSAR/Com/ComGeneration/ComDataDeduplicationStrategy WITH_CAST /MICROSAR/Com/ComGeneration/ComNumericalDataTypeMinimizationStrategy WITH_CAST /MICROSAR/Com/ComGeneration/ComReduceBoolDataByNumericalOperandStrategy WITH_ANY_VALUE /MICROSAR/Com/ComGeneration/ComInterfacesForDeactivatedData false /MICROSAR/Com/ComGeneration/ComOutOfBoundsReadSanitizer false /MICROSAR/Com/ComGeneration/ComOutOfBoundsWriteProtectionStrategy NONE /MICROSAR/Com/ComGeneration/ComOutOfBoundsWriteSanitizer false /MICROSAR/Com/ComGeneration/ComReferringKeysInComments false /MICROSAR/Com/ComGeneration/ComShortSymbols false ComOptimization /MICROSAR/Com/ComOptimization /MICROSAR/Com/ComOptimization/ComTxCyclicProcessingISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComTxDeadlineMonitoringISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComTxProcessingISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComRxDeadlineMonitoringISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComRxDeferredProcessingISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComGatewayProcessingISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComGatewayDescriptionProcessingISRLockThreshold 1 /MICROSAR/Com/ComOptimization/ComIPduGroupISRLockThreshold 1 Can /MICROSAR/Can_Sh2Rscan/Can VARIANT-PRE-COMPILE /MICROSAR/Can_Sh2Rscan/Can_Impl CanConfigSet /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet CN_CAN00_e98c47e6_Tx_Std /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanHandleType BASIC /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanIdValue 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanIdType STANDARD /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectType TRANSMIT /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectHwSize 1 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectId 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanHwProcessing false /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectHwHandle 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanMaxDataLen 8 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanFdPaddingValue 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanControllerRef /ActiveEcuC/Can/CanConfigSet/CT_CAN00_e98c47e6 CT_CAN00_e98c47e6 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerActivation true /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanBusoffProcessing INTERRUPT /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerId 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanRxProcessing INTERRUPT /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanTxProcessing INTERRUPT /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanWakeupProcessing INTERRUPT /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanWakeupSupport true /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanWakeupSourceId 32 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanIntcChTxBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanIntcChErrorBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanIntcChWakeupBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanPhysController CAN0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanIntPrio 3 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanRxFullCanAllocation 16 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanRxBasicCanAllocation 1 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanRxFifoProcessCount 8 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerDefaultBaudrate /ActiveEcuC/Can/CanConfigSet/CT_CAN00_e98c47e6/CanControllerBaudrateConfig /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanCpuClockRef /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanWakeupSourceRef /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_CAN CanControllerBaudrateConfig /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerBaudRate 500 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerPropSeg 9 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerSeg1 3 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerSeg2 3 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerSyncJumpWidth 2 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanControllerBaudRateConfigID 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanBaudrateClock 80000 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanControllerBaudrateConfig/CanBaudratePrescaler 10 CanFilterMask /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanFilterMask /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanFilterMask/CanFilterMaskValue 448 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanFilterMask/CanFilterCodeValue 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanController/CanFilterMask/IsLocked false CN_CAN00_e98c47e6_Rx_Std /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanHandleType BASIC /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanIdValue 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanIdType STANDARD /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectType RECEIVE /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectHwSize 1 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectId 1 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanHwProcessing false /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanObjectHwHandle 1 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanMaxDataLen 8 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanFdPaddingValue 0 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanControllerRef /ActiveEcuC/Can/CanConfigSet/CT_CAN00_e98c47e6 /MICROSAR/Can_Sh2Rscan/Can/CanConfigSet/CanHardwareObject/CanFilterMaskRef /ActiveEcuC/Can/CanConfigSet/CT_CAN00_e98c47e6/CanFilterMask CanGeneral /MICROSAR/Can_Sh2Rscan/Can/CanGeneral /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanIndex 0 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanHardwareLoopCheck false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanChangeBaudrateApi false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanDevErrorDetection true /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanHardwareCancellation false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanIdenticalIdCancellation false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMainFunctionBusoffPeriod 0.01 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMainFunctionModePeriod 0.01 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMainFunctionWakeupPeriod 0.01 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMultiplexedTransmission false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanSetBaudrateApi false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanTimeoutDuration 0.01 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanVersionInfoApi false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanGenericPrecopy false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanSecureTempBuffer false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRxFullCANSupport false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanTxFullCANSupport false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRxBasicCANSupport true /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanUseNestedCANInterrupts false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanHardwareCancelByAppl false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanIndividualProcessing false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanGenericConfirmation false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRxQueue false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanSupportMixedID false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRxQueueSize 1 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMultipleBasicCANObjects false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanHardwareHandleType UINT16 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanOptimizeOneController true /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanInterruptCategory CATEGORY2 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanGetStatus false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanInterruptLock DRIVER /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanWakeupSupport true /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRamCheck None /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanOverrunNotification DET /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanReinitStart true /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanGenericPreTransmit false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanFdSupport NONE /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanRuntimeMeasurementSupport false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMultipleBasicCANTxObjects false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMaxRxDataLen 8 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMaxTxDataLen 8 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanUsePeripheralAccessApi false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMirrorModeSupport false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfChannels 6 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfRules 384 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfPoolbuffers 384 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfRxBuffers 96 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfRxFifos 8 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanNumberOfTxBuffers 16 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanIntcRxFifoBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanIntcGlobalErrorBaseAddress 0 /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanExternalClockSource false /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanCanInterface RSCAN /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanInterruptControllerAccess DRIVER /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanCounterRef /ActiveEcuC/Os/SystemTimer CanMainFunctionRWPeriods /MICROSAR/Can_Sh2Rscan/Can/CanGeneral/CanMainFunctionRWPeriods Rte /MICROSAR/Rte VARIANT-PRE-COMPILE /MICROSAR/Rte_Impl CanSM /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/CanSM_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/CanSM CANSM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CANSM_EXCLUSIVE_AREA_1 CANSM_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CANSM_EXCLUSIVE_AREA_2 CANSM_EXCLUSIVE_AREA_3 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CANSM_EXCLUSIVE_AREA_3 CANSM_EXCLUSIVE_AREA_4 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CANSM_EXCLUSIVE_AREA_4 CANSM_EXCLUSIVE_AREA_5 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CANSM_EXCLUSIVE_AREA_5 CanSM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 1 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/CanSM_ib_bswmd/BswModuleDescriptions/CanSM/CanSMBehavior/CanSM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms RteGeneration /MICROSAR/Rte/RteGeneration /MICROSAR/Rte/RteGeneration/RteCalibrationSupport NONE /MICROSAR/Rte/RteGeneration/RteCodeVendorId 30 /MICROSAR/Rte/RteGeneration/RteDevErrorDetect true /MICROSAR/Rte/RteGeneration/RteDevErrorDetectUninit false /MICROSAR/Rte/RteGeneration/RteGenerationMode COMPATIBILITY_MODE /MICROSAR/Rte/RteGeneration/RteIocInteractionReturnValue RTE_IOC /MICROSAR/Rte/RteGeneration/RteMeasurementSupport false /MICROSAR/Rte/RteGeneration/RteOptimizationMode RUNTIME /MICROSAR/Rte/RteGeneration/RteValueRangeCheckEnabled false /MICROSAR/Rte/RteGeneration/RteVfbTraceEnabled false Det /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Det_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Det DET_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Det_ib_bswmd/BswModuleDescriptions/Det/DetBehavior/DET_EXCLUSIVE_AREA_0 CanIf /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/CanIf_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/CanIf CANIF_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_0 CANIF_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_1 CANIF_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_2 CANIF_EXCLUSIVE_AREA_3 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_3 CANIF_EXCLUSIVE_AREA_4 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_4 CANIF_EXCLUSIVE_AREA_5 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_5 CANIF_EXCLUSIVE_AREA_6 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_6 CANIF_EXCLUSIVE_AREA_7 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanIf_ib_bswmd/BswModuleDescriptions/CanIf/CanIf_Behavior/CANIF_EXCLUSIVE_AREA_7 RteBswGeneral /MICROSAR/Rte/RteBswGeneral /MICROSAR/Rte/RteBswGeneral/RteSchMVersionInfoApi false /MICROSAR/Rte/RteBswGeneral/RteUseComShadowSignalApi false Nm /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Nm_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Nm NM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Nm_ib_bswmd/BswModuleDescriptions/Nm/NmBehavior/NM_EXCLUSIVE_AREA_0 NM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Nm_ib_bswmd/BswModuleDescriptions/Nm/NmBehavior/NM_EXCLUSIVE_AREA_1 PduR /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/PduR_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/PduR PDUR_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/PduR_ib_bswmd/BswModuleDescriptions/PduR/PduRBehavior/PDUR_EXCLUSIVE_AREA_0 PDUR_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/PduR_ib_bswmd/BswModuleDescriptions/PduR/PduRBehavior/PDUR_EXCLUSIVE_AREA_1 Com /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Com_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Com Com_MainFunctionRxTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 5 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Com_ib_bswmd/BswModuleDescriptions/Com/ComBehavior/Com_MainFunctionRxTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms Com_MainFunctionTxTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 6 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Com_ib_bswmd/BswModuleDescriptions/Com/ComBehavior/Com_MainFunctionTxTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms COM_EXCLUSIVE_AREA_TX /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Com_ib_bswmd/BswModuleDescriptions/Com/ComBehavior/COM_EXCLUSIVE_AREA_TX COM_EXCLUSIVE_AREA_RX /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Com_ib_bswmd/BswModuleDescriptions/Com/ComBehavior/COM_EXCLUSIVE_AREA_RX COM_EXCLUSIVE_AREA_BOTH /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Com_ib_bswmd/BswModuleDescriptions/Com/ComBehavior/COM_EXCLUSIVE_AREA_BOTH EcuM /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/EcuM_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/EcuM ECUM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/EcuM_ib_bswmd/BswModuleDescriptions/EcuM/EcuMBehavior/ECUM_EXCLUSIVE_AREA_0 EcuM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 9 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/EcuM_ib_bswmd/BswModuleDescriptions/EcuM/EcuMBehavior/EcuM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms ECUM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/EcuM_ib_bswmd/BswModuleDescriptions/EcuM/EcuMBehavior/ECUM_EXCLUSIVE_AREA_1 ECUM_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/EcuM_ib_bswmd/BswModuleDescriptions/EcuM/EcuMBehavior/ECUM_EXCLUSIVE_AREA_2 CanNm /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/CanNm_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/CanNm CANNM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_0 CANNM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_1 CANNM_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_2 CANNM_EXCLUSIVE_AREA_3 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_3 CANNM_EXCLUSIVE_AREA_4 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_4 CANNM_EXCLUSIVE_AREA_5 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CANNM_EXCLUSIVE_AREA_5 CanNm_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 3 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/CanNm_ib_bswmd/BswModuleDescriptions/CanNm/CanNmBehavior/CanNm_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms ComM /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/ComM_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/ComM COMM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/ComM_ib_bswmd/BswModuleDescriptions/ComM/ComMBehavior/COMM_EXCLUSIVE_AREA_0 COMM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/ComM_ib_bswmd/BswModuleDescriptions/ComM/ComMBehavior/COMM_EXCLUSIVE_AREA_1 ComM_MainFunction_0TimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/ComM_ib_bswmd/BswModuleDescriptions/ComM/ComMBehavior/ComM_MainFunction_0TimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_20ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_20ms RteInitializationBehavior /MICROSAR/Rte/RteInitializationBehavior /MICROSAR/Rte/RteInitializationBehavior/RteInitializationStrategy RTE_INITIALIZATION_STRATEGY_AT_DATA_DECLARATION /MICROSAR/Rte/RteInitializationBehavior/RteSectionInitializationPolicy /MICROSAR/Rte/RteInitializationBehavior/RteSectionInitializationPolicy INIT RteOsInteraction /MICROSAR/Rte/RteOsInteraction Fee /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Fee_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Fee Fee_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 11 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Fee_ib_bswmd/BswModuleDescriptions/Fee/FeeBehavior/Fee_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Run_Fee_Fee_MainFunction /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE_Fee_Fee_MainFunction FEE_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Fee_ib_bswmd/BswModuleDescriptions/Fee/FeeBehavior/FEE_EXCLUSIVE_AREA_0 NvM /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/NvM_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/NvM NvM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 13 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/NvM_ib_bswmd/BswModuleDescriptions/NvM/NvMBehavior/NvM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms NVM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/NvM_ib_bswmd/BswModuleDescriptions/NvM/NvMBehavior/NVM_EXCLUSIVE_AREA_0 ComM_P_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/ComM_P OpEventLimitECUToNoComMode_LimitECUToNoComMode_modeLimitation /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventLimitECUToNoComMode_LimitECUToNoComMode_modeLimitation OpEventReadInhibitCounter_ReadInhibitCounter_modeLimitation /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventReadInhibitCounter_ReadInhibitCounter_modeLimitation OpEventResetInhibitCounter_ResetInhibitCounter_modeLimitation /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventResetInhibitCounter_ResetInhibitCounter_modeLimitation OpEventSetECUGroupClassification_SetECUGroupClassification_modeLimitation /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventSetECUGroupClassification_SetECUGroupClassification_modeLimitation Timer_ComM_MainFunction_0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/Timer_ComM_MainFunction_0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/SchM_Task OpEventLimitChannelToNoComMode_LimitChannelToNoComMode_CL_CAN00_f26020e5 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventLimitChannelToNoComMode_LimitChannelToNoComMode_CL_CAN00_f26020e5 OpEventGetMaxComMode_GetMaxComMode_UR_USR_CHNL_f276589c /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventGetMaxComMode_GetMaxComMode_UR_USR_CHNL_f276589c OpEventGetCurrentComMode_GetCurrentComMode_UR_USR_CHNL_f276589c /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventGetCurrentComMode_GetCurrentComMode_UR_USR_CHNL_f276589c OpEventGetInhibitionStatus_GetInhibitionStatus_CW_CAN00_f26020e5 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventGetInhibitionStatus_GetInhibitionStatus_CW_CAN00_f26020e5 OpEventGetInhibitionStatus_GetInhibitionStatus_CL_CAN00_f26020e5 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventGetInhibitionStatus_GetInhibitionStatus_CL_CAN00_f26020e5 OpEventRequestComMode_RequestComMode_UR_USR_CHNL_f276589c /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventRequestComMode_RequestComMode_UR_USR_CHNL_f276589c OpEventPreventWakeUp_PreventWakeUp_CW_CAN00_f26020e5 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventPreventWakeUp_PreventWakeUp_CW_CAN00_f26020e5 OpEventGetRequestedComMode_GetRequestedComMode_UR_USR_CHNL_f276589c /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/ComM_swc/ComponentTypes/ComM/ComMInternalBehavior/OpEventGetRequestedComMode_GetRequestedComMode_UR_USR_CHNL_f276589c Det_P_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/Det_P EcuM_P_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/EcuM_P OpEventSelectShutdownTarget_SelectShutdownTarget_EcuM_ShutdownTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventSelectShutdownTarget_SelectShutdownTarget_EcuM_ShutdownTarget OpEventGetShutdownTarget_GetShutdownTarget_EcuM_ShutdownTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventGetShutdownTarget_GetShutdownTarget_EcuM_ShutdownTarget OpEventGetLastShutdownTarget_GetLastShutdownTarget_EcuM_ShutdownTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventGetLastShutdownTarget_GetLastShutdownTarget_EcuM_ShutdownTarget OpEventSelectShutdownCause_SelectShutdownCause_EcuM_ShutdownTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventSelectShutdownCause_SelectShutdownCause_EcuM_ShutdownTarget OpEventGetShutdownCause_GetShutdownCause_EcuM_ShutdownTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventGetShutdownCause_GetShutdownCause_EcuM_ShutdownTarget OpEventSelectBootTarget_SelectBootTarget_EcuM_BootTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventSelectBootTarget_SelectBootTarget_EcuM_BootTarget OpEventGetBootTarget_GetBootTarget_EcuM_BootTarget /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/OpEventGetBootTarget_GetBootTarget_EcuM_BootTarget Timer_EcuM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 9 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/EcuM_swc/ComponentTypes/EcuM/EcuMInternalBehavior/Timer_EcuM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/SchM_Task NvM_P_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/NvM_P Timer_NvM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 13 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/Timer_NvM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms OpEventEraseBlock_EraseBlock_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventEraseBlock_EraseBlock_PS_NvMConfigBlock OpEventWriteBlock_WriteBlock_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventWriteBlock_WriteBlock_PS_NvMConfigBlock OpEventSetBlockProtection_SetBlockProtection_PAdmin_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventSetBlockProtection_SetBlockProtection_PAdmin_NvMConfigBlock OpEventSetRamBlockStatus_SetRamBlockStatus_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventSetRamBlockStatus_SetRamBlockStatus_PS_NvMConfigBlock OpEventInvalidateNvBlock_InvalidateNvBlock_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventInvalidateNvBlock_InvalidateNvBlock_PS_NvMConfigBlock OpEventReadBlock_ReadBlock_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventReadBlock_ReadBlock_PS_NvMConfigBlock OpEventGetErrorStatus_GetErrorStatus_PS_NvMConfigBlock /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/NvM_swc/ComponentTypes/NvM/NvMInternalBehavior/OpEventGetErrorStatus_GetErrorStatus_PS_NvMConfigBlock BswM /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/BswM_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/BswM BswM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 25 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/BswM_ib_bswmd/BswModuleDescriptions/BswM/BswMBehavior/BswM_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms BSWM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/BswM_ib_bswmd/BswModuleDescriptions/BswM/BswMBehavior/BSWM_EXCLUSIVE_AREA_0 Dem /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Dem_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Dem Dem_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswPositionInTask 8 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Dem_ib_bswmd/BswModuleDescriptions/Dem/DemBehavior/Dem_MainFunctionTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms DEM_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Dem_ib_bswmd/BswModuleDescriptions/Dem/DemBehavior/DEM_EXCLUSIVE_AREA_0 DEM_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Dem_ib_bswmd/BswModuleDescriptions/Dem/DemBehavior/DEM_EXCLUSIVE_AREA_1 DEM_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Dem_ib_bswmd/BswModuleDescriptions/Dem/DemBehavior/DEM_EXCLUSIVE_AREA_2 Dem_P_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/Dem_P Timer_Dem_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 8 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/Timer_Dem_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms OpEventGetDTCStatusAvailabilityMask_GetDTCStatusAvailabilityMask_DemServices /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCStatusAvailabilityMask_GetDTCStatusAvailabilityMask_DemServices OpEventGetEventMemoryOverflow_GetEventMemoryOverflow_OverflowIndPrimaryMemory /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventMemoryOverflow_GetEventMemoryOverflow_OverflowIndPrimaryMemory OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetDTCOfEvent_GetDTCOfEvent_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_GeneralEventInfo OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventEnableCondition_GetEventEnableCondition_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_GeneralEventInfo OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventTested_GetEventTested_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_GeneralEventInfo OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventStatus_GetEventStatus_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_GeneralEventInfo OpEventGetEventFailed_GetEventFailed_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_GeneralEventInfo OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_GeneralEventInfo OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_GeneralEventInfo OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_GeneralEventInfo OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventEnableCondition_GetEventEnableCondition_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDTCOfEvent_GetDTCOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFailed_GetEventFailed_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventFreezeFrameData_GetEventFreezeFrameData_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventTested_GetEventTested_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventExtendedDataRecord_GetEventExtendedDataRecord_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetFaultDetectionCounter_GetFaultDetectionCounter_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetEventStatus_GetEventStatus_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventDcmGetNextFilteredDTCAndFDC_DcmGetNextFilteredDTCAndFDC_Dcm /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventDcmGetNextFilteredDTCAndFDC_DcmGetNextFilteredDTCAndFDC_Dcm OpEventClearDTC_ClearDTC_Cdd /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventClearDTC_ClearDTC_Cdd OpEventPostRunRequested_GetPostRunRequested_DemServices /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventPostRunRequested_GetPostRunRequested_DemServices OpEventDcmEnableDTCSetting_DcmEnableDTCSetting_Dcm /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventDcmEnableDTCSetting_DcmEnableDTCSetting_Dcm OpEventDcmClearDTC_DcmClearDTC_Dcm /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventDcmClearDTC_DcmClearDTC_Dcm OpEventSetOperationCycleState_SetOperationCycleState_OpCycle_PowerCycle /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventSetOperationCycleState_SetOperationCycleState_OpCycle_PowerCycle OpEventSetOperationCycleState_SetOperationCycleState_OpCycle_IgnitionCycle /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventSetOperationCycleState_SetOperationCycleState_OpCycle_IgnitionCycle OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY OpEventDcmGetExtendedDataRecordByDTC_DcmGetExtendedDataRecordByDTC_Dcm /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventDcmGetExtendedDataRecordByDTC_DcmGetExtendedDataRecordByDTC_Dcm OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_REQ_FAILED OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_VERIFY_FAILED OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED OpEventGetNumberOfEventMemoryEntries_GetNumberOfEventMemoryEntries_OverflowIndPrimaryMemory /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetNumberOfEventMemoryEntries_GetNumberOfEventMemoryEntries_OverflowIndPrimaryMemory OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_GeneralEventInfo /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_GeneralEventInfo OpEventDcmGetFreezeFrameDataByDTC_DcmGetFreezeFrameDataByDTC_Dcm /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventDcmGetFreezeFrameDataByDTC_DcmGetFreezeFrameDataByDTC_Dcm OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/Dem_swc/ComponentTypes/Dem/DemInternalBehavior/OpEventGetDebouncingOfEvent_GetDebouncingOfEvent_EvtInfo_AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW Rte /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Rte_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Rte BswM_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/BswM Timer_BswM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 25 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /MICROSAR/BswM_swc/ComponentTypes/BswM/BswMInternalBehavior/Timer_BswM_MainFunction /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/SchM_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE2_SchM_Task_0_10ms CtApMySWC /MICROSAR/Rte/RteSwComponentType /MICROSAR/Rte/RteSwComponentType/RteComponentTypeRef /ComponentTypes/CtApMySwc ComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration/RteCalibrationSupportEnabled false CtSaDoor /MICROSAR/Rte/RteSwComponentType /MICROSAR/Rte/RteSwComponentType/RteComponentTypeRef /ComponentTypes/CtSaDoor /MICROSAR/Rte/RteSwComponentType/RteImplementationRef /ComponentTypes/CtSaDoor_Implementation ComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration/RteCalibrationSupportEnabled false CtSaInteriorLight /MICROSAR/Rte/RteSwComponentType /MICROSAR/Rte/RteSwComponentType/RteComponentTypeRef /ComponentTypes/CtSaInteriorLight /MICROSAR/Rte/RteSwComponentType/RteImplementationRef /ComponentTypes/CtSaInteriorLight_Implementation ComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration /MICROSAR/Rte/RteSwComponentType/RteComponentTypeCalibration/RteCalibrationSupportEnabled false CpApMySWC_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/CpApMySwc DRT_RCtApMySwcCode_PpDoorStateFrontLeft_Element_001 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /ComponentTypes/CtApMySwc/CtApMySwc_InternalBehavior/DRT_RCtApMySwcCode_PpDoorStateFrontLeft_Element /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/My_Task DRT_RCtApMySwcCode_PpDoorStateFrontRight_Element_001 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /ComponentTypes/CtApMySwc/CtApMySwc_InternalBehavior/DRT_RCtApMySwcCode_PpDoorStateFrontRight_Element /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/My_Task CpSaDoorFrontLeft_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/CpSaDoorFrontLeft TMT_RCtSaDoorReadDoor /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 0 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /ComponentTypes/CtSaDoor/CtSaDoor_InternalBehavior/TMT_RCtSaDoorReadDoor /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/IO_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic_IO_Task_0_200ms /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE_IO_Task_0_200ms CpSaDoorFrontRight_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/CpSaDoorFrontRight TMT_RCtSaDoorReadDoor /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 1 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /ComponentTypes/CtSaDoor/CtSaDoor_InternalBehavior/TMT_RCtSaDoorReadDoor /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/IO_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic_IO_Task_0_200ms /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsAlarmRef DV:RTE /ActiveEcuC/Os/Rte_Al_TE_IO_Task_0_200ms CpSaInteriorLightFront_EcuSwComposition /MICROSAR/Rte/RteSwComponentInstance /MICROSAR/Rte/RteSwComponentInstance/RteSoftwareComponentInstanceRef /COM/CFG/WORKFLOW/SYSDESC/SYNC/COMPOSITIONTYPE/CpSaInteriorLightFront DRT_RCtSaInteriorLightSwitchLight_PpLightState_Element /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteImmediateRestart false /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RtePositionInTask 2 /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteEventRef /ComponentTypes/CtSaInteriorLight/CtSaInteriorLight_InternalBehavior/DRT_RCtSaInteriorLightSwitchLight_PpLightState_Element /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteMappedToTaskRef /ActiveEcuC/Os/IO_Task /MICROSAR/Rte/RteSwComponentInstance/RteEventToTaskMapping/RteUsedOsEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Run_CpSaInteriorLightFront_RCtSaInteriorLightSwitchLight Can_0 /MICROSAR/Rte/RteBswModuleInstance /MICROSAR/Rte/RteBswModuleInstance/RteBswImplementationRef /MICROSAR/Can_Sh2Rscan/Can_Impl /MICROSAR/Rte/RteBswModuleInstance/RteBswModuleConfigurationRef /ActiveEcuC/Can Can_MainFunction_BusOffTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/Can_MainFunction_BusOffTimingEvent0 Can_MainFunction_WakeupTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/Can_MainFunction_WakeupTimingEvent0 Can_MainFunction_ModeTimingEvent0 /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswImmediateRestart false /MICROSAR/Rte/RteBswModuleInstance/RteBswEventToTaskMapping/RteBswEventRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/Can_MainFunction_ModeTimingEvent0 CAN_EXCLUSIVE_AREA_0 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_0 CAN_EXCLUSIVE_AREA_1 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_1 CAN_EXCLUSIVE_AREA_2 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_2 CAN_EXCLUSIVE_AREA_3 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_3 CAN_EXCLUSIVE_AREA_4 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_4 CAN_EXCLUSIVE_AREA_5 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_5 CAN_EXCLUSIVE_AREA_6 /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteExclusiveAreaImplMechanism ALL_INTERRUPT_BLOCKING /MICROSAR/Rte/RteBswModuleInstance/RteBswExclusiveAreaImpl/RteBswExclusiveAreaRef /MICROSAR/Can_Sh2Rscan_ib_bswmd/BswModuleDescriptions/Can/Can_Sh2RscanBehavior/CAN_EXCLUSIVE_AREA_6 EcuM /MICROSAR/EcuM VARIANT-PRE-COMPILE /MICROSAR/EcuM_Impl EcuMGeneral /MICROSAR/EcuM/EcuMGeneral /MICROSAR/EcuM/EcuMGeneral/EcuMDevErrorDetect true /MICROSAR/EcuM/EcuMGeneral/EcuMIncludeDem false /MICROSAR/EcuM/EcuMGeneral/EcuMIncludeDet true /MICROSAR/EcuM/EcuMGeneral/EcuMMainFunctionPeriod 0.01 /MICROSAR/EcuM/EcuMGeneral/EcuMVersionInfoApi false /MICROSAR/EcuM/EcuMGeneral/EcuMDeferredBswMNotification false /MICROSAR/EcuM/EcuMGeneral/EcuMSlaveCoreHandling false /MICROSAR/EcuM/EcuMGeneral/EcuMEnableFixBehavior false EcuMGeneration /MICROSAR/EcuM/EcuMGeneral/EcuMGeneration /MICROSAR/EcuM/EcuMGeneral/EcuMGeneration/EcuMOutOfBoundsWriteSanitizer false /MICROSAR/EcuM/EcuMGeneral/EcuMGeneration/EcuMOutOfBoundsReadSanitizer false /MICROSAR/EcuM/EcuMGeneral/EcuMGeneration/EcuMInterfacesForDeactivatedData false EcuMFlexGeneral /MICROSAR/EcuM/EcuMFlexGeneral /MICROSAR/EcuM/EcuMFlexGeneral/EcuMEnableDefBehaviour true EcuMConfiguration /MICROSAR/EcuM/EcuMConfiguration EcuMFlexConfiguration /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexModuleConfigurationRef /ActiveEcuC/Can/CanConfigSet /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMNormalMcuModeRef /ActiveEcuC/Mcu/McuModuleConfiguration/McuModeSettingConf /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexModuleConfigurationRef /ActiveEcuC/Dem/DemConfigSet ECUM_RESET_WDG /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode/EcuMResetModeId 1 ECUM_CAUSE_DCM /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause/EcuMShutdownCauseId 3 ECUM_CAUSE_UNKNOWN /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause/EcuMShutdownCauseId 0 ECUM_RESET_IO /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode/EcuMResetModeId 2 ECUM_RESET_MCU /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode/EcuMResetModeId 0 ECUM_CAUSE_WDGM /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause/EcuMShutdownCauseId 2 ECUM_RESET_WAKEUP /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMResetMode/EcuMResetModeId 3 ECUM_CAUSE_ECU_STATE /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMShutdownCause/EcuMShutdownCauseId 1 EcuMFlexUserConfig /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexUserConfig /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexUserConfig/EcuMGoDownRequestID 42 /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexUserConfig/EcuMFlexUser 0 EcuMGoDownAllowedUsers /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMGoDownAllowedUsers /MICROSAR/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMGoDownAllowedUsers/EcuMGoDownAllowedUserRef /ActiveEcuC/EcuM/EcuMConfiguration/EcuMFlexConfiguration/EcuMFlexUserConfig EcuMCommonConfiguration /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMConfigConsistencyHash 6101825474368961796 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDefaultAppMode /ActiveEcuC/Os/OSDEFAULTAPPMODE /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMOSResource /ActiveEcuC/Os/RES_ECUM EcuMDefaultShutdownTarget /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDefaultShutdownTarget /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDefaultShutdownTarget/EcuMDefaultState EcuMStateReset /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDefaultShutdownTarget/EcuMDefaultResetModeRef /ActiveEcuC/EcuM/EcuMConfiguration/EcuMFlexConfiguration/ECUM_RESET_MCU ECUM_WKSOURCE_POWER /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMValidationTimeout 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMCheckWakeupTimeout 0 ECUM_WKSOURCE_INTERNAL_RESET /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 2 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMValidationTimeout 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMCheckWakeupTimeout 0 ECUM_WKSOURCE_INTERNAL_WDG /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 3 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMValidationTimeout 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMCheckWakeupTimeout 0 ECUM_WKSOURCE_RESET /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 1 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMValidationTimeout 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMCheckWakeupTimeout 0 ECUM_WKSOURCE_EXTERNAL_WDG /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 4 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMValidationTimeout 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMCheckWakeupTimeout 0 EcuMSleepMode /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMSleepModeId 0 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMSleepModeMcuModeRef /ActiveEcuC/Mcu/McuModuleConfiguration/McuModeSettingConf /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMWakeupSourceMask /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_EXTERNAL_WDG /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMWakeupSourceMask /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_INTERNAL_RESET /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMWakeupSourceMask /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_INTERNAL_WDG /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMWakeupSourceMask /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_POWER /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMSleepMode/EcuMWakeupSourceMask /ActiveEcuC/EcuM/EcuMConfiguration/EcuMCommonConfiguration/ECUM_WKSOURCE_RESET EcuMDriverInitListOne /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDriverInitListOne EcuMDriverInitItem /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDriverInitListOne/EcuMDriverInitItem /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDriverInitListOne/EcuMDriverInitItem/EcuMModuleID Code /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDriverInitListOne/EcuMDriverInitItem/EcuMAdditionalInitCode BswInitListOne(); EcuMDemEventParameterRefs /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDemEventParameterRefs /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDemEventParameterRefs/ECUM_E_CONFIGURATION_DATA_INCONSISTENT /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDemEventParameterRefs/ECUM_E_RAM_CHECK_FAILED /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED EcuMDriverRestartList /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMDriverRestartList ECUM_WKSOURCE_CAN /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourceId 5 /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMWakeupSourcePolling false /MICROSAR/EcuM/EcuMConfiguration/EcuMCommonConfiguration/EcuMWakeupSource/EcuMComMChannelRef /ActiveEcuC/ComM/ComMConfigSet/CAN00_f26020e5 CanNm /MICROSAR/CanNm VARIANT-PRE-COMPILE /MICROSAR/CanNm_Impl CanNmGlobalConfig /MICROSAR/CanNm/CanNmGlobalConfig /MICROSAR/CanNm/CanNmGlobalConfig/CanNmComUserDataSupport false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmPnEiraCalcEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmUserDataEnabled true /MICROSAR/CanNm/CanNmGlobalConfig/CanNmBusLoadReductionEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmBusSynchronizationEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmComControlEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmCoordinatorSyncSupport false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmDevErrorDetect true /MICROSAR/CanNm/CanNmGlobalConfig/CanNmImmediateRestartEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmImmediateTxconfEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmMainFunctionPeriod 0.01 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmNodeDetectionEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmPassiveModeEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmPduRxIndicationEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmRemoteSleepIndEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmRepeatMsgIndEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmStateChangeIndEnabled true /MICROSAR/CanNm/CanNmGlobalConfig/CanNmVersionInfoApi false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmDisableTxErrReport false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmApiOptimization false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmCanIfRangeConfigDLCCheck false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmNodeIdEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmRuntimeMeasurementSupport false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmNumberOfChannels 1 CAN00_17d0077e /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmMsgCycleTime 0.1 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmMsgReducedTime 0.001 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmPduCbvPosition CANNM_PDU_OFF /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmRepeatMessageTime 4 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmTimeoutTime 1 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmUserDataLength 8 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmWaitBusSleepTime 0.75 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmBusLoadReductionActive false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmCarWakeUpRxEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmImmediateNmTransmissions 0 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmMsgCycleOffset 0 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmMsgTimeoutTime 0.06 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmNodeId 0 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmPduNidPosition CANNM_PDU_OFF /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmRemoteSleepIndTime 0.5 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmActiveWakeupBitEnabled false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmComMNetworkHandleRef /ActiveEcuC/ComM/ComMConfigSet/CAN00_f26020e5 CAN00_17d0077e_RxPdu_f27871aa /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmRxPdu /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmRxPdu/CanNmRxPduId 0 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmRxPdu/CanNmRxPduRef /ActiveEcuC/EcuC/EcucPduCollection/CAN00_NmRxPdu_f26020e5 msg_nm_MyECU_oCAN00_3abd61be /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmTxPdu /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmTxPdu/CanNmTxConfirmationPduId 0 /MICROSAR/CanNm/CanNmGlobalConfig/CanNmChannelConfig/CanNmTxPdu/CanNmTxPduRef /ActiveEcuC/EcuC/EcucPduCollection/msg_nm_MyECU_5fb848b3 CanNmGeneration /MICROSAR/CanNm/CanNmGlobalConfig/CanNmGeneration /MICROSAR/CanNm/CanNmGlobalConfig/CanNmGeneration/CanNmOutOfBoundsWriteSanitizer false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmGeneration/CanNmOutOfBoundsReadSanitizer false /MICROSAR/CanNm/CanNmGlobalConfig/CanNmGeneration/CanNmInterfacesForDeactivatedData false ComM /MICROSAR/ComM VARIANT-PRE-COMPILE /MICROSAR/ComM_Impl ComMGeneral /MICROSAR/ComM/ComMGeneral /MICROSAR/ComM/ComMGeneral/ComMPncSupport false /MICROSAR/ComM/ComMGeneral/ComMDevErrorDetect true /MICROSAR/ComM/ComMGeneral/ComMEcuGroupClassification 3 /MICROSAR/ComM/ComMGeneral/ComMModeLimitationEnabled false /MICROSAR/ComM/ComMGeneral/ComMSynchronousWakeUp true /MICROSAR/ComM/ComMGeneral/ComMTMinFullComModeDuration 5 /MICROSAR/ComM/ComMGeneral/ComMVersionInfoApi true /MICROSAR/ComM/ComMGeneral/ComMWakeupInhibitionEnabled false ComMGeneration /MICROSAR/ComM/ComMGeneral/ComMGeneration /MICROSAR/ComM/ComMGeneral/ComMGeneration/ComMOutOfBoundsWriteSanitizer false /MICROSAR/ComM/ComMGeneral/ComMGeneration/ComMOutOfBoundsReadSanitizer false ComMConfigSet /MICROSAR/ComM/ComMConfigSet /MICROSAR/ComM/ComMConfigSet/ComMPncEnabled false CAN00_f26020e5 /MICROSAR/ComM/ComMConfigSet/ComMChannel /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMBusType COMM_BUS_TYPE_CAN /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMChannelId 0 /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMFullCommRequestNotificationEnabled false /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMMainFunctionPeriod 0.02 /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMNoCom false /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMNoWakeup false CHNL_f276589c /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMUserPerChannel /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMUserPerChannel/ComMUserChannel /ActiveEcuC/ComM/ComMConfigSet/USR_CHNL_f276589c ComMNetworkManagement /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMNetworkManagement /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMNetworkManagement/ComMNmVariant FULL /MICROSAR/ComM/ComMConfigSet/ComMChannel/ComMNetworkManagement/ComMPncNmRequest true USR_CHNL_f276589c /MICROSAR/ComM/ComMConfigSet/ComMUser /MICROSAR/ComM/ComMConfigSet/ComMUser/ComMUserIdentifier 0 /MICROSAR/ComM/ComMConfigSet/ComMUser/ComMUserModeNotification true Mcu /MICROSAR/Mcu VARIANT-PRE-COMPILE /MICROSAR/Mcu_Impl McuGeneralConfiguration /MICROSAR/Mcu/McuGeneralConfiguration /MICROSAR/Mcu/McuGeneralConfiguration/McuDevErrorDetect true /MICROSAR/Mcu/McuGeneralConfiguration/McuGetRamStateApi false /MICROSAR/Mcu/McuGeneralConfiguration/McuInitClock true /MICROSAR/Mcu/McuGeneralConfiguration/McuNoPll true /MICROSAR/Mcu/McuGeneralConfiguration/McuPerformResetApi true /MICROSAR/Mcu/McuGeneralConfiguration/McuVersionInfoApi true McuModuleConfiguration /MICROSAR/Mcu/McuModuleConfiguration McuClockSettingConfig /MICROSAR/Mcu/McuModuleConfiguration/McuClockSettingConfig McuClockReferencePoint /MICROSAR/Mcu/McuModuleConfiguration/McuClockSettingConfig/McuClockReferencePoint /MICROSAR/Mcu/McuModuleConfiguration/McuClockSettingConfig/McuClockReferencePoint/McuClockReferencePointFrequency 80000000 McuModeSettingConf /MICROSAR/Mcu/McuModuleConfiguration/McuModeSettingConf /MICROSAR/Mcu/McuModuleConfiguration/McuModeSettingConf/McuMode 1 McuPublishedInformation /MICROSAR/Mcu/McuPublishedInformation McuResetReasonConf /MICROSAR/Mcu/McuPublishedInformation/McuResetReasonConf /MICROSAR/Mcu/McuPublishedInformation/McuResetReasonConf/McuResetReason 0 VectorCommonData /MICROSAR/McuCommonData /MICROSAR/McuCommonData/BswmdVersion 2.00.00 Os /MICROSAR/RH850_F1K/Os VARIANT-PRE-COMPILE /MICROSAR/RH850_F1K/Os_Impl OsOS /MICROSAR/RH850_F1K/Os/OsOS /MICROSAR/RH850_F1K/Os/OsOS/OsStackMonitoring false /MICROSAR/RH850_F1K/Os/OsOS/OsStatus EXTENDED /MICROSAR/RH850_F1K/Os/OsOS/OsUseGetServiceId true /MICROSAR/RH850_F1K/Os/OsOS/OsUseParameterAccess true /MICROSAR/RH850_F1K/Os/OsOS/OsUseResScheduler true /MICROSAR/RH850_F1K/Os/OsOS/OsOSTypeHeaderInclude true /MICROSAR/RH850_F1K/Os/OsOS/OsOSCompiler GHS /MICROSAR/RH850_F1K/Os/OsOS/OsScalabilityClass SC1 /MICROSAR/RH850_F1K/Os/OsOS/OsOSStackUsageMeasurement AUTO /MICROSAR/RH850_F1K/Os/OsOS/OsOSCallISRHooks false /MICROSAR/RH850_F1K/Os/OsOS/OsOSSupportFPU false /MICROSAR/RH850_F1K/Os/OsOS/OsOSEnumeratedUnhandledISRs false /MICROSAR/RH850_F1K/Os/OsOS/OsOSORTIDebugSupport false /MICROSAR/RH850_F1K/Os/OsOS/OsOSUserConfigurationVersion 1 /MICROSAR/RH850_F1K/Os/OsOS/OsOSSystemStackSize 200 /MICROSAR/RH850_F1K/Os/OsOS/OsOSOSInternalChecks Additional /MICROSAR/RH850_F1K/Os/OsOS/OsOSORTIDebugLevel ORTI_20 /MICROSAR/RH850_F1K/Os/OsOS/OsOSTimingHooks OsOSSCHEDULE /MICROSAR/RH850_F1K/Os/OsOS/OsOSSCHEDULE AUTO /MICROSAR/RH850_F1K/Os/OsOS/OsOSSCHEDULE/AUTO OsOSCC /MICROSAR/RH850_F1K/Os/OsOS/OsOSCC AUTO /MICROSAR/RH850_F1K/Os/OsOS/OsOSCC/AUTO OsOSProtectionHookReaction /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction Selected /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction/Selected /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction/Selected/OsOSKILLTASKISR false /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction/Selected/OsOSKILLAPPL false /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction/Selected/OsOSKILLAPPL_RESTART false /MICROSAR/RH850_F1K/Os/OsOS/OsOSProtectionHookReaction/Selected/OsOSSHUTDOWN false OsOSTimingMeasurement /MICROSAR/RH850_F1K/Os/OsOS/OsOSTimingMeasurement FALSE /MICROSAR/RH850_F1K/Os/OsOS/OsOSTimingMeasurement/FALSE OsHooks /MICROSAR/RH850_F1K/Os/OsOS/OsHooks /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsErrorHook true /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsPostTaskHook false /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsPreTaskHook false /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsShutdownHook true /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsStartupHook false /MICROSAR/RH850_F1K/Os/OsOS/OsHooks/OsProtectionHook false OsOSPreAlarmHook /MICROSAR/RH850_F1K/Os/OsOS/OsOSPreAlarmHook FALSE /MICROSAR/RH850_F1K/Os/OsOS/OsOSPreAlarmHook/FALSE OsOSAPIOptimization /MICROSAR/RH850_F1K/Os/OsOS/OsOSAPIOptimization Automatic /MICROSAR/RH850_F1K/Os/OsOS/OsOSAPIOptimization/Automatic OsOSUseSemaphores /MICROSAR/RH850_F1K/Os/OsOS/OsOSUseSemaphores FALSE /MICROSAR/RH850_F1K/Os/OsOS/OsOSUseSemaphores/FALSE VectorCommonData /MICROSAR/RH850_F1K/OsCommonData /MICROSAR/RH850_F1K/OsCommonData/BswmdVersion 1.06.03 OsImplementationInformation /MICROSAR/RH850_F1K/Os/OsImplementationInformation /MICROSAR/RH850_F1K/Os/OsImplementationInformation/OsVectorOilVersion 4.1 /MICROSAR/RH850_F1K/Os/OsImplementationInformation/OsVectorImplementationName RH850_F1K.i41 /MICROSAR/RH850_F1K/Os/OsImplementationInformation/OsBswmdStyleVersion 2 OSDEFAULTAPPMODE /MICROSAR/RH850_F1K/Os/OsAppMode SystemTimer /MICROSAR/RH850_F1K/Os/OsCounter /MICROSAR/RH850_F1K/Os/OsCounter/OsCounterMaxAllowedValue 65535 /MICROSAR/RH850_F1K/Os/OsCounter/OsCounterTicksPerBase 1 /MICROSAR/RH850_F1K/Os/OsCounter/OsCounterMinCycle 1 /MICROSAR/RH850_F1K/Os/OsCounter/OsSecondsPerTick 1234567890 /MICROSAR/RH850_F1K/Os/OsCounter/OsCounterType HARDWARE RES_SCHEDULER /MICROSAR/RH850_F1K/Os/OsResource /MICROSAR/RH850_F1K/Os/OsResource/OsResourceProperty STANDARD SchM_Task /MICROSAR/RH850_F1K/Os/OsTask /MICROSAR/RH850_F1K/Os/OsTask/OsTaskActivation 1 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskPriority 6 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskSchedule NON /MICROSAR/RH850_F1K/Os/OsTask/OsTaskTYPE EXTENDED /MICROSAR/RH850_F1K/Os/OsTask/OsTaskNotUsingSchedule false /MICROSAR/RH850_F1K/Os/OsTask/OsTaskStackSize 300 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/RH850_F1K/Os/OsTask/OsTaskEventRef DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_20ms /MICROSAR/RH850_F1K/Os/OsTask/OsTaskResourceRef /ActiveEcuC/Os/RES_ECUM /MICROSAR/RH850_F1K/Os/OsTask/OsTaskEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Run_Fee_Fee_MainFunction Rte_Ev_Cyclic2_SchM_Task_0_10ms DV:RTE /MICROSAR/RH850_F1K/Os/OsEvent Rte_Ev_Cyclic2_SchM_Task_0_20ms DV:RTE /MICROSAR/RH850_F1K/Os/OsEvent Rte_Al_TE2_SchM_Task_0_10ms DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmCounterRef DV:RTE /ActiveEcuC/Os/SystemTimer OsAlarmAction DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction OsAlarmSetEvent DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_10ms /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef DV:RTE /ActiveEcuC/Os/SchM_Task Rte_Al_TE2_SchM_Task_0_20ms DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmCounterRef DV:RTE /ActiveEcuC/Os/SystemTimer OsAlarmAction DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction OsAlarmSetEvent DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic2_SchM_Task_0_20ms /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef DV:RTE /ActiveEcuC/Os/SchM_Task RES_ECUM /MICROSAR/RH850_F1K/Os/OsResource /MICROSAR/RH850_F1K/Os/OsResource/OsResourceProperty STANDARD Rte_Al_TE_Fee_Fee_MainFunction DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmCounterRef DV:RTE /ActiveEcuC/Os/SystemTimer OsAlarmAction DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction OsAlarmSetEvent DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Run_Fee_Fee_MainFunction /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef DV:RTE /ActiveEcuC/Os/SchM_Task Rte_Ev_Run_Fee_Fee_MainFunction DV:RTE /MICROSAR/RH850_F1K/Os/OsEvent Init_Task /MICROSAR/RH850_F1K/Os/OsTask /MICROSAR/RH850_F1K/Os/OsTask/OsTaskActivation 1 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskPriority 4 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskSchedule NON /MICROSAR/RH850_F1K/Os/OsTask/OsTaskTYPE BASIC /MICROSAR/RH850_F1K/Os/OsTask/OsTaskNotUsingSchedule false /MICROSAR/RH850_F1K/Os/OsTask/OsTaskStackSize 300 OsTaskAutostart /MICROSAR/RH850_F1K/Os/OsTask/OsTaskAutostart /MICROSAR/RH850_F1K/Os/OsTask/OsTaskAutostart/OsTaskAppModeRef /ActiveEcuC/Os/OSDEFAULTAPPMODE My_Task /MICROSAR/RH850_F1K/Os/OsTask /MICROSAR/RH850_F1K/Os/OsTask/OsTaskActivation 2 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskPriority 2 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskSchedule NON /MICROSAR/RH850_F1K/Os/OsTask/OsTaskTYPE BASIC /MICROSAR/RH850_F1K/Os/OsTask/OsTaskNotUsingSchedule false /MICROSAR/RH850_F1K/Os/OsTask/OsTaskStackSize 300 IO_Task /MICROSAR/RH850_F1K/Os/OsTask /MICROSAR/RH850_F1K/Os/OsTask/OsTaskActivation 1 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskPriority 3 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskSchedule NON /MICROSAR/RH850_F1K/Os/OsTask/OsTaskTYPE EXTENDED /MICROSAR/RH850_F1K/Os/OsTask/OsTaskNotUsingSchedule false /MICROSAR/RH850_F1K/Os/OsTask/OsTaskStackSize 300 /MICROSAR/RH850_F1K/Os/OsTask/OsTaskEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic_IO_Task_0_200ms /MICROSAR/RH850_F1K/Os/OsTask/OsTaskEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Run_CpSaInteriorLightFront_RCtSaInteriorLightSwitchLight Rte_Al_TE_IO_Task_0_200ms DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmCounterRef DV:RTE /ActiveEcuC/Os/SystemTimer OsAlarmAction DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction OsAlarmSetEvent DV:RTE /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventRef DV:RTE /ActiveEcuC/Os/Rte_Ev_Cyclic_IO_Task_0_200ms /MICROSAR/RH850_F1K/Os/OsAlarm/OsAlarmAction/OsAlarmSetEvent/OsAlarmSetEventTaskRef DV:RTE /ActiveEcuC/Os/IO_Task Rte_Ev_Cyclic_IO_Task_0_200ms DV:RTE /MICROSAR/RH850_F1K/Os/OsEvent Rte_Ev_Run_CpSaInteriorLightFront_RCtSaInteriorLightSwitchLight DV:RTE /MICROSAR/RH850_F1K/Os/OsEvent Crc /MICROSAR/Crc VARIANT-PRE-COMPILE /MICROSAR/Crc_Impl CrcGeneral /MICROSAR/Crc/CrcGeneral /MICROSAR/Crc/CrcGeneral/Crc16Mode CRC_16_RUNTIME /MICROSAR/Crc/CrcGeneral/Crc32Mode CRC_32_RUNTIME /MICROSAR/Crc/CrcGeneral/Crc8Mode CRC_8_RUNTIME /MICROSAR/Crc/CrcGeneral/CrcVersionInfoApi true /MICROSAR/Crc/CrcGeneral/Crc32P4Mode CRC_32P4_RUNTIME /MICROSAR/Crc/CrcGeneral/Crc8H2FMode CRC_8H2F_RUNTIME Fee /MICROSAR/Fee VARIANT-PRE-COMPILE /MICROSAR/Fee_Impl FeeGeneral /MICROSAR/Fee/FeeGeneral /MICROSAR/Fee/FeeGeneral/FeeDevErrorDetect true /MICROSAR/Fee/FeeGeneral/FeeIndex 0 /MICROSAR/Fee/FeeGeneral/FeeNvmJobEndNotification NvM_JobEndNotification /MICROSAR/Fee/FeeGeneral/FeeNvmJobErrorNotification NvM_JobErrorNotification /MICROSAR/Fee/FeeGeneral/FeePollingMode true /MICROSAR/Fee/FeeGeneral/FeeVersionInfoApi true /MICROSAR/Fee/FeeGeneral/FeeInternalBufferSize 64 /MICROSAR/Fee/FeeGeneral/FeeMainFunctionPeriod 0.005 /MICROSAR/Fee/FeeGeneral/FeeMainFunctionTriggering FixedCycleTime FeeDevErrorChecks /MICROSAR/Fee/FeeGeneral/FeeDevErrorChecks /MICROSAR/Fee/FeeGeneral/FeeDevErrorChecks/FeeDebugReporting true /MICROSAR/Fee/FeeGeneral/FeeDevErrorChecks/FeeDetErrorhook Det_ReportError /MICROSAR/Fee/FeeGeneral/FeeDevErrorChecks/FeeDetIncludeFile Det.h FeePublishedInformation /MICROSAR/Fee/FeePublishedInformation /MICROSAR/Fee/FeePublishedInformation/FeeBlockOverhead 2 /MICROSAR/Fee/FeePublishedInformation/FeeMaximumBlockingTime 1 /MICROSAR/Fee/FeePublishedInformation/FeePageOverhead 0 /MICROSAR/Fee/FeePublishedInformation/FeeChunkHeader 16 /MICROSAR/Fee/FeePublishedInformation/FeeChunkLink 8 /MICROSAR/Fee/FeePublishedInformation/FeeSectorHeader 8 FeeSpecificFeatures /MICROSAR/Fee/FeeSpecificFeatures /MICROSAR/Fee/FeeSpecificFeatures/FeeApplErrorCallbackFunction Appl_CriticalErrorCallback /MICROSAR/Fee/FeeSpecificFeatures/FeeApplErrorCallbackIncludeFile Appl_Include.h /MICROSAR/Fee/FeeSpecificFeatures/FeeGetEraseCycleApi false /MICROSAR/Fee/FeeSpecificFeatures/FeeGetWriteCycleApi false /MICROSAR/Fee/FeeSpecificFeatures/FeeUseApplErrorCallback false /MICROSAR/Fee/FeeSpecificFeatures/FeeUseJobCache false /MICROSAR/Fee/FeeSpecificFeatures/FeeForceSectorSwitchApi false /MICROSAR/Fee/FeeSpecificFeatures/FeeDataConversionApi false /MICROSAR/Fee/FeeSpecificFeatures/FeeFblConfig false /MICROSAR/Fee/FeeSpecificFeatures/FeeMaxLinkTableSize 4095 /MICROSAR/Fee/FeeSpecificFeatures/FeeFssControlApi false FeePartitionConfiguration /MICROSAR/Fee/FeePartitionConfiguration /MICROSAR/Fee/FeePartitionConfiguration/FeeBssThresholdReserved 2048 /MICROSAR/Fee/FeePartitionConfiguration/FeeFssThresholdReserved 1024 /MICROSAR/Fee/FeePartitionConfiguration/FeeLowerSectorAddress 0 /MICROSAR/Fee/FeePartitionConfiguration/FeeLowerSectorSize 16384 /MICROSAR/Fee/FeePartitionConfiguration/FeeUpperSectorAddress 16384 /MICROSAR/Fee/FeePartitionConfiguration/FeeUpperSectorSize 16384 /MICROSAR/Fee/FeePartitionConfiguration/FeeAddressAlignment 8 /MICROSAR/Fee/FeePartitionConfiguration/FeeWriteAlignment 8 /MICROSAR/Fee/FeePartitionConfiguration/FeePartitionDevice /ActiveEcuC/Fls/FlsConfigSet FeeConfigBlock /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 176 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 4 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 2 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 0 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemAdminDataBlock /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 48 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 12 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 1 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock0 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 64 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 2 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock1 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 16 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 3 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock2 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 128 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 4 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock3 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 80 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 5 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock4 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 144 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 6 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock5 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 32 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 7 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock6 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 96 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 8 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemPrimaryDataBlock7 /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 112 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 14 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 9 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration FeeDemStatusDataBlock /MICROSAR/Fee/FeeBlockConfiguration /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIdFixed false /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockIsCritical false /MICROSAR/Fee/FeeBlockConfiguration/FeeImmediateData false /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfChunkInstances 3 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockNumber 160 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockSize 20 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfWriteCycles 10000 /MICROSAR/Fee/FeeBlockConfiguration/FeeNumberOfDatasets 1 /MICROSAR/Fee/FeeBlockConfiguration/FeeBlockId 10 /MICROSAR/Fee/FeeBlockConfiguration/FeePartition /ActiveEcuC/Fee/FeePartitionConfiguration Fls /MICROSAR/Fls VARIANT-PRE-COMPILE /MICROSAR/Fls_Impl FlsConfigSet /MICROSAR/Fls/FlsConfigSet /MICROSAR/Fls/FlsConfigSet/FlsMaxReadFastMode 64 /MICROSAR/Fls/FlsConfigSet/FlsMaxReadNormalMode 32 /MICROSAR/Fls/FlsConfigSet/FlsMaxWriteFastMode 8 /MICROSAR/Fls/FlsConfigSet/FlsMaxWriteNormalMode 8 /MICROSAR/Fls/FlsConfigSet/FlsDefaultMode MEMIF_MODE_SLOW FlsSectorList /MICROSAR/Fls/FlsConfigSet/FlsSectorList FlsSector000 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 0 FlsSector001 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 1024 FlsSector002 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 2048 FlsSector003 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 3072 FlsSector004 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 4096 FlsSector005 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 5120 FlsSector006 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 6144 FlsSector007 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 7168 FlsSector008 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 8192 FlsSector009 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 9216 FlsSector010 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 10240 FlsSector011 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 11264 FlsSector012 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 12288 FlsSector013 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 13312 FlsSector014 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 14336 FlsSector015 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 15360 FlsSector016 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 16384 FlsSector017 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 17408 FlsSector018 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 18432 FlsSector019 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 19456 FlsSector020 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 20480 FlsSector021 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 21504 FlsSector022 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 22528 FlsSector023 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 23552 FlsSector024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 24576 FlsSector025 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 25600 FlsSector026 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 26624 FlsSector027 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 27648 FlsSector028 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 28672 FlsSector029 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 29696 FlsSector030 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 30720 FlsSector031 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 31744 FlsSector032 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 32768 FlsSector033 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 33792 FlsSector034 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 34816 FlsSector035 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 35840 FlsSector036 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 36864 FlsSector037 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 37888 FlsSector038 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 38912 FlsSector039 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 39936 FlsSector040 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 40960 FlsSector041 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 41984 FlsSector042 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 43008 FlsSector043 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 44032 FlsSector044 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 45056 FlsSector045 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 46080 FlsSector046 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 47104 FlsSector047 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 48128 FlsSector048 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 49152 FlsSector049 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 50176 FlsSector050 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 51200 FlsSector051 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 52224 FlsSector052 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 53248 FlsSector053 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 54272 FlsSector054 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 55296 FlsSector055 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 56320 FlsSector056 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 57344 FlsSector057 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 58368 FlsSector058 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 59392 FlsSector059 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 60416 FlsSector060 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 61440 FlsSector061 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 62464 FlsSector062 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 63488 FlsSector063 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 64512 FlsSector064 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 65536 FlsSector065 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 66560 FlsSector066 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 67584 FlsSector067 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 68608 FlsSector068 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 69632 FlsSector069 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 70656 FlsSector070 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 71680 FlsSector071 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 72704 FlsSector072 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 73728 FlsSector073 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 74752 FlsSector074 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 75776 FlsSector075 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 76800 FlsSector076 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 77824 FlsSector077 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 78848 FlsSector078 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 79872 FlsSector079 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 80896 FlsSector080 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 81920 FlsSector081 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 82944 FlsSector082 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 83968 FlsSector083 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 84992 FlsSector084 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 86016 FlsSector085 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 87040 FlsSector086 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 88064 FlsSector087 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 89088 FlsSector088 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 90112 FlsSector089 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 91136 FlsSector090 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 92160 FlsSector091 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 93184 FlsSector092 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 94208 FlsSector093 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 95232 FlsSector094 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 96256 FlsSector095 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 97280 FlsSector096 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 98304 FlsSector097 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 99328 FlsSector098 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 100352 FlsSector099 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 101376 FlsSector100 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 102400 FlsSector101 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 103424 FlsSector102 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 104448 FlsSector103 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 105472 FlsSector104 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 106496 FlsSector105 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 107520 FlsSector106 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 108544 FlsSector107 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 109568 FlsSector108 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 110592 FlsSector109 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 111616 FlsSector110 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 112640 FlsSector111 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 113664 FlsSector112 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 114688 FlsSector113 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 115712 FlsSector114 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 116736 FlsSector115 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 117760 FlsSector116 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 118784 FlsSector117 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 119808 FlsSector118 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 120832 FlsSector119 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 121856 FlsSector120 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 122880 FlsSector121 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 123904 FlsSector122 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 124928 FlsSector123 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 125952 FlsSector124 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 126976 FlsSector125 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 128000 FlsSector126 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 129024 FlsSector127 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsNumberOfSectors 1 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorSize 1024 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsPageSize 2 /MICROSAR/Fls/FlsConfigSet/FlsSectorList/FlsSector/FlsSectorStartaddress 130048 FlsGeneral /MICROSAR/Fls/FlsGeneral /MICROSAR/Fls/FlsGeneral/FlsBaseAddress 0 /MICROSAR/Fls/FlsGeneral/FlsTotalSize 131072 /MICROSAR/Fls/FlsGeneral/FlsCancelApi true /MICROSAR/Fls/FlsGeneral/FlsCompareApi true /MICROSAR/Fls/FlsGeneral/FlsDevErrorDetect true /MICROSAR/Fls/FlsGeneral/FlsDriverIndex 0 /MICROSAR/Fls/FlsGeneral/FlsGetJobResultApi true /MICROSAR/Fls/FlsGeneral/FlsGetStatusApi true /MICROSAR/Fls/FlsGeneral/FlsSetModeApi true /MICROSAR/Fls/FlsGeneral/FlsVersionInfoApi true /MICROSAR/Fls/FlsGeneral/FlsCfgIncludeList Fee_Cbk.h /MICROSAR/Fls/FlsGeneral/FlsDataFile .\..\..\CANoe\Fls_DataFile.txt /MICROSAR/Fls/FlsGeneral/FlsCfgEraseFlashOnSizeMismatch true /MICROSAR/Fls/FlsGeneral/FlsCfgIsErasedCheck true FlsPublishedInformation /MICROSAR/Fls/FlsPublishedInformation /MICROSAR/Fls/FlsPublishedInformation/FlsErasedValue 255 VectorCommonData /MICROSAR/FlsCommonData /MICROSAR/FlsCommonData/BswmdVersion 3.00.00 MemIf /MICROSAR/MemIf VARIANT-PRE-COMPILE /MICROSAR/MemIf_Impl MemIfGeneral /MICROSAR/MemIf/MemIfGeneral /MICROSAR/MemIf/MemIfGeneral/MemIfDevErrorDetect true /MICROSAR/MemIf/MemIfGeneral/MemIfVersionInfoApi true MemIfMemHwA /MICROSAR/MemIf/MemIfMemHwA /MICROSAR/MemIf/MemIfMemHwA/MemIfMemHwAId 0 /MICROSAR/MemIf/MemIfMemHwA/MemIfMemHwARef /ActiveEcuC/Fee/FeeGeneral NvM /MICROSAR/NvM VARIANT-PRE-COMPILE /MICROSAR/NvM_Impl NvMConfigBlock /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_REDUNDANT /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 2 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 2 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts true /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeConfigBlock NvMCommon /MICROSAR/NvM/NvMCommon /MICROSAR/NvM/NvMCommon/NvMApiConfigClass NVM_API_CONFIG_CLASS_3 /MICROSAR/NvM/NvMCommon/NvMBswMMultiBlockJobStatusInformation false /MICROSAR/NvM/NvMCommon/NvMCompiledConfigId 1 /MICROSAR/NvM/NvMCommon/NvMCrcNumOfBytes 64 /MICROSAR/NvM/NvMCommon/NvMDatasetSelectionBits 4 /MICROSAR/NvM/NvMCommon/NvMDevErrorDetect true /MICROSAR/NvM/NvMCommon/NvMDrvModeSwitch false /MICROSAR/NvM/NvMCommon/NvMDynamicConfiguration false /MICROSAR/NvM/NvMCommon/NvMJobPrioritization false /MICROSAR/NvM/NvMCommon/NvMMultiBlockCallback NULL_PTR /MICROSAR/NvM/NvMCommon/NvMPollingMode true /MICROSAR/NvM/NvMCommon/NvMRepeatMirrorOperations 0 /MICROSAR/NvM/NvMCommon/NvMSetRamBlockStatusApi true /MICROSAR/NvM/NvMCommon/NvMSizeStandardJobQueue 2 /MICROSAR/NvM/NvMCommon/NvMVersionInfoApi false /MICROSAR/NvM/NvMCommon/NvMMaxNoOfWriteRetries 1 /MICROSAR/NvM/NvMCommon/NvMMainFunctionPeriod 0.01 /MICROSAR/NvM/NvMCommon/NvMRepairRedundantBlocksApi false /MICROSAR/NvM/NvMCommon/NvMUseBlockIdCheck false NvMCommonVendorParams /MICROSAR/NvM/NvMCommonVendorParams /MICROSAR/NvM/NvMCommonVendorParams/NvMMultiblockId MultiBlockRequest /MICROSAR/NvM/NvMCommonVendorParams/NvMCrcIntBuffer true /MICROSAR/NvM/NvMCommonVendorParams/NvMKillWriteAllApi true /MICROSAR/NvM/NvMCommonVendorParams/NvMCfgCbkIncludeList main.h /MICROSAR/NvM/NvMCommonVendorParams/NvMCfgCbkIncludeList Dem.h /MICROSAR/NvM/NvMCommonVendorParams/NvMCfgCbkIncludeList Dem_Cbk.h NvmDemEventParameterRefs /MICROSAR/NvM/NvmDemEventParameterRefs /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_INTEGRITY_FAILED /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_LOSS_OF_REDUNDANCY /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_QUEUE_OVERFLOW /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_REQ_FAILED /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_VERIFY_FAILED /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_WRITE_PROTECTED /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/NvM/NvmDemEventParameterRefs/NVM_E_WRONG_BLOCK_ID /ActiveEcuC/Dem/DemConfigSet/AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID DemAdminDataBlock /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback Dem_NvM_InitAdminData /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 10 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 2 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_Cfg_AdminData /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemAdminDataBlock DemStatusDataBlock /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback Dem_NvM_InitStatusData /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 18 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 3 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_Cfg_StatusData /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemStatusDataBlock DemPrimaryDataBlock0 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 4 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_0 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock0 DemPrimaryDataBlock1 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 5 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_1 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock1 DemPrimaryDataBlock2 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 6 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_2 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock2 DemPrimaryDataBlock3 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 7 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_3 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock3 DemPrimaryDataBlock4 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 8 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_4 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock4 DemPrimaryDataBlock5 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 9 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_5 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock5 DemPrimaryDataBlock6 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 10 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_6 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock6 DemPrimaryDataBlock7 /MICROSAR/NvM/NvMBlockDescriptor /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockCrcType NVM_CRC16 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockManagementType NVM_BLOCK_NATIVE /MICROSAR/NvM/NvMBlockDescriptor/NvMInitBlockCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMResistantToChangedSw true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForReadAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMSelectBlockForWriteAll true /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteRamBlockToNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMUseInitCallback false /MICROSAR/NvM/NvMBlockDescriptor/NvMUseJobendCallback true /MICROSAR/NvM/NvMBlockDescriptor/NvMSingleBlockCallback Dem_NvM_JobFinished /MICROSAR/NvM/NvMBlockDescriptor/NvMBswMBlockStatusInformation false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseCrc true /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockUseSyncMechanism false /MICROSAR/NvM/NvMBlockDescriptor/NvMCalcRamBlockCrc false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockJobPriority 127 /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockWriteProt false /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfReadRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMMaxNumOfWriteRetries 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockLength 12 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvBlockNum 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMNvramBlockIdentifier 11 /MICROSAR/NvM/NvMBlockDescriptor/NvMRamBlockDataAddress Dem_PrimaryEntry_7 /MICROSAR/NvM/NvMBlockDescriptor/NvMReadRamBlockFromNvCallback NULL_PTR /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockDataAddress Dem_MemoryEntryInit /MICROSAR/NvM/NvMBlockDescriptor/NvMRomBlockNum 0 /MICROSAR/NvM/NvMBlockDescriptor/NvMStaticBlockIDCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteBlockOnce false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerification false /MICROSAR/NvM/NvMBlockDescriptor/NvMWriteVerificationDataSize 1 /MICROSAR/NvM/NvMBlockDescriptor/NvMUseServicePorts false /MICROSAR/NvM/NvMBlockDescriptor/NvMAutomaticBlockLength false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheck false /MICROSAR/NvM/NvMBlockDescriptor/NvMBlockLengthCheckType true NvMTargetBlockReference /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef /MICROSAR/NvM/NvMBlockDescriptor/NvMTargetBlockReference/NvMFeeRef/NvMNameOfFeeBlock /ActiveEcuC/Fee/FeeDemPrimaryDataBlock7 BswM /MICROSAR/BswM VARIANT-PRE-COMPILE /MICROSAR/BswM_Impl BswMGeneral /MICROSAR/BswM/BswMGeneral /MICROSAR/BswM/BswMGeneral/BswMMainFunctionPeriod 0.01 /MICROSAR/BswM/BswMGeneral/BswMVersionInfoApi false /MICROSAR/BswM/BswMGeneral/BswMDevErrorDetect true /MICROSAR/BswM/BswMGeneral/BswMCanSMEnabled true /MICROSAR/BswM/BswMGeneral/BswMComMEnabled true /MICROSAR/BswM/BswMGeneral/BswMDcmEnabled false /MICROSAR/BswM/BswMGeneral/BswMEcuMEnabled true /MICROSAR/BswM/BswMGeneral/BswMEthSMEnabled false /MICROSAR/BswM/BswMGeneral/BswMFrSMEnabled false /MICROSAR/BswM/BswMGeneral/BswMGenericRequestEnabled true /MICROSAR/BswM/BswMGeneral/BswMLinSMEnabled false /MICROSAR/BswM/BswMGeneral/BswMLinTPEnabled false /MICROSAR/BswM/BswMGeneral/BswMNvMEnabled true /MICROSAR/BswM/BswMGeneral/BswMJ1939NmEnabled false /MICROSAR/BswM/BswMGeneral/BswMNmEnabled false /MICROSAR/BswM/BswMGeneral/BswMSdEnabled false /MICROSAR/BswM/BswMGeneral/BswMJ1939DcmEnabled false /MICROSAR/BswM/BswMGeneral/BswMModeCheck true /MICROSAR/BswM/BswMGeneral/BswMPduREnabled false /MICROSAR/BswM/BswMGeneral/BswMRuleControlEnabled false /MICROSAR/BswM/BswMGeneral/BswMWdgMEnabled false BswMUserIncludeFiles /MICROSAR/BswM/BswMGeneral/BswMUserIncludeFiles /MICROSAR/BswM/BswMGeneral/BswMUserIncludeFiles/BswMUserIncludeFile main.h BswMCommonData /MICROSAR/BswM/BswMGeneral/BswMCommonData BswMGeneration /MICROSAR/BswM/BswMGeneral/BswMGeneration /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMOutOfBoundsWriteSanitizer false /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMOutOfBoundsReadSanitizer false /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMReduceConstantData2Define true /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMReduceDataByStreaming false /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMBoolDataInArrayOfStructStrategy BITMASKING /MICROSAR/BswM/BswMGeneral/BswMGeneration/BswMInterfacesForDeactivatedData false BswMConfig /MICROSAR/BswM/BswMConfig BswMArbitration /MICROSAR/BswM/BswMConfig/BswMArbitration BswMRule_CAN_FULL_COMM /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMNestedExecutionOnly false /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMRuleInitState BSWM_FALSE /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMRuleId 0 /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMRuleExpressionRef /ActiveEcuC/BswM/BswMConfig/BswMArbitration/BswMLogicalExpression /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMRuleTrueActionList /ActiveEcuC/BswM/BswMConfig/BswMModeControl/BswMActionList_CAN_FULL_COMM_TRUE /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMRule/BswMRuleFalseActionList /ActiveEcuC/BswM/BswMConfig/BswMModeControl/BswMActionList_CAN_FULL_COMM_FALSE CanSMInd_CAN00_f26020e5 /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMRequestProcessing BSWM_IMMEDIATE /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMArbitrateOnInit false BswMModeRequestSource /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeRequestSource BswMCanSMIndication /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeRequestSource/BswMCanSMIndication /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeRequestSource/BswMCanSMIndication/BswMCanSMChannelRef /ActiveEcuC/ComM/ComMConfigSet/CAN00_f26020e5 BswMModeInitValue /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeInitValue BswMBswModeInitValue /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeInitValue/BswMBswModeInitValue /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeRequestPort/BswMModeInitValue/BswMBswModeInitValue/BswMBswModeInitValueMode CANSM_BSWM_NO_COMMUNICATION CanSMInd_CAN00_f26020e5_BSWM_EQUALS_CANSM_BSWM_FULL_COMMUNICATION /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition/BswMConditionType BSWM_EQUALS /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition/BswMConditionMode /ActiveEcuC/BswM/BswMConfig/BswMArbitration/CanSMInd_CAN00_f26020e5 BswMConditionValue /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition/BswMConditionValue BswMBswMode /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition/BswMConditionValue/BswMBswMode /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMModeCondition/BswMConditionValue/BswMBswMode/BswMBswRequestedMode CANSM_BSWM_FULL_COMMUNICATION BswMLogicalExpression /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMLogicalExpression /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMLogicalExpression/BswMLogicalOperator BSWM_AND /MICROSAR/BswM/BswMConfig/BswMArbitration/BswMLogicalExpression/BswMArgumentRef /ActiveEcuC/BswM/BswMConfig/BswMArbitration/CanSMInd_CAN00_f26020e5_BSWM_EQUALS_CANSM_BSWM_FULL_COMMUNICATION BswMModeControl /MICROSAR/BswM/BswMConfig/BswMModeControl /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMInitActionListRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_AL_Initialize INIT_AL_Initialize INIT_AL_Initialize true /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListExecution BSWM_CONDITION INIT_Action_Fls_Init INIT_Action_Fls_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 0 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Fls_Init INIT_Action_Fee_Init INIT_Action_Fee_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 1 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Fee_Init INIT_Action_NvM_Init INIT_Action_NvM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 2 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_NvM_Init INIT_Action_NvMReadAll INIT_Action_NvMReadAll /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 3 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_NvMReadAll INIT_Action_Nm_Init INIT_Action_Nm_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 4 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Nm_Init INIT_Action_Can_Init INIT_Action_Can_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 5 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Can_Init INIT_Action_CanIf_Init INIT_Action_CanIf_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 6 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_CanIf_Init INIT_Action_CanNm_Init INIT_Action_CanNm_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 7 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_CanNm_Init INIT_Action_CanSM_Init INIT_Action_CanSM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 8 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_CanSM_Init INIT_Action_PduR_Init INIT_Action_PduR_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 9 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_PduR_Init INIT_Action_Com_Init INIT_Action_Com_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 10 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Com_Init INIT_Action_ComM_Init INIT_Action_ComM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 11 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_ComM_Init INIT_Action_Dem_Init INIT_Action_Dem_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 12 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_Dem_Init INIT_Action_RteStart INIT_Action_RteStart /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 13 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/INIT_Action_RteStart INIT_Action_Fls_Init INIT_Action_Fls_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Fls_Init(&FlsConfigSet) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Fls.h INIT_Action_Fee_Init INIT_Action_Fee_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Fee_Init() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Fee.h INIT_Action_NvM_Init INIT_Action_NvM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction NvM_Init() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile NvM.h INIT_Action_NvMReadAll INIT_Action_NvMReadAll /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction BswM_INIT_NvMReadAll() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout true INIT_Action_Nm_Init INIT_Action_Nm_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Nm_Init() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Nm.h INIT_Action_Can_Init INIT_Action_Can_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Can_Init(NULL_PTR) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Can.h INIT_Action_CanIf_Init INIT_Action_CanIf_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction CanIf_Init(NULL_PTR) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile CanIf.h INIT_Action_CanNm_Init INIT_Action_CanNm_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction CanNm_Init(NULL_PTR) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile CanNm.h INIT_Action_CanSM_Init INIT_Action_CanSM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction CanSM_Init(&CanSMConfiguration) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile CanSM_EcuM.h INIT_Action_PduR_Init INIT_Action_PduR_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction PduR_Init(NULL_PTR) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile PduR.h INIT_Action_Com_Init INIT_Action_Com_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Com_Init(NULL_PTR) /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Com.h INIT_Action_ComM_Init INIT_Action_ComM_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction ComM_Init() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile ComM.h INIT_Action_Dem_Init INIT_Action_Dem_Init /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction Dem_Init() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserIncludeFile Dem.h INIT_Action_RteStart INIT_Action_RteStart /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMUserCalloutFunction RteStart() /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMUserCallout/BswMCreateCallout true Com_IpduGroupControl_BswMActionList_CAN_FULL_COMM /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMPduGroupSwitch /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMPduGroupSwitchReinit false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMEnabledPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Tx_fcef2243 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMEnabledPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Rx_fcef2243 BswMActionList_CAN_FULL_COMM_TRUE /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListExecution BSWM_TRIGGER Com_IpduGroupControl_BswMActionList_CAN_FULL_COMM /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 0 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/Com_IpduGroupControl_BswMActionList_CAN_FULL_COMM Com_IpduGroupControl_BswMActionList_CAN_NO_COMM /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction BswMAvailableActions /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions BswMPduGroupSwitch /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMPduGroupSwitchReinit false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMDisabledPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Rx_fcef2243 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMAction/BswMAvailableActions/BswMPduGroupSwitch/BswMDisabledPduGroupRef /ActiveEcuC/Com/ComConfig/MyECU_oCAN00_Tx_fcef2243 BswMActionList_CAN_FULL_COMM_FALSE /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListExecution BSWM_TRIGGER Com_IpduGroupControl_BswMActionList_CAN_NO_COMM /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMAbortOnFail false /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemIndex 0 /MICROSAR/BswM/BswMConfig/BswMModeControl/BswMActionList/BswMActionListItem/BswMActionListItemRef /ActiveEcuC/BswM/BswMConfig/BswMModeControl/Com_IpduGroupControl_BswMActionList_CAN_NO_COMM Dem /MICROSAR/Dem VARIANT-PRE-COMPILE /MICROSAR/Dem_Impl DemConfigSet /MICROSAR/Dem/DemConfigSet AutoCreatedDemEvent_ECUM_E_CONFIGURATION_DATA_INCONSISTENT /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_ECUM_E_RAM_CHECK_FAILED /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_INTEGRITY_FAILED /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 3 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_LOSS_OF_REDUNDANCY /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 4 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_QUEUE_OVERFLOW /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 5 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_REQ_FAILED /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 6 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_VERIFY_FAILED /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 7 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_WRITE_PROTECTED /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 8 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false AutoCreatedDemEvent_NVM_E_WRONG_BLOCK_ID /MICROSAR/Dem/DemConfigSet/DemEventParameter /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventId 9 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventKind DEM_EVENT_KIND_BSW /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemMaxNumberFreezeFrameRecords 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailable true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventTimeSeries DEM_TIMESERIES_SNAPSHOT_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventAvailableInVariant true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventLatchTestFailed false DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemAgingAllowed false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemConsiderPtoStatus false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventDestination DEM_DTC_ORIGIN_PRIMARY_MEMORY /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventOBDReadinessGroup DEM_OBD_RDY_NONE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemEventPriority 2 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemFFPrestorageSupported false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemOperationCycleRef /ActiveEcuC/Dem/DemGeneral/PowerCycle DemDebounceAlgorithmClass /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterDecrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterFailedThreshold 127 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterIncrementStepSize 1 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDown true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpDownValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUp true /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterJumpUpValue 0 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterPassedThreshold -128 /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceCounterStorage false /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceBehavior DEM_DEBOUNCE_FREEZE /MICROSAR/Dem/DemConfigSet/DemEventParameter/DemEventClass/DemDebounceAlgorithmClass/DemDebounceCounterBased/DemDebounceContinuous false DtcClass_DTC_0x000002 /MICROSAR/Dem/DemConfigSet/DemDTCClass /MICROSAR/Dem/DemConfigSet/DemDTCClass/DemDTCSeverity DEM_DTC_SEV_NO_SEVERITY /MICROSAR/Dem/DemConfigSet/DemDTCClass/DemUdsDTC 2 /MICROSAR/Dem/DemConfigSet/DemDTCClass/DemImmediateNvStorage false /MICROSAR/Dem/DemConfigSet/DemDTCClass/DemDTCFunctionalUnit 255 DemGeneral /MICROSAR/Dem/DemGeneral /MICROSAR/Dem/DemGeneral/DemAgingCycleCounterProcessing DEM_PROCESS_AGINGCTR_INTERN /MICROSAR/Dem/DemGeneral/DemDebounceCounterBasedSupport true /MICROSAR/Dem/DemGeneral/DemDtcStatusAvailabilityMask 255 /MICROSAR/Dem/DemGeneral/DemMaxNumberEventEntryMirror 0 /MICROSAR/Dem/DemGeneral/DemPTOSupport false /MICROSAR/Dem/DemGeneral/DemTypeOfFreezeFrameRecordNumeration DEM_FF_RECNUM_CALCULATED /MICROSAR/Dem/DemGeneral/DemEventMemoryEntryStorageTrigger DEM_STORAGE_ON_TEST_FAILED /MICROSAR/Dem/DemGeneral/DemGeneralInterfaceSupport false /MICROSAR/Dem/DemGeneral/DemAvailabilitySupport DEM_EVENT_AVAILABILITY /MICROSAR/Dem/DemGeneral/DemClearDTCLimitation DEM_ALL_SUPPORTED_DTCS /MICROSAR/Dem/DemGeneral/DemDataElementDefaultEndianness LITTLE_ENDIAN /MICROSAR/Dem/DemGeneral/DemAgingRequieresTestedCycle false /MICROSAR/Dem/DemGeneral/DemBswErrorBufferSize 0 /MICROSAR/Dem/DemGeneral/DemClearDTCBehavior DEM_CLRRESP_VOLATILE /MICROSAR/Dem/DemGeneral/DemDebounceTimeBasedSupport false /MICROSAR/Dem/DemGeneral/DemDevErrorDetect true /MICROSAR/Dem/DemGeneral/DemEnableConditionSupport false /MICROSAR/Dem/DemGeneral/DemEventCombinationSupport DEM_EVCOMB_DISABLED /MICROSAR/Dem/DemGeneral/DemEventDisplacementStrategy DEM_DISPLACEMENT_NONE /MICROSAR/Dem/DemGeneral/DemMaxNumberEventEntryPermanent 0 /MICROSAR/Dem/DemGeneral/DemMaxNumberEventEntryPrimary 8 /MICROSAR/Dem/DemGeneral/DemMaxNumberEventEntrySecondary 0 /MICROSAR/Dem/DemGeneral/DemMaxNumberPrestoredFF 0 /MICROSAR/Dem/DemGeneral/DemOBDSupport DEM_OBD_NO_OBD_SUPPORT /MICROSAR/Dem/DemGeneral/DemOccurrenceCounterProcessing DEM_PROCESS_OCCCTR_TF /MICROSAR/Dem/DemGeneral/DemOperationCycleStatusStorage false /MICROSAR/Dem/DemGeneral/DemResetConfirmedBitOnOverflow false /MICROSAR/Dem/DemGeneral/DemStatusBitHandlingTestFailedSinceLastClear DEM_STATUS_BIT_NORMAL /MICROSAR/Dem/DemGeneral/DemStatusBitStorageTestFailed true /MICROSAR/Dem/DemGeneral/DemStorageConditionSupport false /MICROSAR/Dem/DemGeneral/DemSuppressionSupport DEM_NO_SUPPRESSION /MICROSAR/Dem/DemGeneral/DemTaskTime 0.01 /MICROSAR/Dem/DemGeneral/DemTriggerDcmReports false /MICROSAR/Dem/DemGeneral/DemTriggerDltReports false /MICROSAR/Dem/DemGeneral/DemTriggerFiMReports false /MICROSAR/Dem/DemGeneral/DemTriggerMonitorInitBeforeClearOk true /MICROSAR/Dem/DemGeneral/DemTypeOfDTCSupported DEM_DTC_TRANSLATION_ISO14229_1 /MICROSAR/Dem/DemGeneral/DemVersionInfoApi false /MICROSAR/Dem/DemGeneral/DemUseRte true /MICROSAR/Dem/DemGeneral/DemGeneralDiagnosticInfoSupport true /MICROSAR/Dem/DemGeneral/DemPendingDtcProcessing DEM_PROCESS_PDTC_ALL_DTC /MICROSAR/Dem/DemGeneral/DemWarningIndicatorRequestedProcessing DEM_PROCESS_WIR_ALL_DTC /MICROSAR/Dem/DemGeneral/DemMaxNumberEventEntryOBDFreezeFrame 0 /MICROSAR/Dem/DemGeneral/DemAgingRetainEnvironmentalData false /MICROSAR/Dem/DemGeneral/DemEventDisplacementFallbackStrategy DEM_FALLBACK_DISCARD_NEW_EVENT /MICROSAR/Dem/DemGeneral/DemJ1939Support false /MICROSAR/Dem/DemGeneral/DemUseMemcopyMacros false /MICROSAR/Dem/DemGeneral/DemOperationCycleProcessing DEM_PROCESS_OPCYC_STATE /MICROSAR/Dem/DemGeneral/DemAgingBehavior DEM_AGING_TYPE_1 /MICROSAR/Dem/DemGeneral/DemExtendedDataCapture DEM_TRIGGER_EVENT_MEMORY_STORAGE /MICROSAR/Dem/DemGeneral/DemFreezeFrameCapture DEM_TRIGGER_EVENT_MEMORY_STORAGE /MICROSAR/Dem/DemGeneral/DemMaxNumberTimeSeriesSnapshots 0 /MICROSAR/Dem/DemGeneral/DemAgingAfterHealing DEM_AGING_WHILE_HEALING /MICROSAR/Dem/DemGeneral/DemAgingCounterBehavior DEM_AGING_COUNT_ALWAYS /MICROSAR/Dem/DemGeneral/DemAgingCounterReporting DEM_AGING_NORMAL_REPORTING /MICROSAR/Dem/DemGeneral/DemAvailabilityStorage false /MICROSAR/Dem/DemGeneral/DemBswApiVersion DEM_BSW_API_4_XX_XX /MICROSAR/Dem/DemGeneral/DemBswApiVersionFiM DEM_BSW_API_4_XX_XX /MICROSAR/Dem/DemGeneral/DemBswApiVersionNvM DEM_BSW_API_4_XX_XX /MICROSAR/Dem/DemGeneral/DemCompiledPostbuildCrc 1681153567 /MICROSAR/Dem/DemGeneral/DemCompiledPostbuildCrcMode DEM_POSTBUILD_CRC_AUTOMATIC /MICROSAR/Dem/DemGeneral/DemNvSynchronizeSupport false /MICROSAR/Dem/DemGeneral/DemResetDebounceBehavior DEM_RESET_DEBOUNCE_ON_DISABLE_ENABLE_CONDITIONS /MICROSAR/Dem/DemGeneral/DemResetTestFailedOnOperationCycleStart false /MICROSAR/Dem/DemGeneral/DemRetryStorageSupport false /MICROSAR/Dem/DemGeneral/DemTriggerMonitorInitForEnableConditions false /MICROSAR/Dem/DemGeneral/DemUserControlledWirBehavior DEM_DISABLED_DURING_CONTROLDTCSETTING Dem_AdminData /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_ADMIN /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemAdminDataBlock Dem_StatusData /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_STATUS /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemStatusDataBlock Dem_PrimaryEntry0 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 0 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock0 Dem_PrimaryEntry1 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 1 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock1 Dem_PrimaryEntry2 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 2 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock2 Dem_PrimaryEntry3 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 3 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock3 Dem_PrimaryEntry4 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 4 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock4 Dem_PrimaryEntry5 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 5 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock5 Dem_PrimaryEntry6 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 6 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock6 Dem_PrimaryEntry7 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdType DEM_NVBLOCK_PRIMARY /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdIndex 7 /MICROSAR/Dem/DemGeneral/DemNvRamBlockId/DemNvRamBlockIdRef /ActiveEcuC/NvM/DemPrimaryDataBlock7 PowerCycle /MICROSAR/Dem/DemGeneral/DemOperationCycle /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleType DEM_OPCYC_POWER /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleAutomaticEnd false /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleAutostart false IgnitionCycle /MICROSAR/Dem/DemGeneral/DemOperationCycle /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleType DEM_OPCYC_IGNITION /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleAutomaticEnd false /MICROSAR/Dem/DemGeneral/DemOperationCycle/DemOperationCycleAutostart false DemPostbuild /MICROSAR/Dem/DemGeneral/DemPostbuild /MICROSAR/Dem/DemGeneral/DemPostbuild/DemMaxSizeFreezeFrame 0 /MICROSAR/Dem/DemGeneral/DemPostbuild/DemEventAvailableDefaultSupport true /MICROSAR/Dem/DemGeneral/DemPostbuild/DemMaxNumberDtr 0 canmatrix-0.9.5/src/canmatrix/tests/__init__.py000066400000000000000000000000001416730473300215410ustar00rootroot00000000000000canmatrix-0.9.5/src/canmatrix/tests/test_arxml.py000066400000000000000000000030261416730473300221770ustar00rootroot00000000000000# -*- coding: utf-8 -*- import canmatrix.formats.arxml try: from pathlib import Path except ImportError: from pathlib2 import Path def test_ecu_extract(): here = Path(__file__).parent db = canmatrix.formats.arxml.load(str(here / "MyECU.ecuc.arxml"))[''] assert db.frames is not None assert len(db.frames) == 2 assert len(db.frames[0].signals) == 3 assert len(db.frames[1].signals) == 1 def test_get_signals_from_container_i_pdu(): here = Path(__file__).parent matrix = canmatrix.formats.arxml.load(str(here / "ARXMLContainerTest.arxml")) assert matrix["New_CanCluster"].frames[0].signals[0].name == 'Header_ID' assert matrix["New_CanCluster"].frames[0].signals[1].name == 'Header_DLC' assert matrix["New_CanCluster"].frames[0].pdus[0].name == 'PDU_Contained_1' assert matrix["New_CanCluster"].frames[0].pdus[0].signals[0].name == 'PDU_Contained_1_Signal1' assert matrix["New_CanCluster"].frames[0].pdus[0].signals[0].attributes["SysSignalName"] == 'PDU_Contained_1_Signal1_905db81da40081cb' def test_get_signals_from_secured_pdu(): here = Path(__file__).parent matrix = canmatrix.formats.arxml.load(str(here / "ARXMLSecuredPDUTest.arxml")) assert matrix["CAN"].frames[0].signals[0].name == 'someTestSignal' assert matrix["CAN"].frames[0].signals[1].name == 'Signal' def test_min_max(): here = Path(__file__).parent matrix = canmatrix.formats.arxml.load(str(here / "ARXML_min_max.arxml")) assert matrix["New_CanCluster"].frames[0].signals[0].is_signed == False canmatrix-0.9.5/src/canmatrix/tests/test_canmatrix.py000066400000000000000000001065151416730473300230510ustar00rootroot00000000000000# -*- coding: utf-8 -*- import decimal import pytest from builtins import * import canmatrix.canmatrix def test_signal_defaults_to_decimal(): signal = canmatrix.canmatrix.Signal( offset=4, factor=2, ) assert isinstance(signal.offset, decimal.Decimal) assert isinstance(signal.factor, decimal.Decimal) def test_encode_signal(): s1 = canmatrix.canmatrix.Signal('signal', size=8) assert s1.phys2raw() == 0 assert s1.phys2raw(1) == 1 assert s1.phys2raw(s1.max) == 127 assert s1.phys2raw(s1.min) == -128 s2 = canmatrix.canmatrix.Signal('signal', size=10, is_signed=False) assert s2.phys2raw() == 0 assert s2.phys2raw(10) == 10 assert s2.phys2raw(s2.max) == 1023 assert s2.phys2raw(s2.min) == 0 s3 = canmatrix.canmatrix.Signal('signal', size=8, factor=2) assert s3.phys2raw() == 0 assert s3.phys2raw(10) == 5 assert s3.phys2raw(s3.max) == 127 assert s3.phys2raw(s3.min) == -128 s4 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, factor=5) assert s4.phys2raw() == 0 assert s4.phys2raw(10) == 2 assert s4.phys2raw(s4.max) == 255 assert s4.phys2raw(s4.min) == 0 s5 = canmatrix.canmatrix.Signal('signal', size=8, offset=2) assert s5.phys2raw() == -2 assert s5.phys2raw(10) == 8 assert s5.phys2raw(s5.max) == 127 assert s5.phys2raw(s5.min) == -128 s6 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, offset=5) assert s6.phys2raw() == 0 assert s6.phys2raw(10) == 5 assert s6.phys2raw(s6.max) == 255 assert s6.phys2raw(s6.min) == 0 s7 = canmatrix.canmatrix.Signal('signal', size=8, initial_value=5) assert s7.phys2raw() == 5 s8 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, offset=5, initial_value=5) assert s8.phys2raw() == 0 s9 = canmatrix.canmatrix.Signal('signal', size=16, is_signed=False, factor='0.001') assert s9.phys2raw() == 0 assert s9.phys2raw(s9.max) == 65535 assert s9.phys2raw(s9.min) == 0 assert s9.phys2raw(decimal.Decimal('50.123')) == 50123 s10 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, factor='0.00005') assert s10.phys2raw() == 0 assert s10.phys2raw(s10.max) == 255 assert s10.phys2raw(s10.min) == 0 assert s10.phys2raw(decimal.Decimal('0.005')) == 100 assert s10.phys2raw(decimal.Decimal('0.003')) == 60 def test_decode_signal(): s1 = canmatrix.canmatrix.Signal('signal', size=8) assert s1.raw2phys(1) == 1 assert s1.raw2phys(127) == s1.max assert s1.raw2phys(-128) == s1.min s2 = canmatrix.canmatrix.Signal('signal', size=10, is_signed=False) assert s2.raw2phys(10) == 10 assert s2.raw2phys(s2.max) == 1023 assert s2.raw2phys(s2.min) == 0 s3 = canmatrix.canmatrix.Signal('signal', size=8, factor=2) assert s3.raw2phys(5) == 10 assert s3.raw2phys(127) == s3.max assert s3.raw2phys(-128) == s3.min s4 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, factor=5) assert s4.raw2phys(2) == 10 assert s4.raw2phys(255) == s4.max assert s4.raw2phys(0) == s4.min s5 = canmatrix.canmatrix.Signal('signal', size=8, offset=2) assert s5.raw2phys(8) == 10 assert s5.raw2phys(127) == s5.max assert s5.raw2phys(-128) == s5.min s6 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, offset=5) assert s6.raw2phys(5) == 10 assert s6.raw2phys(255) == s6.max assert s6.raw2phys(0) == s6.min s7 = canmatrix.canmatrix.Signal('signal', size=16, is_signed=False, factor='0.001') assert s7.raw2phys(65535) == s7.max assert s7.raw2phys(0) == s7.min assert s7.raw2phys(50123) == decimal.Decimal('50.123') s8 = canmatrix.canmatrix.Signal('signal', size=8, is_signed=False, factor='0.00005') assert s8.raw2phys(255) == s8.max assert s8.raw2phys(0) == s8.min assert s8.raw2phys(1) == decimal.Decimal('0.00005') assert s8.raw2phys(2) == decimal.Decimal('0.0001') assert s8.raw2phys(3) == decimal.Decimal('0.00015') # BoardUnit def test_ecu_find_attribute(): ecu = canmatrix.canmatrix.Ecu(name="Gateway") ecu.add_attribute("attr1", 255) assert ecu.attribute("attr1") == 255 def test_ecu_no_attribute(): ecu = canmatrix.canmatrix.Ecu(name="Gateway") assert ecu.attribute("wrong") is None assert ecu.attribute("wrong", default=0) == 0 def test_ecu_default_attr_from_db(): ecu = canmatrix.canmatrix.Ecu(name="Gateway") define = canmatrix.canmatrix.Define("INT 0 255") define.defaultValue = 33 matrix = canmatrix.canmatrix.CanMatrix(ecu_defines={"temperature": define}) assert ecu.attribute("temperature", db=matrix, default=2) == 33 assert ecu.attribute("wrong", db=matrix, default=2) == 2 def test_ecu_repr(): ecu = canmatrix.canmatrix.Ecu(name="Gateway") ecu.add_comment("with bug") assert str(ecu) == "Ecu(name='Gateway', comment='with bug')" # Signal (generic functions) def test_signal_has_comment(some_signal): comment = "comment01" some_signal.add_comment(comment) assert some_signal.comment == comment def test_signal_find_mandatory_attribute(some_signal): assert some_signal.attribute("is_float") == some_signal.is_float def test_signal_find_optional_attribute(some_signal): some_signal.add_attribute("attr1", 255) assert some_signal.attribute("attr1") == 255 def test_signal_no_attribute(some_signal): assert some_signal.attribute("wrong") is None def test_signal_no_attribute_with_default(some_signal): assert some_signal.attribute("wrong", default=0) == 0 def test_signal_default_attr_from_db(some_signal): define = canmatrix.canmatrix.Define("INT 0 255") define.defaultValue = 33 matrix = canmatrix.canmatrix.CanMatrix(signal_defines={"from_db": define}) assert some_signal.attribute("from_db", db=matrix, default=2) == 33 assert some_signal.attribute("wrong", db=matrix, default=2) == 2 def test_signal_no_duplicate_receiver(some_signal): some_signal.add_receiver("GW01") some_signal.add_receiver("GW01") assert some_signal.receivers == ["GW01"] def test_signal_delete_receiver(some_signal): some_signal.add_receiver("GW01") some_signal.add_receiver("ESP") some_signal.del_receiver("GW01") assert some_signal.receivers == ["ESP"] def test_signal_delete_wrong_receiver_doesnt_raise(some_signal): some_signal.del_receiver("wrong") def test_signal_has_attributes(some_signal): some_signal.add_attribute("attr1", "val1") assert some_signal.attributes == {"attr1": "val1"} def test_signal_delete_attribute(some_signal): some_signal.add_attribute("attr1", "val1") some_signal.del_attribute("attr1") assert some_signal.attributes == {} def test_signal_delete_wrong_attribute_doesnt_raise(some_signal): some_signal.del_attribute("wrong") def test_signal_spn(some_signal): assert some_signal.spn is None some_signal.add_attribute("SPN", 10) assert some_signal.spn == 10 def test_signal_set_startbit(): signal = canmatrix.canmatrix.Signal(size=16) signal.set_startbit(2) assert signal.start_bit == 2 def test_signal_set_startbit_conversion(): signal = canmatrix.canmatrix.Signal(size=16, is_little_endian=False) signal.set_startbit(20, startLittle=True) assert signal.start_bit == 5 # lsb on 20, msb is 20-15 = 5 # TODO add test for reversed endianning def test_signal_set_startbit_raise(): signal = canmatrix.canmatrix.Signal(size=16, is_little_endian=False) with pytest.raises(Exception): signal.set_startbit(5, startLittle=True) # lsb would be on -10 def test_signal_get_startbit(): signal_big = canmatrix.canmatrix.Signal(start_bit=2, size=16, is_little_endian=True) assert signal_big.get_startbit() == 2 def test_signal_get_startbit_conversion(): signal_big = canmatrix.canmatrix.Signal(start_bit=2, size=16, is_little_endian=False) assert signal_big.get_startbit(start_little=True) == 17 # looking for "end" of the signal: 2 + (16 - 1) signal_big = canmatrix.canmatrix.Signal(start_bit=32, size=4, is_little_endian=False) assert signal_big.get_startbit(bit_numbering=True, start_little=True) == 36 # TODO add test for reversed endianning def test_signal_range(): unsigned = canmatrix.canmatrix.Signal(size=8, is_signed=False) assert unsigned.calculate_raw_range() == (decimal.Decimal(0), decimal.Decimal(255)) signed = canmatrix.canmatrix.Signal(size=8) assert signed.calculate_raw_range() == (decimal.Decimal(-128), decimal.Decimal(127)) def test_signal_set_min_max(): signal = canmatrix.canmatrix.Signal(size=8, offset=100) signal.set_min(-5) signal.set_max(30) assert signal.min == -5 assert signal.max == 30 def test_signal_set_default_min_max(): signal = canmatrix.canmatrix.Signal(size=8, offset=100, min=-5, max=10) signal.set_min(None) signal.set_max(None) assert signal.min == -128 + 100 assert signal.max == 127 + 100 def test_signal_decode_named_value(some_signal): some_signal.add_values(255, "Init") some_signal.add_values(254, "Error") assert some_signal.raw2phys(254, decode_to_str=True) == "Error" assert some_signal.raw2phys(200, decode_to_str=True) == 200 def test_signal_encode_named_value(some_signal): some_signal.add_values(255, "Init") some_signal.add_values(254, "Error") assert some_signal.phys2raw("Error") == 254 def test_signal_encode_invalid_named_value(some_signal): with pytest.raises(ValueError): some_signal.phys2raw("wrong") def test_signal_min_unspecified_respects_calc_for_min_none_false(): signal = canmatrix.Signal(calc_min_for_none=False) assert signal.min is None def test_signal_min_unspecified_respects_calc_for_min_none_true(): signal = canmatrix.Signal(size=8, is_signed=True, calc_min_for_none=True) assert signal.min == -128 def test_signal_min_specified_respects_calc_for_min_none_false(): signal = canmatrix.Signal(min=42, calc_min_for_none=False) assert signal.min == 42 def test_signal_min_specified_respects_calc_for_min_none_true(): signal = canmatrix.Signal(min=42, calc_min_for_none=True) assert signal.min == 42 def test_signal_max_unspecified_respects_calc_for_max_none_false(): signal = canmatrix.Signal(calc_max_for_none=False) assert signal.max is None def test_signal_max_unspecified_respects_calc_for_max_none_true(): signal = canmatrix.Signal(size=8, is_signed=True, calc_max_for_none=True) assert signal.max == 127 def test_signal_max_specified_respects_calc_for_max_none_false(): signal = canmatrix.Signal(max=42, calc_max_for_none=False) assert signal.max == 42 def test_signal_max_specified_respects_calc_for_max_none_true(): signal = canmatrix.Signal(max=42, calc_max_for_none=True) assert signal.max == 42 def test_signal_range_type_int(): signal = canmatrix.Signal(is_float=False) signal_min, signal_max = signal.calculate_raw_range() min_is = isinstance(signal_min, int) max_is = isinstance(signal_max, int) assert (min_is, max_is) == (True, True), str((type(signal_min), type(signal_max))) def test_signal_range_type_float(): signal = canmatrix.Signal(is_float=True) signal_min, signal_max = signal.calculate_raw_range() factory_type = type(signal.float_factory()) min_is = isinstance(signal_min, factory_type) max_is = isinstance(signal_max, factory_type) assert (min_is, max_is) == (True, True), str((type(signal_min), type(signal_max))) def test_signal_multiplexer_value_in_range(): # test multiplexer ranges (complex multiplex) signal = canmatrix.Signal() signal.mux_val_grp.append([1, 2]) signal.mux_val_grp.append([4, 5]) assert signal.multiplexer_value_in_range(0) == False assert signal.multiplexer_value_in_range(1) == True assert signal.multiplexer_value_in_range(2) == True assert signal.multiplexer_value_in_range(3) == False assert signal.multiplexer_value_in_range(4) == True assert signal.multiplexer_value_in_range(5) == True assert signal.multiplexer_value_in_range(6) == False # test standard multiplexer signal2 = canmatrix.Signal() signal2.multiplex_setter(1) assert signal2.multiplexer_value_in_range(1) == True assert signal2.multiplexer_value_in_range(0) == False signal3 = canmatrix.Signal() signal3.multiplex_setter("Multiplexor") assert signal3.multiplexer_value_in_range(1) == False assert signal3.multiplexer_value_in_range(0) == False # SignalGroup @pytest.fixture def the_group(): return canmatrix.canmatrix.SignalGroup(name="TestGroup", id=1) @pytest.fixture def some_signal(): return canmatrix.canmatrix.Signal(name="speed", size=8) def test_signalgroup_empty(the_group): assert [] == the_group.signals def test_signalgroup_can_add(the_group, some_signal): the_group.add_signal(some_signal) assert len(the_group.signals) == 1 def test_signalgroup_can_remove(the_group, some_signal): the_group.add_signal(some_signal) the_group.del_signal(some_signal) assert len(the_group.signals) == 0 def test_signalgroup_no_duplicates(the_group, some_signal): the_group.add_signal(some_signal) the_group.add_signal(some_signal) assert len(the_group.signals) == 1 def test_signalgroup_is_iterable(the_group, some_signal): the_group.add_signal(some_signal) assert [some_signal] == [s for s in the_group] def test_signalgroup_find_something(the_group, some_signal): the_group.add_signal(some_signal) assert some_signal == the_group.by_name("speed") assert some_signal == the_group["speed"] def test_signalgroup_find_nothing(the_group, some_signal): the_group.add_signal(some_signal) assert the_group.by_name("wrong") is None with pytest.raises(KeyError): _ = the_group["wrong"] def test_signalgroup_delete_nothing(the_group, some_signal): the_group.add_signal(some_signal) the_group.del_signal(canmatrix.canmatrix.Signal()) assert len(the_group.signals) == 1 def test_encode_decode_frame(): input_data = {'signal': decimal.Decimal('3.5')} s1 = canmatrix.canmatrix.Signal('signal', size=32, is_float=True) f1 = canmatrix.canmatrix.Frame('frame', arbitration_id=1, size=4) f1.add_signal(s1) raw_bytes = f1.encode(input_data) decoded_data = f1.decode(raw_bytes) assert decoded_data['signal'].raw_value == float(input_data['signal']) # Frame tests @pytest.fixture def empty_frame(): return canmatrix.canmatrix.Frame(name="test_frame") def test_frame_has_comment(empty_frame): empty_frame.add_comment("comm") assert empty_frame.comment == "comm" def test_frame_compute_dlc(): frame = canmatrix.canmatrix.Frame() frame.add_signal(canmatrix.canmatrix.Signal(start_bit=0, size=2)) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=8, size=1)) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=2, size=2)) frame.calc_dlc() assert frame.size == 2 def test_frame_fit_dlc(): frame = canmatrix.canmatrix.Frame() for i in range(1,9): frame.size = i frame.fit_dlc() assert frame.size == i for i in range(9,13): frame.size = i frame.fit_dlc() assert frame.size == 12 for i in range(13,17): frame.size = i frame.fit_dlc() assert frame.size == 16 for i in range(17,21): frame.size = i frame.fit_dlc() assert frame.size == 20 for i in range(21,25): frame.size = i frame.fit_dlc() assert frame.size == 24 for i in range(25,33): frame.size = i frame.fit_dlc() assert frame.size == 32 for i in range(33,49): frame.size = i frame.fit_dlc() assert frame.size == 48 for i in range(49,65): frame.size = i frame.fit_dlc() assert frame.size == 64 def test_frame_find_unused_bits(): frame = canmatrix.canmatrix.Frame(size=1) frame.add_signal(canmatrix.canmatrix.Signal(name="sig1", start_bit=0, size=3)) frame.add_signal(canmatrix.canmatrix.Signal(name="sig2", start_bit=4, size=2)) bit_usage = frame.get_frame_layout() assert bit_usage.count([]) == frame.size*8 - 3 - 2 sig1 = frame.signal_by_name("sig1") sig2 = frame.signal_by_name("sig2") assert bit_usage == [[], [], [sig2], [sig2], [], [sig1], [sig1], [sig1]] def test_frame_create_dummy_signals_covers_all_bits(): frame = canmatrix.canmatrix.Frame(size=1) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=0, size=3)) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=4, size=2)) frame.create_dummy_signals() assert len(frame.signals) == 2 + 2 assert frame.get_frame_layout().count([]) == 0 def test_frame_update_receivers(): frame = canmatrix.canmatrix.Frame(size=1) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=0, size=3, receivers=["GW", "Keyboard"])) frame.add_signal(canmatrix.canmatrix.Signal(start_bit=4, size=2, receivers=["GW", "Display"])) frame.update_receiver() assert frame.receivers == ["GW", "Keyboard", "Display"] def test_frame_to_str(): frame = canmatrix.canmatrix.Frame(size=1, name="tank_level") assert str(frame) == "tank_level" def test_frame_is_multiplexed(): frame = canmatrix.canmatrix.Frame(name="multiplexed_frame") signal = canmatrix.canmatrix.Signal(name="mx") signal.multiplex_setter("Multiplexor") frame.add_signal(signal) assert frame.is_multiplexed def test_get_multiplexer(): frame = canmatrix.canmatrix.Frame(name="multiplexed_frame") signal = canmatrix.canmatrix.Signal(name="mx") signal.multiplex_setter("Multiplexor") frame.add_signal(signal) assert frame.get_multiplexer == signal def test_get_multiplexer_values(): frame = canmatrix.canmatrix.Frame(name="multiplexed_frame") signal = canmatrix.canmatrix.Signal(name="mx") signal.multiplex_setter("Multiplexor") signal2 = canmatrix.canmatrix.Signal(name="s2") signal2.multiplex_setter(2) frame.add_signal(signal2) signal3 = canmatrix.canmatrix.Signal(name="s3") signal3.multiplex_setter(3) frame.add_signal(signal3) signal4 = canmatrix.canmatrix.Signal(name="s4") signal4.multiplex_setter(None) frame.add_signal(signal4) assert frame.get_signals_for_multiplexer_value(2)[0] == signal2 assert frame.get_signals_for_multiplexer_value(2)[1] == signal4 assert frame.get_signals_for_multiplexer_value(3)[0] == signal3 assert frame.get_signals_for_multiplexer_value(3)[1] == signal4 assert frame.get_signals_for_multiplexer_value(1)[0] == signal4 def test_get_multiplexer_values(): frame = canmatrix.canmatrix.Frame(name="multiplexed_frame") signal = canmatrix.canmatrix.Signal(name="mx") signal.multiplex_setter("Multiplexor") signal2 = canmatrix.canmatrix.Signal(name="s2") signal2.multiplex_setter(2) frame.add_signal(signal2) signal3 = canmatrix.canmatrix.Signal(name="s3") signal3.multiplex_setter(3) frame.add_signal(signal3) signal4 = canmatrix.canmatrix.Signal(name="s4") signal4.multiplex_setter(None) frame.add_signal(signal4) assert frame.get_multiplexer_values == [2,3] def test_frame_not_multiplexed(): frame = canmatrix.canmatrix.Frame(name="not_multiplexed_frame") assert not frame.is_multiplexed frame.add_signal(canmatrix.canmatrix.Signal(name="some")) assert not frame.is_multiplexed def test_frame_calc_j1939_id(): # we have to set all j1939 properties in the __init__ otherwise the setters crash frame = canmatrix.canmatrix.Frame() frame.source = 0x22 frame.pgn = 0xAAAA frame.priority = 3 assert frame.arbitration_id.id == 0xCAAAA22 @pytest.mark.parametrize( 'priority, pgn, source, id', ( (0, 0, 0, 0), (1, 1, 1, 0x4000101), (2, 2, 2, 0x8000202), (3, 0xAAAA, 0x22, 0xCAAAA22), (0, 0x1F004, 0xEE, 0x1F004EE), (3, 0x1F004, 0xEE, 0xDF004EE), (7, 0x1FFFF, 0xFF, 0x1DFFFFFF), (3, 0, 0xB, 0xC00000B), (3, 0xEF27, 0xFD, 0xCEF27FD), (3, 0xFFCA, 0xFD, 0xCFFCAFD), (3, 0, 3, 0xC000003), (3, 0xF002, 3, 0xCF00203), (6, 0xFE4A, 3, 0x18FE4A03), (3, 0x103, 5, 0xC010305), ), ) def test_frame_j1939_id_from_components(priority, pgn, source, id): # we have to set all j1939 properties in the __init__ otherwise the setters crash frame = canmatrix.canmatrix.Frame() frame.source = source frame.pgn = pgn frame.priority = priority assert hex(frame.arbitration_id.id) == hex(id) @pytest.mark.parametrize( 'priority, pgn, source, id', ( (0, 0, 0, 0), (1, 0, 1, 0x4000101), (2, 0, 2, 0x8000202), (3, 0xAA00, 0x22, 0xCAAAA22), (0, 0x1F004, 0xEE, 0x1F004EE), (3, 0x1F004, 0xEE, 0xDF004EE), (7, 0x1FFFF, 0xFF, 0x1DFFFFFF), (3, 0, 0xB, 0xC00000B), (3, 0xEF00, 0xFD, 0xCEF27FD), (3, 0xFFCA, 0xFD, 0xCFFCAFD), (3, 0, 3, 0xC000003), (3, 0xF002, 3, 0xCF00203), (6, 0xFE4A, 3, 0x18FE4A03), (3, 0x100, 5, 0xC010305), ), ) def test_frame_decode_j1939_id(source, pgn, priority, id): # we have to set all j1939 properties in the __init__ otherwise the setters crash frame = canmatrix.canmatrix.Frame(arbitration_id=canmatrix.ArbitrationId(id=id, extended=True)) assert hex(frame.source) == hex(source) assert hex(frame.pgn) == hex(pgn) assert hex(frame.priority) == hex(priority) def test_frame_add_transmitter(empty_frame): empty_frame.add_transmitter("BCM") assert empty_frame.transmitters == ["BCM"] def test_frame_add_transmitter_no_duplicities(empty_frame): empty_frame.add_transmitter("BCM") empty_frame.add_transmitter("BCM") assert empty_frame.transmitters == ["BCM"] def test_frame_delete_transmitter(empty_frame): empty_frame.add_transmitter("MFL") empty_frame.add_transmitter("BCM") empty_frame.del_transmitter("MFL") assert empty_frame.transmitters == ["BCM"] def test_frame_delete_wrong_transmitter_doesnt_raise(empty_frame): empty_frame.del_transmitter("wrong") def test_frame_find_signal(empty_frame): empty_frame.add_signal(canmatrix.canmatrix.Signal("first")) second_signal = canmatrix.canmatrix.Signal("second") empty_frame.add_signal(second_signal) empty_frame.add_signal(canmatrix.canmatrix.Signal("third")) assert empty_frame.signal_by_name("second") == second_signal def test_frame_find_missing_signal(empty_frame): assert empty_frame.signal_by_name("wrong") is None def test_frame_glob_signals(empty_frame): audio_signal = canmatrix.canmatrix.Signal(name="front_audio_volume") empty_frame.add_signal(audio_signal) empty_frame.add_signal(canmatrix.canmatrix.Signal(name="display_dimming")) assert empty_frame.glob_signals("*audio*") == [audio_signal] def test_frame_add_attribute(empty_frame): empty_frame.add_attribute("attr1", "value1") assert empty_frame.attributes == {"attr1": "value1"} def test_frame_del_attribute(empty_frame): empty_frame.add_attribute("attr1", "value1") empty_frame.del_attribute("attr1") assert "attr1" not in empty_frame.attributes def test_frame_del_missing_attribute_doesnt_raise(empty_frame): empty_frame.del_attribute("wrong") def test_frame_is_iterable(empty_frame, some_signal): empty_frame.add_signal(some_signal) assert [s for s in empty_frame] == [some_signal] def test_frame_find_mandatory_attribute(empty_frame): assert empty_frame.attribute("arbitration_id") == empty_frame.arbitration_id def test_frame_find_optional_attribute(empty_frame): empty_frame.add_attribute("attr1", "str1") assert empty_frame.attribute("attr1") == "str1" def test_frame_no_attribute(empty_frame): assert empty_frame.attribute("wrong") is None def test_frame_no_attribute_with_default(empty_frame): assert empty_frame.attribute("wrong", default=0) == 0 def test_frame_default_attr_from_db(empty_frame): define = canmatrix.canmatrix.Define("INT 0 255") define.defaultValue = 33 matrix = canmatrix.canmatrix.CanMatrix(frame_defines={"from_db": define}) assert empty_frame.attribute("from_db", db=matrix, default=2) == 33 assert empty_frame.attribute("wrong", db=matrix, default=2) == 2 def test_frame_add_signal_group(empty_frame): signal_a = canmatrix.canmatrix.Signal(name="A") signal_b = canmatrix.canmatrix.Signal(name="B") signal_c = canmatrix.canmatrix.Signal(name="C") empty_frame.signals = [signal_a, signal_b, signal_c] empty_frame.add_signal_group("AB", 0, ["A", "B"]) assert empty_frame.signalGroups[0].signals == [signal_a, signal_b] def test_frame_add_signal_group_wrong_signal(empty_frame): signal_a = canmatrix.canmatrix.Signal(name="A") empty_frame.signals = [signal_a] empty_frame.add_signal_group("Aw", 0, ["A", "wrong", "\t"]) assert empty_frame.signalGroups[0].signals == [signal_a] def test_frame_find_signal_group(empty_frame): empty_frame.add_signal_group("G1", 1, []) assert empty_frame.signal_group_by_name("G1") is not None def test_frame_find_wrong_signal_group(empty_frame): empty_frame.add_signal_group("G1", 1, []) assert empty_frame.signal_group_by_name("wrong") is None # Define tests def test_define_set_default(): define = canmatrix.canmatrix.Define("") define.set_default("string") assert define.defaultValue == "string" define.set_default('"quoted_string"') assert define.defaultValue == "quoted_string" def test_define_update_enum_definition(): define = canmatrix.canmatrix.Define("") define.type = "ENUM" define.values = ["ready", "off"] define.update() assert define.definition == 'ENUM "ready","off"' def test_define_update_ingored_non_enum(): def_str = "INT 0 100" define = canmatrix.canmatrix.Define(def_str) define.update() assert define.definition == def_str def test_define_for_int(): define = canmatrix.canmatrix.Define("INT -5 10") assert define.type == "INT" assert define.min == -5 assert define.max == 10 def test_define_for_hex(): define = canmatrix.canmatrix.Define("HEX 0 255") assert define.type == "HEX" assert define.min == 0 assert define.max == 255 def test_define_for_string(): define = canmatrix.canmatrix.Define("STRING") assert define.type == "STRING" assert define.min is None assert define.max is None def test_define_for_enum(): define = canmatrix.canmatrix.Define('ENUM red, green') assert define.type == "ENUM" assert define.values == ["red", "green"] def test_define_for_enum_strip_quotes(): define = canmatrix.canmatrix.Define('ENUM "red", "green"') assert define.type == "ENUM" assert define.values == ["red", "green"] def test_define_for_float(): define = canmatrix.canmatrix.Define("FLOAT -2.2 111.11") assert define.type == "FLOAT" assert define.min == decimal.Decimal('-2.2') assert define.max == decimal.Decimal('111.11') # J1939CanId tests def test_canid_parse_values(): can_id = canmatrix.ArbitrationId(id=0x01ABCD02, extended=True) assert can_id.j1939_source == 0x02 assert can_id.j1939_destination == 0xcd assert can_id.j1939_pgn == 0x1AB00 assert can_id.j1939_destination == 0xCD assert can_id.j1939_priority == 0 assert can_id.j1939_tuple == (0xCD, 0x1AB00, 2) def test_canid_repr(): can_id = canmatrix.ArbitrationId(id=0x01ABCD02, extended=True) assert can_id.j1939_str == "DA:0xCD PGN:0x1AB00 SA:0x02" # DecodedSignal tests def test_decoded_signal_phys_value(some_signal): signal = canmatrix.canmatrix.Signal(factor="0.1", values={10: "Init"}) decoded = canmatrix.canmatrix.DecodedSignal(100, signal) assert decoded.phys_value == decimal.Decimal("10") def test_decoded_signal_named_value(): signal = canmatrix.canmatrix.Signal(factor="0.1", values={10: "Init"}) decoded = canmatrix.canmatrix.DecodedSignal(100, signal) assert decoded.named_value == "Init" def test_Arbitration_id(): id_standard = canmatrix.ArbitrationId(id=0x1, extended=False) id_extended = canmatrix.ArbitrationId(id=0x1, extended=True) id_unknown = canmatrix.ArbitrationId(id=0x1, extended=None) # Defaults to True id_from_int_standard = canmatrix.ArbitrationId.from_compound_integer(1) id_from_int_extended = canmatrix.ArbitrationId.from_compound_integer(1 | 1 << 31) assert id_standard.to_compound_integer() == 1 assert id_extended.to_compound_integer() == (1 | 1 << 31) assert id_standard.id == 1 assert id_extended.id == 1 assert id_unknown.id == 1 assert id_standard != id_extended assert id_standard != id_unknown assert id_extended == id_unknown assert id_from_int_standard == id_standard assert id_from_int_standard != id_extended assert id_from_int_extended == id_extended assert id_from_int_extended != id_standard def test_arbitration_id_is_instance(): frame1 = canmatrix.Frame(name = "Frame1") frame2 = canmatrix.Frame(name = "Frame1") frame1.arbitration_id.id = 42 assert frame1.arbitration_id.id == 42 assert frame2.arbitration_id.id == 0 def test_arbitration_id_j1939_direct_setters(): arb_id = canmatrix.ArbitrationId(0) arb_id.pgn = 0xF1AA arb_id.j1939_source = 0x22 arb_id.j1939_priority = 3 assert arb_id.pgn == 0xF1AA assert arb_id.j1939_source == 0x22 assert arb_id.j1939_priority == 3 def test_arbitration_id_comparators(): id_standard_1 = canmatrix.ArbitrationId(id=0x1, extended=False) id_standard_2 = canmatrix.ArbitrationId(id=0x2, extended=False) id_extended_1 = canmatrix.ArbitrationId(id=0x1, extended=True) id_extended_2 = canmatrix.ArbitrationId(id=0x2, extended=True) sorting_results = sorted(( id_extended_1, id_standard_2, id_extended_2, id_standard_1)) assert sorting_results[0] == id_standard_1 assert sorting_results[1] == id_extended_1 assert sorting_results[2] == id_standard_2 assert sorting_results[3] == id_extended_2 @pytest.fixture def empty_matrix(): return canmatrix.CanMatrix() def test_canmatrix_add_attribure(empty_matrix): empty_matrix.add_attribute("name1", "value1") assert empty_matrix.attributes == {"name1": "value1"} def test_canmatrix_get_frame_by_glob(empty_matrix, empty_frame): empty_matrix.add_frame(empty_frame) f2 = canmatrix.Frame(name="nm_osek_esp") empty_matrix.add_frame(f2) assert empty_matrix.glob_frames("*osek*") == [f2] def test_canmatrix_get_frame_by_name(empty_matrix, empty_frame): empty_matrix.add_frame(empty_frame) assert empty_matrix.frame_by_name(empty_frame.name) == empty_frame def test_canmatrix_get_frame_by_wrong_name(empty_matrix, empty_frame): empty_matrix.add_frame(empty_frame) assert empty_matrix.frame_by_name("wrong") is None def test_canmatrix_get_frame_by_pgn(empty_matrix, empty_frame): empty_frame.arbitration_id.id = 0xA123456 empty_frame.arbitration_id.extended = True empty_matrix.add_frame(empty_frame) assert empty_matrix.frame_by_pgn(0x21234) == empty_frame def test_canmatrix_get_frame_by_wrong_pgn(empty_matrix, empty_frame): empty_frame.arbitration_id.id = 0xAB123456 empty_frame.arbitration_id.extended = True empty_matrix.add_frame(empty_frame) assert empty_matrix.frame_by_pgn(0xAB34) == None def test_canmatrix_iterate_over_frames(empty_matrix, empty_frame): empty_matrix.add_frame(empty_frame) assert [f for f in empty_matrix] == [empty_frame] def test_canmatrix_remove_frame(empty_matrix, empty_frame): empty_matrix.add_frame(empty_frame) empty_matrix.add_frame(canmatrix.Frame()) empty_matrix.remove_frame(empty_frame) assert len(empty_matrix.frames) == 1 def test_canmatrix_rename_ecu_by_name(empty_matrix): ecu = canmatrix.Ecu(name="old_name") empty_matrix.add_ecu(ecu) empty_matrix.rename_ecu("old_name", "new name") assert ecu.name == "new name" def test_canmatrix_rename_ecu_by_wrong_name(empty_matrix): ecu = canmatrix.Ecu(name="old_name") empty_matrix.add_ecu(ecu) empty_matrix.rename_ecu("wrong", "new name") assert ecu.name == "old_name" def test_canmatrix_rename_ecu_by_instance(empty_matrix): ecu = canmatrix.Ecu(name="old_name") empty_matrix.add_ecu(ecu) empty_matrix.rename_ecu(ecu, "new name") assert ecu.name == "new name" def test_canmatrix_del_ecu_by_glob(empty_matrix): ecu1 = canmatrix.Ecu(name="ecu1") ecu2 = canmatrix.Ecu(name="ecu2") frame = canmatrix.Frame(transmitters=["ecu2", "ecu3"]) empty_matrix.add_ecu(ecu1) empty_matrix.add_ecu(ecu2) frame.add_signal(canmatrix.Signal(receivers=["ecu1", "ecu2"])) empty_matrix.add_frame(frame) empty_matrix.del_ecu("*2") assert empty_matrix.ecus == [ecu1] assert frame.receivers == ["ecu1"] assert frame.transmitters == ["ecu3"] def test_canmatrix_del_ecu_by_instance(empty_matrix): ecu1 = canmatrix.Ecu(name="ecu1") ecu2 = canmatrix.Ecu(name="ecu2") empty_matrix.add_ecu(ecu1) empty_matrix.add_ecu(ecu2) empty_matrix.del_ecu(ecu1) assert empty_matrix.ecus == [ecu2] def test_canmatrix_del_obsolete_ecus(empty_matrix): empty_matrix.add_ecu(canmatrix.Ecu(name="Ecu1")) empty_matrix.add_ecu(canmatrix.Ecu(name="Ecu2")) frame1 = canmatrix.Frame(name="frame1", transmitters=["Ecu1"]) frame1.add_signal(canmatrix.Signal("signal1", receivers=["Ecu2"])) empty_matrix.add_frame(frame1) empty_matrix.delete_obsolete_ecus() assert "Ecu1" in [ecu.name for ecu in empty_matrix.ecus] assert "Ecu2" in [ecu.name for ecu in empty_matrix.ecus] frame1.del_transmitter("Ecu1") empty_matrix.delete_obsolete_ecus() assert "Ecu1" not in [ecu.name for ecu in empty_matrix.ecus] assert "Ecu2" in [ecu.name for ecu in empty_matrix.ecus] def test_canmatrix_rename_frame_by_name(empty_matrix): f = canmatrix.Frame(name="F1") empty_matrix.add_frame(f) empty_matrix.rename_frame("F1", "F2") assert f.name == "F2" empty_matrix.rename_frame("X*", "G") assert f.name == "F2" empty_matrix.rename_frame("F*", "G") assert f.name == "G2" empty_matrix.rename_frame("*0", "9") assert f.name == "G2" empty_matrix.rename_frame("*2", "9") assert f.name == "G9" def test_canmatrix_rename_frame_by_instance(empty_matrix): f = canmatrix.Frame(name="F1") empty_matrix.add_frame(f) empty_matrix.rename_frame(f, "F2") assert f.name == "F2" def test_canmatrix_del_frame_by_name(empty_matrix): f1 = canmatrix.Frame(name="F1") f2 = canmatrix.Frame(name="F2") empty_matrix.add_frame(f1) empty_matrix.add_frame(f2) empty_matrix.del_frame("F1") empty_matrix.del_frame("bad_one") assert empty_matrix.frames == [f2] def test_canmatrix_del_frame_by_instance(empty_matrix): f1 = canmatrix.Frame(name="F1") f2 = canmatrix.Frame(name="F2") empty_matrix.add_frame(f1) empty_matrix.add_frame(f2) empty_matrix.del_frame(f1) assert empty_matrix.frames == [f2] def test_effective_cycle_time(): frame = canmatrix.Frame() sig1 = canmatrix.Signal(name = "s1", cycle_time=1) sig2 = canmatrix.Signal(name = "s2", cycle_time=0) frame.add_signal(sig1) frame.add_signal(sig2) assert frame.effective_cycle_time == 1 sig2.cycle_time = 2 assert frame.effective_cycle_time == 1 sig1.cycle_time = 4 assert frame.effective_cycle_time == 2 sig1.cycle_time = 3 assert frame.effective_cycle_time == 1 frame.cycle_time = 1 assert frame.effective_cycle_time == 1 frame.cycle_time = 0 sig1.cycle_time = 0 sig2.cycle_time = 0 assert frame.effective_cycle_time == 0 def test_baudrate(): cm = canmatrix.CanMatrix() cm.baudrate = 500000 assert cm.baudrate == 500000 cm.fd_baudrate = 1000000 assert cm.fd_baudrate == 1000000 canmatrix-0.9.5/src/canmatrix/tests/test_cli_compare.py000066400000000000000000000070161416730473300233340ustar00rootroot00000000000000import sys import canmatrix.formats import pytest try: from pathlib import Path except ImportError: from pathlib2 import Path pytest_plugins = ["pytester"] here = Path(__file__).parent @pytest.fixture def run(testdir): def do_run(*args): args = [sys.executable,"-m","canmatrix.cli.compare"] + list(args) return testdir.run(*args) return do_run def test_silent(tmpdir, run): inputFile1 = str(here / "test_frame_decoding.dbc") inputFile2 = str(here / "ARXML_min_max.arxml") normal_result = run(inputFile1 ,inputFile2) silent_result = run("-s", inputFile1 ,inputFile2) assert len(normal_result.errlines) > len(silent_result.errlines) def test_verbose(tmpdir, run): inputFile1 = str(here / "test_frame_decoding.dbc") inputFile2 = str(here / "ARXML_min_max.arxml") normal_result = run(inputFile1, inputFile2) verbose_result = run("-vv", inputFile1 ,inputFile2) assert len(normal_result.errlines) < len(verbose_result.errlines) def create_dbc(): outFile1 = str(here / "tmpa.dbc") outFile2 = str(here / "tmpb.dbc") myFrame = canmatrix.Frame("testFrame3", arbitration_id=canmatrix.arbitration_id_converter(0x124), size=8, transmitters=["testBU"]) mySignal = canmatrix.Signal("someTestSignal", size=11, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, receivers=["recBU"]) myFrame.add_signal(mySignal) mySignal.add_values(1, "one") db = canmatrix.CanMatrix() db.add_frame(myFrame) canmatrix.formats.dumpp({"": db}, outFile1, dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') db.add_frame_defines("myAttribute","INT -5 10") db.add_signal_defines("mySignalAttribute", 'INT 0 65535') mySignal.add_attribute("mySignalAttribute", "7") myFrame.add_attribute("myAttribute", "42") mySignal.add_values(2, "two") myFrame.comment = "my Frame Comment" mySignal.comment = "my Signal Comment" canmatrix.formats.dumpp({"": db}, outFile2, dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') return outFile1, outFile2 def test_frames(tmpdir, run): (inputFile1, inputFile2) = create_dbc() result = run("--frames", inputFile1, inputFile2) for line in result.outlines: assert line.startswith("Frames") def test_attributes(tmpdir, run): (inputFile1, inputFile2) = create_dbc() reference = run(inputFile1, inputFile2) result = run("--attributes", inputFile1, inputFile2) assert len(reference.outlines) < len(result.outlines) assert "ATTRIBUTES" not in "".join(reference.outlines) assert "ATTRIBUTES" in "".join(result.outlines) def test_value_tables(tmpdir, run): (inputFile1, inputFile2) = create_dbc() reference = run(inputFile1, inputFile2) result = run("--valueTable", inputFile1, inputFile2) assert len(reference.outlines) > len(result.outlines) assert "Valuetable" in "".join(reference.outlines) assert "Valuetable" not in "".join(result.outlines) def test_comments(tmpdir, run): (inputFile1, inputFile2) = create_dbc() reference = run(inputFile1, inputFile2) result = run("--comments", inputFile1, inputFile2) assert len(reference.outlines) < len(result.outlines) assert "comment:" not in "".join(reference.outlines) assert "comment:" in "".join(result.outlines) canmatrix-0.9.5/src/canmatrix/tests/test_cli_convert.py000066400000000000000000000300741416730473300233660ustar00rootroot00000000000000# -*- coding: utf-8 -*- import sys import canmatrix.formats import pytest try: from pathlib import Path except ImportError: from pathlib2 import Path pytest_plugins = ["pytester"] here = Path(__file__).parent @pytest.fixture def run(testdir): def do_run(*args): args = [sys.executable,"-m","canmatrix.cli.convert"] + list(args) return testdir.run(*args) return do_run def test_silent(tmpdir, run): inputFile = str(here / "test_frame_decoding.dbc") normal_result = run(inputFile ,"tmp.dbc") silent_result = run("-s", inputFile,"tmp.dbc") assert len(normal_result.errlines) > len(silent_result.errlines) def test_verbose(tmpdir, run): inputFile = str(here / "ARXML_min_max.arxml") normal_result = run(inputFile ,"tmp.dbc") verbose_result = run("-vv", inputFile,"tmp.dbc") assert len(normal_result.errlines) < len(verbose_result.errlines) def test_force_output_format(tmpdir, run): inputFile = str(here / "test_frame_decoding.dbc") outFile = str(here / "tmp.tmp") normal_result = run("-v", "-f","dbc", inputFile, outFile) assert 'INFO - convert - done' in normal_result.errlines[-1] with open(outFile, "r") as fd: first_line = fd.readline() assert first_line == 'VERSION "created by canmatrix"\n' def test_foce_input_format(tmpdir, run): #requires test_force_output to run first inputFile = str(here / "tmp.tmp") normal_result = run("-i","dbc", inputFile, "tmp.dbc") assert 'INFO - convert - done' in normal_result.errlines[-1] def create_dbc_with_special_char(): outFile = str(here / "tmp.dbc") myFrame = canmatrix.Frame("testFrame1", arbitration_id=canmatrix.arbitration_id_converter(0x123), size=8, transmitters=["testBU"]) mySignal = canmatrix.Signal("someTestSignal", size=11, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, unit=u"specialCharUnit°$", # .decode("utf-8"), receivers=["recBU"]) myFrame.add_signal(mySignal) db = canmatrix.CanMatrix() db.add_frame(myFrame) db.add_frame_defines("SomeUnneededDefine", 'INT 0 65535') canmatrix.formats.dumpp({"": db}, outFile, dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') return outFile def test_ignore_encoding_errors(tmpdir, run): inputFile = create_dbc_with_special_char() normal_result = run("--ignoreEncodingErrors","--dbcExportEncoding", "ascii", inputFile, "tmp2.dbc") assert 'INFO - convert - done' in normal_result.errlines[-1] def test_delete_obsolete_defines(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--deleteObsoleteDefines", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"BA_DEF_" not in content normal_result = run(inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"BA_DEF_" in content def test_delete_ecu(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--deleteEcu","testBU", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testBU" not in content def test_rename_ecu(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--renameEcu","testBU:renamedECU", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testBU" not in content assert b"renamedECU" in content def test_delete_signal(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--deleteSignal","someTestSignal", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"someTestSignal" not in content def test_rename_signal(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--renameSignal","someTestSignal:renamedSignal", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"someTestSignal" not in content assert b"renamedSignal" in content def test_delete_frame(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--deleteFrame","testFrame1", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "testFrame1" not in content def test_rename_frame(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--renameFrame","testFrame1:renamedFrame", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testFrame1" not in content assert b"renamedFrame" in content def test_add_frame_receiver(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--addFrameReceiver","testFrame1:newECU", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"recBU,newECU" in content def test_change_frame_id(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--changeFrameId","291:666", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"BO_ 666" in content def test_set_frame_fd(tmpdir, run): inputFile = create_dbc_with_special_char() deleted_result = run("--setFrameFd","testFrame1", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b'BA_ "VFrameFormat" BO_ 291 14' in content deleted_result = run("--unsetFrameFd","testFrame1", "tmp2.dbc", "tmp3.dbc") with open("tmp3.dbc","rb") as fd: content = fd.read() assert b'BA_ "VFrameFormat" BO_ 291 14' not in content def test_recalc_dlc(tmpdir, run): inputFile = create_dbc_with_special_char() result = run("--recalcDLC","max", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testFrame1: 8" in content result = run("--recalcDLC","force", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testFrame1: 2" in content def test_skip_long_dlc(tmpdir, run): inputFile = create_dbc_with_special_char() result = run("--skipLongDlc", "7", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "someTestSignal" not in content def test_cut_long_frames(tmpdir, run): inputFile = create_dbc_with_special_char() result = run("--cutLongFrames", "1", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "someTestSignal" not in content result = run("--cutLongFrames", "2", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"someTestSignal" in content def test_copy_signals(tmpdir, run): inputFile = create_dbc_with_special_char() result = run("--signals", "someTestSignal", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"someTestSignal" in content assert b"VECTOR__INDEPENDENT_SIG_MSG" in content def create_dbc(additionalReceiver = []): outFile = str(here / "tmpb.dbc") myFrame = canmatrix.Frame("testFrame3", arbitration_id=canmatrix.arbitration_id_converter(0x124), size=8, transmitters=["testBU"]) mySignal = canmatrix.Signal("someTestSignal", size=11, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, receivers=["recBU"]) myFrame.add_signal(mySignal) myFrame2 = canmatrix.Frame("testFrame2", arbitration_id=canmatrix.arbitration_id_converter(0x125), size=8, transmitters=["testBU2"]) myFrame2.add_attribute("myAttribute","42") mySignal2 = canmatrix.Signal("someTestSignal2", start_bit=15, size=11, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, receivers=["recBU2"] + additionalReceiver) myFrame2.add_signal(mySignal2) mySignal3 = canmatrix.Signal("zeroSignal", start_bit=20, size=0, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, receivers=["recBU2"]) mySignal3.add_attribute("mySignalAttribute", "7") myFrame2.add_signal(mySignal3) db = canmatrix.CanMatrix() db.add_frame(myFrame) db.add_frame(myFrame2) db.add_frame_defines("myAttribute","INT -5 10") db.add_signal_defines("mySignalAttribute", 'INT 0 65535') canmatrix.formats.dumpp({"": db}, outFile, dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') return outFile def test_copy_ecus(tmpdir, run): inputFile = create_dbc() result = run("--ecus", "testBU", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "testBU2" not in content assert "testBU" in content def test_copy_ecus_rx(tmpdir, run): inputFile = create_dbc() result = run("--ecus", "recBU:rx", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "recBU2" not in content assert "recBU" in content def test_copy_ecus_tx(tmpdir, run): inputFile = create_dbc(additionalReceiver = ["testBU"]) result = run("--ecus", "testBU:tx", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert "testFrame2" not in content assert "testFrame3" in content def test_copy_frames(tmpdir, run): inputFile = create_dbc() result = run("--frames", "testFrame3", inputFile, "tmp2.dbc") with open("tmp2.dbc","rb") as fd: content = fd.read() assert b"testFrame2" not in content assert b"testFrame3" in content def test_delete_frame_attributes(tmpdir, run): inputFile = create_dbc() result = run("--deleteFrameAttributes", "myAttribute", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert 'BA_ "myAttribute"' not in content def test_delete_zero_signals(tmpdir, run): inputFile = create_dbc() result = run("--deleteZeroSignals", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert 'zeroSignal' not in content def test_delete_signal_attributes(tmpdir, run): inputFile = create_dbc() result = run("--deleteSignalAttributes", "mySignalAttribute", inputFile, "tmp2.dbc") with open("tmp2.dbc","r") as fd: content = fd.read() assert 'BA_ "mySignalAttribute"' not in content def test_merge(tmpdir, run): inputFile1 = create_dbc_with_special_char() inputFile2 = create_dbc() if inputFile1[1] == ":": inputFile1 = inputFile1[2:] result = run("--merge", inputFile1, inputFile2, "tmp2.dbc") with open("tmp2.dbc", "rb") as fd: content = fd.read() assert b"BO_ 291" in content assert b"BO_ 292" in content assert b"BO_ 293" in content result = run("--merge", inputFile1 + ":ecu=testBU", inputFile2, "tmp3.dbc") with open("tmp3.dbc", "rb") as fd: content = fd.read() assert b"BO_ 291" in content assert b"BO_ 292" in content assert b"BO_ 293" in content result = run("--merge", inputFile1 + ":frame=testFrame1", inputFile2, "tmp4.dbc") with open("tmp4.dbc", "rb") as fd: content = fd.read() assert b"BO_ 291" in content assert b"BO_ 292" in content assert b"BO_ 293" in content canmatrix-0.9.5/src/canmatrix/tests/test_copy.py000066400000000000000000000115511416730473300220300ustar00rootroot00000000000000# -*- coding: utf-8 -*- import canmatrix.canmatrix import canmatrix.copy def test_merge(): matrix1 = canmatrix.canmatrix.CanMatrix() frame1 = canmatrix.canmatrix.Frame("Frame1", arbitration_id=1) frame1.add_signal(canmatrix.canmatrix.Signal("SomeSignal")) matrix1.add_frame(frame1) matrix2 = canmatrix.canmatrix.CanMatrix() frame2 = canmatrix.canmatrix.Frame("Frame2", arbitration_id=2) matrix2.add_frame(frame2) matrix1.merge([matrix2]) assert len(matrix1.frames) == 2 def test_copy_ecu_with_frames(): matrix1 = canmatrix.canmatrix.CanMatrix() frame1 = canmatrix.canmatrix.Frame("Frame1", arbitration_id=1) frame1.add_signal(canmatrix.canmatrix.Signal("SomeSignal")) matrix1.add_frame(frame1) matrix2 = canmatrix.canmatrix.CanMatrix() frame2 = canmatrix.canmatrix.Frame("Frame2", arbitration_id=2, transmitters= ["ECU"]) matrix2.add_frame(frame2) matrix2.update_ecu_list() canmatrix.copy.copy_ecu_with_frames("ECU", matrix2, matrix1) assert len(matrix1.frames) == 2 assert len(matrix1.ecus) == 1 def test_copy_ecu_without_frames(): matrix1 = canmatrix.canmatrix.CanMatrix() frame1 = canmatrix.canmatrix.Frame("Frame1", arbitration_id=1) frame1.add_signal(canmatrix.canmatrix.Signal("SomeSignal")) matrix1.add_frame(frame1) matrix2 = canmatrix.canmatrix.CanMatrix() frame2 = canmatrix.canmatrix.Frame("Frame2", arbitration_id=2, transmitters= ["ECU"]) matrix2.add_frame(frame2) matrix2.update_ecu_list() matrix2.add_ecu_defines("attrib", "STRING") matrix2.ecu_by_name("ECU").add_attribute("attrib", "attribValue") canmatrix.copy.copy_ecu("ECU", matrix2, matrix1) assert len(matrix1.frames) == 1 assert len(matrix1.ecus) == 1 assert matrix1.ecu_by_name("ECU") is not None def test_copy_ecu_with_attributes(): matrix1 = canmatrix.canmatrix.CanMatrix() frame1 = canmatrix.canmatrix.Frame("Frame1", arbitration_id=1) frame1.add_signal(canmatrix.canmatrix.Signal("SomeSignal")) matrix1.add_frame(frame1) matrix1.add_ecu_defines("some_ecu_define", "STRING") matrix2 = canmatrix.canmatrix.CanMatrix() frame2 = canmatrix.canmatrix.Frame("Frame2", arbitration_id=2, transmitters= ["ECU"]) matrix2.add_frame(frame2) matrix2.update_ecu_list() matrix2.add_ecu_defines("Node Address", "INT 0 255") matrix2.add_ecu_defines("attrib", "STRING") matrix2.add_ecu_defines("some_ecu_define", "STRING") matrix2.add_define_default("some_ecu_define", "default_value") matrix2.ecu_by_name("ECU").add_attribute("attrib", "attribValue") matrix2.ecu_by_name("ECU").add_attribute("Node Address", 42) canmatrix.copy.copy_ecu("ECU", matrix2, matrix1) assert len(matrix1.frames) == 1 assert len(matrix1.ecus) == 1 assert matrix1.ecu_by_name("ECU") is not None assert matrix1.ecu_by_name("ECU").attribute("Node Address") == 42 assert matrix1.ecu_by_name("ECU").attribute("some_ecu_define", matrix1) == "default_value" def test_copy_frame_default_attributes(): source = canmatrix.canmatrix.CanMatrix() frame1 = canmatrix.canmatrix.Frame("Frame1", arbitration_id=1) signal = canmatrix.canmatrix.Signal("Signal1") frame1.add_signal(canmatrix.canmatrix.Signal("SomeSignal")) frame1.add_signal(signal) source.add_frame(frame1) source.add_frame_defines("some_attribute", "STRING") source.add_define_default("some_attribute", "source_frame_default") source.add_signal_defines("some_signal_attribute", "STRING") source.add_define_default("some_signal_attribute", "source_sig_default") source.add_frame_defines("some_attribute_without_default", "STRING") #test if default value only defined in source and copied to target target = canmatrix.canmatrix.CanMatrix() target.add_frame_defines("some_attribute_without_default", "STRING") target.add_define_default("some_attribute_without_default", "0") canmatrix.copy.copy_frame(frame1.arbitration_id, source, target) assert target.frames[0].attribute("some_attribute", target) == "source_frame_default" assert target.frames[0].signals[0].attribute("some_signal_attribute", target) == "source_sig_default" assert target.frames[0].attribute("some_attribute_without_default", target) == "0" # test if define already exists, but has another default value: target2 = canmatrix.canmatrix.CanMatrix() target2.add_frame_defines("some_attribute", "STRING") target2.add_define_default("some_attribute", "target_frame_default") target2.add_signal_defines("some_signal_attribute", "STRING") target2.add_define_default("some_signal_attribute", "target_sig_default") canmatrix.copy.copy_frame(frame1.arbitration_id, source, target2) assert target2.frames[0].attribute("some_attribute", target2) == "source_frame_default" assert target2.frames[0].signals[0].attribute("some_signal_attribute", target2) == "source_sig_default" canmatrix-0.9.5/src/canmatrix/tests/test_dbc.py000066400000000000000000000501711416730473300216070ustar00rootroot00000000000000# -*- coding: utf-8 -*- import io import textwrap import string import pytest import decimal import canmatrix.formats.dbc def test_long_signal_name_imports(): long_signal_name = u'FAILURE_ZELL_UNTERTEMPERATUR_ENTLADEN_ALARM_IDX_01' assert len(long_signal_name) > 32 dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1 testFrame1: 1 TEST_ECU SG_ someShortenedDummyName: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_ "SystemSignalLongSymbol" SG_ 1 someShortenedDummyName "{}"; ''').format(long_signal_name).encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) assert matrix.frames[0].signals[0].name == long_signal_name outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") long_name_found = False name_found = False for line in outdbc.getvalue().decode('utf8').split('\n'): if line.strip().startswith("SG_"): assert len(line.split()[1]) <= 32 name_found = True if line.strip().startswith("BA_ "): assert line.split()[5][1:-2] == long_signal_name long_name_found = True assert long_name_found is True assert name_found is True def test_create_define(): defaults = {} test_string = canmatrix.formats.dbc.create_define("my_data_type", canmatrix.Define('ENUM "A","B"'), "BA_", defaults) assert test_string == 'BA_DEF_ BA_ "my_data_type" ENUM "A","B";\n' def test_create_attribute_string(): test_string = canmatrix.formats.dbc.create_attribute_string("my_attribute", "BO_", "name", "value", True) assert test_string == 'BA_ "my_attribute" BO_ name "value";\n' test_string = canmatrix.formats.dbc.create_attribute_string("my_attribute", "BO_", "name", 1.23, False) assert test_string == 'BA_ "my_attribute" BO_ name 1.23;\n' def test_create_comment_string(): test_string = canmatrix.formats.dbc.create_comment_string("BO_", "ident", "some comment", "utf8", "utf8", "") assert test_string == b'CM_ BO_ ident "some comment";\n' def test_parse_comment_from_dbc(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1 someFrame: 1 someEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST CM_ SG_ 1 someSignal "resistance setting (0-100%)" ; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) assert matrix.frames[0].signals[0].comment == "resistance setting (0-100%)" def test_parse_multi_line_comment(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1 someFrame: 1 someEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST CM_ SG_ 1 someSignal "Debug request message from the ECU to the BMS. ** ignore for now, more definition to be provided in Rev 14 regarding which messages to change if we have this debug flag implemented. " ; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) assert matrix.frames[0].signals[0].comment == 'Debug request message from the ECU to the BMS.\n** ignore for now, more definition to be provided in Rev 14 regarding which messages to change if we have this debug flag implemented. ' def test_long_frame_name_imports(): long_frame_name = u'A_VERY_LONG_FRAME_NAME_WHICH_SHOULD_BE_SPLIT_SOMEHOW' assert len(long_frame_name) > 32 dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1 shortendeFrameName: 1 someEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_ "SystemMessageLongSymbol" BO_ 1 "{}"; ''').format(long_frame_name).encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) long_name_found = False name_found = False assert matrix.frames[0].name == long_frame_name outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") for line in outdbc.getvalue().decode('utf8').split('\n'): if line.strip().startswith("BO_"): assert len(line.split()[2][:-1]) <= 32 name_found = True if line.strip().startswith("BA_ "): assert line.split()[4][1:-2] == long_frame_name long_name_found = True assert long_name_found is True assert name_found is True def test_long_ecu_name_imports(): long_ecu_name = u'A_VERY_LONG_ECU_NAME_WHICH_SHOULD_BE_SPLIT_SOMEHOW' assert len(long_ecu_name) > 32 dbc = io.BytesIO(textwrap.dedent(u'''\ BU_: SoMEShortenedEcuName BO_ 1 testFrame1: 1 SoMEShortenedEcuName SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_ "SystemNodeLongSymbol" BU_ SoMEShortenedEcuName "{}"; ''').format(long_ecu_name).encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) long_name_found = False name_found = False assert matrix.ecus[0].name == long_ecu_name outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") for line in outdbc.getvalue().decode('utf8').split('\n'): if line.strip().startswith("BU_"): assert len(line.split()[1]) <= 32 name_found = True if line.strip().startswith("BA_ "): assert line.split()[4][1:-2] == long_ecu_name long_name_found = True assert long_name_found is True assert name_found is True def test_long_envvar_name_imports(): long_envvar_name = u'A_VERY_LONG_ENVIROMENT_NAME_WHICH_SHOULD_BE_SPLIT_SOMEHOW' assert len(long_envvar_name) > 32 dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1 frameName: 1 someEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST EV_ someShortendEnvVar: 0 [0|0] "" 0 2 DUMMY_NODE_VECTOR0 Vector__XXX; BA_ "SystemEnvVarLongSymbol" EV_ someShortendEnvVar "{}"; ''').format(long_envvar_name).encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc) assert list(matrix.env_vars)[0] == long_envvar_name outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") long_name_found = False name_found = False for line in outdbc.getvalue().decode('utf8').split('\n'): if line.strip().startswith("EV_"): assert len(line.split()[1]) <= 32 name_found = True if line.strip().startswith("BA_ "): assert line.split()[3][1:-2] == long_envvar_name long_name_found = True assert long_name_found is True assert name_found is True def test_enum_with_comma(): dbc = io.BytesIO(textwrap.dedent(u'''\ BA_DEF_ "example0" ENUM "Val1",","; BA_DEF_ BO_ "example1" ENUM "Val 1","vector_leerstring",""," ","'","(",")","[","]","/","-","|","{","}",";",":","<",">",".","?","!","@","#","$","%","^","&","=","`","~"; BA_DEF_ SG_ "example2" ENUM "Val1",","; BA_DEF_ EV_ "example3" ENUM "Val1",","; BA_DEF_ BU_ "example4" ENUM "Val1",","; BA_DEF_DEF_ "example0" ","; BA_DEF_DEF_ "example1" ","; BA_DEF_DEF_ "example2" ","; BA_DEF_DEF_ "example3" ","; BA_DEF_DEF_ "example4" ","; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frame_defines[u'example1'].values == ["Val 1", "", ""] + list(" '()[]/-|{};:<>.?!@#$%^&=`~") assert matrix.signal_defines[u'example2'].values == ['Val1', ','] assert matrix.ecu_defines[u'example4'].values == ['Val1', ','] @pytest.mark.parametrize( 'character', [ ['{}'.format(c if c != '"' else '\\"')] for c in string.punctuation ], ) def test_enum_with_special_character(character): dbc = io.BytesIO(textwrap.dedent(u'''\ BA_DEF_ BO_ "example1" ENUM "Val 1","{}"; ''').format(character[0]).encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frame_defines[u'example1'].values == ["Val 1", character[0]] def test_export_of_unknown_defines(): db = canmatrix.CanMatrix() db.add_frame_defines("Receivable", 'BOOL False True') db.add_frame_defines("Sendable", 'BOOL False True') for (dataType, define) in db.frame_defines.items(): orig_definition = define.definition canmatrix.formats.dbc.check_define(define) assert orig_definition != define.definition db.add_signal_defines("LongName", 'STR') for (dataType, define) in db.signal_defines.items(): orig_definition = define.definition canmatrix.formats.dbc.check_define(define) assert orig_definition != define.definition frame = canmatrix.Frame("someFrame") signal = canmatrix.Signal("SomeSignal") signal.add_attribute("LongName", "EnableCalcIDCTrip Calc. IDC trip") frame.add_signal(signal) db.add_frame(frame) db.add_ecu_defines("someName", 'STRING') for (dataType, define) in db.ecu_defines.items(): orig_definition = define.definition canmatrix.formats.dbc.check_define(define) assert orig_definition == define.definition db.add_global_defines("someGlobaName", 'BOOL') for (dataType, define) in db.global_defines.items(): orig_definition = define.definition canmatrix.formats.dbc.check_define(define) assert orig_definition != define.definition outdbc = io.BytesIO() canmatrix.formats.dump(db, outdbc, "dbc") for line in outdbc.getvalue().decode('utf8').split('\n'): if line.startswith("BA_DEF_ "): assert line.endswith("STRING;") if line.startswith("BA_ "): assert line.endswith('";') def test_braces_in_attributes(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 20 frameName: 1 someEcu SG_ sometext: 1|2@0+ (1,0) [0|0] "" someOtherEcu BA_ "Signal Age [ms]" SG_ 20 sometext 5000; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") def test_defines_with_spaces(): dbc = io.BytesIO(textwrap.dedent(u'''\ BU_: someOtherEcu BO_ 123 someFrame: 1 someOtherEcu EV_ someEnvVar: 0 [0|0] "" 0 2 DUMMY_NODE_VECTOR0 Vector__XXX; BA_DEF_ BU_ "Node Address" INT 0 255; BA_DEF_ BO_ "Period [ms]" INT 0 5000; BA_DEF_ BU_ "Description X" STRING; BA_DEF_ EV_ "some attrib" STRING; BA_ "Node Address" BU_ someOtherEcu 42; BA_ "Description X" BU_ someOtherEcu "Some Some Text"; BA_ "Period [ms]" BO_ 123 3000; BA_ "some attrib" EV_ someEnvVar "some space"; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.ecu_defines["Node Address"].type == "INT" assert matrix.ecu_defines["Node Address"].min == 0 assert matrix.ecu_defines["Node Address"].max == 255 assert matrix.frame_defines["Period [ms]"].min == 0 assert matrix.frame_defines["Period [ms]"].max == 5000 assert matrix.frames[0].attributes["Period [ms]"] == '3000' assert matrix.env_vars["someEnvVar"]["attributes"]["some attrib"] == '"some space"' assert matrix.ecus[0].attributes["Description X"] == "Some Some Text" def test_writing_complex_multiplex(): db = canmatrix.CanMatrix() frame = canmatrix.Frame("someFrame") frame.is_complex_multiplexed = True signal = canmatrix.Signal("mx") signal.mux_val_max = 5 signal.mux_val_min = 1 signal.muxer_for_signal = 4 frame.add_signal(signal) db.add_frame(frame) outdbc = io.BytesIO() canmatrix.formats.dump(db, outdbc, "dbc") for line in outdbc.getvalue().decode('utf8').split('\n'): if "SG_MUL_VAL" in line: return True assert False def test_defines_with_special_cars(): dbc = io.BytesIO(textwrap.dedent(u'''\ BU_: someOtherEcu BO_ 123 someFrame: 1 someOtherEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_DEF_ SG_ "Accuracy" STRING; BA_ "Accuracy" SG_ 123 someSignal "+/- 10.2 at 55.1%"; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].signals[0].attributes["Accuracy"] == "+/- 10.2 at 55.1%" def test_j1939_frametype(): dbc = io.BytesIO(textwrap.dedent(u'''\ BU_: someOtherEcu BO_ 2147483648 someFrame: 1 someOtherEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","J1939PG"; BA_ "VFrameFormat" BO_ 2147483648 2; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].is_j1939 == True # negative test dbc = io.BytesIO(textwrap.dedent(u'''\ BU_: someOtherEcu BO_ 2147483648 someFrame: 1 someOtherEcu SG_ someSignal: 1|2@0+ (1,0) [0|0] "" CCL_TEST BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","J1939PG"; BA_ "VFrameFormat" BO_ 2147483648 0; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].is_j1939 == False def test_attributes_with_spaces_before_semicolumn(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 8 Frame_1: 8 Vector__XXX BO_ 9 Frame_2: 8 Vector__XXX BA_DEF_ BO_ "someAttribute" STRING ; BA_ "someAttribute" BO_ 8 "str" ; BA_DEF_DEF_ "someAttribute" "asd" ; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].attributes["someAttribute"] == 'str' assert matrix.frames[1].attribute("someAttribute", matrix) == 'asd' def test_cycle_time_handling(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ sig2 : 8|8@1- (1,0) [0|0] "" Vector__XXX SG_ sig1 : 0|8@1- (1,0) [0|0] "" Vector__XXX BA_DEF_ BO_ "GenMsgCycleTime" INT 0 3600000; BA_DEF_ SG_ "GenSigCycleTime" INT 0 3600000; BA_DEF_DEF_ "GenMsgCycleTime" 0; BA_DEF_DEF_ "GenSigCycleTime" 0; BA_ "GenMsgCycleTime" BO_ 17 100; BA_ "GenSigCycleTime" SG_ 17 sig2 20; BA_ "GenSigCycleTime" SG_ 17 sig1 10; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].cycle_time == 100 assert matrix.frames[0].signal_by_name("sig1").cycle_time == 10 assert matrix.frames[0].signal_by_name("sig2").cycle_time == 20 # assert "GenMsgCycleTime" not in matrix.frame_defines # assert "GenSigCycleTime" not in matrix.signal_defines outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") assert 'BA_ "GenMsgCycleTime" BO_ 17 100;' in outdbc.getvalue().decode('utf8') assert 'BA_ "GenSigCycleTime" SG_ 17 sig2 20;' in outdbc.getvalue().decode('utf8') assert 'BA_ "GenSigCycleTime" SG_ 17 sig1 10;' in outdbc.getvalue().decode('utf8') outdbc = io.BytesIO() canmatrix.formats.dump({"aa":matrix}, outdbc, "kcd") def test_keep_cycle_time_defines(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ sig1 : 0|8@1- (1,0) [0|0] "" Vector__XXX BA_DEF_ BO_ "GenMsgCycleTime" INT 0 50000 ; BA_DEF_DEF_ "GenMsgCycleTime" 0 ; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") assert 'BA_DEF_ BO_ "GenMsgCycleTime" INT 0 50000' in outdbc.getvalue().decode('utf8') assert 'BA_DEF_DEF_ "GenMsgCycleTime" 0' in outdbc.getvalue().decode('utf8') def test_unique_signal_names(): db = canmatrix.CanMatrix() frame = canmatrix.Frame("some Frame") frame.add_signal(canmatrix.Signal("signal_name", size=1, start_bit=1)) frame.add_signal(canmatrix.Signal("signal_name", size=2, start_bit=9)) db.add_frame(frame) outdbc = io.BytesIO() canmatrix.formats.dump(db, outdbc, "dbc") assert "signal_name0" in outdbc.getvalue().decode('utf8') assert "signal_name1" in outdbc.getvalue().decode('utf8') outdbc = io.BytesIO() canmatrix.formats.dump(db, outdbc, "dbc", dbcUniqueSignalNames=False) assert "signal_name0" not in outdbc.getvalue().decode('utf8') assert "signal_name1" not in outdbc.getvalue().decode('utf8') assert "signal_name" in outdbc.getvalue().decode('utf8') def test_signal_inital_value(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ sig1 : 0|8@1- (1,0) [0|0] "" Vector__XXX BA_DEF_ SG_ "GenSigStartValue" FLOAT 0 100000000000; BA_ "GenSigStartValue" SG_ 17 sig1 2.7; SIG_VALTYPE_ 17 sig1 : 1; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].signal_by_name("sig1").initial_value == decimal.Decimal("2.7") # assert "GenSigStartValue" not in matrix.signal_defines outdbc = io.BytesIO() canmatrix.formats.dump(matrix, outdbc, "dbc") assert 'BA_ "GenSigStartValue" SG_ 17 sig1 2.7;' in outdbc.getvalue().decode('utf8') def test_candbpp_startbit(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 1809 MSG: 8 DEV2 SG_ SIG1 : 39|4@0+ (1,0) [0|1] "" DEV1 SG_ SIG2 : 52|1@0+ (1,0) [0|1] "" DEV1 SG_ SIG3 : 51|12@0+ (0.1,0) [0|360] "°" DEV1 SG_ SIG4 : 6|1@0+ (1,0) [0|1] "" DEV1 SG_ SIG5 : 5|1@0+ (1,0) [0|1] "" DEV1 SG_ SIG6 : 23|3@0+ (1,0) [0|1] "" DEV1 SG_ SIG7 : 7|1@0+ (1,0) [0|1] "" DEV1 SG_ SIG8 : 34|11@0+ (0.1,-102.4) [-32|32] "A" DEV1 SG_ SIG9 : 18|11@0+ (0.1,-102.4) [-62.5|62.5] "A" DEV1 SG_ SIG10 : 4|13@0+ (0.1,0) [350|450] "V" DEV1 ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") # Motorola forward LSB assert matrix.frames[0].signal_by_name("SIG1").get_startbit(True, True) == 36 assert matrix.frames[0].signal_by_name("SIG2").get_startbit(True, True) == 52 assert matrix.frames[0].signal_by_name("SIG3").get_startbit(True, True) == 56 assert matrix.frames[0].signal_by_name("SIG4").get_startbit(True, True) == 6 assert matrix.frames[0].signal_by_name("SIG5").get_startbit(True, True) == 5 assert matrix.frames[0].signal_by_name("SIG6").get_startbit(True, True) == 21 assert matrix.frames[0].signal_by_name("SIG7").get_startbit(True, True) == 7 assert matrix.frames[0].signal_by_name("SIG8").get_startbit(True, True) == 40 assert matrix.frames[0].signal_by_name("SIG9").get_startbit(True, True) == 24 assert matrix.frames[0].signal_by_name("SIG10").get_startbit(True, True) == 8 # Motorola forward MSB assert matrix.frames[0].signal_by_name("SIG1").get_startbit(True, False) == 39 assert matrix.frames[0].signal_by_name("SIG2").get_startbit(True, False) == 52 assert matrix.frames[0].signal_by_name("SIG3").get_startbit(True, False) == 51 assert matrix.frames[0].signal_by_name("SIG4").get_startbit(True, False) == 6 assert matrix.frames[0].signal_by_name("SIG5").get_startbit(True, False) == 5 assert matrix.frames[0].signal_by_name("SIG6").get_startbit(True, False) == 23 assert matrix.frames[0].signal_by_name("SIG7").get_startbit(True, False) == 7 assert matrix.frames[0].signal_by_name("SIG8").get_startbit(True, False) == 34 assert matrix.frames[0].signal_by_name("SIG9").get_startbit(True, False) == 18 assert matrix.frames[0].signal_by_name("SIG10").get_startbit(True, False) == 4 def test_missing_space(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ sig1 : 0|8@1-(1,0)[0|0] "" Vector__XXX ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].signals[0].name == "sig1" def test_escaped_quotes(): dbc = io.BytesIO(textwrap.dedent(r''' BO_ 17 Frame_1: 8 Vector__XXX SG_ Signal : 0|8@1-(1,0)[0|0] "" Vector__XXX VAL_ 17 Signal 0 "zero" 1 "one " 2 "string with \"escaped\" double quotes"; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].signals[0].values[2] == r'string with "escaped" double quotes' def test_float_cycle_time(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ sig2 : 8|8@1- (1,0) [0|0] "" Vector__XXX SG_ sig1 : 0|8@1- (1,0) [0|0] "" Vector__XXX BA_DEF_ BO_ "GenMsgCycleTime" INT 10 3600000; BA_ "GenMsgCycleTime" BO_ 17 100.0; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") assert matrix.frames[0].cycle_time == 100 def test_without_ecu(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 17 Frame_1: 8 Vector__XXX SG_ A_B_C_D_E: 39|16@0+ (0.01,0) [0|655.35] "km/h" ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") matrix.frames[0].signals[0].name == "A_B_C_D_E" canmatrix-0.9.5/src/canmatrix/tests/test_dbf.py000066400000000000000000000002611416730473300216050ustar00rootroot00000000000000import canmatrix.formats.dbc import io def test_empty_matrix_export(): db = canmatrix.CanMatrix() outdbf = io.BytesIO() canmatrix.formats.dump(db, outdbf, "dbf") canmatrix-0.9.5/src/canmatrix/tests/test_formats.py000066400000000000000000000007141416730473300225300ustar00rootroot00000000000000# -*- coding: utf-8 -*- import io import textwrap import canmatrix.formats def test_dump_matrix(): matrix = canmatrix.CanMatrix() codec = 'utf-8' f = io.BytesIO() canmatrix.formats.dump(matrix, f, 'sym', symExportEncoding=codec) result = f.getvalue() expected = textwrap.dedent(u'''\ FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} ''').encode(codec) assert result == expected canmatrix-0.9.5/src/canmatrix/tests/test_frame_decoding.dbc000066400000000000000000000036411416730473300241050ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: CCL_TEST TEST_ECU BO_ 4 muxTestFrame: 7 TEST_ECU SG_ myMuxer M : 53|3@1+ (1,0) [0|0] "" CCL_TEST SG_ muxSig4 m0 : 25|7@1- (1,0) [0|0] "" CCL_TEST SG_ muxSig3 m0 : 16|9@1+ (1,0) [0|0] "" CCL_TEST SG_ muxSig2 m0 : 15|8@0- (1,0) [0|0] "" CCL_TEST SG_ muxSig1 m0 : 0|8@1- (1,0) [0|0] "" CCL_TEST SG_ muxSig5 m1 : 22|7@1- (1,0) [0|0] "" CCL_TEST SG_ muxSig6 m1 : 32|9@1+ (1,0) [0|0] "" CCL_TEST SG_ muxSig7 m1 : 2|8@0- (1,0) [0|0] "" CCL_TEST SG_ muxSig8 m1 : 0|6@1- (1,0) [0|0] "" CCL_TEST SG_ muxSig9 : 40|8@1- (1,0) [0|0] "" CCL_TEST BO_ 3 testFrameFloat: 8 TEST_ECU SG_ floatSignal2 : 32|32@1- (1,0) [0|0] "" CCL_TEST SG_ floatSignal1 : 7|32@0- (1,0) [0|0] "" CCL_TEST BO_ 1 testFrame1: 8 TEST_ECU SG_ sig0 : 1|2@0+ (1,0) [0|0] "" CCL_TEST SG_ sig1 : 7|6@0+ (1,0) [0|0] "" CCL_TEST SG_ sig2 : 15|11@0+ (1,0) [0|0] "" CCL_TEST SG_ sig3 : 20|12@0+ (1,0) [0|0] "" CCL_TEST SG_ sig4 : 24|9@0+ (1,0) [0|0] "" CCL_TEST SG_ sig5 : 50|3@0+ (1,0) [0|0] "" CCL_TEST SG_ sig6 : 53|3@0+ (1,0) [0|0] "" CCL_TEST SG_ sig7 : 47|10@0+ (1,0) [0|0] "" CCL_TEST SG_ sig8 : 58|3@0+ (1,0) [0|0] "" CCL_TEST SG_ sig9 : 61|3@0+ (1,0) [0|0] "" CCL_TEST SG_ sig10 : 63|2@0+ (1,0) [0|0] "" CCL_TEST BO_ 2 testFrame2: 8 TEST_ECU SG_ secSig1 : 60|2@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig2 : 55|1@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig3 : 20|4@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig4 : 62|2@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig5 : 34|3@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig6 : 37|3@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig7 : 59|1@1- (1,0) [0|0] "" CCL_TEST SG_ secSig8 : 56|3@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig9 : 52|3@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig10 : 8|12@1+ (1,0) [0|0] "" CCL_TEST SG_ secSig11 : 24|10@1- (1,0) [0|0] "" CCL_TEST SG_ secSig12 : 0|8@1+ (1,0) [0|0] "" CCL_TEST SIG_VALTYPE_ 3 floatSignal2 : 1; SIG_VALTYPE_ 3 floatSignal1 : 1; canmatrix-0.9.5/src/canmatrix/tests/test_frame_decoding.py000066400000000000000000000205521416730473300240050ustar00rootroot00000000000000# -*- coding: utf-8 -*- import pytest import canmatrix.formats import os.path import textwrap import io from canmatrix.convert import convert_pdu_container_to_multiplexed def load_dbc(): here = os.path.dirname(os.path.realpath(__file__)) return canmatrix.formats.loadp_flat(os.path.join(here, "test_frame_decoding.dbc")) def test_decode_with_dbc_big_endian(): cm = load_dbc() # 001#8d00100100820100 frame_data_1 = bytearray([141, 0, 16, 1, 0, 130, 1, 0]) frame1 = cm.frame_by_id(canmatrix.ArbitrationId(1)) decoded1 = frame1.decode(frame_data_1) assert decoded1["sig0"].raw_value == 1 assert decoded1["sig1"].raw_value == 35 assert decoded1["sig2"].raw_value == 0 assert decoded1["sig3"].raw_value == 2048 assert decoded1["sig4"].raw_value == 256 assert decoded1["sig5"].raw_value == 1 assert decoded1["sig6"].raw_value == 0 assert decoded1["sig7"].raw_value == 520 assert decoded1["sig8"].raw_value == 0 assert decoded1["sig9"].raw_value == 0 assert decoded1["sig10"].raw_value == 0 def test_decode_with_dbc_little_endian(): cm = load_dbc() # 002#0C00057003001F83 frame_data = bytearray([12, 0, 5, 112, 3, 0, 31, 131]) frame = cm.frame_by_id(canmatrix.ArbitrationId(2)) decoded = frame.decode(frame_data) assert decoded["secSig1"].raw_value == 0 assert decoded["secSig2"].raw_value == 0 assert decoded["secSig3"].raw_value == 0 assert decoded["secSig4"].raw_value == 2 assert decoded["secSig5"].raw_value == 0 assert decoded["secSig6"].raw_value == 0 assert decoded["secSig7"].raw_value == 0 assert decoded["secSig8"].raw_value == 3 assert decoded["secSig9"].raw_value == 1 assert decoded["secSig10"].raw_value == 1280 assert decoded["secSig11"].raw_value == -144 assert decoded["secSig12"].raw_value == 12 def test_decode_with_too_little_dlc(): cm = load_dbc() # 002#0C00057003001F83 frame_data = bytearray([12, 0, 5, 112, 3, 0, 31]) frame = cm.frame_by_id(canmatrix.ArbitrationId(2)) with pytest.raises(canmatrix.DecodingFrameLength): frame.decode(frame_data) def test_decode_with_too_big_dlc(): cm = load_dbc() frame_data1 = bytearray([0x38, 0x63, 0x8A, 0x7E, 0x00, 0x20, 0x00, 0x00]) frame = cm.frame_by_id(canmatrix.ArbitrationId(4)) with pytest.raises(canmatrix.DecodingFrameLength): frame.decode(frame_data1) def test_decode_with_dbc_float(): cm = load_dbc() # 003#38638A7E58A8C540 frame_data = bytearray([0x38, 0x63, 0x8A, 0x7E, 0x58, 0xA8, 0xC5, 0x40]) frame = cm.frame_by_id(canmatrix.ArbitrationId(3)) decoded = frame.decode(frame_data) assert decoded["floatSignal1"].raw_value == 5.424999835668132e-05 assert decoded["floatSignal2"].raw_value == 6.176799774169922 def test_decode_with_dbc_multiplex(): cm = load_dbc() frame_data1 = bytearray([0x38, 0x63, 0x8A, 0x7E, 0x00, 0x20, 0x00]) frame = cm.frame_by_id(canmatrix.ArbitrationId(4)) decoded1 = frame.decode(frame_data1) assert decoded1["myMuxer"].raw_value == 0 assert decoded1["muxSig9"].raw_value == 0x20 assert decoded1["muxSig1"].raw_value == 0x38 assert decoded1["muxSig2"].raw_value == 0x63 assert decoded1["muxSig3"].raw_value == 0x8A assert decoded1["muxSig4"].raw_value == 0x3F assert decoded1["muxSig9"].raw_value == 0x20 frame_data2 = bytearray([0x38, 0x63, 0x8A, 0x1E, 0x18, 0x20, 0x20]) decoded2 = frame.decode(frame_data2) assert decoded2["myMuxer"].raw_value == 1 assert decoded2["muxSig9"].raw_value == 0x20 assert decoded2["muxSig5"].raw_value == -6 assert decoded2["muxSig6"].raw_value == 0x18 assert decoded2["muxSig7"].raw_value == 0x0C assert decoded2["muxSig8"].raw_value == -8 assert decoded2["muxSig9"].raw_value == 0x20 def test_decode_complex_multiplexed(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 2024 OBD2: 8 Vector__XXX SG_ ParameterID_Service01 m1M : 23|8@0+ (1,0) [0|0] "" Vector__XXX SG_ Vehicle_speed m13 : 31|8@0+ (1,0) [0|0] "" Vector__XXX SG_ service M : 11|4@0+ (1,0) [0|0] "" Vector__XXX SG_ MAF_air_flow_rate m16 : 31|16@0+ (0.01,0) [0|0] "grams/sec" Vector__XXX SG_MUL_VAL_ 2024 ParameterID_Service01 service 1-1; SG_MUL_VAL_ 2024 Vehicle_speed ParameterID_Service01 13-13; SG_MUL_VAL_ 2024 MAF_air_flow_rate ParameterID_Service01 16-16; ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") decoded = matrix.decode(canmatrix.ArbitrationId(2024),bytearray([0x03,0x41,0x0d,0x00,0xaa,0xaa,0xaa,0xaa])) assert decoded["Vehicle_speed"].raw_value == 0 assert "MAF_air_flow_rate" not in decoded def test_decode_pdu_container(): frame_id = canmatrix.ArbitrationId(id=10, extended=False) frame = canmatrix.Frame( arbitration_id=frame_id, name="test", ) s1 = canmatrix.Signal( name="Header_ID", size=24, is_signed=False, is_little_endian=False, ) s1.set_startbit(7, bitNumbering=1) s2 = canmatrix.Signal( name="Header_DLC", size=8, is_signed=False, is_little_endian=False, ) s2.set_startbit(7+24, bitNumbering=1) frame.add_signal(s1) frame.add_signal(s2) # PDU 1 pdu1 = canmatrix.Pdu( name="pdu1", id=10, size=2, ) ps11 = canmatrix.Signal( name="s11", size=8, is_signed=False, is_little_endian=False, ) ps11.set_startbit(7+0, bitNumbering=1) ps12 = canmatrix.Signal( name="s12", size=8, is_signed=False, is_little_endian=False, ) ps12.set_startbit(7+8, bitNumbering=1) pdu1.add_signal(ps11) pdu1.add_signal(ps12) frame.add_pdu(pdu1) # PDU 2 pdu2 = canmatrix.Pdu( name="pdu2", id=11, size=2, ) ps21 = canmatrix.Signal( name="s21", size=8, is_signed=False, is_little_endian=False, ) ps21.set_startbit(7+0, bitNumbering=1) ps22 = canmatrix.Signal( name="s22", size=8, is_signed=False, is_little_endian=False, ) ps22.set_startbit(7+8, bitNumbering=1) pdu2.add_signal(ps21) pdu2.add_signal(ps22) frame.add_pdu(pdu2) frame.calc_dlc() data = bytearray([0, 0, 10, 2, 10, 13, 0, 0, 11, 2, 25, 30]) decoded = frame.decode(data) assert decoded["pdus"][0]["pdu1"]["s11"].raw_value == 10 assert decoded["pdus"][0]["pdu1"]["s12"].raw_value == 13 assert decoded["pdus"][1]["pdu2"]["s21"].raw_value == 25 assert decoded["pdus"][1]["pdu2"]["s22"].raw_value == 30 def test_pdu_container_decoding_without_header(): frame = canmatrix.Frame( name="frame", size=8, ) pdu = canmatrix.Pdu( name="pdu", size=8, ) frame.add_pdu(pdu) data = bytearray([0] * frame.size) with pytest.raises(canmatrix.DecodingConatainerPdu): frame.decode(data) def test_decoding_between_multiplexed_and_container_pdu(): frame_id = canmatrix.ArbitrationId(id=10, extended=False) frame = canmatrix.Frame( arbitration_id=frame_id, name="test", ) s1 = canmatrix.Signal( name="Header_ID", size=24, is_signed=False, is_little_endian=False, ) s1.set_startbit(7, bitNumbering=1) s2 = canmatrix.Signal( name="Header_DLC", size=8, is_signed=False, is_little_endian=False, ) s2.set_startbit(7+24, bitNumbering=1) frame.add_signal(s1) frame.add_signal(s2) # PDU 1 pdu1 = canmatrix.Pdu( name="pdu1", id=10, size=2, ) ps11 = canmatrix.Signal( name="s11", size=8, is_signed=False, is_little_endian=False, ) ps11.set_startbit(7+0, bitNumbering=1) ps12 = canmatrix.Signal( name="s12", size=8, is_signed=False, is_little_endian=False, ) ps12.set_startbit(7+8, bitNumbering=1) pdu1.add_signal(ps11) pdu1.add_signal(ps12) frame.add_pdu(pdu1) frame.calc_dlc() data = bytearray([0, 0, 10, 2, 125, 200]) decoded = frame.decode(data) assert decoded["pdus"][0]["pdu1"]["s11"].raw_value == 125 assert decoded["pdus"][0]["pdu1"]["s12"].raw_value == 200 new_frame = convert_pdu_container_to_multiplexed(frame) decoded = new_frame.decode(data) assert decoded["s11"].raw_value == 125 assert decoded["s12"].raw_value == 200 canmatrix-0.9.5/src/canmatrix/tests/test_frame_encoding.py000066400000000000000000000157311416730473300240220ustar00rootroot00000000000000# -*- coding: utf-8 -*- import io import os.path import textwrap import attr import canmatrix.formats def load_dbc(): here = os.path.dirname(os.path.realpath(__file__)) return canmatrix.formats.loadp_flat(os.path.join(here, "test_frame_decoding.dbc")) def test_encode_with_dbc_big_endian(): cm = load_dbc() # 002#0C00057003CD1F83 frame = cm.frame_by_id(canmatrix.ArbitrationId(1)) to_encode = dict() to_encode["sig0"] = 1 to_encode["sig1"] = 35 to_encode["sig2"] = 0 to_encode["sig3"] = 2048 to_encode["sig4"] = 256 to_encode["sig5"] = 1 to_encode["sig6"] = 0 to_encode["sig7"] = 520 to_encode["sig8"] = 0 to_encode["sig9"] = 0 to_encode["sig10"] = 0 frame_data = frame.encode(to_encode) assert frame_data == bytearray([141, 0, 16, 1, 0, 130, 1, 0]) def test_encode_with_dbc_little_endian(): cm = load_dbc() # 002#0C00057003CD1F83 frame = cm.frame_by_id(canmatrix.ArbitrationId(2)) to_encode = dict() to_encode["secSig1"] = 0 to_encode["secSig2"] = 0 to_encode["secSig3"] = 0 to_encode["secSig4"] = 2 to_encode["secSig5"] = 0 to_encode["secSig6"] = 0 to_encode["secSig7"] = 0 to_encode["secSig8"] = 3 to_encode["secSig9"] = 1 to_encode["secSig10"] = 1280 to_encode["secSig11"] = -144 to_encode["secSig12"] = 12 frame_data = frame.encode(to_encode) assert frame_data == bytearray([0x0c, 0x00, 0x05, 0x70, 0x03, 0x00, 0x10, 0x83]) def test_encode_with_dbc_float(): cm = load_dbc() # 003#38638A7E58A8C540 frame = cm.frame_by_id(canmatrix.ArbitrationId(3)) to_encode = dict() to_encode["floatSignal1"] = 5.424999835668132e-05 to_encode["floatSignal2"] = 6.176799774169922 frame_data = frame.encode(to_encode) assert frame_data == bytearray([0x38, 0x63, 0x8A, 0x7E, 0x58, 0xA8, 0xC5, 0x40]) def test_encode_with_dbc_multiplex(): cm = load_dbc() frame = cm.frame_by_id(canmatrix.ArbitrationId(4)) to_encode1 = dict() to_encode1["myMuxer"] = 0 to_encode1["muxSig9"] = 0x20 to_encode1["muxSig1"] = 0x38 to_encode1["muxSig2"] = 0x63 to_encode1["muxSig3"] = 0x8A to_encode1["muxSig4"] = 0x3F frame_data1 = frame.encode(to_encode1) assert frame_data1 == bytearray([0x38, 0x63, 0x8A, 0x7E, 0x00, 0x20, 0x00]) to_encode2 = dict() to_encode2["myMuxer"] = 1 to_encode2["muxSig9"] = 0x20 to_encode2["muxSig5"] = -6 to_encode2["muxSig6"] = 0x18 to_encode2["muxSig7"] = 0x0C to_encode2["muxSig8"] = -8 frame_data2 = frame.encode(to_encode2) assert frame_data2 == bytearray([0x38, 0x60, 0x80, 0x1E, 0x18, 0x20, 0x20]) def test_sym(): """Test signal and frame encoding based on a .sym file The symbol file was created using the PCAN Symbol Editor. The reference transmissions were created using PCAN Explorer. The result message bytes were observed in PCAN-View. PCAN Symbol Editor v3.1.6.342 PCAN Explorer v5.3.4.823 PCAN-View v4.2.1.533 """ s = textwrap.dedent( u'''\ FormatVersion=5.0 // Do not edit this line! Title="Untitled" {SENDRECEIVE} [Unsigned] ID=000h DLC=7 Var=two_bit_big_endian unsigned 33,2 -m Var=two_bit_little_endian unsigned 30,2 Var=seven_bit_big_endian unsigned 4,7 -m Var=seven_bit_little_endian unsigned 5,7 Var=eleven_bit_big_endian unsigned 35,11 -m Var=eleven_bit_little_endian unsigned 18,11 [Signed] ID=001h DLC=7 Var=two_bit_big_endian signed 33,2 -m Var=two_bit_little_endian signed 30,2 Var=seven_bit_big_endian signed 4,7 -m Var=seven_bit_little_endian signed 5,7 Var=eleven_bit_big_endian signed 35,11 -m Var=eleven_bit_little_endian signed 18,11 ''', ) f = io.BytesIO(s.encode('utf-8')) matrix = canmatrix.formats.load_flat(f, import_type='sym') unsigned_frame = matrix.frame_by_name('Unsigned') signed_frame = matrix.frame_by_name('Signed') @attr.s(frozen=True) class TestFrame(object): two_bit_big_endian = attr.ib(default=0) two_bit_little_endian = attr.ib(default=0) seven_bit_big_endian = attr.ib(default=0) seven_bit_little_endian = attr.ib(default=0) eleven_bit_big_endian = attr.ib(default=0) eleven_bit_little_endian = attr.ib(default=0) def encode(self, frame_to_encode): return frame_to_encode.encode(attr.asdict(self)) unsigned_cases = { TestFrame(): b'\x00\x00\x00\x00\x00\x00\x00', TestFrame(two_bit_big_endian=1): b'\x00\x00\x00\x00\x20\x00\x00', TestFrame(two_bit_big_endian=2): b'\x00\x00\x00\x00\x40\x00\x00', TestFrame(two_bit_little_endian=1): b'\x00\x00\x00\x40\x00\x00\x00', TestFrame(two_bit_little_endian=2): b'\x00\x00\x00\x80\x00\x00\x00', TestFrame(seven_bit_big_endian=1): b'\x00\x20\x00\x00\x00\x00\x00', TestFrame(seven_bit_big_endian=64): b'\x08\x00\x00\x00\x00\x00\x00', TestFrame(seven_bit_little_endian=1): b'\x20\x00\x00\x00\x00\x00\x00', TestFrame(seven_bit_little_endian=64): b'\x00\x08\x00\x00\x00\x00\x00', TestFrame(eleven_bit_big_endian=1): b'\x00\x00\x00\x00\x00\x04\x00', TestFrame(eleven_bit_big_endian=1024): b'\x00\x00\x00\x00\x10\x00\x00', TestFrame(eleven_bit_little_endian=1): b'\x00\x00\x04\x00\x00\x00\x00', TestFrame(eleven_bit_little_endian=1024): ( b'\x00\x00\x00\x10\x00\x00\x00' ), } signed_cases = { TestFrame(): b'\x00\x00\x00\x00\x00\x00\x00', TestFrame(two_bit_big_endian=1): b'\x00\x00\x00\x00\x20\x00\x00', TestFrame(two_bit_big_endian=-2): b'\x00\x00\x00\x00\x40\x00\x00', TestFrame(two_bit_little_endian=1): b'\x00\x00\x00\x40\x00\x00\x00', TestFrame(two_bit_little_endian=-2): b'\x00\x00\x00\x80\x00\x00\x00', TestFrame(seven_bit_big_endian=1): b'\x00\x20\x00\x00\x00\x00\x00', TestFrame(seven_bit_big_endian=-2): b'\x0F\xC0\x00\x00\x00\x00\x00', TestFrame(seven_bit_little_endian=1): b'\x20\x00\x00\x00\x00\x00\x00', TestFrame(seven_bit_little_endian=-2): b'\xC0\x0F\x00\x00\x00\x00\x00', TestFrame(eleven_bit_big_endian=1): b'\x00\x00\x00\x00\x00\x04\x00', TestFrame(eleven_bit_big_endian=-2): b'\x00\x00\x00\x00\x1F\xF8\x00', TestFrame(eleven_bit_little_endian=1): b'\x00\x00\x04\x00\x00\x00\x00', TestFrame(eleven_bit_little_endian=-2): ( b'\x00\x00\xF8\x1F\x00\x00\x00' ), } def h(b): return ' '.join('{:02X}'.format(c) for c in b) frame_case_pairs = ( (unsigned_frame, unsigned_cases), (signed_frame, signed_cases), ) for frame, cases in frame_case_pairs: for test_frame, expected in cases.items(): expected = bytearray(expected) encoded = test_frame.encode(frame) print(test_frame) print(h(encoded)) print(h(expected)) assert encoded == expected canmatrix-0.9.5/src/canmatrix/tests/test_j1939_decoder.py000066400000000000000000000055261416730473300233270ustar00rootroot00000000000000# -*- coding: utf-8 -*- import io import canmatrix.j1939_decoder import textwrap import collections def test_j1939_decoder(): dbc = io.BytesIO(textwrap.dedent(u'''\ BO_ 2566856834 CM_Requests: 9 CGW SG_ CM_Inlet_MotorRequest : 50|2@0+ (1,0) [0|3] "" CM SG_ CM_ChargeUnit_Request : 52|2@0+ (1,0) [0|3] "" CM SG_ CM_RTC_TimerValue : 47|8@0+ (1,0) [0|254] "min" CM SG_ CM_RTC_TimerRequest : 37|2@0+ (1,0) [0|3] "" CM SG_ CM_PlugLock_MotorRequest : 35|3@0+ (1,0) [0|7] "" CM SG_ CM_LED2_Request : 23|8@0+ (0.5,0) [0|100] "%" CM SG_ CM_LED1_Request : 15|8@0+ (0.5,0) [0|100] "%" CM SG_ CM_LED0_Request : 7|8@0+ (0.5,0) [0|100] "%" CM SG_ CM_HighSideOut4_Request : 39|2@0+ (1,0) [0|3] "" CM SG_ CM_HighSideOut3_Request : 25|2@0+ (1,0) [0|3] "" CM SG_ CM_HighSideOut2_Request : 27|2@0+ (1,0) [0|3] "" CM SG_ CM_HighSideOut1_Request : 29|2@0+ (1,0) [0|3] "" CM SG_ CM_HighSideOut0_Request : 31|2@0+ (1,0) [0|3] "" CM SG_ CM_ControlPilot_ChargeModeRe : 55|3@0+ (1,0) [0|7] "" CM ''').encode('utf-8')) matrix = canmatrix.formats.dbc.load(dbc, dbcImportEncoding="utf8") t = canmatrix.j1939_decoder.j1939_decoder() # BAM (type, signals) = t.decode(canmatrix.ArbitrationId(id = 0xecFF00, extended= True), bytearray([0x20,10,0,1,0xff,0x66,0x1,0]), matrix) assert "BAM " in type # print (type, signals) # data 1 (type, signals) = t.decode(canmatrix.ArbitrationId(id = 0xebFF00, extended= True), bytearray([0x0,1,1,1,1,1,1,1]), matrix) assert "BAM data" in type #print (type, signals) # data 2 (type, signals) = t.decode(canmatrix.ArbitrationId(id = 0xebFF00, extended= True), bytearray([0x1,1,1,1,1,1,1,1]), matrix) assert "BAM last data" in type # print (type, signals) can_ids = [0x18ECFF82, 0x18EBFF82, 0x18EBFF82] can_data = [bytearray([0x20, 9, 0, 2, 0xff, 0x20, 0xff, 0]),bytearray([0x1, 0, 0, 0, 0, 0x80, 0x0, 0x80]),bytearray([0x2, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff])] # BA0x20, M for i in range(0,len(can_ids)): (type, signals) = t.decode(canmatrix.ArbitrationId(id=can_ids[i], extended=True), can_data[i], matrix) print ("-------- test data -------- ") test_frames = collections.OrderedDict([ (0xcef27fd, ("fffae1ff00ffff", "")), (0xcffcafd, ("c0fffffffffff800", "")), (0xcf00203, ("cc00000000b812ff", "J1939 known: ETC1")), (0xfe4a03, ("fffcffffffffffff", "J1939 known: ETC7")), (0xc010305, ("ccfffaffff204e0a", "J1939 known: TC1")), (0x0CF00400, ("F4DEDE3028FFF0FF", "J1939 known: EEC1"))]) for arb_id, (asc_data, expected) in test_frames.items(): (type, signals) = t.decode(canmatrix.ArbitrationId(id=arb_id, extended=True), bytearray.fromhex(asc_data), matrix) assert expected in typecanmatrix-0.9.5/src/canmatrix/tests/test_json.py000066400000000000000000000175311416730473300220330ustar00rootroot00000000000000# -*- coding: utf-8 -*- import io import json import pytest import canmatrix.canmatrix import canmatrix.formats @pytest.fixture def default_matrix(): matrix = canmatrix.canmatrix.CanMatrix() some_define = canmatrix.Define("INT 0 65535") matrix.add_value_table("Options", {0: "North", 1: "South", 2: "East", 3: "West"}) frame = canmatrix.canmatrix.Frame(name="test_frame", arbitration_id=10) frame.add_attribute("my_attribute1", "my_value1") signal = canmatrix.canmatrix.Signal(name="test_signal", size=8) signal.add_values(0xFF, "Init") signal.add_attribute("my_attribute2", "my_value2") frame.add_signal(signal) signal = canmatrix.canmatrix.Signal(name="multi", multiplex=True, size=3, unit="attosecond") frame.add_signal(signal) matrix.add_frame(frame) matrix.frame_defines["my_attribute1"] = some_define matrix.signal_defines["my_attribute2"] = some_define return matrix def test_export_with_jsonall(default_matrix): """Check the jsonExportAll doesn't raise and export some additional field.""" matrix = default_matrix out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", jsonExportAll=True) data = out_file.getvalue().decode("utf-8") assert "my_value1" in data assert "my_value2" in data assert "enumerations" in data assert "North" in data def test_export_additional_frame_info(default_matrix): matrix = default_matrix out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", additionalFrameAttributes="my_attribute1") data = out_file.getvalue().decode("utf-8") assert "my_value1" in data def test_export_long_signal_names(): matrix = canmatrix.canmatrix.CanMatrix() frame = canmatrix.canmatrix.Frame(name="test_frame", arbitration_id=10) matrix.add_frame(frame) long_signal_name = "FAILURE_ZELL_UNTERTEMPERATUR_ENTLADEN_ALARM_IDX_01" assert len(long_signal_name) > 32 signal = canmatrix.canmatrix.Signal(name=long_signal_name, size=8) frame.add_signal(signal) out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", jsonExportAll=True) data = json.loads(out_file.getvalue().decode("utf-8")) assert data['messages'][0]['signals'][0]['name'] == long_signal_name def test_export_min_max(): matrix = canmatrix.canmatrix.CanMatrix() frame = canmatrix.canmatrix.Frame(name="test_frame", size=6, arbitration_id=10) signal = canmatrix.Signal(name="someSigName", size=40, min=-5, max=42) frame.add_signal(signal) matrix.add_frame(frame) out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", jsonExportAll=True) data = json.loads(out_file.getvalue().decode("utf-8")) assert(data['messages'][0]['signals'][0]['min'] == '-5') assert(data['messages'][0]['signals'][0]['max'] == '42') def test_import_min_max(): json_input = """{ "messages": [ { "attributes": {}, "comment": "", "id": 10, "is_extended_frame": false, "is_fd": false, "length": 6, "name": "test_frame", "signals": [ { "attributes": {}, "bit_length": 40, "comment": null, "factor": "1", "is_big_endian": false, "is_float": false, "is_signed": true, "max": "42", "min": "-5", "name": "someSigName", "offset": "0", "start_bit": 0, "values": {} } ] } ] }""" matrix = canmatrix.formats.loads_flat(json_input, "json", jsonExportAll=True) assert matrix.frames[0].signals[0].min == -5 assert matrix.frames[0].signals[0].max == 42 def test_import_native(): json_input = """{ "messages": [ { "attributes": {}, "comment": "", "id": 10, "is_extended_frame": false, "is_fd": false, "length": 6, "name": "test_frame", "signals": [ { "attributes": {}, "bit_length": 40, "comment": null, "factor": 0.123, "is_big_endian": false, "is_float": false, "is_signed": true, "max": 42, "min": -4.2, "name": "someSigName", "offset": 1, "start_bit": 0, "values": {} } ] } ] }""" matrix = canmatrix.formats.loads_flat(json_input, "json", jsonExportAll=True) assert matrix.frames[0].signals[0].min == -4.2 assert matrix.frames[0].signals[0].max == 42 assert matrix.frames[0].signals[0].factor == 0.123 assert matrix.frames[0].signals[0].offset == 1 def test_import_export_enums(): json_input = """{ "enumerations": { "Options": { "0": "North", "1": "East", "2": "South", "3": "West" } }, "messages": [ { "attributes": {}, "comment": "", "id": 10, "is_extended_frame": false, "is_fd": false, "length": 6, "name": "test_frame", "signals": [ { "attributes": {}, "name": "someSigName", "bit_length": 40, "is_signed": true, "start_bit": 0 } ] } ] }""" matrix = canmatrix.formats.loads_flat(json_input, "json") assert matrix.value_tables == {"Options": {0: "North", 1: "East", 2: "South", 3: "West"}} f_out = io.BytesIO() canmatrix.formats.json.dump(matrix, f_out, jsonExportAll=True) f_in = io.BytesIO(f_out.getvalue()) new_matrix = canmatrix.formats.json.load(f_in) assert new_matrix.value_tables == {"Options": {0: "North", 1: "East", 2: "South", 3: "West"}} def test_export_native(): matrix = canmatrix.canmatrix.CanMatrix() frame = canmatrix.canmatrix.Frame(name="test_frame", size=6, arbitration_id=10) signal = canmatrix.Signal(name="test_sig", size=40, is_float=True, min="-4.2", max=42, factor="0.123", offset=1) frame.add_signal(signal) matrix.add_frame(frame) out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", jsonNativeTypes=True) data = json.loads(out_file.getvalue().decode("utf-8")) assert (data['messages'][0]['signals'][0]['factor'] == 0.123) assert (data['messages'][0]['signals'][0]['offset'] == 1) def test_export_all_native(): matrix = canmatrix.canmatrix.CanMatrix() frame = canmatrix.canmatrix.Frame(name="test_frame", size=6, arbitration_id=10) signal = canmatrix.Signal(name="test_sig", size=40, is_float=True, min="-4.2", max=42, factor="0.123", offset=1) frame.add_signal(signal) matrix.add_frame(frame) out_file = io.BytesIO() canmatrix.formats.dump(matrix, out_file, "json", jsonExportAll=True, jsonNativeTypes=True) data = json.loads(out_file.getvalue().decode("utf-8")) assert (data['messages'][0]['signals'][0]['min'] == -4.2) assert (data['messages'][0]['signals'][0]['max'] == 42) assert (data['messages'][0]['signals'][0]['factor'] == 0.123) assert (data['messages'][0]['signals'][0]['offset'] == 1) assert (data['messages'][0]['is_fd'] is False) canmatrix-0.9.5/src/canmatrix/tests/test_scapy.py000066400000000000000000000043551416730473300222010ustar00rootroot00000000000000import canmatrix.formats.scapy import io import os def test_scapy_frame_exists(): db = canmatrix.CanMatrix() db.add_frame(canmatrix.Frame("some_frame")) outscapy = io.BytesIO() canmatrix.formats.dump(db, outscapy, "scapy") assert "class some_frame(SignalPacket):" in outscapy.getvalue().decode("utf8") def test_scapy_muliplexed_frame(): here = os.path.dirname(os.path.realpath(__file__)) db = canmatrix.formats.loadp_flat(os.path.join(here, "test_frame_decoding.dbc")) outscapy = io.BytesIO() canmatrix.formats.dump(db, outscapy, "scapy") assert "ConditionalField" in outscapy.getvalue().decode("utf8") assert "myMuxer == 0" in outscapy.getvalue().decode("utf8") assert "myMuxer == 1" in outscapy.getvalue().decode("utf8") def test_scapy_signal_exists(): db = canmatrix.CanMatrix() db.add_frame(canmatrix.Frame("some_frame")) db.frame_by_name("some_frame").add_signal(canmatrix.Signal("some_signal", start_bit=3, size=11, factor=1.5, offset=42, unit="cm" )) outscapy = io.BytesIO() canmatrix.formats.dump(db, outscapy, "scapy") assert 'SignalField("some_signal", default=0, start=3, size=11, scaling=1.5, offset=42, unit="cm", fmt=" (3, 0): assert isinstance(matrix.load_errors[0], EOFError) else: assert isinstance(matrix.load_errors[0], StopIteration) def test_title_read_and_write(): f = io.BytesIO( textwrap.dedent( '''\ FormatVersion=5.0 // Do not edit this line! Title="An Example Title" ''' ).encode('utf-8'), ) matrix = canmatrix.formats.sym.load(f) assert matrix.attribute("Title") == "An Example Title" f_out = io.BytesIO() canmatrix.formats.sym.dump(matrix, f_out) assert f_out.getvalue().decode('utf-8').splitlines()[1] == 'Title="An Example Title"' @pytest.mark.parametrize( 'enum_str, enum_dict, enum_label', ( ('enum Animal(0="Dog", 1="Cat", 2="Fox")', {"Animal": {0: "Dog", 1: "Cat", 2: "Fox"}}, "Simple enum"), ('''\ enum Animal(0="Dog", //A Comment 1="Cat", 2="Fox")''', {"Animal": {0: "Dog", 1: "Cat", 2: "Fox"}}, "Multiline enum"), ('enum Animal(0="Dog",1="Cat",2="Fox")', {"Animal": {0: "Dog", 1: "Cat", 2: "Fox"}}, "No Space in Separator"), ) ) def test_enums_read(enum_str, enum_dict, enum_label): f = io.BytesIO('''\ FormatVersion=5.0 // Do not edit this line! Title="An Example Title" {{ENUMS}} {} '''.format(enum_str).encode('utf-8'), ) matrix = canmatrix.formats.sym.load(f) assert matrix.load_errors == [], "Failed to load canmatrix, when testing enum case : '{}'".format(enum_label) assert matrix.value_tables == enum_dict, "Enum not parsed correctly : '{}'".format(enum_label) def test_enums_export(): f = io.BytesIO('''\ FormatVersion=5.0 // Do not edit this line! Title="An Example Title" {ENUMS} enum Animal(0="Dog",1="Cat",2="Fox") {SENDRECEIVE} [Frame1] ID=000h DLC=8 Var=Signal1 unsigned 0,16 '''.encode('utf-8'), ) matrix = canmatrix.formats.sym.load(f) assert matrix.load_errors == [], "Failed to load canmatrix" # Add an enum to Signal1 matrix.frame_by_name("Frame1").signal_by_name("Signal1").enumeration = "Plants" matrix.frame_by_name("Frame1").signal_by_name("Signal1").values = {0: "Grass", 1: "Flower", 2: "Tree"} # Export and reimport f_out = io.BytesIO() canmatrix.formats.sym.dump(matrix, f_out) f_in = io.BytesIO(f_out.getvalue()) new_matrix = canmatrix.formats.sym.load(f_in) # Check that Enums from Enums table exported and reimported correctly assert new_matrix.value_tables["Animal"] == {0: "Dog", 1: "Cat", 2: "Fox"} # Check that Enums from a Signal.Values property exported and reimported correctly assert new_matrix.value_tables["Plants"] == {0: "Grass", 1: "Flower", 2: "Tree"} def test_types_read(): f = io.BytesIO('''\ FormatVersion=5.0 // Do not edit this line! Title="Types Test" {ENUMS} enum EnumAnimals(0="Cat", // An enum value for cats 1="Dog", // An enum value for dogs 2="Horse", 3="Monkey", 4="Lion")// An enum with a comment for the final value {SENDRECEIVE} [SymbolLengths] ID=000h DLC=8 Var="1Bit" unsigned 0,1 Var="3Bits" unsigned 1,3 Var="4Bits" unsigned 4,4 Var="21Bits" unsigned 8,21 Var="6Bits" unsigned 29,6 Var="29Bits" unsigned 35,29 [SymbolTypes] ID=001h DLC=8 Var=Bit bit 0,1 Var=Char char 1,8 Var=String string 16,16 Var=Signed signed 32,4 Var=Unsigned unsigned 36,4 Var=Enum EnumAnimals 40,4 Var=Raw raw 48,16 [SymbolDouble] ID=002h DLC=8 Var=Double double 0,64 // Must be 8 Bytes according to PCAN Symbol Editor V5 [SymbolFloat] ID=003h DLC=4 Var=Float float 0,32 // Must be 4 Bytes according to PCAN Symbol Editor V5 '''.encode('utf-8'), ) matrix = canmatrix.formats.sym.load(f) # Check no errors loading the matrix assert matrix.load_errors == [] f_out = io.BytesIO() canmatrix.formats.sym.dump(matrix, f_out) f_out_bytes = f_out.getvalue() f_out_string = f_out_bytes.decode("utf-8") # Check that types are preserved when saving back to .SYM format assert "Var=Bit bit" in f_out_string assert "Var=Char char" in f_out_string assert "Var=String string" in f_out_string assert "Var=Signed signed" in f_out_string assert 'Var="21Bits" unsigned' in f_out_string assert 'Var=Float float' in f_out_string assert 'Var=Double double' in f_out_string # Read matrix back in to check all symbols/frames preserved f_in = io.BytesIO(f_out_bytes) new_matrix = canmatrix.formats.sym.load(f_in) # Check no errors loading the matrix assert new_matrix.load_errors == [] # Check that both matrices have the same Frames frames = [f.name for f in matrix.frames] new_frames = [f.name for f in new_matrix.frames] assert sorted(frames) == sorted(new_frames) # Check that both matrices have the same signals, and that all the expected signals are present signals = chain(*[[s.name for s in frame.signals] for frame in matrix.frames]) new_signals = chain(*[[s.name for s in frame.signals] for frame in new_matrix.frames]) assert sorted(signals) == sorted(new_signals) == sorted([ "1Bit", "3Bits", "4Bits", "21Bits", "6Bits", "29Bits", "Bit", "Char", "String", "Signed", "Unsigned", "Enum", "Raw", "Double", "Float", ]) @pytest.mark.parametrize( 'var_name,data,raw_value', ( ('VarMux1', bytearray([1, 12, 0, 0, 0, 0, 0, 0]), 12), ('VarMux2', bytearray([2, 0, 0, 0, 23, 0, 0, 0]), 23), ('VarMux200', bytearray([200, 0, 0, 0, 0, 0, 34, 0]), 34), ) ) def test_mux_decode(var_name,data,raw_value): f = io.BytesIO('''\ FormatVersion=5.0 // Do not edit this line! Title="Types Test" FormatVersion=5.0 // Do not edit this line! Title="Test Symbols File" {SENDRECEIVE} [MuxTestFrame] ID=002h DLC=8 Mux=Mux1 0,8 1 Var=VarMux1 unsigned 8,8 [MuxTestFrame] DLC=8 Mux=Mux2 0,8 2 Var=VarMux2 unsigned 32,8 [MuxTestFrame] DLC=8 Mux=Mux200 0,8 C8h Var=VarMux200 unsigned 48,8 '''.encode('utf-8'), ) matrix = canmatrix.formats.sym.load(f) # Check no errors loading the matrix assert matrix.load_errors == [] frame = matrix.frame_by_name("MuxTestFrame") r = frame.decode(data) assert var_name in r.keys(), "Signal {}, not decoded. Only : {}".format(var_name, ','.join(r for r in r.keys())) assert r[var_name].raw_value == raw_value def test_sym_val_table(): sym = io.BytesIO(textwrap.dedent(u'''\ FormatVersion=5.0 // Do not edit this line! Title="Test-CAN" {ENUMS} enum Status_val(0="R", 1="B", 2="E") {SENDRECEIVE} [Flow_extCAN] ID=700h DLC=6 Var=status Status_val 36,2 ''').encode('utf-8')) matrix = canmatrix.formats.sym.load(sym) assert matrix.frames[0].signals[0].values == {0: 'R', 1: 'B', 2: 'E'}canmatrix-0.9.5/src/canmatrix/tests/test_utils.py000066400000000000000000000025151416730473300222160ustar00rootroot00000000000000# -*- coding: utf-8 -*- import pytest import canmatrix.utils import decimal def test_utils_guess_value(): assert canmatrix.utils.guess_value("true") == "1" assert canmatrix.utils.guess_value("True") == "1" assert canmatrix.utils.guess_value("TrUe") == "1" assert canmatrix.utils.guess_value("false") == "0" assert canmatrix.utils.guess_value("False") == "0" assert canmatrix.utils.guess_value("faLse") == "0" def test_decode_number(): assert canmatrix.utils.decode_number("0x10", decimal.Decimal) == 16 assert canmatrix.utils.decode_number("0b10", decimal.Decimal) == 2 assert canmatrix.utils.decode_number("10", decimal.Decimal) == 10 assert canmatrix.utils.decode_number("1023.0", decimal.Decimal) == 1023.0 @pytest.mark.parametrize( 'input_string, expected_list', ( ('a,b,c,d', ["a", "b", "c", "d"]), ('a, b, c, d', ["a", "b", "c", "d"]), ('a, b", c", "d"', ['a', 'b", c"', 'd']), ('0="a", 1=b, 3="c"d, 4=e', ['0="a"', '1=b', '3="c"d', '4=e']), ('"a,b",","b,c","\'\'d"e', ['a,b', '","b', 'c","\'\'d\"e']), ) ) def test_quote_aware_comma_split_function(input_string, expected_list): assert canmatrix.utils.quote_aware_comma_split(input_string) == expected_list canmatrix-0.9.5/src/canmatrix/tests/test_wireshark.py000066400000000000000000000042041416730473300230520ustar00rootroot00000000000000import canmatrix.formats.wireshark import io import os def test_wireshark_frame_exists(): db = canmatrix.CanMatrix() db.add_frame(canmatrix.Frame("some_frame")) outlua = io.BytesIO() canmatrix.formats.dump(db, outlua, "wireshark") assert 'some_frame = Proto("some_frame", "some_frame")' in outlua.getvalue().decode("utf8") def test_wireshark_muliplexed_frame(): here = os.path.dirname(os.path.realpath(__file__)) db = canmatrix.formats.loadp_flat(os.path.join(here, "test_frame_decoding.dbc")) outlua = io.BytesIO() canmatrix.formats.dump(db, outlua, "wireshark") assert "if muxer ==" in outlua.getvalue().decode("utf8") assert "if muxer == 0" in outlua.getvalue().decode("utf8") assert "if muxer == 1" in outlua.getvalue().decode("utf8") def test_wireshark_signal_exists(): db = canmatrix.CanMatrix() db.add_frame(canmatrix.Frame("some_frame")) db.frame_by_name("some_frame").add_signal(canmatrix.Signal("some_signal", start_bit=3, size=11, factor=1.5, offset=42, unit="cm" )) outlua = io.BytesIO() canmatrix.formats.dump(db, outlua, "wireshark") assert 'my_frame_tree:add(some_frame_some_signal, reversed_pdu:bitfield(-14,11))' in outlua.getvalue().decode("utf8") assert 'my_frame_tree:add(some_frame_some_signal, reversed_pdu:bitfield(-14,11) - 2048)' in outlua.getvalue().decode("utf8") def test_wireshark_get_coorect_bits_for_signal(): frame = canmatrix.Frame("some_frame") sig_big_endian = canmatrix.Signal("some_signal", is_little_endian=False, start_bit=3, size=11, factor=1.5, offset=42, unit="cm") sig_little_endian = canmatrix.Signal("some_signal2", is_little_endian=True, start_bit=3, size=11, factor=1.5, offset=42, unit="cm") frame.add_signal(sig_big_endian) frame.add_signal(sig_little_endian) assert 'pdu:bitfield(3,11)' == canmatrix.formats.wireshark.get_coorect_bits_for_signal(frame, sig_big_endian) assert 'reversed_pdu:bitfield(-14,11)' == canmatrix.formats.wireshark.get_coorect_bits_for_signal(frame, sig_little_endian) assert 'pdu:bitfield(3,3)' == canmatrix.formats.wireshark.get_coorect_bits_for_signal(frame, sig_big_endian, 3) canmatrix-0.9.5/src/canmatrix/tests/test_xls.py000066400000000000000000000012011416730473300216530ustar00rootroot00000000000000# -*- coding: utf-8 -*- # -*- coding: utf-8 -*- import canmatrix.formats.xls import decimal def test_parse_value_name_collumn(): value_column = "1..5" (mini, maxi, offset, value_table) = canmatrix.formats.xls.parse_value_name_column(value_column, "5", 4, decimal.Decimal) assert maxi == 5 assert mini == 1 assert offset == 1 assert value_table == dict() value_column = "LabelX" (mini, maxi, offset, value_table) = canmatrix.formats.xls.parse_value_name_column(value_column, "5", 4, decimal.Decimal) assert maxi == 15 assert mini == 0 assert offset == 0 assert value_table == {5: "LabelX"} canmatrix-0.9.5/src/canmatrix/types.py000066400000000000000000000005031416730473300200140ustar00rootroot00000000000000# -*- coding: utf-8 -*- """Contains user defined types for more readable type hinting.""" import typing RawValue = typing.Union[int, float] PhysicalValue = typing.Any # more than typing.Union[int, decimal.Decimal, float] OptionalRawValue = typing.Optional[RawValue] OptionalPhysicalValue = typing.Optional[PhysicalValue] canmatrix-0.9.5/src/canmatrix/utils.py000066400000000000000000000075551416730473300200260ustar00rootroot00000000000000# -*- coding: utf-8 -*- from __future__ import absolute_import, division, print_function import csv import shlex import sys import typing from string import hexdigits from builtins import * if sys.version_info >= (3, 5): import math else: import fractions def quote_aware_space_split(in_line): # type: (str) -> typing.List[str] if sys.version_info >= (3, 0): # is there a clean way to to it? return shlex.split(in_line.strip()) return [item.decode('utf-8') for item in shlex.split(in_line.strip().encode('utf-8'))] # https://stackoverflow.com/questions/18092354/python-split-string-without-splitting-escaped-character def escape_aware_split(string, delimiter): if len(delimiter) != 1: raise ValueError('Invalid delimiter: ' + delimiter) ln = len(string) i = 0 j = 0 while j < ln: if string[j] == '\\': if j + 1 >= ln: yield string[i:j] return j += 1 elif string[j] == delimiter: yield string[i:j] i = j + 1 j += 1 yield string[i:j] def quote_aware_comma_split(string): # type: (str) -> typing.List[str] """ Split a string containing comma separated list of fields. Removing surrounding whitespace, to allow fields to be separated by ", ". Preserves double quotes within fields, but not double quotes surrounding fields. Suppresses comma separators which are within double quoted sections. :param string: ('a, b", c", "d"', :return: ['a', 'b", c"', 'd']), """ fields = [] quoted = False field = "" # Separate string by unquoted commas for char in string: if char == ',': if not quoted: fields.append(field) field = "" continue if char == '"': quoted = not quoted field += char if field: fields.append(field) # Remove surrounding whitespace from fields fields = [f.strip() for f in fields] # Remove "" that surround entire fields for i, f in enumerate(fields): if len(f) > 1: if f.startswith('"') and f.endswith('"'): fields[i] = f[1:-1] return fields def guess_value(text_value): # type: (str) -> str """ Get string value for common strings. Method is far from complete but helping with odd arxml files. :param text_value: value in text like "true" :return: string for value like "1" """ if sys.version_info >= (3, 0): text_value = text_value.casefold() else: text_value = text_value.lower() if text_value in ["false", "off"]: return "0" elif text_value in ["true", "on"]: return "1" elif text_value[:2] == "0b": if text_value[2:].isdecimal(): return str(int(text_value[2:], 2)) elif text_value[:2] == "0x": if all([f in hexdigits for f in text_value[2:]]): return str(int(text_value[2:], 16)) return text_value def get_gcd(value1, value2): # type (int,int) -> (int) """ Get greatest common divisor of value1 and value2 :param value1: int value 1 :param value2: int value 2 :return: cvt of value 1 and value 2 """ if sys.version_info >= (3, 5): return math.gcd(value1, value2) else: return fractions.gcd(value1, value2) def decode_number(value, float_factory): # type(string) -> (int) """ Decode string to integer and guess correct base :param value: string input value :return: integer """ if value is None: return 0 value = value.strip() if '.' in value: return float_factory(value) base = 10 if len(value) > 1 and value[1] == 'b': # bin coded base = 2 value = value[2:] if len(value) > 1 and value[1] == 'x': # hex coded base = 16 value = value[2:] return int(value, base) canmatrix-0.9.5/stubs/000077500000000000000000000000001416730473300146635ustar00rootroot00000000000000canmatrix-0.9.5/stubs/lxml/000077500000000000000000000000001416730473300156375ustar00rootroot00000000000000canmatrix-0.9.5/stubs/lxml/__init__.pyi000066400000000000000000000000001416730473300201070ustar00rootroot00000000000000canmatrix-0.9.5/stubs/lxml/etree.pyi000066400000000000000000000140731416730473300174730ustar00rootroot00000000000000# Hand-written stub for lxml.etree as used by mypy.report. # This is *far* from complete, and the stubgen-generated ones crash mypy. # Any use of `Any` below means I couldn't figure out the type. import typing from typing import Any, Dict, List, Mapping, MutableMapping, Tuple, Union, Optional, Sequence from typing import Iterable, Iterator, SupportsBytes # We do *not* want `typing.AnyStr` because it is a `TypeVar`, which is an # unnecessary constraint. It seems reasonable to constrain each # List/Dict argument to use one type consistently, though, and it is # necessary in order to keep these brief. _AnyStr = Union[str] _ListAnyStr = Union[List[str], List[bytes]] _DictAnyStr = Union[Dict[str, str], Dict[bytes, bytes]] _Dict_Tuple2AnyStr_Any = Union[Dict[Tuple[str, str], Any], Tuple[bytes, bytes], Any] _xpath = Union['XPath', _AnyStr] _OptionalNamespace = Optional[Mapping[str, Any]] class ElementChildIterator(Iterator['_Element']): def __iter__(self) -> 'ElementChildIterator': ... def __next__(self) -> '_Element': ... class _Element(Iterable['_Element']): def addprevious(self, element: '_Element') -> None: ... def addnext(self, element: '_Element') -> None: ... def find(self, path: str, namespace: _OptionalNamespace = None) -> '_Element': ... def findall(self, name: str, namespace: _OptionalNamespace = None) -> Sequence['_Element']: ... def clear(self) -> None: ... def get(self, key: _AnyStr, default: Optional[_AnyStr] = ...) -> _AnyStr: ... def set(self, key: _AnyStr, value: _AnyStr) -> None: ... def xpath(self, _path: _AnyStr, namespaces: Optional[_DictAnyStr] = ..., extensions: Any = ..., smart_strings: bool = ..., **_variables: Any) -> Any: ... # indeed returns a Union[bool, float, _AnyStr, List[Union[ElementBase, _AnyStr, Tuple[]]]]: ... # http://lxml.de/xpathxslt.html#xpath-return-values attrib = ... # type: MutableMapping[str, str] text = ... # type: _AnyStr tag = ... # type: str sourceline = ... # type: Optional[int] def append(self, element: '_Element') -> '_Element': ... def __iter__(self) -> ElementChildIterator: ... def items(self) -> Sequence[Tuple[_AnyStr, _AnyStr]]: ... def iterfind(self, path: str, namespace: _OptionalNamespace = None) -> Iterator['_Element']: ... def getparent(self) -> _Element: ... def __len__(self) -> int: ... class ElementBase(_Element): ... class _ElementTree: def write(self, file: Union[_AnyStr, typing.IO], encoding: _AnyStr = ..., method: _AnyStr = ..., pretty_print: bool = ..., xml_declaration: Any = ..., with_tail: Any = ..., standalone: bool = ..., compression: int = ..., exclusive: bool = ..., with_comments: bool = ..., inclusive_ns_prefixes: _ListAnyStr = ...) -> None: ... def xpath(self, _path: _AnyStr, namespaces: Optional[_DictAnyStr] = ..., extensions: Any = ..., smart_strings: bool = ..., **_variables: Any) -> Any: ... def getroot(self) -> _Element: ... class _XSLTResultTree(SupportsBytes): def __bytes__(self) -> bytes: ... class _XSLTQuotedStringParam: ... class XMLParser: ... class XMLSchema: def __init__(self, etree: Union[_Element, _ElementTree] = ..., file: Union[_AnyStr, typing.IO] = ...) -> None: ... def assertValid(self, etree: Union[_Element, _ElementTree]) -> None: ... class XSLTAccessControl: ... class XSLT: def __init__(self, xslt_input: Union[_Element, _ElementTree], extensions: _Dict_Tuple2AnyStr_Any = ..., regexp: bool = ..., access_control: XSLTAccessControl = ...) -> None: ... def __call__(self, _input: Union[_Element, _ElementTree], profile_run: bool = ..., **kwargs: Union[_AnyStr, _XSLTQuotedStringParam]) -> _XSLTResultTree: ... @staticmethod def strparam(s: _AnyStr) -> _XSLTQuotedStringParam: ... def Element(_tag: _AnyStr, attrib: _DictAnyStr = ..., nsmap: _DictAnyStr = ..., **extra: _AnyStr) -> _Element: ... def SubElement(_parent: _Element, _tag: _AnyStr, attrib: _DictAnyStr = ..., nsmap: _DictAnyStr = ..., **extra: _AnyStr) -> _Element: ... def ElementTree(element: _Element = ..., file: Union[_AnyStr, typing.IO] = ..., parser: XMLParser = ...) -> _ElementTree: ... def ProcessingInstruction(target: _AnyStr, text: _AnyStr = ...) -> _Element: ... def parse(source: Union[_AnyStr, typing.IO], parser: XMLParser = ..., base_url: _AnyStr = ...) -> _ElementTree: ... def fromstring(text: _AnyStr, parser: XMLParser = ..., *, base_url: _AnyStr = ...) -> _Element: ... def tostring(element_or_tree: Union[_Element, _ElementTree], encoding: Union[str, type] = ..., method: str = ..., xml_declaration: bool = ..., pretty_print: bool = ..., with_tail: bool = ..., standalone: bool = ..., doctype: str = ..., exclusive: bool = ..., with_comments: bool = ..., inclusive_ns_prefixes: Any = ...) -> _AnyStr: ... class _ErrorLog: ... class Error(Exception): ... class LxmlError(Error): def __init__(self, message: Any, error_log: _ErrorLog = ...) -> None: ... error_log = ... # type: _ErrorLog class DocumentInvalid(LxmlError): ... class LxmlSyntaxError(LxmlError, SyntaxError): ... class ParseError(LxmlSyntaxError): ... class XMLSyntaxError(ParseError): ... class _Validator: ... class DTD(_Validator): def __init__(self, file: Union[_AnyStr, typing.IO] = ..., *, external_id: Any = ...) -> None: ... def assertValid(self, etree: _Element) -> None: ... class XPath: def __init__(self, path: _AnyStr, namespaces: Optional[_AnyStr], extensions: Optional[_AnyStr], regexp: Optional[bool], smart_strings: Optional[bool]) -> None: ... canmatrix-0.9.5/stubs/lxml/objectify.pyi000066400000000000000000000005121416730473300203360ustar00rootroot00000000000000# Hand-written stub, incomplete from typing import Union from lxml.etree import ElementBase, XMLParser class ObjectifiedElement(ElementBase): pass def fromstring(text: Union[bytes, str], parser: XMLParser = ..., *, base_url: Union[bytes, str] = ...) -> ObjectifiedElement: ... canmatrix-0.9.5/stubs/xlrd/000077500000000000000000000000001416730473300156345ustar00rootroot00000000000000canmatrix-0.9.5/stubs/xlrd/__init__.pyi000066400000000000000000000017271416730473300201250ustar00rootroot00000000000000# Stubs for xlrd (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .biffh import XLRDError, XL_CELL_BLANK, XL_CELL_BOOLEAN, XL_CELL_DATE, XL_CELL_EMPTY, XL_CELL_ERROR, XL_CELL_NUMBER, XL_CELL_TEXT, biff_text_from_num, error_text_from_code from .book import Book as Book, colname as colname from .sheet import empty_cell as empty_cell from .xldate import XLDateError, xldate_as_datetime, xldate_as_tuple from .xlsx import X12Book as X12Book from typing import Any, Optional MMAP_AVAILABLE: int USE_MMAP = MMAP_AVAILABLE def open_workbook(filename: Optional[Any] = ..., logfile: Any = ..., verbosity: int = ..., use_mmap: Any = ..., file_contents: Optional[Any] = ..., encoding_override: Optional[Any] = ..., formatting_info: bool = ..., on_demand: bool = ..., ragged_rows: bool = ...): ... def dump(filename: Any, outfile: Any = ..., unnumbered: bool = ...) -> None: ... def count_records(filename: Any, outfile: Any = ...) -> None: ... canmatrix-0.9.5/stubs/xlrd/biffh.pyi000066400000000000000000000072311416730473300174400ustar00rootroot00000000000000# Stubs for xlrd.biffh (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .timemachine import * from typing import Any, Optional DEBUG: int class XLRDError(Exception): ... class BaseObject: def dump(self, f: Optional[Any] = ..., header: Optional[Any] = ..., footer: Optional[Any] = ..., indent: int = ...) -> None: ... FUN: Any FDT: Any FNU: Any FGE: Any FTX: Any DATEFORMAT = FDT NUMBERFORMAT = FNU XL_CELL_EMPTY: Any XL_CELL_TEXT: Any XL_CELL_NUMBER: Any XL_CELL_DATE: Any XL_CELL_BOOLEAN: Any XL_CELL_ERROR: Any XL_CELL_BLANK: Any biff_text_from_num: Any error_text_from_code: Any BIFF_FIRST_UNICODE: int XL_WORKBOOK_GLOBALS: int WBKBLOBAL: int XL_WORKBOOK_GLOBALS_4W: int XL_WORKSHEET: int WRKSHEET: int XL_BOUNDSHEET_WORKSHEET: int XL_BOUNDSHEET_CHART: int XL_BOUNDSHEET_VB_MODULE: int XL_ARRAY: int XL_ARRAY2: int XL_BLANK: int XL_BLANK_B2: int XL_BOF: int XL_BOOLERR: int XL_BOOLERR_B2: int XL_BOUNDSHEET: int XL_BUILTINFMTCOUNT: int XL_CF: int XL_CODEPAGE: int XL_COLINFO: int XL_COLUMNDEFAULT: int XL_COLWIDTH: int XL_CONDFMT: int XL_CONTINUE: int XL_COUNTRY: int XL_DATEMODE: int XL_DEFAULTROWHEIGHT: int XL_DEFCOLWIDTH: int XL_DIMENSION: int XL_DIMENSION2: int XL_EFONT: int XL_EOF: int XL_EXTERNNAME: int XL_EXTERNSHEET: int XL_EXTSST: int XL_FEAT11: int XL_FILEPASS: int XL_FONT: int XL_FONT_B3B4: int XL_FORMAT: int XL_FORMAT2: int XL_FORMULA: int XL_FORMULA3: int XL_FORMULA4: int XL_GCW: int XL_HLINK: int XL_QUICKTIP: int XL_HORIZONTALPAGEBREAKS: int XL_INDEX: int XL_INTEGER: int XL_IXFE: int XL_LABEL: int XL_LABEL_B2: int XL_LABELRANGES: int XL_LABELSST: int XL_LEFTMARGIN: int XL_TOPMARGIN: int XL_RIGHTMARGIN: int XL_BOTTOMMARGIN: int XL_HEADER: int XL_FOOTER: int XL_HCENTER: int XL_VCENTER: int XL_MERGEDCELLS: int XL_MSO_DRAWING: int XL_MSO_DRAWING_GROUP: int XL_MSO_DRAWING_SELECTION: int XL_MULRK: int XL_MULBLANK: int XL_NAME: int XL_NOTE: int XL_NUMBER: int XL_NUMBER_B2: int XL_OBJ: int XL_PAGESETUP: int XL_PALETTE: int XL_PANE: int XL_PRINTGRIDLINES: int XL_PRINTHEADERS: int XL_RK: int XL_ROW: int XL_ROW_B2: int XL_RSTRING: int XL_SCL: int XL_SHEETHDR: int XL_SHEETPR: int XL_SHEETSOFFSET: int XL_SHRFMLA: int XL_SST: int XL_STANDARDWIDTH: int XL_STRING: int XL_STRING_B2: int XL_STYLE: int XL_SUPBOOK: int XL_TABLEOP: int XL_TABLEOP2: int XL_TABLEOP_B2: int XL_TXO: int XL_UNCALCED: int XL_UNKNOWN: int XL_VERTICALPAGEBREAKS: int XL_WINDOW2: int XL_WINDOW2_B2: int XL_WRITEACCESS: int XL_WSBOOL = XL_SHEETPR XL_XF: int XL_XF2: int XL_XF3: int XL_XF4: int boflen: Any bofcodes: Any XL_FORMULA_OPCODES: Any def is_cell_opcode(c: Any): ... def upkbits(tgt_obj: Any, src: Any, manifest: Any, local_setattr: Any = ...) -> None: ... def upkbitsL(tgt_obj: Any, src: Any, manifest: Any, local_setattr: Any = ..., local_int: Any = ...) -> None: ... def unpack_string(data: Any, pos: Any, encoding: Any, lenlen: int = ...): ... def unpack_string_update_pos(data: Any, pos: Any, encoding: Any, lenlen: int = ..., known_len: Optional[Any] = ...): ... def unpack_unicode(data: Any, pos: Any, lenlen: int = ...): ... def unpack_unicode_update_pos(data: Any, pos: Any, lenlen: int = ..., known_len: Optional[Any] = ...): ... def unpack_cell_range_address_list_update_pos(output_list: Any, data: Any, pos: Any, biff_version: Any, addr_size: int = ...): ... biff_rec_name_dict: Any def hex_char_dump(strg: Any, ofs: Any, dlen: Any, base: int = ..., fout: Any = ..., unnumbered: bool = ...) -> None: ... def biff_dump(mem: Any, stream_offset: Any, stream_len: Any, base: int = ..., fout: Any = ..., unnumbered: bool = ...) -> None: ... def biff_count_records(mem: Any, stream_offset: Any, stream_len: Any, fout: Any = ...) -> None: ... encoding_from_codepage: Any canmatrix-0.9.5/stubs/xlrd/book.pyi000066400000000000000000000106321416730473300173130ustar00rootroot00000000000000# Stubs for xlrd.book (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. import struct from typing import Any, Optional from .biffh import BaseObject unpack = struct.unpack empty_cell: Any DEBUG: int USE_FANCY_CD: int TOGGLE_GC: int MMAP_AVAILABLE: int USE_MMAP = MMAP_AVAILABLE MY_EOF: int SUPBOOK_UNK: Any SUPBOOK_INTERNAL: Any SUPBOOK_EXTERNAL: Any SUPBOOK_ADDIN: Any SUPBOOK_DDEOLE: Any SUPPORTED_VERSIONS: Any builtin_name_from_code: Any code_from_builtin_name: Any def open_workbook_xls(filename: Optional[Any] = ..., logfile: Any = ..., verbosity: int = ..., use_mmap: Any = ..., file_contents: Optional[Any] = ..., encoding_override: Optional[Any] = ..., formatting_info: bool = ..., on_demand: bool = ..., ragged_rows: bool = ...): ... class Name(BaseObject): book: Any = ... hidden: int = ... func: int = ... vbasic: int = ... macro: int = ... complex: int = ... builtin: int = ... funcgroup: int = ... binary: int = ... name_index: int = ... name: Any = ... raw_formula: bytes = ... scope: int = ... result: Any = ... def cell(self): ... def area2d(self, clipped: bool = ...): ... class Book(BaseObject): nsheets: int = ... datemode: int = ... biff_version: int = ... name_obj_list: Any = ... codepage: Any = ... encoding: Any = ... countries: Any = ... user_name: Any = ... font_list: Any = ... xf_list: Any = ... format_list: Any = ... format_map: Any = ... style_name_map: Any = ... colour_map: Any = ... palette_record: Any = ... load_time_stage_1: Any = ... load_time_stage_2: Any = ... def sheets(self): ... def sheet_by_index(self, sheetx: Any): ... def sheet_by_name(self, sheet_name: Any): ... def sheet_names(self): ... def sheet_loaded(self, sheet_name_or_index: Any): ... def unload_sheet(self, sheet_name_or_index: Any) -> None: ... mem: Any = ... filestr: Any = ... def release_resources(self) -> None: ... def __enter__(self): ... def __exit__(self, exc_type: Any, exc_value: Any, exc_tb: Any) -> None: ... name_and_scope_map: Any = ... name_map: Any = ... raw_user_name: bool = ... builtinfmtcount: int = ... addin_func_names: Any = ... def __init__(self) -> None: ... logfile: Any = ... verbosity: Any = ... use_mmap: Any = ... encoding_override: Any = ... formatting_info: Any = ... on_demand: Any = ... ragged_rows: Any = ... stream_len: Any = ... base: int = ... def biff2_8_load(self, filename: Optional[Any] = ..., file_contents: Optional[Any] = ..., logfile: Any = ..., verbosity: int = ..., use_mmap: Any = ..., encoding_override: Optional[Any] = ..., formatting_info: bool = ..., on_demand: bool = ..., ragged_rows: bool = ...) -> None: ... xfcount: int = ... actualfmtcount: int = ... def initialise_format_info(self) -> None: ... def get2bytes(self): ... def get_record_parts(self): ... def get_record_parts_conditional(self, reqd_record: Any): ... def get_sheet(self, sh_number: Any, update_pos: bool = ...): ... def get_sheets(self) -> None: ... def fake_globals_get_sheet(self) -> None: ... def handle_boundsheet(self, data: Any) -> None: ... def handle_builtinfmtcount(self, data: Any) -> None: ... def derive_encoding(self): ... def handle_codepage(self, data: Any) -> None: ... def handle_country(self, data: Any) -> None: ... def handle_datemode(self, data: Any) -> None: ... def handle_externname(self, data: Any) -> None: ... def handle_externsheet(self, data: Any) -> None: ... def handle_filepass(self, data: Any) -> None: ... def handle_name(self, data: Any) -> None: ... def names_epilogue(self) -> None: ... def handle_obj(self, data: Any) -> None: ... def handle_supbook(self, data: Any) -> None: ... def handle_sheethdr(self, data: Any) -> None: ... def handle_sheetsoffset(self, data: Any) -> None: ... def handle_sst(self, data: Any) -> None: ... def handle_writeaccess(self, data: Any) -> None: ... def parse_globals(self) -> None: ... def read(self, pos: Any, length: Any): ... def getbof(self, rqd_stream: Any): ... def expand_cell_address(inrow: Any, incol: Any): ... def colname(colx: Any, _A2Z: str = ...): ... def display_cell_address(rowx: Any, colx: Any, relrow: Any, relcol: Any): ... def unpack_SST_table(datatab: Any, nstrings: Any): ... canmatrix-0.9.5/stubs/xlrd/compdoc.pyi000066400000000000000000000022421416730473300200030ustar00rootroot00000000000000# Stubs for xlrd.compdoc (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .timemachine import * from typing import Any SIGNATURE: bytes EOCSID: int FREESID: int SATSID: int MSATSID: int EVILSID: int class CompDocError(Exception): ... class DirNode: DID: Any = ... logfile: Any = ... name: Any = ... children: Any = ... parent: int = ... tsinfo: Any = ... def __init__(self, DID: Any, dent: Any, DEBUG: int = ..., logfile: Any = ...) -> None: ... def dump(self, DEBUG: int = ...) -> None: ... class CompDoc: logfile: Any = ... DEBUG: Any = ... mem: Any = ... sec_size: Any = ... short_sec_size: Any = ... mem_data_secs: Any = ... mem_data_len: Any = ... SAT: Any = ... dirlist: Any = ... SSCS: str = ... SSAT: Any = ... def __init__(self, mem: Any, logfile: Any = ..., DEBUG: int = ...) -> None: ... def get_named_stream(self, qname: Any): ... def locate_named_stream(self, qname: Any): ... def x_dump_line(alist: Any, stride: Any, f: Any, dpos: Any, equal: int = ...) -> None: ... def dump_list(alist: Any, stride: Any, f: Any = ...) -> None: ... canmatrix-0.9.5/stubs/xlrd/formatting.pyi000066400000000000000000000060751416730473300205410ustar00rootroot00000000000000# Stubs for xlrd.formatting (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .timemachine import * from .biffh import BaseObject from typing import Any DEBUG: int excel_default_palette_b5: Any excel_default_palette_b2: Any excel_default_palette_b8: Any default_palette: Any built_in_style_names: Any def initialise_colour_map(book: Any) -> None: ... def nearest_colour_index(colour_map: Any, rgb: Any, debug: int = ...): ... class EqNeAttrs: def __eq__(self, other: Any): ... def __ne__(self, other: Any): ... class Font(BaseObject, EqNeAttrs): bold: int = ... character_set: int = ... colour_index: int = ... escapement: int = ... family: int = ... font_index: int = ... height: int = ... italic: int = ... name: Any = ... struck_out: int = ... underline_type: int = ... underlined: int = ... weight: int = ... outline: int = ... shadow: int = ... def handle_efont(book: Any, data: Any) -> None: ... def handle_font(book: Any, data: Any) -> None: ... class Format(BaseObject, EqNeAttrs): format_key: int = ... type: Any = ... format_str: Any = ... def __init__(self, format_key: Any, ty: Any, format_str: Any) -> None: ... std_format_strings: Any fmt_code_ranges: Any std_format_code_types: Any date_chars: Any date_char_dict: Any skip_char_dict: Any num_char_dict: Any non_date_formats: Any fmt_bracketed_sub: Any def is_date_format_string(book: Any, fmt: Any): ... def handle_format(self, data: Any, rectype: Any = ...) -> None: ... def handle_palette(book: Any, data: Any) -> None: ... def palette_epilogue(book: Any) -> None: ... def handle_style(book: Any, data: Any) -> None: ... def check_colour_indexes_in_obj(book: Any, obj: Any, orig_index: Any) -> None: ... def fill_in_standard_formats(book: Any) -> None: ... def handle_xf(self, data: Any) -> None: ... def xf_epilogue(self) -> None: ... def initialise_book(book: Any) -> None: ... class XFBorder(BaseObject, EqNeAttrs): top_colour_index: int = ... bottom_colour_index: int = ... left_colour_index: int = ... right_colour_index: int = ... diag_colour_index: int = ... top_line_style: int = ... bottom_line_style: int = ... left_line_style: int = ... right_line_style: int = ... diag_line_style: int = ... diag_down: int = ... diag_up: int = ... class XFBackground(BaseObject, EqNeAttrs): fill_pattern: int = ... background_colour_index: int = ... pattern_colour_index: int = ... class XFAlignment(BaseObject, EqNeAttrs): hor_align: int = ... vert_align: int = ... rotation: int = ... text_wrapped: int = ... indent_level: int = ... shrink_to_fit: int = ... text_direction: int = ... class XFProtection(BaseObject, EqNeAttrs): cell_locked: int = ... formula_hidden: int = ... class XF(BaseObject): is_style: int = ... parent_style_index: int = ... xf_index: int = ... font_index: int = ... format_key: int = ... protection: Any = ... background: Any = ... alignment: Any = ... border: Any = ... canmatrix-0.9.5/stubs/xlrd/formula.pyi000066400000000000000000000027301416730473300200260ustar00rootroot00000000000000# Stubs for xlrd.formula (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .timemachine import * from typing import Any, Optional FMLA_TYPE_CELL: int FMLA_TYPE_SHARED: int FMLA_TYPE_ARRAY: int FMLA_TYPE_COND_FMT: int FMLA_TYPE_DATA_VAL: int FMLA_TYPE_NAME: int oBOOL: int oERR: int oNUM: int oREF: int oREL: int oSTRG: int oUNK: int okind_dict: Any class FormulaError(Exception): ... class Operand: value: Any = ... kind: Any = ... text: str = ... rank: Any = ... def __init__(self, akind: Optional[Any] = ..., avalue: Optional[Any] = ..., arank: int = ..., atext: str = ...) -> None: ... class Ref3D(tuple): coords: Any = ... relflags: Any = ... def __init__(self, atuple: Any) -> None: ... def evaluate_name_formula(bk: Any, nobj: Any, namex: Any, blah: int = ..., level: int = ...) -> None: ... def decompile_formula(bk: Any, fmla: Any, fmlalen: Any, fmlatype: Optional[Any] = ..., browx: Optional[Any] = ..., bcolx: Optional[Any] = ..., blah: int = ..., level: int = ..., r1c1: int = ...): ... def dump_formula(bk: Any, data: Any, fmlalen: Any, bv: Any, reldelta: Any, blah: int = ..., isname: int = ...) -> None: ... def cellname(rowx: Any, colx: Any): ... def cellnameabs(rowx: Any, colx: Any, r1c1: int = ...): ... def colname(colx: Any): ... def rangename3d(book: Any, ref3d: Any): ... def rangename3drel(book: Any, ref3d: Any, browx: Optional[Any] = ..., bcolx: Optional[Any] = ..., r1c1: int = ...): ... canmatrix-0.9.5/stubs/xlrd/info.pyi000066400000000000000000000002011416730473300173030ustar00rootroot00000000000000# Stubs for xlrd.info (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. __VERSION__: str canmatrix-0.9.5/stubs/xlrd/sheet.pyi000066400000000000000000000122751416730473300174760ustar00rootroot00000000000000# Stubs for xlrd.sheet (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .biffh import * from .timemachine import * from typing import Any, Optional DEBUG: int OBJ_MSO_DEBUG: int class Sheet(BaseObject): name: str = ... book: Any = ... nrows: int = ... ncols: int = ... colinfo_map: Any = ... rowinfo_map: Any = ... col_label_ranges: Any = ... row_label_ranges: Any = ... merged_cells: Any = ... rich_text_runlist_map: Any = ... defcolwidth: Any = ... standardwidth: Any = ... default_row_height: Any = ... default_row_height_mismatch: Any = ... default_row_hidden: Any = ... default_additional_space_above: Any = ... default_additional_space_below: Any = ... visibility: int = ... gcw: Any = ... hyperlink_list: Any = ... hyperlink_map: Any = ... cell_note_map: Any = ... vert_split_pos: int = ... horz_split_pos: int = ... horz_split_first_visible: int = ... vert_split_first_visible: int = ... split_active_pane: int = ... has_pane_record: int = ... horizontal_page_breaks: Any = ... vertical_page_breaks: Any = ... biff_version: Any = ... logfile: Any = ... bt: Any = ... bf: Any = ... number: Any = ... verbosity: Any = ... formatting_info: Any = ... ragged_rows: Any = ... put_cell: Any = ... first_visible_rowx: int = ... first_visible_colx: int = ... gridline_colour_index: int = ... gridline_colour_rgb: Any = ... cooked_page_break_preview_mag_factor: int = ... cooked_normal_view_mag_factor: int = ... cached_page_break_preview_mag_factor: int = ... cached_normal_view_mag_factor: int = ... scl_mag_factor: Any = ... utter_max_rows: int = ... utter_max_cols: int = ... def __init__(self, book: Any, position: Any, name: Any, number: Any) -> None: ... def cell(self, rowx: Any, colx: Any): ... def cell_value(self, rowx: Any, colx: Any): ... def cell_type(self, rowx: Any, colx: Any): ... def cell_xf_index(self, rowx: Any, colx: Any): ... def row_len(self, rowx: Any): ... def row(self, rowx: Any): ... def get_rows(self): ... def row_types(self, rowx: Any, start_colx: int = ..., end_colx: Optional[Any] = ...): ... def row_values(self, rowx: Any, start_colx: int = ..., end_colx: Optional[Any] = ...): ... def row_slice(self, rowx: Any, start_colx: int = ..., end_colx: Optional[Any] = ...): ... def col_slice(self, colx: Any, start_rowx: int = ..., end_rowx: Optional[Any] = ...): ... def col_values(self, colx: Any, start_rowx: int = ..., end_rowx: Optional[Any] = ...): ... def col_types(self, colx: Any, start_rowx: int = ..., end_rowx: Optional[Any] = ...): ... col: Any = ... def tidy_dimensions(self) -> None: ... def put_cell_ragged(self, rowx: Any, colx: Any, ctype: Any, value: Any, xf_index: Any) -> None: ... def put_cell_unragged(self, rowx: Any, colx: Any, ctype: Any, value: Any, xf_index: Any) -> None: ... def read(self, bk: Any): ... def string_record_contents(self, data: Any): ... def update_cooked_mag_factors(self) -> None: ... def fixed_BIFF2_xfindex(self, cell_attr: Any, rowx: Any, colx: Any, true_xfx: Optional[Any] = ...): ... def insert_new_BIFF20_xf(self, cell_attr: Any, style: int = ...): ... def fake_XF_from_BIFF20_cell_attr(self, cell_attr: Any, style: int = ...): ... def req_fmt_info(self) -> None: ... def computed_column_width(self, colx: Any): ... def handle_hlink(self, data: Any): ... def handle_quicktip(self, data: Any) -> None: ... def handle_msodrawingetc(self, recid: Any, data_len: Any, data: Any) -> None: ... def handle_obj(self, data: Any): ... def handle_note(self, data: Any, txos: Any) -> None: ... def handle_txo(self, data: Any): ... def handle_feat11(self, data: Any) -> None: ... class MSODrawing(BaseObject): ... class MSObj(BaseObject): ... class MSTxo(BaseObject): ... class Note(BaseObject): author: Any = ... col_hidden: int = ... colx: int = ... rich_text_runlist: Any = ... row_hidden: int = ... rowx: int = ... show: int = ... text: Any = ... class Hyperlink(BaseObject): frowx: Any = ... lrowx: Any = ... fcolx: Any = ... lcolx: Any = ... type: Any = ... url_or_path: Any = ... desc: Any = ... target: Any = ... textmark: Any = ... quicktip: Any = ... def unpack_RK(rk_str: Any): ... cellty_from_fmtty: Any ctype_text: Any class Cell(BaseObject): ctype: Any = ... value: Any = ... xf_index: Any = ... def __init__(self, ctype: Any, value: Any, xf_index: Optional[Any] = ...) -> None: ... empty_cell: Any class Colinfo(BaseObject): width: int = ... xf_index: int = ... hidden: int = ... bit1_flag: int = ... outline_level: int = ... collapsed: int = ... class Rowinfo(BaseObject): height: Any = ... has_default_height: Any = ... outline_level: Any = ... outline_group_starts_ends: Any = ... hidden: Any = ... height_mismatch: Any = ... has_default_xf_index: Any = ... xf_index: Any = ... additional_space_above: Any = ... additional_space_below: Any = ... def __init__(self) -> None: ... canmatrix-0.9.5/stubs/xlrd/timemachine.pyi000066400000000000000000000005641416730473300206470ustar00rootroot00000000000000# Stubs for xlrd.timemachine (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any python_version: Any BYTES_LITERAL: Any UNICODE_LITERAL: Any BYTES_ORD: Any def fprintf(f: Any, fmt: Any, *vargs: Any) -> None: ... EXCEL_TEXT_TYPES: Any REPR = ascii xrange = range unicode: Any ensure_unicode: Any unichr = chr canmatrix-0.9.5/stubs/xlrd/xldate.pyi000066400000000000000000000013241416730473300176400ustar00rootroot00000000000000# Stubs for xlrd.xldate (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any epoch_1904: Any epoch_1900: Any epoch_1900_minus_1: Any class XLDateError(ValueError): ... class XLDateNegative(XLDateError): ... class XLDateAmbiguous(XLDateError): ... class XLDateTooLarge(XLDateError): ... class XLDateBadDatemode(XLDateError): ... class XLDateBadTuple(XLDateError): ... def xldate_as_tuple(xldate: Any, datemode: Any): ... def xldate_as_datetime(xldate: Any, datemode: Any): ... def xldate_from_date_tuple(date_tuple: Any, datemode: Any): ... def xldate_from_time_tuple(time_tuple: Any): ... def xldate_from_datetime_tuple(datetime_tuple: Any, datemode: Any): ... canmatrix-0.9.5/stubs/xlrd/xlsx.pyi000066400000000000000000000076771416730473300173760ustar00rootroot00000000000000# Stubs for xlrd.xlsx (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .timemachine import * from typing import Any, Optional DEBUG: int DLF: Any ET: Any ET_has_iterparse: bool Element_has_iter: bool def ensure_elementtree_imported(verbosity: Any, logfile: Any) -> None: ... def split_tag(tag: Any): ... def augment_keys(adict: Any, uri: Any) -> None: ... def cell_name_to_rowx_colx(cell_name: Any, letter_value: Any = ..., allow_no_col: bool = ...): ... error_code_from_text: Any U_SSML12: str U_ODREL: str U_PKGREL: str U_CP: str U_DC: str U_DCTERMS: str XML_SPACE_ATTR: str XML_WHITESPACE: str X12_MAX_ROWS: Any X12_MAX_COLS: Any V_TAG: Any F_TAG: Any IS_TAG: Any def unescape(s: Any, subber: Any = ..., repl: Any = ...): ... def cooked_text(self, elem: Any): ... def get_text_from_si_or_is(self, elem: Any, r_tag: Any = ..., t_tag: Any = ...): ... def map_attributes(amap: Any, elem: Any, obj: Any) -> None: ... def cnv_ST_Xstring(s: Any): ... def cnv_xsd_unsignedInt(s: Any): ... def cnv_xsd_boolean(s: Any): ... def make_name_access_maps(bk: Any) -> None: ... class X12General: tree: Any = ... def process_stream(self, stream: Any, heading: Optional[Any] = ...) -> None: ... def finish_off(self) -> None: ... def dump_elem(self, elem: Any) -> None: ... def dumpout(self, fmt: Any, *vargs: Any) -> None: ... class X12Book(X12General): bk: Any = ... logfile: Any = ... verbosity: Any = ... relid2path: Any = ... relid2reltype: Any = ... sheet_targets: Any = ... sheetIds: Any = ... def __init__(self, bk: Any, logfile: Any = ..., verbosity: bool = ...) -> None: ... core_props_menu: Any = ... tree: Any = ... def process_coreprops(self, stream: Any) -> None: ... @staticmethod def convert_filename(name: Any): ... def process_rels(self, stream: Any) -> None: ... def do_defined_name(self, elem: Any) -> None: ... def do_defined_names(self, elem: Any) -> None: ... def do_sheet(self, elem: Any) -> None: ... def do_workbookpr(self, elem: Any) -> None: ... tag2meth: Any = ... class X12SST(X12General): bk: Any = ... logfile: Any = ... verbosity: Any = ... process_stream: Any = ... def __init__(self, bk: Any, logfile: Any = ..., verbosity: int = ...) -> None: ... def process_stream_iterparse(self, stream: Any, heading: Optional[Any] = ...) -> None: ... tree: Any = ... def process_stream_findall(self, stream: Any, heading: Optional[Any] = ...) -> None: ... class X12Styles(X12General): bk: Any = ... logfile: Any = ... verbosity: Any = ... xf_counts: Any = ... xf_type: Any = ... fmt_is_date: Any = ... def __init__(self, bk: Any, logfile: Any = ..., verbosity: int = ...) -> None: ... def do_cellstylexfs(self, elem: Any) -> None: ... def do_cellxfs(self, elem: Any) -> None: ... def do_numfmt(self, elem: Any) -> None: ... def do_xf(self, elem: Any) -> None: ... tag2meth: Any = ... class X12Sheet(X12General): sheet: Any = ... logfile: Any = ... verbosity: Any = ... rowx: int = ... bk: Any = ... sst: Any = ... relid2path: Any = ... relid2reltype: Any = ... merged_cells: Any = ... warned_no_cell_name: int = ... warned_no_row_num: int = ... process_stream: Any = ... def __init__(self, sheet: Any, logfile: Any = ..., verbosity: int = ...) -> None: ... def own_process_stream(self, stream: Any, heading: Optional[Any] = ...) -> None: ... def process_rels(self, stream: Any) -> None: ... def process_comments_stream(self, stream: Any) -> None: ... def do_dimension(self, elem: Any) -> None: ... def do_merge_cell(self, elem: Any) -> None: ... def do_row(self, row_elem: Any) -> None: ... tag2meth: Any = ... def open_workbook_2007_xml(zf: Any, component_names: Any, logfile: Any = ..., verbosity: int = ..., use_mmap: int = ..., formatting_info: int = ..., on_demand: int = ..., ragged_rows: int = ...): ... canmatrix-0.9.5/stubs/xlwt/000077500000000000000000000000001416730473300156615ustar00rootroot00000000000000canmatrix-0.9.5/stubs/xlwt/BIFFRecords.pyi000066400000000000000000000212411416730473300204340ustar00rootroot00000000000000# Stubs for xlwt.BIFFRecords (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any, Optional class SharedStringTable: encoding: Any = ... def __init__(self, encoding: Any) -> None: ... def add_str(self, s: Any): ... def add_rt(self, rt: Any): ... def del_str(self, idx: Any) -> None: ... def str_index(self, s: Any): ... def rt_index(self, rt: Any): ... def get_biff_record(self): ... class BiffRecord: def get_rec_header(self): ... def get(self): ... class Biff8BOFRecord(BiffRecord): BOOK_GLOBAL: int = ... VB_MODULE: int = ... WORKSHEET: int = ... CHART: int = ... MACROSHEET: int = ... WORKSPACE: int = ... def __init__(self, rec_type: Any) -> None: ... class InteraceHdrRecord(BiffRecord): def __init__(self) -> None: ... class InteraceEndRecord(BiffRecord): def __init__(self) -> None: ... class MMSRecord(BiffRecord): def __init__(self) -> None: ... class WriteAccessRecord(BiffRecord): def __init__(self, owner: Any) -> None: ... class DSFRecord(BiffRecord): def __init__(self) -> None: ... class TabIDRecord(BiffRecord): def __init__(self, sheetcount: Any) -> None: ... class FnGroupCountRecord(BiffRecord): def __init__(self) -> None: ... class WindowProtectRecord(BiffRecord): def __init__(self, wndprotect: Any) -> None: ... class ObjectProtectRecord(BiffRecord): def __init__(self, objprotect: Any) -> None: ... class ScenProtectRecord(BiffRecord): def __init__(self, scenprotect: Any) -> None: ... class ProtectRecord(BiffRecord): def __init__(self, protect: Any) -> None: ... class PasswordRecord(BiffRecord): def passwd_hash(self, plaintext: Any): ... def __init__(self, passwd: str = ...) -> None: ... class Prot4RevRecord(BiffRecord): def __init__(self) -> None: ... class Prot4RevPassRecord(BiffRecord): def __init__(self) -> None: ... class BackupRecord(BiffRecord): def __init__(self, backup: Any) -> None: ... class HideObjRecord(BiffRecord): def __init__(self) -> None: ... class RefreshAllRecord(BiffRecord): def __init__(self) -> None: ... class BookBoolRecord(BiffRecord): def __init__(self) -> None: ... class CountryRecord(BiffRecord): def __init__(self, ui_id: Any, sys_settings_id: Any) -> None: ... class UseSelfsRecord(BiffRecord): def __init__(self) -> None: ... class EOFRecord(BiffRecord): def __init__(self) -> None: ... class DateModeRecord(BiffRecord): def __init__(self, from1904: Any) -> None: ... class PrecisionRecord(BiffRecord): def __init__(self, use_real_values: Any) -> None: ... class CodepageBiff8Record(BiffRecord): UTF_16: int = ... def __init__(self) -> None: ... class Window1Record(BiffRecord): def __init__(self, hpos_twips: Any, vpos_twips: Any, width_twips: Any, height_twips: Any, flags: Any, active_sheet: Any, first_tab_index: Any, selected_tabs: Any, tab_width: Any) -> None: ... class FontRecord(BiffRecord): def __init__(self, height: Any, options: Any, colour_index: Any, weight: Any, escapement: Any, underline: Any, family: Any, charset: Any, name: Any) -> None: ... class NumberFormatRecord(BiffRecord): def __init__(self, idx: Any, fmtstr: Any) -> None: ... class XFRecord(BiffRecord): def __init__(self, xf: Any, xftype: str = ...) -> None: ... class StyleRecord(BiffRecord): def __init__(self) -> None: ... class PaletteRecord(BiffRecord): def __init__(self, custom_palette: Any) -> None: ... class BoundSheetRecord(BiffRecord): def __init__(self, stream_pos: Any, visibility: Any, sheetname: Any, encoding: str = ...) -> None: ... class ContinueRecord(BiffRecord): ... class SSTRecord(BiffRecord): ... class ExtSSTRecord(BiffRecord): def __init__(self, sst_stream_pos: Any, str_placement: Any, portions_len: Any) -> None: ... class DimensionsRecord(BiffRecord): def __init__(self, first_used_row: Any, last_used_row: Any, first_used_col: Any, last_used_col: Any) -> None: ... class Window2Record(BiffRecord): def __init__(self, options: Any, first_visible_row: Any, first_visible_col: Any, grid_colour: Any, preview_magn: Any, normal_magn: Any, scl_magn: Any) -> None: ... def get(self): ... class PanesRecord(BiffRecord): valid_active_pane: Any = ... def __init__(self, px: Any, py: Any, first_row_bottom: Any, first_col_right: Any, active_pane: Any) -> None: ... class RowRecord(BiffRecord): def __init__(self, index: Any, first_col: Any, last_col: Any, height_options: Any, options: Any) -> None: ... class LabelSSTRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_idx: Any, sst_idx: Any) -> None: ... class MergedCellsRecord(BiffRecord): def __init__(self, merged_list: Any) -> None: ... def get(self): ... class MulBlankRecord(BiffRecord): def __init__(self, row: Any, first_col: Any, last_col: Any, xf_index: Any) -> None: ... class BlankRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_index: Any) -> None: ... class RKRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_index: Any, rk_encoded: Any) -> None: ... class NumberRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_index: Any, number: Any) -> None: ... class BoolErrRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_index: Any, number: Any, is_error: Any) -> None: ... class FormulaRecord(BiffRecord): def __init__(self, row: Any, col: Any, xf_index: Any, rpn: Any, calc_flags: int = ...) -> None: ... class GutsRecord(BiffRecord): def __init__(self, row_gut_width: Any, col_gut_height: Any, row_visible_levels: Any, col_visible_levels: Any) -> None: ... class WSBoolRecord(BiffRecord): def __init__(self, options: Any) -> None: ... class ColInfoRecord(BiffRecord): def __init__(self, first_col: Any, last_col: Any, width: Any, xf_index: Any, options: Any, unused: Any) -> None: ... class CalcModeRecord(BiffRecord): def __init__(self, calc_mode: Any) -> None: ... class CalcCountRecord(BiffRecord): def __init__(self, calc_count: Any) -> None: ... class RefModeRecord(BiffRecord): def __init__(self, ref_mode: Any) -> None: ... class IterationRecord(BiffRecord): def __init__(self, iterations_on: Any) -> None: ... class DeltaRecord(BiffRecord): def __init__(self, delta: Any) -> None: ... class SaveRecalcRecord(BiffRecord): def __init__(self, recalc: Any) -> None: ... class PrintHeadersRecord(BiffRecord): def __init__(self, print_headers: Any) -> None: ... class PrintGridLinesRecord(BiffRecord): def __init__(self, print_grid: Any) -> None: ... class GridSetRecord(BiffRecord): def __init__(self, print_grid_changed: Any) -> None: ... class DefaultRowHeightRecord(BiffRecord): def __init__(self, options: Any, def_height: Any) -> None: ... class DefColWidthRecord(BiffRecord): def __init__(self, def_width: Any) -> None: ... class HorizontalPageBreaksRecord(BiffRecord): def __init__(self, breaks_list: Any) -> None: ... class VerticalPageBreaksRecord(BiffRecord): def __init__(self, breaks_list: Any) -> None: ... class HeaderRecord(BiffRecord): def __init__(self, header_str: Any) -> None: ... class FooterRecord(BiffRecord): def __init__(self, footer_str: Any) -> None: ... class HCenterRecord(BiffRecord): def __init__(self, is_horz_center: Any) -> None: ... class VCenterRecord(BiffRecord): def __init__(self, is_vert_center: Any) -> None: ... class LeftMarginRecord(BiffRecord): def __init__(self, margin: Any) -> None: ... class RightMarginRecord(BiffRecord): def __init__(self, margin: Any) -> None: ... class TopMarginRecord(BiffRecord): def __init__(self, margin: Any) -> None: ... class BottomMarginRecord(BiffRecord): def __init__(self, margin: Any) -> None: ... class SetupPageRecord(BiffRecord): def __init__(self, paper: Any, scaling: Any, start_num: Any, fit_width_to: Any, fit_height_to: Any, options: Any, hres: Any, vres: Any, header_margin: Any, footer_margin: Any, num_copies: Any) -> None: ... class NameRecord(BiffRecord): def __init__(self, options: Any, keyboard_shortcut: Any, name: Any, sheet_index: Any, rpn: Any, menu_text: str = ..., desc_text: str = ..., help_text: str = ..., status_text: str = ...) -> None: ... class ExternSheetRecord(BiffRecord): refs: Any = ... def __init__(self, refs: Any) -> None: ... def get(self): ... class SupBookRecord(BiffRecord): ... class InternalReferenceSupBookRecord(SupBookRecord): def __init__(self, num_sheets: Any) -> None: ... class XcallSupBookRecord(SupBookRecord): def __init__(self) -> None: ... class ExternnameRecord(BiffRecord): def __init__(self, options: int = ..., index: int = ..., name: Optional[Any] = ..., fmla: Optional[Any] = ...) -> None: ... canmatrix-0.9.5/stubs/xlwt/Bitmap.pyi000066400000000000000000000010051416730473300176140ustar00rootroot00000000000000# Stubs for xlwt.Bitmap (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .BIFFRecords import BiffRecord from typing import Any class ObjBmpRecord(BiffRecord): def __init__(self, row: Any, col: Any, sheet: Any, im_data_bmp: Any, x: Any, y: Any, scale_x: Any, scale_y: Any) -> None: ... class ImRawDataBmpRecord(BiffRecord): def __init__(self, data: Any) -> None: ... class ImDataBmpRecord(ImRawDataBmpRecord): def __init__(self, filename: Any) -> None: ... canmatrix-0.9.5/stubs/xlwt/Cell.pyi000066400000000000000000000033371416730473300172710ustar00rootroot00000000000000# Stubs for xlwt.Cell (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class StrCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... sst_idx: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any, sst_idx: Any) -> None: ... def get_biff_data(self): ... class BlankCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any) -> None: ... def get_biff_data(self): ... class MulBlankCell: rowx: Any = ... colx1: Any = ... colx2: Any = ... xf_idx: Any = ... def __init__(self, rowx: Any, colx1: Any, colx2: Any, xf_idx: Any) -> None: ... def get_biff_data(self): ... class NumberCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... number: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any, number: Any) -> None: ... def get_encoded_data(self): ... def get_biff_data(self): ... class BooleanCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... number: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any, number: Any) -> None: ... def get_biff_data(self): ... error_code_map: Any class ErrorCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... number: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any, error_string_or_code: Any) -> None: ... def get_biff_data(self): ... class FormulaCell: rowx: Any = ... colx: Any = ... xf_idx: Any = ... frmla: Any = ... calc_flags: Any = ... def __init__(self, rowx: Any, colx: Any, xf_idx: Any, frmla: Any, calc_flags: int = ...) -> None: ... def get_biff_data(self): ... canmatrix-0.9.5/stubs/xlwt/Column.pyi000066400000000000000000000010751416730473300176440ustar00rootroot00000000000000# Stubs for xlwt.Column (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class Column: width: int = ... hidden: int = ... level: int = ... collapse: int = ... user_set: int = ... best_fit: int = ... unused: int = ... def __init__(self, colx: Any, parent_sheet: Any) -> None: ... def set_width(self, width: Any) -> None: ... def get_width(self): ... def set_style(self, style: Any) -> None: ... def width_in_pixels(self): ... def get_biff_record(self): ... canmatrix-0.9.5/stubs/xlwt/CompoundDoc.pyi000066400000000000000000000013331416730473300206160ustar00rootroot00000000000000# Stubs for xlwt.CompoundDoc (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class XlsDoc: SECTOR_SIZE: int = ... MIN_LIMIT: int = ... SID_FREE_SECTOR: int = ... SID_END_OF_CHAIN: int = ... SID_USED_BY_SAT: int = ... SID_USED_BY_MSAT: int = ... book_stream_sect: Any = ... dir_stream: str = ... dir_stream_sect: Any = ... packed_SAT: str = ... SAT_sect: Any = ... packed_MSAT_1st: str = ... packed_MSAT_2nd: str = ... MSAT_sect_2nd: Any = ... header: str = ... def __init__(self) -> None: ... book_stream_len: Any = ... def save(self, file_name_or_filelike_obj: Any, stream: Any) -> None: ... canmatrix-0.9.5/stubs/xlwt/ExcelFormula.pyi000066400000000000000000000005261416730473300207750ustar00rootroot00000000000000# Stubs for xlwt.ExcelFormula (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class Formula: def __init__(self, s: Any) -> None: ... def get_references(self): ... def patch_references(self, patches: Any) -> None: ... def text(self): ... def rpn(self): ... canmatrix-0.9.5/stubs/xlwt/ExcelFormulaLexer.pyi000066400000000000000000000014051416730473300217720ustar00rootroot00000000000000# Stubs for xlwt.ExcelFormulaLexer (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .antlr import TokenStream from typing import Any int_const_pattern: str flt_const_pattern: str str_const_pattern: str ref2d_r1c1_pattern: str ref2d_pattern: str true_pattern: str false_pattern: str if_pattern: str choose_pattern: str name_pattern: str quotename_pattern: str ne_pattern: str ge_pattern: str le_pattern: str pattern_type_tuples: Any single_char_lookup: Any class Lexer(TokenStream): def __init__(self, text: Any) -> None: ... def isEOF(self): ... def curr_ch(self): ... def next_ch(self, n: int = ...) -> None: ... def is_whitespace(self): ... def match_pattern(self): ... def nextToken(self): ... canmatrix-0.9.5/stubs/xlwt/ExcelFormulaParser.pyi000066400000000000000000000027111416730473300221500ustar00rootroot00000000000000# Stubs for xlwt.ExcelFormulaParser (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .ExcelMagic import * from . import antlr from typing import Any class FormulaParseException(Exception): ... SKIP: Any INVALID_TYPE: Any EOF_TYPE: Any EOF: Any NULL_TREE_LOOKAHEAD: Any MIN_USER_TYPE: Any TRUE_CONST: int FALSE_CONST: int STR_CONST: int NUM_CONST: int INT_CONST: int FUNC_IF: int FUNC_CHOOSE: int NAME: int QUOTENAME: int EQ: int NE: int GT: int LT: int GE: int LE: int ADD: int SUB: int MUL: int DIV: int POWER: int PERCENT: int LP: int RP: int LB: int RB: int COLON: int COMMA: int SEMICOLON: int REF2D: int REF2D_R1C1: int BANG: int CONCAT: int class Parser(antlr.LLkParser): tokenNames: Any = ... rpn: bytes = ... sheet_references: Any = ... xcall_references: Any = ... def __init__(self, *args: Any, **kwargs: Any) -> None: ... def formula(self) -> None: ... def expr(self, arg_type: Any) -> None: ... def prec0_expr(self, arg_type: Any) -> None: ... def prec1_expr(self, arg_type: Any) -> None: ... def prec2_expr(self, arg_type: Any) -> None: ... def prec3_expr(self, arg_type: Any) -> None: ... def prec4_expr(self, arg_type: Any) -> None: ... def prec5_expr(self, arg_type: Any) -> None: ... def primary(self, arg_type: Any) -> None: ... def sheet(self): ... def expr_list(self, arg_type_list: Any, min_argc: Any, max_argc: Any): ... def mk_tokenSet_0(): ... canmatrix-0.9.5/stubs/xlwt/ExcelMagic.pyi000066400000000000000000000032351416730473300204100ustar00rootroot00000000000000# Stubs for xlwt.ExcelMagic (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any MAX_ROW: int MAX_COL: int biff_records: Any all_funcs_by_name: Any ptgExp: int ptgTbl: int ptgAdd: int ptgSub: int ptgMul: int ptgDiv: int ptgPower: int ptgConcat: int ptgLT: int ptgLE: int ptgEQ: int ptgGE: int ptgGT: int ptgNE: int ptgIsect: int ptgUnion: int ptgRange: int ptgUplus: int ptgUminus: int ptgPercent: int ptgParen: int ptgMissArg: int ptgStr: int ptgExtend: int ptgAttr: int ptgSheet: int ptgEndSheet: int ptgErr: int ptgBool: int ptgInt: int ptgNum: int ptgArrayR: int ptgFuncR: int ptgFuncVarR: int ptgNameR: int ptgRefR: int ptgAreaR: int ptgMemAreaR: int ptgMemErrR: int ptgMemNoMemR: int ptgMemFuncR: int ptgRefErrR: int ptgAreaErrR: int ptgRefNR: int ptgAreaNR: int ptgMemAreaNR: int ptgMemNoMemNR: int ptgNameXR: int ptgRef3dR: int ptgArea3dR: int ptgRefErr3dR: int ptgAreaErr3dR: int ptgArrayV: int ptgFuncV: int ptgFuncVarV: int ptgNameV: int ptgRefV: int ptgAreaV: int ptgMemAreaV: int ptgMemErrV: int ptgMemNoMemV: int ptgMemFuncV: int ptgRefErrV: int ptgAreaErrV: int ptgRefNV: int ptgAreaNV: int ptgMemAreaNV: int ptgMemNoMemNV: int ptgFuncCEV: int ptgNameXV: int ptgRef3dV: int ptgArea3dV: int ptgRefErr3dV: int ptgAreaErr3dV: int ptgArrayA: int ptgFuncA: int ptgFuncVarA: int ptgNameA: int ptgRefA: int ptgAreaA: int ptgMemAreaA: int ptgMemErrA: int ptgMemNoMemA: int ptgMemFuncA: int ptgRefErrA: int ptgAreaErrA: int ptgRefNA: int ptgAreaNA: int ptgMemAreaNA: int ptgMemNoMemNA: int ptgFuncCEA: int ptgNameXA: int ptgRef3dA: int ptgArea3dA: int ptgRefErr3dA: int ptgAreaErr3dA: int PtgNames: Any error_msg_by_code: Any canmatrix-0.9.5/stubs/xlwt/Formatting.pyi000066400000000000000000000073501416730473300205230ustar00rootroot00000000000000# Stubs for xlwt.Formatting (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class Font: ESCAPEMENT_NONE: int = ... ESCAPEMENT_SUPERSCRIPT: int = ... ESCAPEMENT_SUBSCRIPT: int = ... UNDERLINE_NONE: int = ... UNDERLINE_SINGLE: int = ... UNDERLINE_SINGLE_ACC: int = ... UNDERLINE_DOUBLE: int = ... UNDERLINE_DOUBLE_ACC: int = ... FAMILY_NONE: int = ... FAMILY_ROMAN: int = ... FAMILY_SWISS: int = ... FAMILY_MODERN: int = ... FAMILY_SCRIPT: int = ... FAMILY_DECORATIVE: int = ... CHARSET_ANSI_LATIN: int = ... CHARSET_SYS_DEFAULT: int = ... CHARSET_SYMBOL: int = ... CHARSET_APPLE_ROMAN: int = ... CHARSET_ANSI_JAP_SHIFT_JIS: int = ... CHARSET_ANSI_KOR_HANGUL: int = ... CHARSET_ANSI_KOR_JOHAB: int = ... CHARSET_ANSI_CHINESE_GBK: int = ... CHARSET_ANSI_CHINESE_BIG5: int = ... CHARSET_ANSI_GREEK: int = ... CHARSET_ANSI_TURKISH: int = ... CHARSET_ANSI_VIETNAMESE: int = ... CHARSET_ANSI_HEBREW: int = ... CHARSET_ANSI_ARABIC: int = ... CHARSET_ANSI_BALTIC: int = ... CHARSET_ANSI_CYRILLIC: int = ... CHARSET_ANSI_THAI: int = ... CHARSET_ANSI_LATIN_II: int = ... CHARSET_OEM_LATIN_I: int = ... height: int = ... italic: bool = ... struck_out: bool = ... outline: bool = ... shadow: bool = ... colour_index: int = ... bold: bool = ... escapement: Any = ... underline: Any = ... family: Any = ... charset: Any = ... name: str = ... def __init__(self) -> None: ... def get_biff_record(self): ... class Alignment: HORZ_GENERAL: int = ... HORZ_LEFT: int = ... HORZ_CENTER: int = ... HORZ_RIGHT: int = ... HORZ_FILLED: int = ... HORZ_JUSTIFIED: int = ... HORZ_CENTER_ACROSS_SEL: int = ... HORZ_DISTRIBUTED: int = ... VERT_TOP: int = ... VERT_CENTER: int = ... VERT_BOTTOM: int = ... VERT_JUSTIFIED: int = ... VERT_DISTRIBUTED: int = ... DIRECTION_GENERAL: int = ... DIRECTION_LR: int = ... DIRECTION_RL: int = ... ORIENTATION_NOT_ROTATED: int = ... ORIENTATION_STACKED: int = ... ORIENTATION_90_CC: int = ... ORIENTATION_90_CW: int = ... ROTATION_0_ANGLE: int = ... ROTATION_STACKED: int = ... WRAP_AT_RIGHT: int = ... NOT_WRAP_AT_RIGHT: int = ... SHRINK_TO_FIT: int = ... NOT_SHRINK_TO_FIT: int = ... horz: Any = ... vert: Any = ... dire: Any = ... orie: Any = ... rota: Any = ... wrap: Any = ... shri: Any = ... inde: int = ... merg: int = ... def __init__(self) -> None: ... class Borders: NO_LINE: int = ... THIN: int = ... MEDIUM: int = ... DASHED: int = ... DOTTED: int = ... THICK: int = ... DOUBLE: int = ... HAIR: int = ... MEDIUM_DASHED: int = ... THIN_DASH_DOTTED: int = ... MEDIUM_DASH_DOTTED: int = ... THIN_DASH_DOT_DOTTED: int = ... MEDIUM_DASH_DOT_DOTTED: int = ... SLANTED_MEDIUM_DASH_DOTTED: int = ... NEED_DIAG1: int = ... NEED_DIAG2: int = ... NO_NEED_DIAG1: int = ... NO_NEED_DIAG2: int = ... left: Any = ... right: Any = ... top: Any = ... bottom: Any = ... diag: Any = ... left_colour: int = ... right_colour: int = ... top_colour: int = ... bottom_colour: int = ... diag_colour: int = ... need_diag1: Any = ... need_diag2: Any = ... def __init__(self) -> None: ... class Pattern: NO_PATTERN: int = ... SOLID_PATTERN: int = ... pattern: Any = ... pattern_fore_colour: int = ... pattern_back_colour: int = ... def __init__(self) -> None: ... class Protection: cell_locked: int = ... formula_hidden: int = ... def __init__(self) -> None: ... canmatrix-0.9.5/stubs/xlwt/Row.pyi000066400000000000000000000034571416730473300171640ustar00rootroot00000000000000# Stubs for xlwt.Row (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any class Row: height: int = ... has_default_height: int = ... height_mismatch: int = ... level: int = ... collapse: int = ... hidden: int = ... space_above: int = ... space_below: int = ... def __init__(self, rowx: Any, parent_sheet: Any) -> None: ... def get_height_in_pixels(self): ... def set_style(self, style: Any) -> None: ... def get_xf_index(self): ... def get_cells_count(self): ... def get_min_col(self): ... def get_max_col(self): ... def get_row_biff_data(self): ... def insert_cell(self, col_index: Any, cell_obj: Any) -> None: ... def insert_mulcells(self, colx1: Any, colx2: Any, cell_obj: Any) -> None: ... def get_cells_biff_data(self): ... def get_index(self): ... def set_cell_text(self, colx: Any, value: Any, style: Any = ...) -> None: ... def set_cell_blank(self, colx: Any, style: Any = ...) -> None: ... def set_cell_mulblanks(self, first_colx: Any, last_colx: Any, style: Any = ...) -> None: ... def set_cell_number(self, colx: Any, number: Any, style: Any = ...) -> None: ... def set_cell_date(self, colx: Any, datetime_obj: Any, style: Any = ...) -> None: ... def set_cell_formula(self, colx: Any, formula: Any, style: Any = ..., calc_flags: int = ...) -> None: ... def set_cell_boolean(self, colx: Any, value: Any, style: Any = ...) -> None: ... def set_cell_error(self, colx: Any, error_string_or_code: Any, style: Any = ...) -> None: ... def write(self, col: Any, label: Any, style: Any = ...) -> None: ... def set_cell_rich_text(self, col: Any, rich_text_list: Any, style: Any = ...) -> None: ... write_blanks: Any = ... write_rich_text: Any = ... canmatrix-0.9.5/stubs/xlwt/Style.pyi000066400000000000000000000032211416730473300175020ustar00rootroot00000000000000# Stubs for xlwt.Style (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .Formatting import Font from typing import Any, Optional FIRST_USER_DEFINED_NUM_FORMAT_IDX: int class XFStyle: num_format_str: str = ... font: Any = ... alignment: Any = ... borders: Any = ... pattern: Any = ... protection: Any = ... def __init__(self) -> None: ... default_style: Any class StyleCollection: style_compression: Any = ... stats: Any = ... default_style: Any = ... def __init__(self, style_compression: int = ...) -> None: ... def add(self, style: Any): ... def add_font(self, font: Any): ... def get_biff_data(self): ... class EasyXFException(Exception): ... class EasyXFCallerError(EasyXFException): ... class EasyXFAuthorError(EasyXFException): ... class IntULim: limit: Any = ... def __init__(self, limit: Any) -> None: ... def __call__(self, astring: Any): ... bool_map: Any border_line_map: Any charset_map: Any colour_map: Any def add_palette_colour(colour_str: Any, colour_index: Any) -> None: ... excel_default_palette_b8: Any pattern_map: Any def any_str_func(s: Any): ... def colour_index_func(s: Any, maxval: int = ...): ... colour_index_func_7 = colour_index_func def colour_index_func_15(s: Any): ... def rotation_func(s: Any): ... xf_dict: Any def easyxf(strg_to_parse: str = ..., num_format_str: Optional[Any] = ..., field_sep: str = ..., line_sep: str = ..., intro_sep: str = ..., esc_char: str = ..., debug: bool = ...) -> XFStyle: ... def easyfont(strg_to_parse: str = ..., field_sep: str = ..., esc_char: str = ..., debug: bool = ...) -> Font: ... canmatrix-0.9.5/stubs/xlwt/UnicodeUtils.pyi000066400000000000000000000004321416730473300210120ustar00rootroot00000000000000# Stubs for xlwt.UnicodeUtils (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any def upack2(s: Any, encoding: str = ...): ... def upack2rt(rt: Any, encoding: str = ...): ... def upack1(s: Any, encoding: str = ...): ... canmatrix-0.9.5/stubs/xlwt/Utils.pyi000066400000000000000000000012521416730473300175040ustar00rootroot00000000000000# Stubs for xlwt.Utils (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any def col_by_name(colname: Any): ... def cell_to_rowcol(cell: Any): ... def cell_to_rowcol2(cell: Any): ... def rowcol_to_cell(row: Any, col: Any, row_abs: bool = ..., col_abs: bool = ...): ... def rowcol_pair_to_cellrange(row1: Any, col1: Any, row2: Any, col2: Any, row1_abs: bool = ..., col1_abs: bool = ..., row2_abs: bool = ..., col2_abs: bool = ...): ... def cellrange_to_rowcol_pair(cellrange: Any): ... def cell_to_packed_rowcol(cell: Any): ... def valid_sheet_name(sheet_name: Any): ... def quote_sheet_name(unquoted_sheet_name: Any): ... canmatrix-0.9.5/stubs/xlwt/Workbook.pyi000066400000000000000000000066051416730473300202100ustar00rootroot00000000000000# Stubs for xlwt.Workbook (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any from .Worksheet import Worksheet class Workbook: encoding: Any = ... def __init__(self, encoding: str = ..., style_compression: int = ...) -> None: ... def get_style_stats(self): ... def set_owner(self, value: Any) -> None: ... def get_owner(self): ... owner: Any = ... def set_country_code(self, value: Any) -> None: ... def get_country_code(self): ... country_code: Any = ... def set_wnd_protect(self, value: Any) -> None: ... def get_wnd_protect(self): ... wnd_protect: Any = ... def set_obj_protect(self, value: Any) -> None: ... def get_obj_protect(self): ... obj_protect: Any = ... def set_protect(self, value: Any) -> None: ... def get_protect(self): ... protect: Any = ... def set_backup_on_save(self, value: Any) -> None: ... def get_backup_on_save(self): ... backup_on_save: Any = ... def set_hpos(self, value: Any) -> None: ... def get_hpos(self): ... hpos: Any = ... def set_vpos(self, value: Any) -> None: ... def get_vpos(self): ... vpos: Any = ... def set_width(self, value: Any) -> None: ... def get_width(self): ... width: Any = ... def set_height(self, value: Any) -> None: ... def get_height(self): ... height: Any = ... def set_active_sheet(self, value: Any) -> None: ... def get_active_sheet(self): ... active_sheet: Any = ... def set_tab_width(self, value: Any) -> None: ... def get_tab_width(self): ... tab_width: Any = ... def set_wnd_visible(self, value: Any) -> None: ... def get_wnd_visible(self): ... wnd_visible: Any = ... def set_wnd_mini(self, value: Any) -> None: ... def get_wnd_mini(self): ... wnd_mini: Any = ... def set_hscroll_visible(self, value: Any) -> None: ... def get_hscroll_visible(self): ... hscroll_visible: Any = ... def set_vscroll_visible(self, value: Any) -> None: ... def get_vscroll_visible(self): ... vscroll_visible: Any = ... def set_tabs_visible(self, value: Any) -> None: ... def get_tabs_visible(self): ... tabs_visible: Any = ... def set_dates_1904(self, value: Any) -> None: ... def get_dates_1904(self): ... dates_1904: Any = ... def set_use_cell_values(self, value: Any) -> None: ... def get_use_cell_values(self): ... use_cell_values: Any = ... def get_default_style(self): ... default_style: Any = ... def set_colour_RGB(self, colour_index: Any, red: Any, green: Any, blue: Any) -> None: ... def add_style(self, style: Any): ... def add_font(self, font: Any): ... def add_str(self, s: Any): ... def del_str(self, sst_idx: Any) -> None: ... def str_index(self, s: Any): ... def add_rt(self, rt: Any): ... def rt_index(self, rt: Any): ... def add_sheet(self, sheetname: str, cell_overwrite_ok: bool = ...) -> Worksheet: ... def get_sheet(self, sheet: Any): ... def sheet_index(self, sheetname: Any): ... def raise_bad_sheetname(self, sheetname: Any) -> None: ... def convert_sheetindex(self, strg_ref: Any, n_sheets: Any): ... def setup_ownbook(self) -> None: ... def setup_xcall(self) -> None: ... def add_sheet_reference(self, formula: Any) -> None: ... def get_biff_data(self): ... def save(self, filename_or_stream: Any) -> None: ... canmatrix-0.9.5/stubs/xlwt/Worksheet.pyi000066400000000000000000000255561416730473300203740ustar00rootroot00000000000000# Stubs for xlwt.Worksheet (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any from .Style import XFStyle class Worksheet: active_pane: int = ... Row: Any = ... Column: Any = ... show_zero_values: int = ... explicit_magn_setting: bool = ... visibility: int = ... split_position_units_are_twips: bool = ... row_default_height_mismatch: int = ... row_default_hidden: int = ... row_default_space_above: int = ... row_default_space_below: int = ... last_used_row: int = ... first_used_row: int = ... last_used_col: int = ... first_used_col: int = ... row_tempfile: Any = ... def __init__(self, sheetname: str, parent_book: Any, cell_overwrite_ok: bool = ...) -> None: ... def set_name(self, value: str) -> None: ... def get_name(self): ... name: str = ... def get_parent(self): ... parent: Any = ... def get_rows(self): ... rows: Any = ... def get_cols(self): ... cols: Any = ... def get_merged_ranges(self): ... merged_ranges: Any = ... def get_bmp_rec(self): ... bmp_rec: Any = ... def set_show_formulas(self, value: Any) -> None: ... def get_show_formulas(self): ... show_formulas: Any = ... def set_show_grid(self, value: Any) -> None: ... def get_show_grid(self): ... show_grid: Any = ... def set_show_headers(self, value: Any) -> None: ... def get_show_headers(self): ... show_headers: Any = ... def set_panes_frozen(self, value: Any) -> None: ... def get_panes_frozen(self): ... panes_frozen: Any = ... def set_auto_colour_grid(self, value: Any) -> None: ... def get_auto_colour_grid(self): ... auto_colour_grid: Any = ... def set_cols_right_to_left(self, value: Any) -> None: ... def get_cols_right_to_left(self): ... cols_right_to_left: Any = ... def set_show_outline(self, value: Any) -> None: ... def get_show_outline(self): ... show_outline: Any = ... def set_remove_splits(self, value: Any) -> None: ... def get_remove_splits(self): ... remove_splits: Any = ... def set_selected(self, value: Any) -> None: ... def get_selected(self): ... selected: Any = ... def set_sheet_visible(self, value: Any) -> None: ... def get_sheet_visible(self): ... sheet_visible: Any = ... def set_page_preview(self, value: Any) -> None: ... def get_page_preview(self): ... page_preview: Any = ... def set_first_visible_row(self, value: Any) -> None: ... def get_first_visible_row(self): ... first_visible_row: Any = ... def set_first_visible_col(self, value: Any) -> None: ... def get_first_visible_col(self): ... first_visible_col: Any = ... def set_grid_colour(self, value: Any) -> None: ... def get_grid_colour(self): ... grid_colour: Any = ... def set_preview_magn(self, value: Any) -> None: ... def get_preview_magn(self): ... preview_magn: Any = ... def set_normal_magn(self, value: Any) -> None: ... def get_normal_magn(self): ... normal_magn: Any = ... def set_scl_magn(self, value: Any) -> None: ... def get_scl_magn(self): ... scl_magn: Any = ... def set_vert_split_pos(self, value: Any) -> None: ... def get_vert_split_pos(self): ... vert_split_pos: Any = ... def set_horz_split_pos(self, value: Any) -> None: ... def get_horz_split_pos(self): ... horz_split_pos: Any = ... def set_vert_split_first_visible(self, value: Any) -> None: ... def get_vert_split_first_visible(self): ... vert_split_first_visible: Any = ... def set_horz_split_first_visible(self, value: Any) -> None: ... def get_horz_split_first_visible(self): ... horz_split_first_visible: Any = ... def set_show_auto_page_breaks(self, value: Any) -> None: ... def get_show_auto_page_breaks(self): ... show_auto_page_breaks: Any = ... def set_dialogue_sheet(self, value: Any) -> None: ... def get_dialogue_sheet(self): ... dialogue_sheet: Any = ... def set_auto_style_outline(self, value: Any) -> None: ... def get_auto_style_outline(self): ... auto_style_outline: Any = ... def set_outline_below(self, value: Any) -> None: ... def get_outline_below(self): ... outline_below: Any = ... def set_outline_right(self, value: Any) -> None: ... def get_outline_right(self): ... outline_right: Any = ... def set_fit_num_pages(self, value: Any) -> None: ... def get_fit_num_pages(self): ... fit_num_pages: Any = ... def set_show_row_outline(self, value: Any) -> None: ... def get_show_row_outline(self): ... show_row_outline: Any = ... def set_show_col_outline(self, value: Any) -> None: ... def get_show_col_outline(self): ... show_col_outline: Any = ... def set_alt_expr_eval(self, value: Any) -> None: ... def get_alt_expr_eval(self): ... alt_expr_eval: Any = ... def set_alt_formula_entries(self, value: Any) -> None: ... def get_alt_formula_entries(self): ... alt_formula_entries: Any = ... def set_row_default_height(self, value: Any) -> None: ... def get_row_default_height(self): ... row_default_height: Any = ... def set_col_default_width(self, value: Any) -> None: ... def get_col_default_width(self): ... col_default_width: Any = ... def set_calc_mode(self, value: Any) -> None: ... def get_calc_mode(self): ... calc_mode: Any = ... def set_calc_count(self, value: Any) -> None: ... def get_calc_count(self): ... calc_count: Any = ... def set_RC_ref_mode(self, value: Any) -> None: ... def get_RC_ref_mode(self): ... RC_ref_mode: Any = ... def set_iterations_on(self, value: Any) -> None: ... def get_iterations_on(self): ... iterations_on: Any = ... def set_delta(self, value: Any) -> None: ... def get_delta(self): ... delta: Any = ... def set_save_recalc(self, value: Any) -> None: ... def get_save_recalc(self): ... save_recalc: Any = ... def set_print_headers(self, value: Any) -> None: ... def get_print_headers(self): ... print_headers: Any = ... def set_print_grid(self, value: Any) -> None: ... def get_print_grid(self): ... print_grid: Any = ... def set_vert_page_breaks(self, value: Any) -> None: ... def get_vert_page_breaks(self): ... vert_page_breaks: Any = ... def set_horz_page_breaks(self, value: Any) -> None: ... def get_horz_page_breaks(self): ... horz_page_breaks: Any = ... def set_header_str(self, value: Any) -> None: ... def get_header_str(self): ... header_str: Any = ... def set_footer_str(self, value: Any) -> None: ... def get_footer_str(self): ... footer_str: Any = ... def set_print_centered_vert(self, value: Any) -> None: ... def get_print_centered_vert(self): ... print_centered_vert: Any = ... def set_print_centered_horz(self, value: Any) -> None: ... def get_print_centered_horz(self): ... print_centered_horz: Any = ... def set_left_margin(self, value: Any) -> None: ... def get_left_margin(self): ... left_margin: Any = ... def set_right_margin(self, value: Any) -> None: ... def get_right_margin(self): ... right_margin: Any = ... def set_top_margin(self, value: Any) -> None: ... def get_top_margin(self): ... top_margin: Any = ... def set_bottom_margin(self, value: Any) -> None: ... def get_bottom_margin(self): ... bottom_margin: Any = ... def set_paper_size_code(self, value: Any) -> None: ... def get_paper_size_code(self): ... paper_size_code: Any = ... def set_print_scaling(self, value: Any) -> None: ... def get_print_scaling(self): ... print_scaling: Any = ... def set_start_page_number(self, value: Any) -> None: ... def get_start_page_number(self): ... start_page_number: Any = ... def set_fit_width_to_pages(self, value: Any) -> None: ... def get_fit_width_to_pages(self): ... fit_width_to_pages: Any = ... def set_fit_height_to_pages(self, value: Any) -> None: ... def get_fit_height_to_pages(self): ... fit_height_to_pages: Any = ... def set_print_in_rows(self, value: Any) -> None: ... def get_print_in_rows(self): ... print_in_rows: Any = ... def set_portrait(self, value: Any) -> None: ... def get_portrait(self): ... portrait: Any = ... def set_print_colour(self, value: Any) -> None: ... def get_print_colour(self): ... print_colour: Any = ... def set_print_draft(self, value: Any) -> None: ... def get_print_draft(self): ... print_draft: Any = ... def set_print_notes(self, value: Any) -> None: ... def get_print_notes(self): ... print_notes: Any = ... def set_print_notes_at_end(self, value: Any) -> None: ... def get_print_notes_at_end(self): ... print_notes_at_end: Any = ... def set_print_omit_errors(self, value: Any) -> None: ... def get_print_omit_errors(self): ... print_omit_errors: Any = ... def set_print_hres(self, value: Any) -> None: ... def get_print_hres(self): ... print_hres: Any = ... def set_print_vres(self, value: Any) -> None: ... def get_print_vres(self): ... print_vres: Any = ... def set_header_margin(self, value: Any) -> None: ... def get_header_margin(self): ... header_margin: Any = ... def set_footer_margin(self, value: Any) -> None: ... def get_footer_margin(self): ... footer_margin: Any = ... def set_copies_num(self, value: Any) -> None: ... def get_copies_num(self): ... copies_num: Any = ... def set_wnd_protect(self, value: Any) -> None: ... def get_wnd_protect(self): ... wnd_protect: Any = ... def set_obj_protect(self, value: Any) -> None: ... def get_obj_protect(self): ... obj_protect: Any = ... def set_protect(self, value: Any) -> None: ... def get_protect(self): ... protect: Any = ... def set_scen_protect(self, value: Any) -> None: ... def get_scen_protect(self): ... scen_protect: Any = ... def set_password(self, value: Any) -> None: ... def get_password(self): ... password: Any = ... def write(self, r: int, c: int, label: str = ..., style: XFStyle = ...) -> None: ... def write_rich_text(self, r: Any, c: Any, rich_text_list: Any, style: Any = ...) -> None: ... def merge(self, r1: Any, r2: Any, c1: Any, c2: Any, style: Any = ...) -> None: ... def write_merge(self, r1: Any, r2: Any, c1: Any, c2: Any, label: str = ..., style: Any = ...) -> None: ... def insert_bitmap(self, filename: Any, row: Any, col: Any, x: int = ..., y: int = ..., scale_x: int = ..., scale_y: int = ...) -> None: ... def insert_bitmap_data(self, data: Any, row: Any, col: Any, x: int = ..., y: int = ..., scale_x: int = ..., scale_y: int = ...) -> None: ... def col(self, indx: Any): ... def row(self, indx: Any): ... def row_height(self, row: Any): ... def col_width(self, col: Any): ... def get_biff_data(self): ... def flush_row_data(self) -> None: ... canmatrix-0.9.5/stubs/xlwt/__init__.pyi000066400000000000000000000006541416730473300201500ustar00rootroot00000000000000# Stubs for xlwt (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from .Column import Column as Column from .Formatting import Alignment, Borders, Font, Pattern, Protection from .Row import Row as Row from .Style import XFStyle as XFStyle, easyfont as easyfont, easyxf as easyxf from .Workbook import Workbook as Workbook from .Worksheet import Worksheet as Worksheet __VERSION__: str canmatrix-0.9.5/stubs/xlwt/antlr.pyi000066400000000000000000000457761416730473300175470ustar00rootroot00000000000000# Stubs for xlwt.antlr (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any, Optional SKIP: int INVALID_TYPE: int EOF_TYPE: int EOF: int NULL_TREE_LOOKAHEAD: int MIN_USER_TYPE: int EOF_CHAR: str def version(): ... def error(fmt: Any, *args: Any) -> None: ... def ifelse(cond: Any, _then: Any, _else: Any): ... def is_string_type(x: Any): ... def assert_string_type(x: Any) -> None: ... class ANTLRException(Exception): def __init__(self, *args: Any) -> None: ... class RecognitionException(ANTLRException): fileName: Any = ... line: int = ... column: int = ... def __init__(self, *args: Any) -> None: ... class NoViableAltException(RecognitionException): token: Any = ... node: Any = ... def __init__(self, *args: Any) -> None: ... class NoViableAltForCharException(RecognitionException): foundChar: Any = ... def __init__(self, *args: Any) -> None: ... class SemanticException(RecognitionException): def __init__(self, *args: Any) -> None: ... class MismatchedCharException(RecognitionException): NONE: int = ... CHAR: int = ... NOT_CHAR: int = ... RANGE: int = ... NOT_RANGE: int = ... SET: int = ... NOT_SET: int = ... args: Any = ... mismatchType: Any = ... foundChar: Any = ... expecting: Any = ... upper: Any = ... scanner: Any = ... set: Any = ... def __init__(self, *args: Any) -> None: ... def appendCharName(self, sb: Any, c: Any) -> None: ... class MismatchedTokenException(RecognitionException): NONE: int = ... TOKEN: int = ... NOT_TOKEN: int = ... RANGE: int = ... NOT_RANGE: int = ... SET: int = ... NOT_SET: int = ... args: Any = ... tokenNames: Any = ... token: Any = ... tokenText: str = ... node: Any = ... mismatchType: Any = ... expecting: Any = ... upper: Any = ... fileName: Any = ... set: Any = ... def __init__(self, *args: Any) -> None: ... def appendTokenName(self, sb: Any, tokenType: Any) -> None: ... class TokenStreamException(ANTLRException): def __init__(self, *args: Any) -> None: ... class TokenStreamIOException(TokenStreamException): io: Any = ... def __init__(self, *args: Any) -> None: ... class TokenStreamRecognitionException(TokenStreamException): recog: Any = ... def __init__(self, *args: Any) -> None: ... class TokenStreamRetryException(TokenStreamException): def __init__(self, *args: Any) -> None: ... class CharStreamException(ANTLRException): def __init__(self, *args: Any) -> None: ... class CharStreamIOException(CharStreamException): io: Any = ... def __init__(self, *args: Any) -> None: ... class TryAgain(Exception): ... class Token: SKIP: int = ... INVALID_TYPE: int = ... EOF_TYPE: int = ... EOF: int = ... NULL_TREE_LOOKAHEAD: int = ... MIN_USER_TYPE: int = ... type: Any = ... text: Any = ... def __init__(self, **argv: Any) -> None: ... def isEOF(self): ... def getColumn(self): ... def getLine(self): ... def getFilename(self) -> None: ... def setFilename(self, name: Any): ... def getText(self): ... def setText(self, text: Any): ... def setColumn(self, column: Any): ... def setLine(self, line: Any): ... def getType(self): ... def setType(self, type: Any): ... def toString(self): ... class CommonToken(Token): line: int = ... col: int = ... def __init__(self, **argv: Any) -> None: ... def getLine(self): ... def getText(self): ... def getColumn(self): ... def setLine(self, line: Any): ... text: Any = ... def setText(self, text: Any): ... def setColumn(self, col: Any): ... def toString(self): ... class CommonHiddenStreamToken(CommonToken): hiddenBefore: Any = ... hiddenAfter: Any = ... def __init__(self, *args: Any) -> None: ... def getHiddenAfter(self): ... def getHiddenBefore(self): ... def setHiddenAfter(self, t: Any) -> None: ... def setHiddenBefore(self, t: Any) -> None: ... class Queue: buffer: Any = ... def __init__(self) -> None: ... def append(self, item: Any) -> None: ... def elementAt(self, index: Any): ... def reset(self) -> None: ... def removeFirst(self) -> None: ... def length(self): ... class InputBuffer: nMarkers: int = ... markerOffset: int = ... numToConsume: int = ... queue: Any = ... def __init__(self) -> None: ... def commit(self) -> None: ... def consume(self) -> None: ... def getLAChars(self): ... def getMarkedChars(self): ... def isMarked(self): ... def fill(self, k: Any) -> None: ... def LA(self, k: Any): ... def mark(self): ... def rewind(self, mark: Any) -> None: ... def reset(self) -> None: ... def syncConsume(self) -> None: ... class CharBuffer(InputBuffer): input: Any = ... def __init__(self, reader: Any) -> None: ... def fill(self, amount: Any) -> None: ... class LexerSharedInputState: input: Any = ... column: int = ... line: int = ... tokenStartColumn: int = ... tokenStartLine: int = ... guessing: int = ... filename: Any = ... def __init__(self, ibuf: Any) -> None: ... def reset(self) -> None: ... def LA(self, k: Any): ... class TokenStream: def nextToken(self) -> None: ... def __iter__(self): ... class TokenStreamIterator: inst: Any = ... def __init__(self, inst: Any) -> None: ... def next(self): ... class TokenStreamSelector(TokenStream): def __init__(self) -> None: ... def addInputStream(self, stream: Any, key: Any) -> None: ... def getCurrentStream(self): ... def getStream(self, sname: Any): ... def nextToken(self): ... def pop(self): ... def push(self, arg: Any) -> None: ... def retry(self) -> None: ... def select(self, arg: Any) -> None: ... class TokenStreamBasicFilter(TokenStream): input: Any = ... discardMask: Any = ... def __init__(self, input: Any) -> None: ... discardMark: Any = ... def discard(self, arg: Any) -> None: ... def nextToken(self): ... class TokenStreamHiddenTokenFilter(TokenStreamBasicFilter): hideMask: Any = ... nextMonitoredToken: Any = ... lastHiddenToken: Any = ... firstHidden: Any = ... def __init__(self, input: Any) -> None: ... def consume(self) -> None: ... def consumeFirst(self) -> None: ... def getDiscardMask(self): ... def getHiddenAfter(self, t: Any): ... def getHiddenBefore(self, t: Any): ... def getHideMask(self): ... def getInitialHiddenToken(self): ... def hide(self, m: Any) -> None: ... def LA(self, i: Any): ... def nextToken(self): ... class StringBuffer: text: Any = ... def __init__(self, string: Optional[Any] = ...) -> None: ... def setLength(self, sz: Any) -> None: ... def length(self): ... def append(self, c: Any) -> None: ... def getString(self, a: Optional[Any] = ..., length: Optional[Any] = ...): ... toString: Any = ... class Reader: cin: Any = ... buf: Any = ... def __init__(self, stream: Any) -> None: ... def read(self, num: Any): ... class CharScanner(TokenStream): NO_CHAR: int = ... EOF_CHAR: str = ... saveConsumedInput: bool = ... tokenClass: Any = ... caseSensitive: bool = ... caseSensitiveLiterals: bool = ... literals: Any = ... tabsize: int = ... commitToPath: bool = ... traceDepth: int = ... text: Any = ... hashString: Any = ... def __init__(self, *argv: Any, **kwargs: Any) -> None: ... def __iter__(self): ... inputState: Any = ... def setInput(self, *argv: Any) -> None: ... def setTabSize(self, size: Any) -> None: ... def getTabSize(self): ... def setCaseSensitive(self, t: Any) -> None: ... def setCommitToPath(self, commit: Any) -> None: ... def setFilename(self, f: Any) -> None: ... def setLine(self, line: Any) -> None: ... def setText(self, s: Any) -> None: ... def getCaseSensitive(self): ... def getCaseSensitiveLiterals(self): ... def getColumn(self): ... def setColumn(self, c: Any) -> None: ... def getCommitToPath(self): ... def getFilename(self): ... def getInputBuffer(self): ... def getInputState(self): ... def setInputState(self, state: Any) -> None: ... def getLine(self): ... def getText(self): ... def getTokenObject(self): ... def LA(self, i: Any): ... def makeToken(self, type: Any): ... def mark(self): ... def match(self, item: Any): ... def matchNot(self, c: Any) -> None: ... def matchRange(self, c1: Any, c2: Any) -> None: ... def newline(self) -> None: ... def tab(self) -> None: ... def panic(self, s: str = ...) -> None: ... def reportError(self, s: Any) -> None: ... def reportWarning(self, s: Any) -> None: ... def resetText(self) -> None: ... def rewind(self, pos: Any) -> None: ... def setTokenObjectClass(self, cl: Any) -> None: ... def testForLiteral(self, token: Any): ... def testLiteralsTable(self, *args: Any): ... def toLower(self, c: Any): ... def traceIndent(self) -> None: ... def traceIn(self, rname: Any) -> None: ... def traceOut(self, rname: Any) -> None: ... def uponEOF(self) -> None: ... def append(self, c: Any) -> None: ... def commit(self) -> None: ... def consume(self) -> None: ... def consumeUntil_char(self, c: Any) -> None: ... def consumeUntil_bitset(self, bitset: Any) -> None: ... def default(self, la1: Any) -> None: ... def filterdefault(self, la1: Any, *args: Any) -> None: ... def raise_NoViableAlt(self, la1: Optional[Any] = ...) -> None: ... def set_return_token(self, _create: Any, _token: Any, _ttype: Any, _offset: Any): ... class CharScannerIterator: inst: Any = ... def __init__(self, inst: Any) -> None: ... def next(self): ... class BitSet: BITS: int = ... NIBBLE: int = ... LOG_BITS: int = ... MOD_MASK: Any = ... data: Any = ... def __init__(self, data: Optional[Any] = ...) -> None: ... def member(self, item: Any): ... def wordNumber(self, bit: Any): ... def bitMask(self, bit: Any): ... def set(self, bit: Any, on: bool = ...) -> None: ... add: Any = ... def off(self, bit: Any, off: bool = ...) -> None: ... def at(self, bit: Any): ... def illegalarg_ex(func: Any) -> None: ... def runtime_ex(func: Any) -> None: ... class TokenBuffer: input: Any = ... nMarkers: int = ... markerOffset: int = ... numToConsume: int = ... queue: Any = ... def __init__(self, stream: Any) -> None: ... def reset(self) -> None: ... def consume(self) -> None: ... def fill(self, amount: Any) -> None: ... def getInput(self): ... def LA(self, k: Any): ... def LT(self, k: Any): ... def mark(self): ... def rewind(self, mark: Any) -> None: ... def syncConsume(self) -> None: ... class ParserSharedInputState: input: Any = ... def __init__(self) -> None: ... guessing: int = ... filename: Any = ... def reset(self) -> None: ... class Parser: tokenNames: Any = ... returnAST: Any = ... astFactory: Any = ... tokenTypeToASTClassMap: Any = ... ignoreInvalidDebugCalls: bool = ... traceDepth: int = ... inputState: Any = ... def __init__(self, *args: Any, **kwargs: Any) -> None: ... def getTokenTypeToASTClassMap(self): ... def addMessageListener(self, l: Any) -> None: ... def addParserListener(self, l: Any) -> None: ... def addParserMatchListener(self, l: Any) -> None: ... def addParserTokenListener(self, l: Any) -> None: ... def addSemanticPredicateListener(self, l: Any) -> None: ... def addSyntacticPredicateListener(self, l: Any) -> None: ... def addTraceListener(self, l: Any) -> None: ... def consume(self) -> None: ... def consumeUntil(self, arg: Any) -> None: ... def defaultDebuggingSetup(self) -> None: ... def getAST(self): ... def getASTFactory(self): ... def getFilename(self): ... def getInputState(self): ... def setInputState(self, state: Any) -> None: ... def getTokenName(self, num: Any): ... def getTokenNames(self): ... def isDebugMode(self): ... def LA(self, i: Any) -> None: ... def LT(self, i: Any) -> None: ... def mark(self): ... def match(self, set: Any) -> None: ... def matchNot(self, t: Any) -> None: ... def removeMessageListener(self, l: Any) -> None: ... def removeParserListener(self, l: Any) -> None: ... def removeParserMatchListener(self, l: Any) -> None: ... def removeParserTokenListener(self, l: Any) -> None: ... def removeSemanticPredicateListener(self, l: Any) -> None: ... def removeSyntacticPredicateListener(self, l: Any) -> None: ... def removeTraceListener(self, l: Any) -> None: ... def reportError(self, x: Any) -> None: ... def reportWarning(self, s: Any) -> None: ... def rewind(self, pos: Any) -> None: ... def setASTFactory(self, f: Any) -> None: ... def setASTNodeClass(self, cl: Any) -> None: ... def setASTNodeType(self, nodeType: Any) -> None: ... def setDebugMode(self, debugMode: Any) -> None: ... def setFilename(self, f: Any) -> None: ... def setIgnoreInvalidDebugCalls(self, value: Any) -> None: ... def setTokenBuffer(self, t: Any) -> None: ... def traceIndent(self) -> None: ... def traceIn(self, rname: Any) -> None: ... def traceOut(self, rname: Any) -> None: ... def addASTChild(self, currentAST: Any, child: Any) -> None: ... def makeASTRoot(self, currentAST: Any, root: Any) -> None: ... class LLkParser(Parser): k: Any = ... def __init__(self, *args: Any, **kwargs: Any) -> None: ... def consume(self) -> None: ... def LA(self, i: Any): ... def LT(self, i: Any): ... def set_k(self, index: Any, *args: Any) -> None: ... def trace(self, ee: Any, rname: Any) -> None: ... def traceIn(self, rname: Any) -> None: ... def traceOut(self, rname: Any) -> None: ... class TreeParserSharedInputState: guessing: int = ... def __init__(self) -> None: ... class TreeParser: inputState: Any = ... tokenNames: Any = ... returnAST: Any = ... astFactory: Any = ... traceDepth: int = ... def __init__(self, *args: Any, **kwargs: Any) -> None: ... def getAST(self): ... def getASTFactory(self): ... def getTokenName(self, num: Any): ... def getTokenNames(self): ... def match(self, t: Any, set: Any) -> None: ... def matchNot(self, t: Any, ttype: Any) -> None: ... def reportError(self, ex: Any) -> None: ... def reportWarning(self, s: Any) -> None: ... def setASTFactory(self, f: Any) -> None: ... def setASTNodeType(self, nodeType: Any) -> None: ... def setASTNodeClass(self, nodeType: Any) -> None: ... def traceIndent(self) -> None: ... def traceIn(self, rname: Any, t: Any) -> None: ... def traceOut(self, rname: Any, t: Any) -> None: ... def addASTChild(self, currentAST: Any, child: Any) -> None: ... def makeASTRoot(self, currentAST: Any, root: Any) -> None: ... def rightmost(ast: Any): ... def cmptree(s: Any, t: Any, partial: Any): ... class AST: def __init__(self) -> None: ... def addChild(self, c: Any) -> None: ... def equals(self, t: Any): ... def equalsList(self, t: Any): ... def equalsListPartial(self, t: Any): ... def equalsTree(self, t: Any): ... def equalsTreePartial(self, t: Any): ... def findAll(self, tree: Any) -> None: ... def findAllPartial(self, subtree: Any) -> None: ... def getFirstChild(self): ... def getNextSibling(self): ... def getText(self): ... def getType(self): ... def getLine(self): ... def getColumn(self): ... def getNumberOfChildren(self): ... def initialize(self, t: Any) -> None: ... def setFirstChild(self, c: Any) -> None: ... def setNextSibling(self, n: Any) -> None: ... def setText(self, text: Any) -> None: ... def setType(self, ttype: Any) -> None: ... def toString(self) -> None: ... def toStringList(self): ... def toStringTree(self): ... class ASTNULLType(AST): def __init__(self) -> None: ... def getText(self): ... def getType(self): ... class BaseAST(AST): verboseStringConversion: bool = ... tokenNames: Any = ... down: Any = ... right: Any = ... def __init__(self) -> None: ... def addChild(self, node: Any) -> None: ... def getNumberOfChildren(self): ... def doWorkForFindAll(self, v: Any, target: Any, partialMatch: Any) -> None: ... def equals(self, t: Any): ... def equalsList(self, t: Any): ... def equalsListPartial(self, t: Any): ... def equalsTree(self, t: Any): ... def equalsTreePartial(self, t: Any): ... def findAll(self, target: Any): ... def findAllPartial(self, sub: Any): ... def getFirstChild(self): ... def getNextSibling(self): ... def getText(self): ... def getType(self): ... def getLine(self): ... def getColumn(self): ... def removeChildren(self) -> None: ... def setFirstChild(self, c: Any) -> None: ... def setNextSibling(self, n: Any) -> None: ... def setText(self, text: Any) -> None: ... def setType(self, ttype: Any) -> None: ... def setVerboseStringConversion(verbose: Any, names: Any) -> None: ... def getTokenNames(self): ... def toString(self): ... def toStringList(self): ... def toStringTree(self): ... class CommonAST(BaseAST): ttype: Any = ... text: str = ... line: int = ... column: int = ... def __init__(self, token: Optional[Any] = ...) -> None: ... def getText(self): ... def getType(self): ... def getLine(self): ... def getColumn(self): ... def initialize(self, *args: Any) -> None: ... def setText(self, text_: Any) -> None: ... def setType(self, ttype_: Any) -> None: ... class CommonASTWithHiddenTokens(CommonAST): hiddenBefore: Any = ... hiddenAfter: Any = ... def __init__(self, *args: Any) -> None: ... def getHiddenAfter(self): ... def getHiddenBefore(self): ... def initialize(self, *args: Any) -> None: ... class ASTPair: root: Any = ... child: Any = ... def __init__(self) -> None: ... def advanceChildToEnd(self) -> None: ... def copy(self): ... def toString(self): ... class ASTFactory: def __init__(self, table: Optional[Any] = ...) -> None: ... def create(self, *args: Any): ... def setASTNodeClass(self, className: Optional[Any] = ...) -> None: ... setASTNodeType: Any = ... def getASTNodeClass(self): ... def getTokenTypeToASTClassMap(self): ... def setTokenTypeToASTClassMap(self, amap: Any) -> None: ... def error(self, e: Any) -> None: ... def setTokenTypeASTNodeType(self, tokenType: Any, className: Any) -> None: ... def getASTNodeType(self, tokenType: Any): ... def dup(self, t: Any): ... def dupList(self, t: Any): ... def dupTree(self, t: Any): ... maptype: Any = ... class ASTVisitor: def __init__(self, *args: Any) -> None: ... def visit(self, ast: Any) -> None: ... ASTNULL: Any def make(*nodes: Any): ... def dup(t: Any, factory: Any): ... def dupList(t: Any, factory: Any): ... def dupTree(t: Any, factory: Any): ... canmatrix-0.9.5/stubs/xlwt/compat.pyi000066400000000000000000000003561416730473300176730ustar00rootroot00000000000000# Stubs for xlwt.compat (Python 3) # # NOTE: This dynamically typed stub was automatically generated by stubgen. from typing import Any PY3: Any unicode: Any unicode_type = str basestring = str xrange = range int_types: Any long = int canmatrix-0.9.5/test.sh000077500000000000000000000000441416730473300150370ustar00rootroot00000000000000#!/bin/sh cd test python ./test.py canmatrix-0.9.5/test/000077500000000000000000000000001416730473300145025ustar00rootroot00000000000000canmatrix-0.9.5/test/README000066400000000000000000000004111416730473300153560ustar00rootroot00000000000000The .sym file is the only original source at present. All others were generated from it by canmatrix itself. As they become available, original files of each formatted that exercise as many features as possible should be used to replace these dubious test files. canmatrix-0.9.5/test/createTestFdMatrix.py000077500000000000000000000027041416730473300206240ustar00rootroot00000000000000#!/usr/bin/env python # coding=utf-8 import codecs import sys sys.path.append('..') import canmatrix # # create target Matrix # db = canmatrix.CanMatrix() db.ecus.add(canmatrix.Ecu("testBU")) db.ecus.add(canmatrix.Ecu("recBU")) myFrame1 = canmatrix.Frame("canFdStandard1",Id=1, dlc=24, is_fd = True, transmitter=["testBU"]) myFrame2 = canmatrix.Frame("CanFdExtended2",Id=2, dlc=16, extended = True, is_fd = True, transmitter=["testBU"]) myFrame3 = canmatrix.Frame("CanExtended3", Id=3, dlc=8, extended = True, transmitter=["testBU"]) myFrame4 = canmatrix.Frame("CanStandard4", Id=4, dlc=8) mySignal1 = canmatrix.Signal("signal1", signalSize=64, startBit=0, is_little_endian=True, min=0, max=0, is_signed=True, receiver=["recBU"]) mySignal2 = canmatrix.Signal("signal2", signalSize=64, startBit=64, is_little_endian=True, min=0, max=0, is_signed=True, receiver=["recBU"]) mySignal3 = canmatrix.Signal("signal3", signalSize=64, startBit=128, is_little_endian=True, min=0, max=0, is_signed=True) myFrame1.add_signal(mySignal3) myFrame1.add_signal(mySignal2) myFrame1.add_signal(mySignal1) myFrame2.add_signal(mySignal2) myFrame2.add_signal(mySignal1) db.frames.add_frame(myFrame1) db.frames.add_frame(myFrame2) db.frames.add_frame(myFrame3) db.frames.add_frame(myFrame4) # # # export the new (target)-Matrix for example as .dbc: # canmatrix.formats.dumpp({"": db}, "testfd.dbc", dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') canmatrix-0.9.5/test/createTestMatrix.py000077500000000000000000000042611416730473300203520ustar00rootroot00000000000000#!/usr/bin/env python # coding=utf-8 import codecs import sys sys.path.append('..') import canmatrix.formats from canmatrix.canmatrix import * # # create target Matrix # db = CanMatrix() db.ecus.add(Ecu("testBU")) db.ecus.add(Ecu("recBU")) myFrame = Frame("testFrame1", Id=0x123, dlc=8, transmitter="testBU") if sys.version_info > (3, 0): unit = u"specialCharUnit°$" comment = u"Multi \n Line \n Signal comment with a-umlaut: ä" else: unit = "specialCharUnit°$".decode("utf-8") comment = "Multi \n Line \n Signal comment with a-umlaut: ä".decode("utf-8") mySignal = Signal("someTestSignal", signalSize=11, is_little_endian=False, is_signed=False, factor=5.0, offset=1.0, min=0, max=500, unit=u"specialCharUnit°$", #.decode("utf-8"), receiver=["recBU"]) mySignal.set_startbit(9, bitNumbering=1, startLittle=True) mySignal2 = Signal("Signal", startBit=20, signalSize=3, is_little_endian=True, is_signed=False, factor=1.0, offset=0.0, min=0, max=6, unit="someUnit", receiver=["recBU"]) mySignal2.add_values(1, "one") mySignal2.add_values(2, "two") mySignal2.add_values(3, "three") mySignal.add_comment(comment) myFrame.add_comment("Multi \n Line \n Frame comment") myFrame.add_signal(mySignal) myFrame.add_signal(mySignal2) myFrame2 = Frame("extendedFrame", Id=0x12, dlc=8, transmitter="testBU") myFrame2.extended = 1 db.frames.add_frame(myFrame) db.frames.add_frame(myFrame2) db.ecu_by_name("testBU").add_comment("sender ECU") db.ecu_by_name("testBU").add_attribute("NetworkNode", 0x111) db.ecu_by_name("recBU").add_comment("receiver ECU") db.frame_by_name("testFrame1").cycle_time = 100 db.add_ecu_defines("NetworkNode", 'INT 0 65535') # # # export the new (target)-Matrix for example as .dbc: # canmatrix.formats.dumpp({"myMatrix": db}, "test.dbc", dbcExportEncoding='iso-8859-1', dbcExportCommentEncoding='iso-8859-1') canmatrix-0.9.5/test/reference/000077500000000000000000000000001416730473300164405ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_arxml/000077500000000000000000000000001416730473300206065ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_arxml/test.kcd000066400000000000000000001717651416730473300222710ustar00rootroot00000000000000 some text Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. Desired output frequency while in grid forming mode. Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. J1939 Source Address node for the module. Not presently used. CAN baudrate Configures action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. Maximum time required for the MX1 contactor to close. Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. Desired output frequency while in grid forming mode. Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Measured real power of master unit. Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Echoes the commanded power (P&Q) as received in CommandPQ. Echoed real power command. Echoed reactive power command. Bits representing the status of the power module. Active control mode. MX2 relay status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Indicates that DC bus voltage is within operating range. Indicates whether the switching devices are active. Status of the hardware enable. Echos the state of the Enable command withing the CommandModeControl message. Echos the state of the FaultClear command withing the CommandModeControl message. Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1 relay status K2 DC Run relay status. K1 precharge relay status. Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Operational status of the CAN bus driver. Echos the state of the EnableUPSMode command withing the CommandModeControl message. Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Flag indicating if voltage is detected on L1, L2 or L3. Echos the state of PhaseRotation_command withing the CommandModeControl message. Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Present voltage of the control board 5V power suppy. Present voltage of the control board 3.3V power supply. Present voltage of the control board 24V power supply. Present voltage of the control board 15V power supply. Returns the inlet water temperature to the module as well as module internal ambient temperature. Coolant inlet temperature Internal ambient temperature Power converter thermal loss Fault bits. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of AC current exceeding the threshold value. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of DC voltage exceeding the threshold value. Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Indicates loss of DC source voltage. Set upon the failure of control hardware to return expected response. Set immediately upon the software detection of DC current exceeding the threshold value. Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Indicates that reading of non-volatile parameters at power-up failed. Indicates that reading or writing of an non-volatile parameter section failed. Configures action to take when thermal overload input is active. RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Measured RMS AC voltage. Measured RMS AC current. Measured frequency. Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Measured DC bus voltage. Measured DC current. Estimated DC input voltage. Present voltage of the -15V power supply on the control board. Present voltage of the control board -15V power supply. Hottest diode Hottest IGBT Software revision. Software revision of the CAN communication interface. Software revision of the control firmware. Build timestamp. Echoes the voltage and frequency commands from commandVF. Echoed voltage command Echoed frequency command. Serial number of the power module. Unique software revision identification hashcode. Unique revision identification hashcode. Echos back parameter values. Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. J1939 Source Address node for the module Mask used to configure from which master source addresses to accept commands. Configured action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. Maximum time required for the MX1 contactor to close. Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Measured RMS line currents. Measured L1 RMS line current. Measured L2 RMS line current. Measured L3 RMS line current. Measured RMS line voltages. Measured L1 RMS line-neutral voltage Measured L2 RMS line-neutral voltage Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/reference/from_arxml/test_CAN.csv000066400000000000000000002201121416730473300227610ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,0,Normal FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,1,Clear Faults FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,0,Disable FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,1,Enable FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,0,Master FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,1,Follower FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,0,Negative FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,1,Positive FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,0,Normal - Three Phase Mode FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,1,Enable Split Phase Mode FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,0,Disable FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,1,Enable FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,3,N/A FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,0,No invert FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,1,Invert FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,2,Error FF9B41xh,FRAME_CommandModeControlAPU2,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,0,Normal FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,1,Clear Faults FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,0,Disable FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,1,Enable FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,0,Master FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,1,Follower FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,0,Normal FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,1,Force On FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,0,Negative FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,1,Positive FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,0,Normal - Three Phase Mode FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,1,Enable Split Phase Mode FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,0,Disable FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,1,Enable FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,s,,3,N/A FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,0,No invert FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,1,Invert FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,2,Error FFAB41xh,FRAME_CommandModeControl,None,spontanX,None,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,s,,3,N/A CFF9C41xh,FRAME_CommandPowerAPU2,None,spontanX,None,1,0,RealPower_command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,m,s,,-2147483648.0..2147483647.0 CFF9C41xh,FRAME_CommandPowerAPU2,None,spontanX,None,5,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,m,s,,-2147483648.0..2147483647.0 CFF9E41xh,FRAME_CommandVFAPU2,None,spontanX,None,1,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFF9E41xh,FRAME_CommandVFAPU2,None,spontanX,None,3,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,0,Param0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,1,LVM_ClearingTimes1 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,2,LVM_ClearingTimes2 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,3,LFM_Limits CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,4,LFM_ClearingTimes CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,5,J1939_Interface CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,6,Fault_Config CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,7,ContactorDelays1 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,8,ContactorDelays2 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,1,0,CommandSetNVParam_MUX,,16, , ,m,s,,10,ContactorDelays3 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,Dummy,,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,FreqHi,"Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,FreqVeryLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,K2Open,Maximum time required for the K2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,MX1Open,Maximum time required for the MX1 contactor to open.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,MX2Close,Maximum time required for the MX2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,NodeID,J1939 Source Address node for the module.,8, , ,m,s,,-128.0..127.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,VOver120,Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,0,VUnder50pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,0,Warning CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,1,Fault CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,2,Error CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,3,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,3,N/A CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,4,0,SA_Mask,Not presently used.,8, , ,m,s,,-128.0..127.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,Baudrate,CAN baudrate,4, , ,m,s,,0,125K CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,Baudrate,CAN baudrate,4, , ,m,s,,1,250K CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,Baudrate,CAN baudrate,4, , ,m,s,,2,500K CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,Baudrate,CAN baudrate,4, , ,m,s,,3,1M CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,FreqLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,K1Open,Maximum time required for the K1 contactor to open.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,K2Close,Maximum time required for the K2 contactor to close.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,MX1Close,Maximum time required for the MX1 contactor to close.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,5,0,V50to88pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,7,0,FreqHi,"Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,7,0,FreqVeryLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,7,0,K1Close,Maximum time required for the K1 contactor to close.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,7,0,MX2Open,Maximum time required for the MX2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 CFFAA41xh,FRAME_CommandSetNVParam,None,spontanX,None,7,0,V110to120pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 CFFAC41xh,FRAME_CommandPower,None,spontanX,None,1,0,RealPower command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,m,s,,-2147483648.0..2147483647.0 CFFAC41xh,FRAME_CommandPower,None,spontanX,None,5,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,m,s,,-2147483648.0..2147483647.0 CFFAE41xh,FRAME_CommandVF,None,spontanX,None,1,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAE41xh,FRAME_CommandVF,None,spontanX,None,3,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,1,6,WriteSerialNumber,,2, , ,m,s,,0,Disable CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,1,6,WriteSerialNumber,,2, , ,m,s,,1,Enable CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,1,6,WriteSerialNumber,,2, , ,m,s,,2,Error CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,1,6,WriteSerialNumber,,2, , ,m,s,,3,N/A CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,3,0,FactoryAccess,,16, , ,m,s,,-32768.0..32767.0 CFFAF41xh,FRAME_CommandFactoryControl,None,spontanX,None,5,0,SerialNumber,,32, , ,m,s,,-2147483648.0..2147483647.0 CFFC2F7xh,FRAME_StatusACParameters,None,spontanX,None,1,0,VoltageAC_measured,Measured RMS AC voltage.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFC2F7xh,FRAME_StatusACParameters,None,spontanX,None,3,0,CurrentAC_measured,Measured RMS AC current.,16, , ,m,s,,-32768.0..32767.0 CFFC2F7xh,FRAME_StatusACParameters,None,spontanX,None,5,0,Frequency_measured,Measured frequency.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,s,,0,Normal CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,s,,1,Clear Faults CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,s,,0,Disable CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,s,,1,Enable CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,0,"Power On Reset, and a quoted comma" CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,1,Ready CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,2,Following CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,3,Fault CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,4,Forming CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,5,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,6,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,7,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,8,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,9,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,10,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,11,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,12,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,13,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,14,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,1,4,State_status,Active control mode.,4, , ,m,s,,15,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,s,,0,Disabled CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,s,,1,Enabled CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,s,,0,None CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,s,,1,Available CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,s,,0,None CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,s,,1,Available CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,s,,0,Not Active CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,s,,1,Active CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,s,,0,Open CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,s,,1,Closed CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,s,,0,Open CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,s,,1,Closed CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,s,,0,Open CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,s,,1,Closed CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,s,,0,Open CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,s,,1,Closed CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,s,,0,Normal CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,s,,1,Warning CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,s,,3,ErrorPassive CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,s,,4,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,0,Invalid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,1,Valid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,0,Invalid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,1,Valid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,0,Invalid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,1,Valid CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,s,,0,No_Voltage CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,s,,1,Voltage_Detected CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,s,,0,Negative CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,s,,1,Positive CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,s,,0,Normal - Three Phase Mode CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,s,,1,Enable Split Phase Mode CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,s,,0,Disable CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,s,,1,Enable CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,s,,3,N/A CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,s,,0,Negative CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,s,,1,Positive CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,s,,2,Error CFFC3F7xh,FRAME_StatusBits,None,spontanX,None,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,5,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,0,Warning CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,5,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,1,Fault CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,5,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,5,6,ThermalOverload,Configures action to take when thermal overload input is active.,2, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,1,FLT_A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,2,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,3,FLT_C CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,4,OverVoltage CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,5,FLT_B CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,6,Overcurrent CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,7,5V CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,1,Fault Active CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,2,Error CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,s,,3,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,0,Normal CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,1,FLT_A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,2,N/A CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,3,FLT_C CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,4,OverVoltage CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,5,FLT_B CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,6,Overcurrent CFFC8F7xh,FRAME_StatusFaults,None,spontanX,None,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,s,,7,5V CFFCAF6xh,FRAME_MasterMeasuredPower,None,spontanX,None,1,0,RealPower_measured,Measured real power of master unit.,32, , ,m,s,,-2147483648.0..2147483647.0 CFFCAF6xh,FRAME_MasterMeasuredPower,None,spontanX,None,5,0,ReactivePower_measured,Measured reactive power of master unit.,32, , ,m,s,,-2147483648.0..2147483647.0 CFFCAF7xh,FRAME_StatusMeasuredPower,None,spontanX,None,1,0,RealPower_measured,Measured real power of master unit.,32, , ,m,s,,-2147483648.0..2147483647.0 CFFCAF7xh,FRAME_StatusMeasuredPower,None,spontanX,None,5,0,ReactivePower_measured,Measured reactive power of master unit.,32, , ,m,s,,-2147483648.0..2147483647.0 18FFC4F7xh,FRAME_StatusCommandedPower,None,spontanX,None,1,0,RealPower_echo,Echoed real power command.,32, , ,m,s,,-2147483648.0..2147483647.0 18FFC4F7xh,FRAME_StatusCommandedPower,None,spontanX,None,5,0,ReactivePower_echo,Echoed reactive power command.,32, , ,m,s,,-2147483648.0..2147483647.0 18FFC9F7xh,FRAME_StatusCommandVF,None,spontanX,None,1,0,Voltage_echo,Echoed voltage command,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFC9F7xh,FRAME_StatusCommandVF,None,spontanX,None,3,0,Frequency_echo,Echoed frequency command.,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFCBF7xh,FRAME_StatusTemps,None,spontanX,None,1,0,TempInlet_measured,Coolant inlet temperature,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFCBF7xh,FRAME_StatusTemps,None,spontanX,None,3,0,TempInternal_measured,Internal ambient temperature,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFCBF7xh,FRAME_StatusTemps,None,spontanX,None,5,0,ConverterLosses,Power converter thermal loss,16, , ,m,s,,-32768.0..32767.0 18FFD0F7xh,FRAME_StatusLineCurrents,None,spontanX,None,1,0,L1Current_measured,Measured L1 RMS line current.,16, , ,m,s,,-32768.0..32767.0 18FFD0F7xh,FRAME_StatusLineCurrents,None,spontanX,None,3,0,L2Current_measured,Measured L2 RMS line current.,16, , ,m,s,,-32768.0..32767.0 18FFD0F7xh,FRAME_StatusLineCurrents,None,spontanX,None,5,0,L3Current_measured,Measured L3 RMS line current.,16, , ,m,s,,-32768.0..32767.0 18FFD1F7xh,FRAME_StatusLineVoltages,None,spontanX,None,1,0,L1Voltage_measured,Measured L1 RMS line-neutral voltage,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFD1F7xh,FRAME_StatusLineVoltages,None,spontanX,None,3,0,L2Voltage_measured,Measured L2 RMS line-neutral voltage,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 18FFD1F7xh,FRAME_StatusLineVoltages,None,spontanX,None,5,0,L3Voltage_measured,Measured L3 RMS line-neutral voltage,16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,0,ActParam0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,1,ActLVM_ClearingTimes1 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,2,ActLVM_ClearingTimes2 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,3,ActLFM_Limits 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,4,ActLFM_ClearingTimes 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,5,StatusJ1939_Interface 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,6,StatusFault_Config 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,7,StatusContactorDelays1 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,8,StatusContactorDelays2 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,1,0,StatusNVParam_MUX,,16, , ,m,s,,9,StatusContactorDelays3 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,Dummy,,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,FreqHi,"Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,FreqVeryLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,StatusK2Open,Maximum time required for the K2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,StatusMX1Open,Maximum time required for the MX1 contactor to open.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,StatusMX2Close,Maximum time required for the MX2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,StatusNodeID,J1939 Source Address node for the module,8, , ,m,s,,-128.0..127.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,VOver120,Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,0,VUnder50pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,6,StatusThermalOverload,Configured action to take when thermal overload input is active.,2, , ,m,s,,0,Warning 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,6,StatusThermalOverload,Configured action to take when thermal overload input is active.,2, , ,m,s,,1,Fault 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,6,StatusThermalOverload,Configured action to take when thermal overload input is active.,2, , ,m,s,,2,Error 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,3,6,StatusThermalOverload,Configured action to take when thermal overload input is active.,2, , ,m,s,,3,N/A 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,4,0,StatusSA_Mask,Mask used to configure from which master source addresses to accept commands.,8, , ,m,s,,-128.0..127.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,FreqLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusBaudrate,,4, , ,m,s,,0,125K 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusBaudrate,,4, , ,m,s,,1,250K 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusBaudrate,,4, , ,m,s,,2,500K 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusBaudrate,,4, , ,m,s,,3,1M 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusK1Open,Maximum time required for the K1 contactor to open.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusK2Close,Maximum time required for the K2 contactor to close.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,StatusMX1Close,Maximum time required for the MX1 contactor to close.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,5,0,V50to88pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,7,0,FreqHi,"Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,7,0,FreqVeryLo,"Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,s,0.1 -,-3276.8..3276.7000000000003 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,7,0,StatusK1Close,Maximum time required for the K1 contactor to close.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,7,0,StatusMX2Open,Maximum time required for the MX2 contactor to open.,16, , ,m,s,,-32768.0..32767.0 1CFFA9F7xh,FRAME_StatusNVParam,None,spontanX,None,7,0,V110to120pct,Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,s,,-32768.0..32767.0 1CFFABC0xh,FRAME_stringAndOther,None,spontanX,None,1,0,RealPower_measured,Measured real power of master unit.,32, , ,m,s,,-2147483648.0..2147483647.0 1CFFC1F7xh,FRAME_softwareRev,None,spontanX,None,1,0,ControlSwRev,Software revision of the control firmware.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC1F7xh,FRAME_softwareRev,None,spontanX,None,3,0,InterfaceRev,Software revision of the CAN communication interface.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC1F7xh,FRAME_softwareRev,None,spontanX,None,5,0,BuildTime,Build timestamp.,32, , ,m,s,,-2147483648.0..2147483647.0 1CFFC5F7xh,FRAME_StatusControlVoltage,None,spontanX,None,1,0,v5p0_Supply,Present voltage of the control board 5V power suppy.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC5F7xh,FRAME_StatusControlVoltage,None,spontanX,None,3,0,v3p3_Supply,Present voltage of the control board 3.3V power supply.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC5F7xh,FRAME_StatusControlVoltage,None,spontanX,None,5,0,v24_Supply,Present voltage of the control board 24V power supply.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC5F7xh,FRAME_StatusControlVoltage,None,spontanX,None,7,0,v15_Supply,Present voltage of the control board 15V power supply.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC6F7xh,FRAME_StatusControlVolts2,None,spontanX,None,1,0,n15V_Supply,Present voltage of the control board -15V power supply.,16, , ,m,s,0.01 -,-327.68..327.67 1CFFC6F7xh,FRAME_StatusControlVolts2,None,spontanX,None,5,0,DiodeTemperature,Hottest diode,16, , ,m,s,,-32768.0..32767.0 1CFFC6F7xh,FRAME_StatusControlVolts2,None,spontanX,None,7,0,IGBTTemperature,Hottest IGBT,16, , ,m,s,,-32768.0..32767.0 1CFFC7F7xh,FRAME_StatusDCParameters,None,spontanX,None,1,0,VoltageDCInput_measured,Estimated DC input voltage.,16, , ,m,s,,-32768.0..32767.0 1CFFC7F7xh,FRAME_StatusDCParameters,None,spontanX,None,3,0,VoltageDCBus,Measured DC bus voltage.,16, , ,m,s,,-32768.0..32767.0 1CFFC7F7xh,FRAME_StatusDCParameters,None,spontanX,None,5,0,CurrentDC_measured,Measured DC current.,16, , ,m,s,,-32768.0..32767.0 1CFFCCF7xh,FRAME_serialNumber,None,spontanX,None,1,0,SerialNumber,,32, , ,m,s,,-2147483648.0..2147483647.0 1CFFCDF7xh,FRAME_softwareRevHash,None,spontanX,None,1,0,Hash,Unique revision identification hashcode.,28, , ,m,s,,-134217728.0..134217727.0 canmatrix-0.9.5/test/reference/from_arxml/test_CAN.dbc000066400000000000000000001257301416730473300227300ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 2164239169 FRAME_CommandModeControl: 8 Vector__XXX SG_ Enable_command : 1|2@0- (1,0) [-2|1] "" Vector__XXX SG_ FaultClear_command : 3|2@0- (1,0) [-2|1] "" Vector__XXX SG_ InvertHwEnable_command : 57|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableUPSMode_command : 59|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableSplitPhase_command : 61|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayMX1_command : 33|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayMX2_command : 35|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 37|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 39|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PhaseRotation_command : 63|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MasterFollowerMode_command : 17|2@0- (1,0) [-2|1] "" Vector__XXX BO_ 2365566017 FRAME_CommandPower: 8 Vector__XXX SG_ RealPower_command : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_command : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2365566529 FRAME_CommandVF: 8 Vector__XXX SG_ Voltage_command : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ Frequency_command : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX BO_ 2365573878 FRAME_MasterMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2365566785 FRAME_CommandFactoryControl: 8 Vector__XXX SG_ WriteSerialNumber : 1|2@0- (1,0) [-2|1] "" Vector__XXX SG_ SerialNumber : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ FactoryAccess : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2365565505 FRAME_CommandSetNVParam: 8 Vector__XXX SG_ CommandSetNVParam_MUX : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ Dummy : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ VUnder50pct : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ V50to88pct : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ V110to120pct : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ VOver120 : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ FreqHi0 : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqLo0 : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqVeryLo0 : 55|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqVeryLo1 : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqLo1 : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqHi1 : 55|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ NodeID : 23|8@0- (1,0) [-128|127] "" Vector__XXX SG_ SA_Mask : 31|8@0- (1,0) [-128|127] "" Vector__XXX SG_ Baudrate : 39|4@0- (1,0) [-8|7] "" Vector__XXX SG_ ThermalOverload : 17|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MX1Open : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ MX1Close : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ MX2Open : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ MX2Close : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ K1Open : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ K1Close : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ K2Open : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ K2Close : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2164235073 FRAME_CommandModeControlAPU2: 8 Vector__XXX SG_ Enable_command : 1|2@0- (1,0) [-2|1] "" Vector__XXX SG_ FaultClear_command : 3|2@0- (1,0) [-2|1] "" Vector__XXX SG_ InvertHwEnable_command : 57|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableUPSMode_command : 59|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableSplitPhase_command : 61|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayMX1_command : 33|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayMX2_command : 35|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 37|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 39|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PhaseRotation_command : 63|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MasterFollowerMode_command : 17|2@0- (1,0) [-2|1] "" Vector__XXX BO_ 2365561921 FRAME_CommandPowerAPU2: 8 Vector__XXX SG_ RealPower_command : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_command : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2365562433 FRAME_CommandVFAPU2: 8 Vector__XXX SG_ Voltage_command : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ Frequency_command : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX BO_ 2365573879 FRAME_MasterMeasuredPowerAPU2: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2634001600 FRAME_justString: 8 Vector__XXX BO_ 2634001344 FRAME_stringAndOther: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2365573879 FRAME_StatusMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2566898935 FRAME_StatusCommandedPower: 8 Vector__XXX SG_ RealPower_echo : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX SG_ ReactivePower_echo : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2365572087 FRAME_StatusBits: 8 Vector__XXX SG_ State_status : 3|4@0- (1,0) [-8|7] "" Vector__XXX SG_ MX2Permissive_status : 19|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PowerAvailAC_status : 11|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PowerAvailDC_status : 13|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PowerCircuitEnabled_status : 15|2@0- (1,0) [-2|1] "" Vector__XXX SG_ HardwareEnable_status : 9|2@0- (1,0) [-2|1] "" Vector__XXX SG_ Enable_echo : 5|2@0- (1,0) [-2|1] "" Vector__XXX SG_ FaultClr_echo : 7|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MessageValidModeControl_status : 25|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MX1Permissive_status : 17|2@0- (1,0) [-2|1] "" Vector__XXX SG_ K2DCRunPermissive_status : 23|2@0- (1,0) [-2|1] "" Vector__XXX SG_ K1PrechargePermissive_status : 21|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MessageValidPowerCMD_status : 27|2@0- (1,0) [-2|1] "" Vector__XXX SG_ MessageValidVF_status : 29|2@0- (1,0) [-2|1] "" Vector__XXX SG_ CANbus_status : 31|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableUPSMode_echo : 33|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EnableSplitPhase_echo : 35|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PhaseRotation_status : 37|2@0- (1,0) [-2|1] "" Vector__XXX SG_ LineVoltageDetected_status : 39|2@0- (1,0) [-2|1] "" Vector__XXX SG_ PhaseRotation_echo : 41|2@0- (1,0) [-2|1] "" Vector__XXX BO_ 2634008055 FRAME_StatusControlVoltage: 8 Vector__XXX SG_ v5p0_Supply : 7|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ v3p3_Supply : 23|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ v24_Supply : 39|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ v15_Supply : 55|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX BO_ 2566900727 FRAME_StatusTemps: 8 Vector__XXX SG_ TempInlet_measured : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ TempInternal_measured : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ ConverterLosses : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2365573367 FRAME_StatusFaults: 8 Vector__XXX SG_ BridgeAVoltageOk_status : 59|1@0- (1,0) [-1|0] "" Vector__XXX SG_ OvercurrentAC_status : 3|2@0- (1,0) [-2|1] "" Vector__XXX SG_ BridgeBVoltageOk_status : 43|1@0- (1,0) [-1|0] "" Vector__XXX SG_ OvervoltageDC_status : 9|2@0- (1,0) [-2|1] "" Vector__XXX SG_ OvertempPowerDevice_status : 15|2@0- (1,0) [-2|1] "" Vector__XXX SG_ OvertempInternal_status : 13|2@0- (1,0) [-2|1] "" Vector__XXX SG_ LossValidControlMessage_status : 23|4@0- (1,0) [-8|7] "" Vector__XXX SG_ UndervoltageDC_status : 11|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ControlHardwareFail_status : 19|4@0- (1,0) [-8|7] "" Vector__XXX SG_ OvercurrentDC_status : 7|2@0- (1,0) [-2|1] "" Vector__XXX SG_ GeneralFault_status : 1|2@0- (1,0) [-2|1] "" Vector__XXX SG_ LossOfAC_status : 5|2@0- (1,0) [-2|1] "" Vector__XXX SG_ EStopShutdown_status : 25|2@0- (1,0) [-2|1] "" Vector__XXX SG_ BridgeAFault_status : 58|3@0- (1,0) [-4|3] "" Vector__XXX SG_ BridgeBFault_status : 42|3@0- (1,0) [-4|3] "" Vector__XXX SG_ IllegalTransition_status : 27|2@0- (1,0) [-2|1] "" Vector__XXX SG_ InvalidEEHeader_status : 29|2@0- (1,0) [-2|1] "" Vector__XXX SG_ InvalidEESection_status : 31|2@0- (1,0) [-2|1] "" Vector__XXX SG_ ThermalOverload : 33|2@0- (1,0) [-2|1] "" Vector__XXX BO_ 2365571831 FRAME_StatusACParameters: 8 Vector__XXX SG_ VoltageAC_measured : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ CurrentAC_measured : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ Frequency_measured : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX BO_ 2634008567 FRAME_StatusDCParameters: 8 Vector__XXX SG_ VoltageDCBus : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ CurrentDC_measured : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ VoltageDCInput_measured : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2634008311 FRAME_StatusControlVolts2: 8 Vector__XXX SG_ n15V_Supply : 7|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ DiodeTemperature : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ IGBTTemperature : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2634007031 FRAME_softwareRev: 8 Vector__XXX SG_ InterfaceRev : 23|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ ControlSwRev : 7|16@0- (0.01,0) [-327.68|327.67] "" Vector__XXX SG_ BuildTime : 39|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2566900215 FRAME_StatusCommandVF: 8 Vector__XXX SG_ Voltage_echo : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ Frequency_echo : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX BO_ 2634009847 FRAME_serialNumber: 8 Vector__XXX SG_ SerialNumber : 7|32@0- (1,0) [-2147483648|2147483647] "" Vector__XXX BO_ 2634010103 FRAME_softwareRevHash: 8 Vector__XXX SG_ Hash : 7|28@0- (1,0) [-134217728|134217727] "" Vector__XXX BO_ 2634000887 FRAME_StatusNVParam: 8 Vector__XXX SG_ StatusNVParam_MUX : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ Dummy : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ VUnder50pct : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ V50to88pct : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ V110to120pct : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ VOver120 : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ FreqHi0 : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqLo0 : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqVeryLo0 : 55|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqVeryLo1 : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqLo1 : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ FreqHi1 : 55|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ StatusNodeID : 23|8@0- (1,0) [-128|127] "" Vector__XXX SG_ StatusSA_Mask : 31|8@0- (1,0) [-128|127] "" Vector__XXX SG_ StatusBaudrate : 39|4@0- (1,0) [-8|7] "" Vector__XXX SG_ StatusThermalOverload : 17|2@0- (1,0) [-2|1] "" Vector__XXX SG_ StatusMX1Open : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusMX1Close : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusMX2Open : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusMX2Close : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusK1Open : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusK1Close : 55|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusK2Open : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ StatusK2Close : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2566902007 FRAME_StatusLineCurrents: 8 Vector__XXX SG_ L1Current_measured : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ L2Current_measured : 23|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ L3Current_measured : 39|16@0- (1,0) [-32768|32767] "" Vector__XXX BO_ 2566902263 FRAME_StatusLineVoltages: 8 Vector__XXX SG_ L1Voltage_measured : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ L2Voltage_measured : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX SG_ L3Voltage_measured : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "" Vector__XXX CM_ BO_ 2164239169 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365566017 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365566529 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573878 "Returns the actual measured power."; CM_ BO_ 2365565505 "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; CM_ BO_ 2164235073 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365561921 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365562433 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2566898935 "Echoes the commanded power (P&Q) as received in CommandPQ."; CM_ BO_ 2365572087 "Bits representing the status of the power module."; CM_ BO_ 2634008055 "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; CM_ BO_ 2566900727 "Returns the inlet water temperature to the module as well as module internal ambient temperature."; CM_ BO_ 2365573367 "Fault bits."; CM_ BO_ 2365571831 "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; CM_ BO_ 2634008567 "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; CM_ BO_ 2634008311 "Present voltage of the -15V power supply on the control board."; CM_ BO_ 2634007031 "Software revision."; CM_ BO_ 2566900215 "Echoes the voltage and frequency commands from commandVF."; CM_ BO_ 2634009847 "Serial number of the power module."; CM_ BO_ 2634010103 "Unique software revision identification hashcode."; CM_ BO_ 2634000887 "Echos back parameter values."; CM_ BO_ 2566902007 "Measured RMS line currents."; CM_ BO_ 2566902263 "Measured RMS line voltages."; CM_ SG_ 2164239169 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164239169 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164239169 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164239169 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164239169 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164239169 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; CM_ SG_ 2164239169 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365566017 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365566017 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365566529 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365566529 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573878 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573878 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2365565505 VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqHi0 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo1 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqLo1 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqHi1 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 NodeID "J1939 Source Address node for the module."; CM_ SG_ 2365565505 SA_Mask "Not presently used."; CM_ SG_ 2365565505 Baudrate "CAN baudrate"; CM_ SG_ 2365565505 ThermalOverload "Configures action to take when thermal overload input is active."; CM_ SG_ 2365565505 MX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2365565505 MX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2365565505 MX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 MX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 K1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2365565505 K1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2365565505 K2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2365565505 K2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2164235073 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164235073 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164235073 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164235073 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164235073 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164235073 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; CM_ SG_ 2164235073 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365561921 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365561921 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365562433 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365562433 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573879 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2634001344 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573879 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2566898935 RealPower_echo "Echoed real power command."; CM_ SG_ 2566898935 ReactivePower_echo "Echoed reactive power command."; CM_ SG_ 2365572087 State_status "Active control mode."; CM_ SG_ 2365572087 MX2Permissive_status "MX2 relay status"; CM_ SG_ 2365572087 PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; CM_ SG_ 2365572087 PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; CM_ SG_ 2365572087 PowerCircuitEnabled_status "Indicates whether the switching devices are active."; CM_ SG_ 2365572087 HardwareEnable_status "Status of the hardware enable."; CM_ SG_ 2365572087 Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; CM_ SG_ 2365572087 FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; CM_ SG_ 2365572087 MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MX1Permissive_status "MX1 relay status"; CM_ SG_ 2365572087 K2DCRunPermissive_status "K2 DC Run relay status."; CM_ SG_ 2365572087 K1PrechargePermissive_status "K1 precharge relay status."; CM_ SG_ 2365572087 MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 CANbus_status "Operational status of the CAN bus driver."; CM_ SG_ 2365572087 EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; CM_ SG_ 2365572087 EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; CM_ SG_ 2365572087 PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; CM_ SG_ 2365572087 LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; CM_ SG_ 2365572087 PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; CM_ SG_ 2634008055 v5p0_Supply "Present voltage of the control board 5V power suppy."; CM_ SG_ 2634008055 v3p3_Supply "Present voltage of the control board 3.3V power supply."; CM_ SG_ 2634008055 v24_Supply "Present voltage of the control board 24V power supply."; CM_ SG_ 2634008055 v15_Supply "Present voltage of the control board 15V power supply."; CM_ SG_ 2566900727 TempInlet_measured "Coolant inlet temperature"; CM_ SG_ 2566900727 TempInternal_measured "Internal ambient temperature"; CM_ SG_ 2566900727 ConverterLosses "Power converter thermal loss"; CM_ SG_ 2365573367 BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; CM_ SG_ 2365573367 BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; CM_ SG_ 2365573367 OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; CM_ SG_ 2365573367 OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; CM_ SG_ 2365573367 LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; CM_ SG_ 2365573367 UndervoltageDC_status "Indicates loss of DC source voltage."; CM_ SG_ 2365573367 ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; CM_ SG_ 2365573367 OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; CM_ SG_ 2365573367 GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; CM_ SG_ 2365573367 LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; CM_ SG_ 2365573367 EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; CM_ SG_ 2365573367 BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; CM_ SG_ 2365573367 InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; CM_ SG_ 2365573367 InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; CM_ SG_ 2365573367 ThermalOverload "Configures action to take when thermal overload input is active."; CM_ SG_ 2365571831 VoltageAC_measured "Measured RMS AC voltage."; CM_ SG_ 2365571831 CurrentAC_measured "Measured RMS AC current."; CM_ SG_ 2365571831 Frequency_measured "Measured frequency."; CM_ SG_ 2634008567 VoltageDCBus "Measured DC bus voltage."; CM_ SG_ 2634008567 CurrentDC_measured "Measured DC current."; CM_ SG_ 2634008567 VoltageDCInput_measured "Estimated DC input voltage."; CM_ SG_ 2634008311 n15V_Supply "Present voltage of the control board -15V power supply."; CM_ SG_ 2634008311 DiodeTemperature "Hottest diode"; CM_ SG_ 2634008311 IGBTTemperature "Hottest IGBT"; CM_ SG_ 2634007031 InterfaceRev "Software revision of the CAN communication interface."; CM_ SG_ 2634007031 ControlSwRev "Software revision of the control firmware."; CM_ SG_ 2634007031 BuildTime "Build timestamp."; CM_ SG_ 2566900215 Voltage_echo "Echoed voltage command"; CM_ SG_ 2566900215 Frequency_echo "Echoed frequency command."; CM_ SG_ 2634010103 Hash "Unique revision identification hashcode."; CM_ SG_ 2634000887 VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2634000887 V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2634000887 V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2634000887 VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2634000887 FreqHi0 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 FreqLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 FreqVeryLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 FreqVeryLo1 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 FreqLo1 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 FreqHi1 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2634000887 StatusNodeID "J1939 Source Address node for the module"; CM_ SG_ 2634000887 StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; CM_ SG_ 2634000887 StatusThermalOverload "Configured action to take when thermal overload input is active."; CM_ SG_ 2634000887 StatusMX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2634000887 StatusMX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2634000887 StatusMX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusMX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusK1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2634000887 StatusK1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2634000887 StatusK2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2634000887 StatusK2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2566902007 L1Current_measured "Measured L1 RMS line current."; CM_ SG_ 2566902007 L2Current_measured "Measured L2 RMS line current."; CM_ SG_ 2566902007 L3Current_measured "Measured L3 RMS line current."; CM_ SG_ 2566902263 L1Voltage_measured "Measured L1 RMS line-neutral voltage"; CM_ SG_ 2566902263 L2Voltage_measured "Measured L2 RMS line-neutral voltage"; CM_ SG_ 2566902263 L3Voltage_measured "Measured L3 RMS line-neutral voltage"; BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_DEF_ BO_ "GenMsgDelayTime" INT 0 65535; BA_DEF_ BO_ "GenMsgNrOfRepetitions" INT 0 65535; BA_DEF_ BO_ "GenMsgSendType" ENUM "cyclicX","spontanX","cyclicIfActiveX","spontanWithDelay","cyclicAndSpontanX","cyclicAndSpontanWithDelay","spontanWithRepitition","cyclicIfActiveAndSpontanWD","cyclicIfActiveFast","cyclicWithRepeatOnDemand","none"; BA_DEF_ BO_ "GenMsgStartDelayTime" INT 0 65535; BA_DEF_ BO_ "GenMsgStartValue" STRING; BA_DEF_ SG_ "GenSigStartValue" HEX 0 4294967295; BA_DEF_ BU_ "NWM-Knoten" ENUM "nein","ja"; BA_DEF_ BU_ "NWM-Stationsadresse" HEX 0 63; BA_ "GenMsgSendType" BO_ 2164239169 1; BA_ "GenMsgStartValue" BO_ 2164239169 "00000000"; BA_ "GenMsgSendType" BO_ 2365566017 1; BA_ "GenMsgStartValue" BO_ 2365566017 "00000000"; BA_ "GenMsgSendType" BO_ 2365566529 1; BA_ "GenMsgStartValue" BO_ 2365566529 "00000000"; BA_ "GenMsgSendType" BO_ 2365573878 1; BA_ "GenMsgStartValue" BO_ 2365573878 "00000000"; BA_ "GenMsgSendType" BO_ 2365566785 1; BA_ "GenMsgStartValue" BO_ 2365566785 "00000000"; BA_ "GenMsgSendType" BO_ 2365565505 1; BA_ "GenMsgStartValue" BO_ 2365565505 "00000000"; BA_ "GenMsgSendType" BO_ 2164235073 1; BA_ "GenMsgStartValue" BO_ 2164235073 "00000000"; BA_ "GenMsgSendType" BO_ 2365561921 1; BA_ "GenMsgStartValue" BO_ 2365561921 "00000000"; BA_ "GenMsgSendType" BO_ 2365562433 1; BA_ "GenMsgStartValue" BO_ 2365562433 "00000000"; BA_ "GenMsgSendType" BO_ 2365573879 1; BA_ "GenMsgStartValue" BO_ 2365573879 "00000000"; BA_ "GenMsgSendType" BO_ 2634001600 1; BA_ "GenMsgStartValue" BO_ 2634001600 "00000000"; BA_ "GenMsgSendType" BO_ 2634001344 1; BA_ "GenMsgStartValue" BO_ 2634001344 "00000000"; BA_ "GenMsgSendType" BO_ 2365573879 1; BA_ "GenMsgStartValue" BO_ 2365573879 "00000000"; BA_ "GenMsgSendType" BO_ 2566898935 1; BA_ "GenMsgStartValue" BO_ 2566898935 "00000000"; BA_ "GenMsgSendType" BO_ 2365572087 1; BA_ "GenMsgStartValue" BO_ 2365572087 "00000000"; BA_ "GenMsgSendType" BO_ 2634008055 1; BA_ "GenMsgStartValue" BO_ 2634008055 "00000000"; BA_ "GenMsgSendType" BO_ 2566900727 1; BA_ "GenMsgStartValue" BO_ 2566900727 "00000000"; BA_ "GenMsgSendType" BO_ 2365573367 1; BA_ "GenMsgStartValue" BO_ 2365573367 "00000000"; BA_ "GenMsgSendType" BO_ 2365571831 1; BA_ "GenMsgStartValue" BO_ 2365571831 "00000000"; BA_ "GenMsgSendType" BO_ 2634008567 1; BA_ "GenMsgStartValue" BO_ 2634008567 "00000000"; BA_ "GenMsgSendType" BO_ 2634008311 1; BA_ "GenMsgStartValue" BO_ 2634008311 "00000000"; BA_ "GenMsgSendType" BO_ 2634007031 1; BA_ "GenMsgStartValue" BO_ 2634007031 "00000000"; BA_ "GenMsgSendType" BO_ 2566900215 1; BA_ "GenMsgStartValue" BO_ 2566900215 "00000000"; BA_ "GenMsgSendType" BO_ 2634009847 1; BA_ "GenMsgStartValue" BO_ 2634009847 "00000000"; BA_ "GenMsgSendType" BO_ 2634010103 1; BA_ "GenMsgStartValue" BO_ 2634010103 "00000000"; BA_ "GenMsgSendType" BO_ 2634000887 1; BA_ "GenMsgStartValue" BO_ 2634000887 "00000000"; BA_ "GenMsgSendType" BO_ 2566902007 1; BA_ "GenMsgStartValue" BO_ 2566902007 "00000000"; BA_ "GenMsgSendType" BO_ 2566902263 1; BA_ "GenMsgStartValue" BO_ 2566902263 "00000000"; VAL_ 2164239169 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164239169 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164239169 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365566785 WriteSerialNumber 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365565505 CommandSetNVParam_MUX 0 "Param0" 1 "LVM_ClearingTimes1" 2 "LVM_ClearingTimes2" 3 "LFM_Limits" 4 "LFM_ClearingTimes" 5 "J1939_Interface" 6 "Fault_Config" 7 "ContactorDelays1" 8 "ContactorDelays2" 10 "ContactorDelays3"; VAL_ 2365565505 Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2365565505 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 2164235073 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164235073 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164235073 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365572087 State_status 0 "Power On Reset, and a quoted comma" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_ 2365572087 MX2Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailAC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailDC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerCircuitEnabled_status 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_ 2365572087 HardwareEnable_status 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; VAL_ 2365572087 Enable_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 FaultClr_echo 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidModeControl_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MX1Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K2DCRunPermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K1PrechargePermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidPowerCMD_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidVF_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 CANbus_status 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_ 2365572087 EnableUPSMode_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 EnableSplitPhase_echo 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_status 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365572087 LineVoltageDetected_status 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_echo 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeBVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempPowerDevice_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempInternal_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossValidControlMessage_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 UndervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ControlHardwareFail_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 GeneralFault_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossOfAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 EStopShutdown_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 BridgeBFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 IllegalTransition_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEEHeader_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEESection_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 2634000887 StatusNVParam_MUX 0 "ActParam0" 1 "ActLVM_ClearingTimes1" 2 "ActLVM_ClearingTimes2" 3 "ActLFM_Limits" 4 "ActLFM_ClearingTimes" 5 "StatusJ1939_Interface" 6 "StatusFault_Config" 7 "StatusContactorDelays1" 8 "StatusContactorDelays2" 9 "StatusContactorDelays3"; VAL_ 2634000887 StatusBaudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2634000887 StatusThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; canmatrix-0.9.5/test/reference/from_arxml/test_CAN.dbf000066400000000000000000001342071416730473300227320ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 28 [START_MSG] FRAME_CommandModeControl,16755521,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] FRAME_CommandPower,218082369,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower command,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_command,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_CommandVF,218082881,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] Frequency_command,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [END_MSG] [START_MSG] FRAME_MasterMeasuredPower,218090230,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_CommandFactoryControl,218083137,8,3,1,X,Vector__XXX [START_SIGNALS] WriteSerialNumber,2,1,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] SerialNumber,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] FactoryAccess,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_CommandSetNVParam,218081857,8,24,1,X,Vector__XXX [START_SIGNALS] CommandSetNVParam_MUX,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Param0",0 [VALUE_DESCRIPTION] "LVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "LVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "LFM_Limits",3 [VALUE_DESCRIPTION] "LFM_ClearingTimes",4 [VALUE_DESCRIPTION] "J1939_Interface",5 [VALUE_DESCRIPTION] "Fault_Config",6 [VALUE_DESCRIPTION] "ContactorDelays1",7 [VALUE_DESCRIPTION] "ContactorDelays2",8 [VALUE_DESCRIPTION] "ContactorDelays3",10 [START_SIGNALS] Dummy,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] VUnder50pct,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] V50to88pct,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] V110to120pct,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] VOver120,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] FreqHi,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqLo,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqVeryLo,16,8,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqVeryLo,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqLo,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqHi,16,8,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] NodeID,8,3,0,S,127.0,-128.0,0,0.0,1.0,,, [START_SIGNALS] SA_Mask,8,4,0,S,127.0,-128.0,0,0.0,1.0,,, [START_SIGNALS] Baudrate,4,5,4,S,7.0,-8.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] ThermalOverload,2,3,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Open,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] MX1Close,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] MX2Open,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] MX2Close,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] K1Open,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] K1Close,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] K2Open,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] K2Close,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_CommandModeControlAPU2,16751425,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] FRAME_CommandPowerAPU2,218078273,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_command,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_command,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_CommandVFAPU2,218078785,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] Frequency_command,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [END_MSG] [START_MSG] FRAME_MasterMeasuredPowerAPU2,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_justString,486517952,8,0,1,X,Vector__XXX [END_MSG] [START_MSG] FRAME_stringAndOther,486517696,8,1,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusMeasuredPower,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusCommandedPower,419415287,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_echo,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [START_SIGNALS] ReactivePower_echo,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusBits,218088439,8,20,1,X,Vector__XXX [START_SIGNALS] State_status,4,1,0,S,7.0,-8.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Power On Reset, and a quoted comma",0 [VALUE_DESCRIPTION] "Ready",1 [VALUE_DESCRIPTION] "Following",2 [VALUE_DESCRIPTION] "Fault",3 [VALUE_DESCRIPTION] "Forming",4 [VALUE_DESCRIPTION] "N/A",5 [VALUE_DESCRIPTION] "N/A",6 [VALUE_DESCRIPTION] "N/A",7 [VALUE_DESCRIPTION] "N/A",8 [VALUE_DESCRIPTION] "N/A",9 [VALUE_DESCRIPTION] "N/A",10 [VALUE_DESCRIPTION] "N/A",11 [VALUE_DESCRIPTION] "N/A",12 [VALUE_DESCRIPTION] "N/A",13 [VALUE_DESCRIPTION] "N/A",14 [VALUE_DESCRIPTION] "N/A",15 [START_SIGNALS] MX2Permissive_status,2,3,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailAC_status,2,2,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailDC_status,2,2,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerCircuitEnabled_status,2,2,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disabled",0 [VALUE_DESCRIPTION] "Enabled",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] HardwareEnable_status,2,2,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Not Active",0 [VALUE_DESCRIPTION] "Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Enable_echo,2,1,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClr_echo,2,1,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidModeControl_status,2,4,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Permissive_status,2,3,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K2DCRunPermissive_status,2,3,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K1PrechargePermissive_status,2,3,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidPowerCMD_status,2,4,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidVF_status,2,4,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] CANbus_status,2,4,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Warning",1 [VALUE_DESCRIPTION] "ErrorPassive",3 [VALUE_DESCRIPTION] "N/A",4 [START_SIGNALS] EnableUPSMode_echo,2,5,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_echo,2,5,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_status,2,5,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LineVoltageDetected_status,2,5,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No_Voltage",0 [VALUE_DESCRIPTION] "Voltage_Detected",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_echo,2,6,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] FRAME_StatusControlVoltage,486524407,8,4,1,X,Vector__XXX [START_SIGNALS] v5p0_Supply,16,2,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] v3p3_Supply,16,4,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] v24_Supply,16,6,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] v15_Supply,16,8,0,S,32767.0,-32768.0,0,0.0,0.01,,, [END_MSG] [START_MSG] FRAME_StatusTemps,419417079,8,3,1,X,Vector__XXX [START_SIGNALS] TempInlet_measured,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] TempInternal_measured,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] ConverterLosses,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusFaults,218089719,8,19,1,X,Vector__XXX [START_SIGNALS] BridgeAVoltageOk_status,1,8,3,S,0.0,-1.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentAC_status,2,1,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeBVoltageOk_status,1,6,3,S,0.0,-1.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvervoltageDC_status,2,2,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempPowerDevice_status,2,2,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempInternal_status,2,2,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossValidControlMessage_status,4,3,4,S,7.0,-8.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] UndervoltageDC_status,2,2,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ControlHardwareFail_status,4,3,0,S,7.0,-8.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentDC_status,2,1,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] GeneralFault_status,2,1,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossOfAC_status,2,1,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EStopShutdown_status,2,4,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeAFault_status,3,8,0,S,3.0,-4.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeBFault_status,3,6,0,S,3.0,-4.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] IllegalTransition_status,2,4,2,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEEHeader_status,2,4,4,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEESection_status,2,4,6,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ThermalOverload,2,5,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] FRAME_StatusACParameters,218088183,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageAC_measured,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] CurrentAC_measured,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] Frequency_measured,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [END_MSG] [START_MSG] FRAME_StatusDCParameters,486524919,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageDCBus,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] CurrentDC_measured,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] VoltageDCInput_measured,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusControlVolts2,486524663,8,3,1,X,Vector__XXX [START_SIGNALS] n15V_Supply,16,2,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] DiodeTemperature,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] IGBTTemperature,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_softwareRev,486523383,8,3,1,X,Vector__XXX [START_SIGNALS] InterfaceRev,16,4,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] ControlSwRev,16,2,0,S,32767.0,-32768.0,0,0.0,0.01,,, [START_SIGNALS] BuildTime,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusCommandVF,419416567,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_echo,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] Frequency_echo,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [END_MSG] [START_MSG] FRAME_serialNumber,486526199,8,1,1,X,Vector__XXX [START_SIGNALS] SerialNumber,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_softwareRevHash,486526455,8,1,1,X,Vector__XXX [START_SIGNALS] Hash,28,4,4,S,134217727.0,-134217728.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusNVParam,486517239,8,24,1,X,Vector__XXX [START_SIGNALS] StatusNVParam_MUX,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "ActParam0",0 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "ActLFM_Limits",3 [VALUE_DESCRIPTION] "ActLFM_ClearingTimes",4 [VALUE_DESCRIPTION] "StatusJ1939_Interface",5 [VALUE_DESCRIPTION] "StatusFault_Config",6 [VALUE_DESCRIPTION] "StatusContactorDelays1",7 [VALUE_DESCRIPTION] "StatusContactorDelays2",8 [VALUE_DESCRIPTION] "StatusContactorDelays3",9 [START_SIGNALS] Dummy,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] VUnder50pct,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] V50to88pct,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] V110to120pct,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] VOver120,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] FreqHi,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqLo,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqVeryLo,16,8,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqVeryLo,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqLo,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] FreqHi,16,8,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] StatusNodeID,8,3,0,S,127.0,-128.0,0,0.0,1.0,,, [START_SIGNALS] StatusSA_Mask,8,4,0,S,127.0,-128.0,0,0.0,1.0,,, [START_SIGNALS] StatusBaudrate,4,5,4,S,7.0,-8.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] StatusThermalOverload,2,3,0,S,1.0,-2.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] StatusMX1Open,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusMX1Close,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusMX2Open,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusMX2Close,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusK1Open,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusK1Close,16,8,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusK2Open,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] StatusK2Close,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusLineCurrents,419418359,8,3,1,X,Vector__XXX [START_SIGNALS] L1Current_measured,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] L2Current_measured,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,,, [START_SIGNALS] L3Current_measured,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,,, [END_MSG] [START_MSG] FRAME_StatusLineVoltages,419418615,8,3,1,X,Vector__XXX [START_SIGNALS] L1Voltage_measured,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] L2Voltage_measured,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,,, [START_SIGNALS] L3Voltage_measured,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,,, [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] 16755521 S "Operational commands are received by the module via control bits within this message."; 218082369 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218082881 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090230 S "Returns the actual measured power."; 218083137 S ""; 218081857 S "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; 16751425 S "Operational commands are received by the module via control bits within this message."; 218078273 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218078785 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090231 S "Returns the actual measured power."; 486517952 S ""; 486517696 S ""; 218090231 S "Returns the actual measured power."; 419415287 S "Echoes the commanded power (P&Q) as received in CommandPQ."; 218088439 S "Bits representing the status of the power module."; 486524407 S "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; 419417079 S "Returns the inlet water temperature to the module as well as module internal ambient temperature."; 218089719 S "Fault bits."; 218088183 S "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; 486524919 S "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; 486524663 S "Present voltage of the -15V power supply on the control board."; 486523383 S "Software revision."; 419416567 S "Echoes the voltage and frequency commands from commandVF."; 486526199 S "Serial number of the power module."; 486526455 S "Unique software revision identification hashcode."; 486517239 S "Echos back parameter values."; 419418359 S "Measured RMS line currents."; 419418615 S "Measured RMS line voltages."; [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] 16755521 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16755521 S FaultClear_command "Clears the latched fault message."; 16755521 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16755521 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16755521 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16755521 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; 16755521 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218082369 S RealPower command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218082369 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218082881 S Voltage_command "Desired output voltage while in grid forming mode."; 218082881 S Frequency_command "Desired output frequency while in grid forming mode."; 218090230 S RealPower_measured "Measured real power of master unit."; 218090230 S ReactivePower_measured "Measured reactive power of master unit."; 218083137 S WriteSerialNumber ""; 218083137 S SerialNumber ""; 218083137 S FactoryAccess ""; 218081857 S CommandSetNVParam_MUX ""; 218081857 S Dummy ""; 218081857 S VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 218081857 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 218081857 S NodeID "J1939 Source Address node for the module."; 218081857 S SA_Mask "Not presently used."; 218081857 S Baudrate "CAN baudrate"; 218081857 S ThermalOverload "Configures action to take when thermal overload input is active."; 218081857 S MX1Open "Maximum time required for the MX1 contactor to open."; 218081857 S MX1Close "Maximum time required for the MX1 contactor to close."; 218081857 S MX2Open "Maximum time required for the MX2 contactor to open."; 218081857 S MX2Close "Maximum time required for the MX2 contactor to open."; 218081857 S K1Open "Maximum time required for the K1 contactor to open."; 218081857 S K1Close "Maximum time required for the K1 contactor to close."; 218081857 S K2Open "Maximum time required for the K2 contactor to open."; 218081857 S K2Close "Maximum time required for the K2 contactor to close."; 16751425 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16751425 S FaultClear_command "Clears the latched fault message."; 16751425 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16751425 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16751425 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16751425 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; 16751425 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218078273 S RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218078273 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218078785 S Voltage_command "Desired output voltage while in grid forming mode."; 218078785 S Frequency_command "Desired output frequency while in grid forming mode."; 218090231 S RealPower_measured "Measured real power of master unit."; 218090231 S ReactivePower_measured "Measured reactive power of master unit."; 486517696 S RealPower_measured "Measured real power of master unit."; 218090231 S RealPower_measured "Measured real power of master unit."; 218090231 S ReactivePower_measured "Measured reactive power of master unit."; 419415287 S RealPower_echo "Echoed real power command."; 419415287 S ReactivePower_echo "Echoed reactive power command."; 218088439 S State_status "Active control mode."; 218088439 S MX2Permissive_status "MX2 relay status"; 218088439 S PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; 218088439 S PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; 218088439 S PowerCircuitEnabled_status "Indicates whether the switching devices are active."; 218088439 S HardwareEnable_status "Status of the hardware enable."; 218088439 S Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; 218088439 S FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; 218088439 S MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MX1Permissive_status "MX1 relay status"; 218088439 S K2DCRunPermissive_status "K2 DC Run relay status."; 218088439 S K1PrechargePermissive_status "K1 precharge relay status."; 218088439 S MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S CANbus_status "Operational status of the CAN bus driver."; 218088439 S EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; 218088439 S EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; 218088439 S PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; 218088439 S LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; 218088439 S PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; 486524407 S v5p0_Supply "Present voltage of the control board 5V power suppy."; 486524407 S v3p3_Supply "Present voltage of the control board 3.3V power supply."; 486524407 S v24_Supply "Present voltage of the control board 24V power supply."; 486524407 S v15_Supply "Present voltage of the control board 15V power supply."; 419417079 S TempInlet_measured "Coolant inlet temperature"; 419417079 S TempInternal_measured "Internal ambient temperature"; 419417079 S ConverterLosses "Power converter thermal loss"; 218089719 S BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; 218089719 S BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; 218089719 S OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; 218089719 S OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; 218089719 S LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; 218089719 S UndervoltageDC_status "Indicates loss of DC source voltage."; 218089719 S ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; 218089719 S OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; 218089719 S GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; 218089719 S LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; 218089719 S EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; 218089719 S BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; 218089719 S InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; 218089719 S InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; 218089719 S ThermalOverload "Configures action to take when thermal overload input is active."; 218088183 S VoltageAC_measured "Measured RMS AC voltage."; 218088183 S CurrentAC_measured "Measured RMS AC current."; 218088183 S Frequency_measured "Measured frequency."; 486524919 S VoltageDCBus "Measured DC bus voltage."; 486524919 S CurrentDC_measured "Measured DC current."; 486524919 S VoltageDCInput_measured "Estimated DC input voltage."; 486524663 S n15V_Supply "Present voltage of the control board -15V power supply."; 486524663 S DiodeTemperature "Hottest diode"; 486524663 S IGBTTemperature "Hottest IGBT"; 486523383 S InterfaceRev "Software revision of the CAN communication interface."; 486523383 S ControlSwRev "Software revision of the control firmware."; 486523383 S BuildTime "Build timestamp."; 419416567 S Voltage_echo "Echoed voltage command"; 419416567 S Frequency_echo "Echoed frequency command."; 486526199 S SerialNumber ""; 486526455 S Hash "Unique revision identification hashcode."; 486517239 S StatusNVParam_MUX ""; 486517239 S Dummy ""; 486517239 S VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 486517239 S V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 486517239 S V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 486517239 S VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 486517239 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 486517239 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 486517239 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 486517239 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 486517239 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 486517239 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 486517239 S StatusNodeID "J1939 Source Address node for the module"; 486517239 S StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; 486517239 S StatusBaudrate ""; 486517239 S StatusThermalOverload "Configured action to take when thermal overload input is active."; 486517239 S StatusMX1Open "Maximum time required for the MX1 contactor to open."; 486517239 S StatusMX1Close "Maximum time required for the MX1 contactor to close."; 486517239 S StatusMX2Open "Maximum time required for the MX2 contactor to open."; 486517239 S StatusMX2Close "Maximum time required for the MX2 contactor to open."; 486517239 S StatusK1Open "Maximum time required for the K1 contactor to open."; 486517239 S StatusK1Close "Maximum time required for the K1 contactor to close."; 486517239 S StatusK2Open "Maximum time required for the K2 contactor to open."; 486517239 S StatusK2Close "Maximum time required for the K2 contactor to close."; 419418359 S L1Current_measured "Measured L1 RMS line current."; 419418359 S L2Current_measured "Measured L2 RMS line current."; 419418359 S L3Current_measured "Measured L3 RMS line current."; 419418615 S L1Voltage_measured "Measured L1 RMS line-neutral voltage"; 419418615 S L2Voltage_measured "Measured L2 RMS line-neutral voltage"; 419418615 S L3Voltage_measured "Measured L3 RMS line-neutral voltage"; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] "NWM-Knoten",ENUM,,"nein","ja",0 "NWM-Stationsadresse",HEX,0,63,0 [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 "GenMsgDelayTime",INT,0,65535,0 "GenMsgNrOfRepetitions",INT,0,65535,0 "GenMsgSendType",ENUM,,"cyclicX","spontanX","cyclicIfActiveX","spontanWithDelay","cyclicAndSpontanX","cyclicAndSpontanWithDelay","spontanWithRepitition","cyclicIfActiveAndSpontanWD","cyclicIfActiveFast","cyclicWithRepeatOnDemand","none",0 "GenMsgStartDelayTime",INT,0,65535,0 "GenMsgStartValue",STRING,0 [END_PARAM_MSG] [START_PARAM_SIG] "GenSigStartValue",HEX,0,4294967295,0 [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 16755521,S,"GenMsgSendType","1" 16755521,S,"GenMsgStartValue","00000000" 218082369,S,"GenMsgSendType","1" 218082369,S,"GenMsgStartValue","00000000" 218082881,S,"GenMsgSendType","1" 218082881,S,"GenMsgStartValue","00000000" 218090230,S,"GenMsgSendType","1" 218090230,S,"GenMsgStartValue","00000000" 218083137,S,"GenMsgSendType","1" 218083137,S,"GenMsgStartValue","00000000" 218081857,S,"GenMsgSendType","1" 218081857,S,"GenMsgStartValue","00000000" 16751425,S,"GenMsgSendType","1" 16751425,S,"GenMsgStartValue","00000000" 218078273,S,"GenMsgSendType","1" 218078273,S,"GenMsgStartValue","00000000" 218078785,S,"GenMsgSendType","1" 218078785,S,"GenMsgStartValue","00000000" 218090231,S,"GenMsgSendType","1" 218090231,S,"GenMsgStartValue","00000000" 486517952,S,"GenMsgSendType","1" 486517952,S,"GenMsgStartValue","00000000" 486517696,S,"GenMsgSendType","1" 486517696,S,"GenMsgStartValue","00000000" 218090231,S,"GenMsgSendType","1" 218090231,S,"GenMsgStartValue","00000000" 419415287,S,"GenMsgSendType","1" 419415287,S,"GenMsgStartValue","00000000" 218088439,S,"GenMsgSendType","1" 218088439,S,"GenMsgStartValue","00000000" 486524407,S,"GenMsgSendType","1" 486524407,S,"GenMsgStartValue","00000000" 419417079,S,"GenMsgSendType","1" 419417079,S,"GenMsgStartValue","00000000" 218089719,S,"GenMsgSendType","1" 218089719,S,"GenMsgStartValue","00000000" 218088183,S,"GenMsgSendType","1" 218088183,S,"GenMsgStartValue","00000000" 486524919,S,"GenMsgSendType","1" 486524919,S,"GenMsgStartValue","00000000" 486524663,S,"GenMsgSendType","1" 486524663,S,"GenMsgStartValue","00000000" 486523383,S,"GenMsgSendType","1" 486523383,S,"GenMsgStartValue","00000000" 419416567,S,"GenMsgSendType","1" 419416567,S,"GenMsgStartValue","00000000" 486526199,S,"GenMsgSendType","1" 486526199,S,"GenMsgStartValue","00000000" 486526455,S,"GenMsgSendType","1" 486526455,S,"GenMsgStartValue","00000000" 486517239,S,"GenMsgSendType","1" 486517239,S,"GenMsgStartValue","00000000" 419418359,S,"GenMsgSendType","1" 419418359,S,"GenMsgStartValue","00000000" 419418615,S,"GenMsgSendType","1" 419418615,S,"GenMsgStartValue","00000000" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_arxml/test_CAN.json000066400000000000000000001653021416730473300231500ustar00rootroot00000000000000{ "messages": [ { "id": 16755521, "is_extended_frame": true, "name": "FRAME_CommandModeControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218082369, "is_extended_frame": true, "name": "FRAME_CommandPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218082881, "is_extended_frame": true, "name": "FRAME_CommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090230, "is_extended_frame": true, "name": "FRAME_MasterMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218083137, "is_extended_frame": true, "name": "FRAME_CommandFactoryControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "WriteSerialNumber", "offset": 0.0, "start_bit": 0 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "SerialNumber", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FactoryAccess", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218081857, "is_extended_frame": true, "name": "FRAME_CommandSetNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CommandSetNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "NodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "SA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Baudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 16751425, "is_extended_frame": true, "name": "FRAME_CommandModeControlAPU2", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218078273, "is_extended_frame": true, "name": "FRAME_CommandPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218078785, "is_extended_frame": true, "name": "FRAME_CommandVFAPU2", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "FRAME_MasterMeasuredPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 486517952, "is_extended_frame": true, "name": "FRAME_justString", "signals": [] }, { "id": 486517696, "is_extended_frame": true, "name": "FRAME_stringAndOther", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "FRAME_StatusMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419415287, "is_extended_frame": true, "name": "FRAME_StatusCommandedPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_echo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_echo", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218088439, "is_extended_frame": true, "name": "FRAME_StatusBits", "signals": [ { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "State_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX2Permissive_status", "offset": 0.0, "start_bit": 18 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PowerAvailAC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PowerAvailDC_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PowerCircuitEnabled_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "HardwareEnable_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Enable_echo", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FaultClr_echo", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MessageValidModeControl_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MX1Permissive_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K2DCRunPermissive_status", "offset": 0.0, "start_bit": 22 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "K1PrechargePermissive_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MessageValidPowerCMD_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "MessageValidVF_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CANbus_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableUPSMode_echo", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EnableSplitPhase_echo", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PhaseRotation_status", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "LineVoltageDetected_status", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "PhaseRotation_echo", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524407, "is_extended_frame": true, "name": "FRAME_StatusControlVoltage", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v5p0_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v3p3_Supply", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v24_Supply", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v15_Supply", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419417079, "is_extended_frame": true, "name": "FRAME_StatusTemps", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "TempInlet_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "TempInternal_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ConverterLosses", "offset": 0.0, "start_bit": 40 } ] }, { "id": 218089719, "is_extended_frame": true, "name": "FRAME_StatusFaults", "signals": [ { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "BridgeAVoltageOk_status", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "OvercurrentAC_status", "offset": 0.0, "start_bit": 2 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "BridgeBVoltageOk_status", "offset": 0.0, "start_bit": 43 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "OvervoltageDC_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "OvertempPowerDevice_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "OvertempInternal_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "LossValidControlMessage_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "UndervoltageDC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ControlHardwareFail_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "OvercurrentDC_status", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "GeneralFault_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "LossOfAC_status", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "EStopShutdown_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "BridgeAFault_status", "offset": 0.0, "start_bit": 56 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "BridgeBFault_status", "offset": 0.0, "start_bit": 40 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "IllegalTransition_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "InvalidEEHeader_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "InvalidEESection_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ThermalOverload", "offset": 0.0, "start_bit": 32 } ] }, { "id": 218088183, "is_extended_frame": true, "name": "FRAME_StatusACParameters", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageAC_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CurrentAC_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Frequency_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524919, "is_extended_frame": true, "name": "FRAME_StatusDCParameters", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageDCBus", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CurrentDC_measured", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageDCInput_measured", "offset": 0.0, "start_bit": 8 } ] }, { "id": 486524663, "is_extended_frame": true, "name": "FRAME_StatusControlVolts2", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "n15V_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "DiodeTemperature", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "IGBTTemperature", "offset": 0.0, "start_bit": 56 } ] }, { "id": 486523383, "is_extended_frame": true, "name": "FRAME_softwareRev", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "InterfaceRev", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ControlSwRev", "offset": 0.0, "start_bit": 8 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "BuildTime", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419416567, "is_extended_frame": true, "name": "FRAME_StatusCommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Voltage_echo", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Frequency_echo", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526199, "is_extended_frame": true, "name": "FRAME_serialNumber", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "SerialNumber", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526455, "is_extended_frame": true, "name": "FRAME_softwareRevHash", "signals": [ { "bit_length": 28, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Hash", "offset": 0.0, "start_bit": 28 } ] }, { "id": 486517239, "is_extended_frame": true, "name": "FRAME_StatusNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusNodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusSA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusBaudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusMX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusMX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusMX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusMX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusK1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusK1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusK2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusK2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418359, "is_extended_frame": true, "name": "FRAME_StatusLineCurrents", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L1Current_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L2Current_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L3Current_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418615, "is_extended_frame": true, "name": "FRAME_StatusLineVoltages", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L1Voltage_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L2Voltage_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "L3Voltage_measured", "offset": 0.0, "start_bit": 40 } ] } ] }canmatrix-0.9.5/test/reference/from_arxml/test_CAN.sym000066400000000000000000001024731416730473300230070ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Baudrate(0="125K", 1="250K", 2="500K", 3="1M") enum BridgeAFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeAVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum BridgeBFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeBVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum CANbus_status(0="Normal", 1="Warning", 3="ErrorPassive", 4="N/A") enum CommandSetNVParam_MUX(0="Param0", 1="LVM_ClearingTimes1", 2="LVM_ClearingTimes2", 3="LFM_Limits", 4="LFM_ClearingTimes", 5="J1939_Interface", 6="Fault_Config", 7="ContactorDelays1", 8="ContactorDelays2", 10="ContactorDelays3") enum ControlHardwareFail_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EStopShutdown_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EnableSplitPhase_command(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableSplitPhase_echo(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableUPSMode_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum EnableUPSMode_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum FaultClear_command(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum FaultClr_echo(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum ForceRelayK1_Precharge_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX1_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX2_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayRelayK2_DCRun_comand(0="Normal", 1="Force On", 2="Error", 3="N/A") enum GeneralFault_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum HardwareEnable_status(0="Not Active", 1="Active", 2="Error", 3="N/A") enum IllegalTransition_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEEHeader_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEESection_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvertHwEnable_command(0="No invert", 1="Invert", 2="Error", 3="N/A") enum K1PrechargePermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum K2DCRunPermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum LineVoltageDetected_status(0="No_Voltage", 1="Voltage_Detected", 2="Error", 3="N/A") enum LossOfAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum LossValidControlMessage_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum MX1Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MX2Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MasterFollowerMode_command(0="Master", 1="Follower", 2="Error", 3="N/A") enum MessageValidModeControl_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidPowerCMD_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidVF_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum OvercurrentAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvercurrentDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempInternal_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempPowerDevice_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum PhaseRotation_command(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_echo(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_status(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PowerAvailAC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerAvailDC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerCircuitEnabled_status(0="Disabled", 1="Enabled", 2="Error", 3="N/A") enum State_status(0="Power On Reset, and a quoted comma", 1="Ready", 2="Following", 3="Fault", 4="Forming", 5="N/A", 6="N/A", 7="N/A", 8="N/A", 9="N/A", 10="N/A", 11="N/A", 12="N/A", 13="N/A", 14="N/A", 15="N/A") enum StatusBaudrate(0="125K", 1="250K", 2="500K", 3="1M") enum StatusNVParam_MUX(0="ActParam0", 1="ActLVM_ClearingTimes1", 2="ActLVM_ClearingTimes2", 3="ActLFM_Limits", 4="ActLFM_ClearingTimes", 5="StatusJ1939_Interface", 6="StatusFault_Config", 7="StatusContactorDelays1", 8="StatusContactorDelays2", 9="StatusContactorDelays3") enum StatusThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum ThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum UndervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum WriteSerialNumber(0="Disable", 1="Enable", 2="Error", 3="N/A") {SENDRECEIVE} [FRAME_CommandModeControl] ID=00FFAB41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command signed 6,2 -m /min:-2 /max:1 /e:Enable_command // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command signed 4,2 -m /min:-2 /max:1 /e:FaultClear_command // Clears the latched fault message. Var=InvertHwEnable_command signed 62,2 -m /min:-2 /max:1 /e:InvertHwEnable_command // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command signed 60,2 -m /min:-2 /max:1 /e:EnableUPSMode_command // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command signed 58,2 -m /min:-2 /max:1 /e:EnableSplitPhase_command // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command signed 38,2 -m /min:-2 /max:1 /e:ForceRelayMX1_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command signed 36,2 -m /min:-2 /max:1 /e:ForceRelayMX2_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command signed 34,2 -m /min:-2 /max:1 /e:ForceRelayK1_Precharge_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand signed 32,2 -m /min:-2 /max:1 /e:ForceRelayRelayK2_DCRun_comand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command signed 56,2 -m /min:-2 /max:1 /e:PhaseRotation_command // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Var=MasterFollowerMode_command signed 22,2 -m /min:-2 /max:1 /e:MasterFollowerMode_command // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [FRAME_CommandPower] ID=0CFFAC41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var=RealPower command signed 0,32 -m /min:-2147483648 /max:2147483647 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 32,32 -m /min:-2147483648 /max:2147483647 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [FRAME_CommandVF] ID=0CFFAE41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Desired output voltage while in grid forming mode. Var=Frequency_command signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Desired output frequency while in grid forming mode. [FRAME_MasterMeasuredPower] ID=0CFFCAF6h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /min:-2147483648 /max:2147483647 // Measured real power of master unit. Var=ReactivePower_measured signed 32,32 -m /min:-2147483648 /max:2147483647 // Measured reactive power of master unit. [FRAME_CommandFactoryControl] ID=0CFFAF41h Type=Extended DLC=8 Var=WriteSerialNumber signed 6,2 -m /min:-2 /max:1 /e:WriteSerialNumber Var=SerialNumber signed 32,32 -m /min:-2147483648 /max:2147483647 Var=FactoryAccess signed 16,16 -m /min:-32768 /max:32767 [FRAME_CommandSetNVParam] ID=0CFFAA41h // Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Type=Extended DLC=8 Var=CommandSetNVParam_MUX signed 0,16 -m /min:-32768 /max:32767 /e:CommandSetNVParam_MUX Var=Dummy signed 16,16 -m /min:-32768 /max:32767 Var=VUnder50pct signed 16,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V50to88pct signed 32,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V110to120pct signed 48,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=VOver120 signed 16,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=FreqHi signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=FreqLo signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo signed 48,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqLo signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqHi signed 48,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=NodeID signed 16,8 -m /min:-128 /max:127 // J1939 Source Address node for the module. Var=SA_Mask signed 24,8 -m /min:-128 /max:127 // Not presently used. Var=Baudrate signed 32,4 -m /min:-8 /max:7 /e:Baudrate // CAN baudrate Var=ThermalOverload signed 22,2 -m /min:-2 /max:1 /e:ThermalOverload // Configures action to take when thermal overload input is active. Var=MX1Open signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the MX1 contactor to open. Var=MX1Close signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the MX1 contactor to close. Var=MX2Open signed 48,16 -m /min:-32768 /max:32767 // Maximum time required for the MX2 contactor to open. Var=MX2Close signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the MX2 contactor to open. Var=K1Open signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the K1 contactor to open. Var=K1Close signed 48,16 -m /min:-32768 /max:32767 // Maximum time required for the K1 contactor to close. Var=K2Open signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the K2 contactor to open. Var=K2Close signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the K2 contactor to close. [FRAME_CommandModeControlAPU2] ID=00FF9B41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command signed 6,2 -m /min:-2 /max:1 /e:Enable_command // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command signed 4,2 -m /min:-2 /max:1 /e:FaultClear_command // Clears the latched fault message. Var=InvertHwEnable_command signed 62,2 -m /min:-2 /max:1 /e:InvertHwEnable_command // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command signed 60,2 -m /min:-2 /max:1 /e:EnableUPSMode_command // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command signed 58,2 -m /min:-2 /max:1 /e:EnableSplitPhase_command // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command signed 38,2 -m /min:-2 /max:1 /e:ForceRelayMX1_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command signed 36,2 -m /min:-2 /max:1 /e:ForceRelayMX2_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command signed 34,2 -m /min:-2 /max:1 /e:ForceRelayK1_Precharge_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand signed 32,2 -m /min:-2 /max:1 /e:ForceRelayRelayK2_DCRun_comand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command signed 56,2 -m /min:-2 /max:1 /e:PhaseRotation_command // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Var=MasterFollowerMode_command signed 22,2 -m /min:-2 /max:1 /e:MasterFollowerMode_command // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [FRAME_CommandPowerAPU2] ID=0CFF9C41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var=RealPower_command signed 0,32 -m /min:-2147483648 /max:2147483647 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 32,32 -m /min:-2147483648 /max:2147483647 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [FRAME_CommandVFAPU2] ID=0CFF9E41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Desired output voltage while in grid forming mode. Var=Frequency_command signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Desired output frequency while in grid forming mode. [FRAME_MasterMeasuredPowerAPU2] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /min:-2147483648 /max:2147483647 // Measured real power of master unit. Var=ReactivePower_measured signed 32,32 -m /min:-2147483648 /max:2147483647 // Measured reactive power of master unit. [FRAME_justString] ID=1CFFACC0h Type=Extended DLC=8 [FRAME_stringAndOther] ID=1CFFABC0h Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /min:-2147483648 /max:2147483647 // Measured real power of master unit. [FRAME_StatusMeasuredPower] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /min:-2147483648 /max:2147483647 // Measured real power of master unit. Var=ReactivePower_measured signed 32,32 -m /min:-2147483648 /max:2147483647 // Measured reactive power of master unit. [FRAME_StatusCommandedPower] ID=18FFC4F7h // Echoes the commanded power (P&Q) as received in CommandPQ. Type=Extended DLC=8 Var=RealPower_echo signed 0,32 -m /min:-2147483648 /max:2147483647 // Echoed real power command. Var=ReactivePower_echo signed 32,32 -m /min:-2147483648 /max:2147483647 // Echoed reactive power command. [FRAME_StatusBits] ID=0CFFC3F7h // Bits representing the status of the power module. Type=Extended DLC=8 Var=State_status signed 4,4 -m /min:-8 /max:7 /e:State_status // Active control mode. Var=MX2Permissive_status signed 20,2 -m /min:-2 /max:1 /e:MX2Permissive_status // MX2 relay status Var=PowerAvailAC_status signed 12,2 -m /min:-2 /max:1 /e:PowerAvailAC_status // Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Var=PowerAvailDC_status signed 10,2 -m /min:-2 /max:1 /e:PowerAvailDC_status // Indicates that DC bus voltage is within operating range. Var=PowerCircuitEnabled_status signed 8,2 -m /min:-2 /max:1 /e:PowerCircuitEnabled_status // Indicates whether the switching devices are active. Var=HardwareEnable_status signed 14,2 -m /min:-2 /max:1 /e:HardwareEnable_status // Status of the hardware enable. Var=Enable_echo signed 2,2 -m /min:-2 /max:1 /e:Enable_echo // Echos the state of the Enable command withing the CommandModeControl message. Var=FaultClr_echo signed 0,2 -m /min:-2 /max:1 /e:FaultClr_echo // Echos the state of the FaultClear command withing the CommandModeControl message. Var=MessageValidModeControl_status signed 30,2 -m /min:-2 /max:1 /e:MessageValidModeControl_status // Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MX1Permissive_status signed 22,2 -m /min:-2 /max:1 /e:MX1Permissive_status // MX1 relay status Var=K2DCRunPermissive_status signed 16,2 -m /min:-2 /max:1 /e:K2DCRunPermissive_status // K2 DC Run relay status. Var=K1PrechargePermissive_status signed 18,2 -m /min:-2 /max:1 /e:K1PrechargePermissive_status // K1 precharge relay status. Var=MessageValidPowerCMD_status signed 28,2 -m /min:-2 /max:1 /e:MessageValidPowerCMD_status // Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MessageValidVF_status signed 26,2 -m /min:-2 /max:1 /e:MessageValidVF_status // Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Var=CANbus_status signed 24,2 -m /min:-2 /max:1 /e:CANbus_status // Operational status of the CAN bus driver. Var=EnableUPSMode_echo signed 38,2 -m /min:-2 /max:1 /e:EnableUPSMode_echo // Echos the state of the EnableUPSMode command withing the CommandModeControl message. Var=EnableSplitPhase_echo signed 36,2 -m /min:-2 /max:1 /e:EnableSplitPhase_echo // Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Var=PhaseRotation_status signed 34,2 -m /min:-2 /max:1 /e:PhaseRotation_status // Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Var=LineVoltageDetected_status signed 32,2 -m /min:-2 /max:1 /e:LineVoltageDetected_status // Flag indicating if voltage is detected on L1, L2 or L3. Var=PhaseRotation_echo signed 46,2 -m /min:-2 /max:1 /e:PhaseRotation_echo // Echos the state of PhaseRotation_command withing the CommandModeControl message. [FRAME_StatusControlVoltage] ID=1CFFC5F7h // Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Type=Extended DLC=8 Var=v5p0_Supply signed 0,16 -m /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 5V power suppy. Var=v3p3_Supply signed 16,16 -m /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 3.3V power supply. Var=v24_Supply signed 32,16 -m /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 24V power supply. Var=v15_Supply signed 48,16 -m /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 15V power supply. [FRAME_StatusTemps] ID=18FFCBF7h // Returns the inlet water temperature to the module as well as module internal ambient temperature. Type=Extended DLC=8 Var=TempInlet_measured signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Coolant inlet temperature Var=TempInternal_measured signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Internal ambient temperature Var=ConverterLosses signed 32,16 -m /min:-32768 /max:32767 // Power converter thermal loss [FRAME_StatusFaults] ID=0CFFC8F7h // Fault bits. Type=Extended DLC=8 Var=BridgeAVoltageOk_status signed 60,1 -m /min:-1 /max:0 /e:BridgeAVoltageOk_status // Indicates whether a hardware trip has been activated. Var=OvercurrentAC_status signed 4,2 -m /min:-2 /max:1 /e:OvercurrentAC_status // Set immediately upon the software detection of AC current exceeding the threshold value. Var=BridgeBVoltageOk_status signed 44,1 -m /min:-1 /max:0 /e:BridgeBVoltageOk_status // Indicates whether a hardware trip has been activated. Var=OvervoltageDC_status signed 14,2 -m /min:-2 /max:1 /e:OvervoltageDC_status // Set immediately upon the software detection of DC voltage exceeding the threshold value. Var=OvertempPowerDevice_status signed 8,2 -m /min:-2 /max:1 /e:OvertempPowerDevice_status // Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Var=OvertempInternal_status signed 10,2 -m /min:-2 /max:1 /e:OvertempInternal_status // Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Var=LossValidControlMessage_status signed 16,4 -m /min:-8 /max:7 /e:LossValidControlMessage_status // Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Var=UndervoltageDC_status signed 12,2 -m /min:-2 /max:1 /e:UndervoltageDC_status // Indicates loss of DC source voltage. Var=ControlHardwareFail_status signed 20,4 -m /min:-8 /max:7 /e:ControlHardwareFail_status // Set upon the failure of control hardware to return expected response. Var=OvercurrentDC_status signed 0,2 -m /min:-2 /max:1 /e:OvercurrentDC_status // Set immediately upon the software detection of DC current exceeding the threshold value. Var=GeneralFault_status signed 6,2 -m /min:-2 /max:1 /e:GeneralFault_status // Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. Var=LossOfAC_status signed 2,2 -m /min:-2 /max:1 /e:LossOfAC_status // In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Var=EStopShutdown_status signed 30,2 -m /min:-2 /max:1 /e:EStopShutdown_status // Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Var=BridgeAFault_status signed 61,3 -m /min:-4 /max:3 /e:BridgeAFault_status // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=BridgeBFault_status signed 45,3 -m /min:-4 /max:3 /e:BridgeBFault_status // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=IllegalTransition_status signed 28,2 -m /min:-2 /max:1 /e:IllegalTransition_status // Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Var=InvalidEEHeader_status signed 26,2 -m /min:-2 /max:1 /e:InvalidEEHeader_status // Indicates that reading of non-volatile parameters at power-up failed. Var=InvalidEESection_status signed 24,2 -m /min:-2 /max:1 /e:InvalidEESection_status // Indicates that reading or writing of an non-volatile parameter section failed. Var=ThermalOverload signed 38,2 -m /min:-2 /max:1 /e:ThermalOverload // Configures action to take when thermal overload input is active. [FRAME_StatusACParameters] ID=0CFFC2F7h // RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Type=Extended DLC=8 Var=VoltageAC_measured signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured RMS AC voltage. Var=CurrentAC_measured signed 16,16 -m /min:-32768 /max:32767 // Measured RMS AC current. Var=Frequency_measured signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured frequency. [FRAME_StatusDCParameters] ID=1CFFC7F7h // Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Type=Extended DLC=8 Var=VoltageDCBus signed 16,16 -m /min:-32768 /max:32767 // Measured DC bus voltage. Var=CurrentDC_measured signed 32,16 -m /min:-32768 /max:32767 // Measured DC current. Var=VoltageDCInput_measured signed 0,16 -m /min:-32768 /max:32767 // Estimated DC input voltage. [FRAME_StatusControlVolts2] ID=1CFFC6F7h // Present voltage of the -15V power supply on the control board. Type=Extended DLC=8 Var=n15V_Supply signed 0,16 -m /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board -15V power supply. Var=DiodeTemperature signed 32,16 -m /min:-32768 /max:32767 // Hottest diode Var=IGBTTemperature signed 48,16 -m /min:-32768 /max:32767 // Hottest IGBT [FRAME_softwareRev] ID=1CFFC1F7h // Software revision. Type=Extended DLC=8 Var=InterfaceRev signed 16,16 -m /f:0.01 /min:-327.68 /max:327.67 // Software revision of the CAN communication interface. Var=ControlSwRev signed 0,16 -m /f:0.01 /min:-327.68 /max:327.67 // Software revision of the control firmware. Var=BuildTime signed 32,32 -m /min:-2147483648 /max:2147483647 // Build timestamp. [FRAME_StatusCommandVF] ID=18FFC9F7h // Echoes the voltage and frequency commands from commandVF. Type=Extended DLC=8 Var=Voltage_echo signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Echoed voltage command Var=Frequency_echo signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Echoed frequency command. [FRAME_serialNumber] ID=1CFFCCF7h // Serial number of the power module. Type=Extended DLC=8 Var=SerialNumber signed 0,32 -m /min:-2147483648 /max:2147483647 [FRAME_softwareRevHash] ID=1CFFCDF7h // Unique software revision identification hashcode. Type=Extended DLC=8 Var=Hash signed 0,28 -m /min:-134217728 /max:134217727 // Unique revision identification hashcode. [FRAME_StatusNVParam] ID=1CFFA9F7h // Echos back parameter values. Type=Extended DLC=8 Var=StatusNVParam_MUX signed 0,16 -m /min:-32768 /max:32767 /e:StatusNVParam_MUX Var=Dummy signed 16,16 -m /min:-32768 /max:32767 Var=VUnder50pct signed 16,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V50to88pct signed 32,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V110to120pct signed 48,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=VOver120 signed 16,16 -m /min:-32768 /max:32767 // Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=FreqHi signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=FreqLo signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo signed 48,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqLo signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqHi signed 48,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=StatusNodeID signed 16,8 -m /min:-128 /max:127 // J1939 Source Address node for the module Var=StatusSA_Mask signed 24,8 -m /min:-128 /max:127 // Mask used to configure from which master source addresses to accept commands. Var=StatusBaudrate signed 32,4 -m /min:-8 /max:7 /e:StatusBaudrate Var=StatusThermalOverload signed 22,2 -m /min:-2 /max:1 /e:StatusThermalOverload // Configured action to take when thermal overload input is active. Var=StatusMX1Open signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the MX1 contactor to open. Var=StatusMX1Close signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the MX1 contactor to close. Var=StatusMX2Open signed 48,16 -m /min:-32768 /max:32767 // Maximum time required for the MX2 contactor to open. Var=StatusMX2Close signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the MX2 contactor to open. Var=StatusK1Open signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the K1 contactor to open. Var=StatusK1Close signed 48,16 -m /min:-32768 /max:32767 // Maximum time required for the K1 contactor to close. Var=StatusK2Open signed 16,16 -m /min:-32768 /max:32767 // Maximum time required for the K2 contactor to open. Var=StatusK2Close signed 32,16 -m /min:-32768 /max:32767 // Maximum time required for the K2 contactor to close. [FRAME_StatusLineCurrents] ID=18FFD0F7h // Measured RMS line currents. Type=Extended DLC=8 Var=L1Current_measured signed 0,16 -m /min:-32768 /max:32767 // Measured L1 RMS line current. Var=L2Current_measured signed 16,16 -m /min:-32768 /max:32767 // Measured L2 RMS line current. Var=L3Current_measured signed 32,16 -m /min:-32768 /max:32767 // Measured L3 RMS line current. [FRAME_StatusLineVoltages] ID=18FFD1F7h // Measured RMS line voltages. Type=Extended DLC=8 Var=L1Voltage_measured signed 0,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured L1 RMS line-neutral voltage Var=L2Voltage_measured signed 16,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured L2 RMS line-neutral voltage Var=L3Voltage_measured signed 32,16 -m /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/reference/from_arxml/test_CAN.xls000066400000000000000000003240001416730473300227750ustar00rootroot00000000000000ࡱ>   \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     `5 K-Matrix qID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment UnitFF9B41xhFRAME_CommandModeControlAPU2spontanXFaultClear_command!Clears the latched fault message. mNormal Clear FaultsErrorN/AEnable_commandRun command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.DisableEnableMasterFollowerMode_commandSpecifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.MasterFollowerForceRelayRelayK2_DCRun_comandIf set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.Force OnForceRelayK1_Precharge_commandForceRelayMX2_commandForceRelayMX1_commandPhaseRotation_command`Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.NegativePositiveEnableSplitPhase_command|Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.Normal - Three Phase ModeEnable Split Phase ModeEnableUPSMode_commandEnables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.InvertHwEnable_command/Inverts the logic of the Hardware Enable input. No invertInvertFFAB41xhFRAME_CommandModeControl CFF9C41xhFRAME_CommandPowerAPU2RealPower_command~Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.-2.14748e+09..2.14748e+09ReactivePower_commandCommanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. CFF9E41xhFRAME_CommandVFAPU2Voltage_command2Desired output voltage while in grid forming mode.-3276.8..3276.70.1 -Frequency_command4Desired output frequency while in grid forming mode. CFFAA41xhFRAME_CommandSetNVParamCommandSetNVParam_MUXParam0LVM_ClearingTimes1LVM_ClearingTimes2 LFM_LimitsLFM_ClearingTimesJ1939_Interface Fault_ConfigContactorDelays1ContactorDelays2ContactorDelays3Dummy -32768..32767FreqHiDetermines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. FreqVeryLoDetermines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.K2Open3Maximum time required for the K2 contactor to open.MX1Open4Maximum time required for the MX1 contactor to open.MX2Close4Maximum time required for the MX2 contactor to open.NodeID)J1939 Source Address node for the module. -128..127VOver120Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. VUnder50pctDetermines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.ThermalOverload@Configures action to take when thermal overload input is active.WarningFaultSA_MaskNot presently used.Baudrate CAN baudrate125K250K500K1MFreqLoK1Open3Maximum time required for the K1 contactor to open.K2Close4Maximum time required for the K2 contactor to close.MX1Close5Maximum time required for the MX1 contactor to close. V50to88pctDetermines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.K1Close4Maximum time required for the K1 contactor to close.MX2Open V110to120pctDetermines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. CFFAC41xhFRAME_CommandPowerRealPower command CFFAE41xhFRAME_CommandVF CFFAF41xhFRAME_CommandFactoryControlWriteSerialNumber FactoryAccess SerialNumber CFFC2F7xhFRAME_StatusACParametersVoltageAC_measuredMeasured RMS AC voltage.CurrentAC_measuredMeasured RMS AC current.Frequency_measuredMeasured frequency. CFFC3F7xhFRAME_StatusBits FaultClr_echoQEchos the state of the FaultClear command withing the CommandModeControl message. Enable_echoMEchos the state of the Enable command withing the CommandModeControl message. State_statusActive control mode."Power On Reset, and a quoted commaReady FollowingFormingPowerCircuitEnabled_status3Indicates whether the switching devices are active.DisabledEnabledPowerAvailDC_status8Indicates that DC bus voltage is within operating range.None AvailablePowerAvailAC_status^Indicates that AC power is connected and that voltage and frequency are within nominal ranges.HardwareEnable_statusStatus of the hardware enable. Not ActiveActiveK2DCRunPermissive_statusK2 DC Run relay status.OpenClosedK1PrechargePermissive_statusK1 precharge relay status.MX2Permissive_statusMX2 relay statusMX1Permissive_statusMX1 relay status CANbus_status)Operational status of the CAN bus driver. ErrorPassiveMessageValidVF_statusIndicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.InvalidValidMessageValidPowerCMD_statusIndicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.MessageValidModeControl_statusIndicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.LineVoltageDetected_status7Flag indicating if voltage is detected on L1, L2 or L3. No_VoltageVoltage_DetectedPhaseRotation_statusaPhase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.EnableSplitPhase_echoWEchos the state of the EnableSplitPhase command withing the CommandModeControl message.EnableUPSMode_echoTEchos the state of the EnableUPSMode command withing the CommandModeControl message.PhaseRotation_echoPEchos the state of PhaseRotation_command withing the CommandModeControl message. CFFC8F7xhFRAME_StatusFaultsOvercurrentDC_statusXSet immediately upon the software detection of DC current exceeding the threshold value. Fault ActiveLossOfAC_statusIn grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.OvercurrentAC_statusXSet immediately upon the software detection of AC current exceeding the threshold value.GeneralFault_statuspWill be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.OvertempPowerDevice_statusaSet immediately upon the software detection of an IGBT temperature exceeding the threshold value.OvertempInternal_statusnSet immediately upon the software< detection of an internal inverter temperature exceeding the threshold value.UndervoltageDC_status$Indicates loss of DC source voltage.OvervoltageDC_statusXSet immediately upon the software detection of DC voltage exceeding the threshold value.LossValidControlMessage_statusSet whenever a control message required for operation contains out of range data or has not been received within the required timeout period.ControlHardwareFail_statusESet upon the failure of control hardware to return expected response.InvalidEESection_statusNIndicates that reading or writing of an non-volatile parameter section failed.InvalidEEHeader_statusEIndicates that reading of non-volatile parameters at power-up failed.IllegalTransition_statusIndicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.EStopShutdown_statusSet when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.BridgeBVoltageOk_status5Indicates whether a hardware trip has been activated.BridgeBFault_statusEach bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.FLT_AFLT_C OverVoltageFLT_B Overcurrent5VBridgeAVoltageOk_statusBridgeAFault_status CFFCAF6xhFRAME_MasterMeasuredPowerRealPower_measured#Measured real power of master unit.ReactivePower_measured'Measured reactive power of master unit. CFFCAF7xhFRAME_StatusMeasuredPower 18FFC4F7xhFRAME_StatusCommandedPowerRealPower_echoEchoed real power command.ReactivePower_echoEchoed reactive power command. 18FFC9F7xhFRAME_StatusCommandVF Voltage_echoEchoed voltage commandFrequency_echoEchoed frequency command. 18FFCBF7xhFRAME_StatusTempsTempInlet_measuredCoolant inlet temperatureTempInternal_measuredInternal ambient temperatureConverterLossesPower converter thermal loss 18FFD0F7xhFRAME_StatusLineCurrentsL1Current_measuredMeasured L1 RMS line current.L2Current_measuredMeasured L2 RMS line current.L3Current_measuredMeasured L3 RMS line current. 18FFD1F7xhFRAME_StatusLineVoltagesL1Voltage_measured$Measured L1 RMS line-neutral voltageL2Voltage_measured$Measured L2 RMS line-neutral voltageL3Voltage_measured$Measured L3 RMS line-neutral voltage 1CFFA9F7xhFRAME_StatusNVParamStatusNVParam_MUX ActParam0ActLVM_ClearingTimes1ActLVM_ClearingTimes2 ActLFM_LimitsActLFM_ClearingTimesStatusJ1939_InterfaceStatusFault_ConfigStatusContactorDelays1StatusContactorDelays2StatusContactorDelays3 StatusK2Open StatusMX1OpenStatusMX2Close StatusNodeID(J1939 Source Address node for the moduleStatusThermalOverload@Configured action to take when thermal overload input is active. StatusSA_MaskMMask used to configure from which master source addresses to accept commands.StatusBaudrate StatusK1Open StatusK2CloseStatusMX1Close StatusK1Close StatusMX2Open 1CFFABC0xhFRAME_stringAndOther 1CFFACC0xhFRAME_justString 1CFFC1F7xhFRAME_softwareRev ControlSwRev*Software revision of the control firmware.-327.68..327.670.01 - InterfaceRev5Software revision of the CAN communication interface. BuildTimeBuild timestamp. 1CFFC5F7xhFRAME_StatusControlVoltage v5p0_Supply4Present voltage of the control board 5V power suppy. v3p3_Supply7Present voltage of the control board 3.3V power supply. v24_Supply6Present voltage of the control board 24V power supply. v15_Supply6Present voltage of the control board 15V power supply. 1CFFC6F7xhFRAME_StatusControlVolts2 n15V_Supply7Present voltage of the control board -15V power supply.DiodeTemperature Hottest diodeIGBTTemperature Hottest IGBT 1CFFC7F7xhFRAME_StatusDCParametersVoltageDCInput_measuredEstimated DC input voltage. VoltageDCBusMeasured DC bus voltage.CurrentDC_measuredMeasured DC current. 1CFFCCF7xhFRAME_serialNumber 1CFFCDF7xhFRAME_softwareRevHashHash(Unique revision identification hashcode.-1.34218e+08..1.34218e+08    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                     ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~             ~    ~  !           ~    ~  "           ~    ~             ~    ~           # $~    ~       # $~        ~   %    # $~        ~       # $~        ~        & $~        ~        & $~        ~   %     & $~        ~        & $~        ~       ' $~        ~       ' $~        ~   %    ' $~        ~       ' $~        ~       ( $~        ~       ( $~        ~   %    ( $~        ~       ( $~        ~      " ) *~        ~   +   " ) *~        ~   ,   " ) *~        ~          " ) *~    ~   ! ! !! !!!"  !- !.~ !  !  !  ! ~ !  !/!" " "" """"  "- ".~ "  "  "  " ~ "  "0"# # ## ###"  #- #.~ #  #  #  # ~ #  ##$ $ $$ $$$"  $- $.~ $  $  $  $ ~ $  $$% % %% %%%" %1 %2~ %  %  %  % ~ %  %%& & && &&&" &1 &2~ &  &  &  & ~ &  &&' ' '' '''" '1 '2~ '  '  '  ' ~ '  ''( ( (( (((" (1 (2~ (  (  (  ( ~ (  (() ) )) )))" )3 )4~ )  )  )  ) ~ )  )5)* * ** ***" *3 *4~ *  *  *  * ~ *  *6*+ + ++ +++" +3 +4~ +  +  +  + ~ +  ++, , ,, ,,," ,3 ,4~ ,  ,  ,  , ~ ,  ,,- -7 -8- --- - -~ -  -  -  - ~ -  --. .7 .8. ... . .~ .  .  .  . ~ .  ../ /7 /8/ /// / /~ /  /  /  / ~ /  //0 07 080 000 0 0~ 0  0  0  0 ~ 0  001 17 181 111 1 1~ 1  1  1  1 ~ 1  112 27 282 222 2 2~ 2  2  2  2 ~ 2  223 37 383 333 3 3~ 3  3  3  3 ~ 3  334 47 484 444 4 4~ 4  4  4  4 ~ 4  445 57 585 555 5 5 ~ 5  5  5  5 ~ 5  5!56 67 686 666 6 6 ~ 6  6  6  6 ~ 6  6"67 77 787 777 7 7 ~ 7  7  7  7 ~ 7  778 87 888 888 8 8 ~ 8  8  8  8 ~ 8  889 97 989 999 9# 9$~ 9  9  9  9 ~ 9  99: :7 :8: ::: :# :$~ :  :  :  : ~ :  :%:; ;7 ;8; ;;; ;# ;$~ ;  ;  ;  ; ~ ;  ;;< <7 <8< <<< <# <$~ <  <  <  < ~ <  <<= =7 =8= ===  =& =$~ =  =  =  = ~ =  ==> >7 >8> >>>  >& >$~ >  >  >  > ~ >  >%>? ?7 ?8? ???  ?& ?$~ ?  ?  ?  ? ~ ?  ??@ @7 @8@ @@@  @& @$~ @  @  @  @ ~ @  @@A A7 A8A AAA A' A$~ A  A  A  A ~ A  AAB B7 B8B BBB B' B$~ B  B  B  B ~ B  B%BC C7 C8C CCC C' C$~ C  C  C  C ~ C  CCD D7 D8D DDD D' D$~ D  D  D  D ~ D  DDE E7 E8E EEE E( E$~ E  E  E  E ~ E  EEF F7 F8F FFF F( F$~ F  F  F  F ~ F  F%FG G7 G8G GGG G( G$~ G  G  G  G ~ G  GGH H7 H8H HHH H( H$~ H  H  H  H ~ H  HHI I7 I8I III" I) I*~ I  I  I  I ~ I  I+IJ J7 J8J JJJ" J) J*~ J  J  J  J ~ J  J,JK K7 K8K KKK" K) K*~ K  K  K  K ~ K  KKL L7 L8L LLL" L) L*~ L  L  L  L ~ L  LLM M7 M8M MMM"  M- M.~ M  M  M  M ~ M  M/MN N7 N8N NNN"  N- N.~ N  N  N  N ~ N  N0NO O7 O8O OOO"  O- O.~ O  O  O  O ~ O  OOP P7 P8P PPP"  P- P.~ P  P  P  P ~ P  PPQ Q7 Q8Q QQQ" Q1 Q2~ Q  Q  Q  Q ~ Q  QQR R7 R8R RRR" R1 R2~ R  R  R  R ~ R  RRS S7 S8S SSS" S1 S2~ S  S  S  S ~ S  SST T7 T8T TTT" T1 T2~ T  T  T  T ~ T  TTU U7 U8U UUU" U3 U4~ U  U  U  U ~ U  U5UV V7 V8V VVV" V3 V4~ V  V  V  V ~ V  V6VW W7 W8W WWW" W3 W4~ W  W  W  W ~ W  WWX X7 X8X XXX" X3 X4~ X  X  X  X ~ X  XXY Y9 Y:Y YYY Y; Y<~ Y  Y  Y  Y Y  Y=YZ Z9 Z:Z ZZZ Z> Z?~ Z  Z  Z  Z Z  Z=Z[ [@ [A[ [[[ [B [C~ [ B [  [  [ [  [D [E\ \@ \A\ \\\ \F \G~ \ B \  \  \ \  \D \E] ]H ]I] ]]] ]J]~ ] B ]  ]  ] ~ ]  ]K]^ ^H ^I^ ^^^ ^J^~ ^ B ^  ^  ^ ~ ^  ^L^_ _H _I_ ___ _J_~ _ B _  _  _ ~ _  _M_` `H `I` ``` `J`~ ` B `  `  ` ~ `  `N`a aH aIa aaa aJa~ a B a  a  a ~ a  aOab bH bIb bbb bJb~ b B b  b  b ~ b  bPbc cH cIc ccc cJc~ c B c  c  c ~ c  cQcd dH dId ddd dJd~ d B d  d  d ~ d  dRde eH eIe eee eJe~ e B e  e  e ~ e " eSef fH fIf fff fJf~ f B f  f  f ~ f * fTfg gH gIg ggg gUg~ g B g  g  g g  gVgh hH hIh hhh hW hX~ h B h  h  h h  hD hEi iH iIi iii iY iZ~ i B i  i  i i  iD iEj jH jIj jjj j[ j\~ j B j  j  j j  jVjk kH kIk kkk k] k^~ k B k  k  k k  kVkl lH lIl lll l_ l`~ l B l  l  l l  lVlm mH mIm mmm ma mb~ m " m  m  m m  mcmn nH nIn nnn nd ne~ n B n  n  n n  nVno oH oIo ooo of og~ o B o  o  o o  oVop pH pIp ppp ph pi~ p  p  p  p ~ p  pjpq qH qIq qqq qh qi~ q  q  q  q ~ q  qkqr rH rIr rrr rh ri~ r  r  r  r ~ r  rrs sH sIs sss sh si~ s  s  s  s ~ s  sst tH tIt ttt tl tm~ t " t  t  t t  tctu uH uIu uuu un uo~ u  u  u  u ~ u  upuv vH vIv vvv vn vo~ v  v  v  v ~ v  vqvw wH wIw www wn wo~ w  w  w  w ~ w  wrwx xH xIx xxx xn xo~ x  x  x  x ~ x  xsxy yH yIy yyy yt yZ~ y B y  y  y y  yD yEz zH zIz zzz zu zv~ z B z  z  z z  zVz{ {H {I{ {{{ {w {x~ { B {  {  { {  {V{| |H |I| ||| |y |z~ | B |  |  | |  |V|} }H }I} }}} }{ }|~ } B }  }  } }  }V}~ ~H ~I~ ~~~ ~W ~X~ ~ B ~  ~  ~ ~  ~D ~E H I  Y Z~  B        D E H I  } ~~ B     V H I   `~ B     V H I   ~ B     V     <~      =    > ?~      =    B C~ B     D E    F G~ B     D E    ~    ~      ~    ~      ~    ~      ~    ~      ~ B     V    ~      =     ~ B     D E     ~ B     V     ~ B     D E     ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  k     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~ "      ~    ~ &      ~    ~ *      ~    ~ .      ~    ~ 2      ~    ~ 6      ~    ~ :      ~    ~ >       ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  j     ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~  +      ~    ~  ,      ~    ~        ~    ~       ~    ~  /     ~    ~  0     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  +     ~    ~  ,     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~        ~          ~        ~          ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~             ~        ~              ~        ~              ~        ~             ~        ~             ~        ~         ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~         ~        ~         ~        ~         ~        ~         ~        ~        ~        ~        ~        ~        ~        ~        ~        ~            ~        ~    ! ! !! !!! ! !~ !  !  !  ! ~ !  !!" " "" """ " "~ "  "  "  " ~ "  ""# # ## ### # #~ #  #  #  # ~ #  ##$ $ $$ $$$ $h $i~ $  $  $  $ ~ $  $j$% % %% %%% %h %i~ %  %  %  % ~ %  %k%& & && &&& &h &i~ &  &  &  & ~ &  &&' ' '' ''' 'h 'i~ '  '  '  ' ~ '  ''( ( (( ((( ( (~ (  (  (  ( ~ (  (() ) )) ))) ) )~ )  )  )  ) ~ )  ))* * ** *** * *~ *  *  *  * ~ *  **+ + ++ +++ + +~ +  +  +  + ~ +  ++, , ,, ,,, , ,~ ,  ,  ,  , ~ ,  ,,- - -- --- - -~ -  -  -  - ~ -  --. . .. ... . .~ .  .  .  . ~ .  ../ / // /// / /~ /  /  /  / ~ /  //0 0 00 000 0 0~ 0  0  0  0 ~ 0  001 1 11 111 1 1~ 1  1  1  1 ~ 1  112 2 22 222 2 2~ 2  2  2  2 ~ 2  223 3 33 333 3 3~ 3  3  3  3 ~ 3  334 4 44 444" 4 4~ 4  4  4  4 ~ 4  445 5 55 555" 5 5~ 5  5  5  5 ~ 5  556 6 66 666" 6 6~ 6  6  6  6 ~ 6  667 7 77 777" 7 7~ 7  7  7  7 ~ 7  778 8 88 888" 8 8~ 8  8  8  8 ~ 8  889 9 99 999" 9 9~ 9  9  9  9 ~ 9  99: : :: :::" : :~ :  :  :  : ~ :  ::; ; ;; ;;;" ; ;~ ;  ;  ;  ; ~ ;  ;;< < << <<<" < <~ <  <  <  < ~ <  <<= = == ===" = =~ =  =  =  = ~ =  ==> > >> >>>" > >~ >  >  >  > ~ >  >>? ? ?? ???" ? ?~ ?  ?  ?  ? ~ ?  ??@ @ @@ @@@ @ @~ @  @  @  @ @  @=@A A AA AAA A A~ A  A  A  A A  A=AB B BB BBB B B~ B  B  B  B B  B=BC C CC CCC C C~ C  C  C  C C  C=CD D DD DDD D D~ D  D  D  D D  D=DE E EE EEE E E~ E  E  E  E E  E=EF F F F FFF F  F ~ F B F  F  F F  FD FEG G G G GGG G  G ~ G B G  G  G G  GD GEH H HH HHH H H~ H B H  H  H H  HD HEI I II III I I~ I B I  I  I I  ID IEJ J JJ JJJ J J~ J B J  J  J J  JVJK K KK KKK K K~ K B K  K  K K  KVKL L LL LLL L L~ L B L  L  L L  LVLM M MM MMM M M~ M B M  M  M M  MVMN N NN NNN N  N!~ N B N  N  N N  ND NEO O OO OOO O" O#~ O B O  O  O O  OD OEP P PP PPP P$ P%~ P B P  P  P P  PD PEQ Q& Q'Q QQQ Q(Q~ Q B Q  Q  Q ~ Q  Q)QR R& R'R RRR R(R~ R B R  R  R ~ R  R*RS S& S'S SSS S(S~ S B S  S  S ~ S  S+ST T& T'T TTT T(T~ T B T  T  T ~ T  T,TU U& U'U UUU U(U~ U B U  U  U ~ U  U-UV V& V'V VVV V(V~ V B V  V  V ~ V  V.VW W& W'W WWW W(W~ W B W  W  W ~ W  W/WX X& X'X XXX X(X~ X B X  X  X ~ X  X0XY Y& Y'Y YYY Y(Y~ Y B Y  Y  Y ~ Y " Y1YZ Z& Z'Z ZZZ Z(Z~ Z B Z  Z  Z ~ Z & Z2Z[ [& ['[ [[[ [U[~ [ B [  [  [ [  [V[\ \& \'\ \\\ \W \X~ \ B \  \  \ \  \D \E] ]& ]'] ]]] ]Y ]Z~ ] B ]  ]  ] ]  ]D ]E^ ^& ^'^ ^^^ ^3 ^\~ ^ B ^  ^  ^ ^  ^V^_ _& _'_ ___ _4 _^~ _ B _  _  _ _  _V_` `& `'` ``` `5 ``~ ` B `  `  ` `  `V`a a& a'a aaa a6 a7~ a " a  a  a a  acab b& b'b bbb bd be~ b B b  b  b b  bVbc c& c'c ccc cf cg~ c B c  c  c c  cVcd d& d'd ddd d8 d9~ d  d  d  d ~ d  djde e& e'e eee e8 e9~ e  e  e  e ~ e  ekef f& f'f fff f8 f9~ f  f  f  f ~ f  ffg g& g'g ggg g8 g9~ g  g  g  g ~ g  ggh h& h'h hhh h: h;~ h " h  h  h h  hchi i& i'i iii it iZ~ i B i  i  i i  iD iEj j& j'j jjj j<j~ j  j  j  j ~ j  jpjk k& k'k kkk k<k~ k  k  k  k ~ k  kqkl l& l'l lll l<l~ l  l  l  l ~ l  lrlm m& m'm mmm m<m~ m  m  m  m ~ m  msmn n& n'n nnn n= nv~ n B n  n  n n  nVno o& o'o ooo o> ox~ o B o  o  o o  oVop p& p'p ppp p? pz~ p B p  p  p p  pVpq q& q'q qqq q{ q|~ q B q  q  q q  qVqr r& r'r rrr rW rX~ r B r  r  r r  rD rEs s& s's sss sY sZ~ s B s  s  s s  sD sEt t& t't ttt t@ t~~ t B t  t  t t  tVtu u& u'u uuu uA u`~ u B u  u  u u  uVuv v& v'v vvv v v~ v B v  v  v v  vVvw wB wCw www w w~ w  w  w  w w  w=wx xD xEx xxy yF yGy yyy yH yI~ y B y  y  y y  yJ yKz zF zGz zzz zL zM~ z B z  z  z z  zJ zK{ {F {G{ {{{ {N {O~ {  {  {  { {  {={| |P |Q| ||| |R |S~ | B |  |  | |  |J |K} }P }Q} }}} }T }U~ } B }  }  } }  }J }K~ ~P ~Q~ ~~~ ~V ~W~ ~ B ~  ~  ~ ~  ~J ~K P Q  X Y~  B        J K Z [  \ ]~  B        J K Z [  ^ _~  B        V Z [  ` a~  B        V b c  d e~  B        V b c  f g~  B        V b c  h i~  B        V j k  ~          = l m  n o~  r        p>@A    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_arxml/test_CAN.xlsx000066400000000000000000000766361416730473300232100ustar00rootroot00000000000000PK]LZYTxl/worksheets/sheet1.xml_s$ǵ_O+W)$9#70h1q{<E!9 r$\voЩFbF/~oݽ>7?/~|~?>x//?|_~ti?~ϙ~>оW<>~ORݏumv/Ļÿ7ݷ?<}F?MՇ~> ow<4~nkKakan馸 SuuVtakck_$_ K6w~6/o|ik+1M/_o/?~/~ ϟ}z{j~ߌ|;?t/<&DsL1&c2&c➉x`b:&21L,UXP*ꩮH\$R=wٟ엟jm9A,kWho_UW}H[W},W[]ގ(o')yW<z^a>w axl0HM C]sy`0c5 V #\AknGV0Dz{OcEyP< }6 ak }U`vdH C_P=?aH0܆A"5 C 05!a`j C0܎a M@R$ m$R00HM C]s#˱z39)ջIUknGV07QbkaJ0݆A"5 S 05;C9VDjjvdH &U+9 |05 RSP\9k0 R^p;Ja 3`a>aI°܆A"5 K 05%a `ZA"5 K0܎aX=B=r/&.E ,Se6 &U_? BDqu< F"Z*z a[t4Y: *QW]+JG9: (tάMWGY<#m6Ad@G : tUFtp=!Ftpq;Zt&c v=ґMB[Zt@\Z耺ܮ(]D# HG`ZtoĬ=ґ՘McZtdZlJOznXīL@:ngVˀ>wf@Gk6 iiUr)"(A# HGqZtjn8MVt6 iiUst\tHttά{}j{b1ё5MB}Zt@~Zl)ɀȁ#aA-:J}E(g&ɪ&B-:`C t6 *|h C2#X*ۙ2;d;^3#F *AڔtA#% HG“ZtR;\ium•ZmYpV,q@ej:E2ngVˠC+OzQ>#YW&\e@\UҶ4惬G:$:"W*+ (]ihJh\ium•ZtZ+mKA:Auvh U& 3e@Gy#h YW&\e@\UQC2#r2HRˀҕm0wOHG֕ WjWjUttD 舚?eґh @hqf]ippV:JȕAxPБpmJeґpQGhKW}Ǚ+mMRˀRpm)AGw5̐=T& QˀE&Iͺ6J-:J t+= G:\L@:2#mJ8sm֕ WjWjU#:QYt0C:Rt$ZH-:&V\)gmm֕ WjWjU\atp=ґpmJeґpQWiKW}Ǚ+KRJ WڕwACG{?@Q^eb2ƨ^I2#J+ +*Wڕtɀȕ#J-:Ҏ.J+ +*WڵmD#Q_L@:}Q_i'wOHG֕v WjWjUttt\tHtDT&  WjQz߱ Ⱥ.J-:J tv =|h24Z*D_e@GWjvˀ+2Ԫ@\iWJhYtHtDT&  Wjvt\qJ+2Ԫ@\vEZ>d=!#WjvJ8+KRˀRphYtHtDT&  Wjvtw.J+ +*Wڕt8YM 8)+ HG2#+ 8 Ⱥ.J-:J tv W :!+ HG•ZtD}])\iu}•ZzZ+:8ًɀ"8+WȬ^Q_i/'|YW'\e@\U>rA!t0C:"W*+ J{R;3Wg]ippV:JRr=jfچ#Wj+?g2#J+ +*W]Q:AHd@GJeґp+`JYʧ{#J+ +*W]Q:G:$:Rt$J-:m0wYW'\e@\U>rAHd@GJeґpQ_iOW}Ǚ++WcA2c kfUlW0MM(3<~\0vf `(o یaȪўtHt@JK1 :A!1#R6HQˀ5mƙj$PRE:F9c@to&6Rˀ5mYiUB!5*Uj_":"5j1#R6HQˀ6LY5:,LM5*U<jt(} 'DևZ>v&Y6R&?V2#FC2jTHPIO*ɀH#F-:6ҁj gjtȪсtHt@Jݮ( HmБh# Hq|G:jtY:$:Ft@nWHzC2#R6HQˀRTFM*gjtȪAd! *5:0:( qxej5F*De@GFj[tvId! 7/ez߽TIQYtHt_W0e)j#Fq,pFl~F!Ё6R"h#ݮ(cD= :$:6Rt$H-:6m0wYW:$\e@\Ta^#+ HG•ZtDmR;\uC•ZtJ+Ia=ᵖ@Q^eґh# Hm;H+2TH\PJQszБ!r2HRˀt+qÙ+tLRtpR+:5LMa_h#LMJ}Gttd]ppRE:J&#{Yt$'#W*+ HGR;3W:f]ppRE:Jx1#! Heґh# Hmz߱e@G֕ WjW*UttA#+ HG•Ztwl|G:tLRˀR"p#|Hd@GF*De@GF F61JDŽ+ +*W:џz#q#YW:%\e@\TEtp=ґpE@G•&2e@GJ}6;ʧ{#J+ +*W:`)D{k-SwDf J`qW:e]ppRE:JTke=!Rt$\e@GW:ѕX̕NYW:%\e@\T1FtѣC2#+ HG2#+ĕbqW:e]ppRE:J)#{YtHtDT&  WjNtw)J+ +*W:EǓN=|hqxe+Jeґ+ J7ڳ)J+ +*W:tD_{/ɀȕ#J-:҉ǢOgtκ9J-S1ÕJ@e 蘃YtX#Z*DfLMJ}Gttd]ppRE:J&#{YtHtDT&  Wjtwgtκ9J-:JtSJ΁#Wj[td]ppRE:J+JG9:ĕy%#r2HRˀҕm=ґus•ZtJ+ݮ(}D#J@GW*D_e@GW F9J+ +*W:G0:ăy%#r2HRˀt+̕YW:'\e@\Tҹ?iqxej6*D_e@GWjeˀ+2TH\ 萻+ HG•ZtD}3])E\us•ZtJ+爎k.Ad@GW*D_e@GW:lž㬯tκ9J-:JtΑ+= K!Rt$\e@GW:ӕrqJʕ°Ñ畞eNe6 0]w`e XoBG\eАȬiyf~WV Ed' *2!n; *±LW3q`BD$Y-&^3;r`:2Qi 5j7@]uٮB9.L5;k8Y-d_fE~.pD2SH R*$ (NQ45%J8)Y-J7Hd(,EЦB2] E~`.}(e_CQx\pN"p;Z/^\Fsl#  pRE800= Ȭ QB9տZ,gJs*ͅ0H0@iJaܮ( Q%`{<ݞju{.4SݱU# YPL" 0u{]zz!!,2!j\(,'l΄ a `*a s%`{<~2Y-J?0ONuOr'\(dTe` zCBG&2eC#ȹnXtds|IAC5{h@.%c8ZCZS55k.lZ x GOhG-#*_7逭:rtDG꽒zjMґ̄V RNrnAYfs|IޤCBV'tst!r^Zt$=Z5D:֧}8Ɗ|IޤCB(хtȽzjMiۡUCPkox-Ym|ICBV'x+(`[\y*(g< " > աB"k3_7H=T 0^:Cbo^Pkui$$C@HX?4tGs/ɛ$*IO]^/a8>u⸎`h̄V ذN)6YCM‘%e6S eRkin:#ȟۡUCf"6IE]I֜$oBp{$aOYwytIKh߿$CLh! ?oF%ySC$ ʺ3HDž[Y z\G KBr;j,D<+!Y iҢɈV U .N 9rB֙kFd 2#[hg^D̡b$[nn:a J8JF"Suq%$IOTCVǷ$]w1w:޵iCL?&GKNbOսǕ_gBIKLDom2BĄV &j"=jj&Ju˹!$zI5DJOHLwJL6'k!C'+uB vɉ)GI)XĔ+!"1i bhl?6 bg]VMFZPJCe !1BHL6O) rݔSʇG]MFZPJCY]r`YS+9DL`b L:cmm2BVjڦ= 5mCw+7猧MV zZߜO=mMZJPBO۔()lOz9]WC(ɈZ 8SAh^jNmMFZPJCi۔ͩ$&5K68GYi\ WH .%%0 blM)sX $&Z5b}|Aq*uELk!C+uB }nۄĄc)ӄd:jUC$&: u-_~=*uELZk!C+uB n[*UVmmeZ,mlve!&cv-Dbhv,:kfiӮ͸^ ^nz.&h >^>_<$ddo"jtGntYWamFZPJ`B!&a6Z^9K|qe$ӈk!bF\LNq۴m3VBĄVWZv1 q[ͦSh;$dZqUCĄR' ]nq"&tR'cIxRj6Ǿ+ &Dh1a &gg6mk!bB+u n[ SnM$ĝIh+s$k!BB+u6tیҵҕ:JClBJ?**z˝Jz+s6k!b[l$tMk!bC+u n؄͸ٷB;a%'ӎ"8lǕ:tڎۥen&e]^/`r&X?$ŦBD %Ъ!P݁#%e]EIZvk!RB+uB nql᳦a%$Ӑ"&lȕ:!;9e:)~?{8U q/}1~x>.|m"qsWSʺ ě '"'ԲVHNePF M%|&)"&*ɩ*)S?TX{H!.%(GI)?S8Pq;jTԏI_~o6]v"NKzY+$8]x@BzَCk&w9:7Uvd+HN+T"ͦ͠@d+>e*|X|Z!.9ѷ\͒{|$Ή̈́V 軭} |%V|k'nTzBA]r>%898-H "ѷ[Q*_bGڰv"AK:V+$t}ӕ,aiGQ6Z5D>G)hCNdZ~Mr .N}(W{Y_ܖʼ$Z5@pOVGG֟>R{BHe >(Mi>d^"cN-D*hN?59E30bk-$4%q%vPb;-24Z5D.NZ>-S{e1N(Sf񧣚ŸVt2:5Z5DtSN~М>Kb).W+$(r.(AUS0Lk"jU=FB1aIMy)Z@k E IJ]w/OrȚT+q9ۡUC%xO:|!^RK6Z!avɑ)G)XȄL C.Y`+dҺ7)XPZ!nCz%2 c)"XCX °44l])XZ!C{%2 c)"JYCHY 0ާ}4nR)XPZ!탿ݿ?@FZZfm)ft9L߫LSs-dDM .%E0 dlM") t9L"j wQWȤ% UĵB"C]rdYS VLH R2c/3^|2 9t@VHdxvɑiCddMARD&Xjs2CLp>eG]!VI\"c)"CkDw8(V S@F$ի)h!dLL`S;`>XZ!.93(5K`!"3?}|A8|3A:^K6Z!aCvəBfdMaRd&Xjs3k-DfkCYW̤"3VHf(PFɌ]2c)2t9 O(i< !4Q2cnX+]ma&c-Df}A xH+!5EfP>dRd&Xjs3l!26*!B"C<,!2I c)"i+s2V] R@&Ӫ[>#2cZ)) 3R[!AeFId4d6IV 18iOVcJkP[!C|%2&wLx!dLg # Ȝ*1ǔB"C< 0JdLK`!dL Q xL)`M*`+$2T%G 5K`!"2/ t̤R"3TVHfP5VLF[0H,̜*1ǔB2C< x )̤pf2 BdpH,̜*1ǔB2C< x )̤pf2 Bd < 3 xL+15EfPClk 3)t99< 3 xL+15EfPClk 3)t99 R6o=>60i ۀxJI`M .%e0 flM2)0 3Ъ!03}%pS+fxJY`MZ`+$3SЀ{%30c)26L[̄X`4OxJ[)e5EdhOAqȚL,s2 l!"6O o~׉Dq9WY_/_V1vSk[!Q2#k 3"3I20q"3 fm7sꀧRXSd ̄}0c)2+s3>` @H?nxN+95df*`+29}5LtW$BcFi< 9Q>S6:MAEq9 "21OIӖ"3i< *9TQ2#k 3"39)0v33pSóI;95Ef耭o.dFf,EfЪ!2}4͔B&B"C]rdYS !dLB&mB"C<߭vŇ3Uh3Ai :od2_f!"'AdS XSd \W2lk 3"39  nf>us))2CldxBfÀmMaRd&< Xf2}"3ahdfNۀS XSD <ȄۚLeA&-DdÀg*`͜9mB"C<OvŇNy eA&l!"v "3]KZ/))0P[!Ae,}5ɌL 3Ъ!0] fSr"3tVHf耗&d&<f,Ef.`Ct[̄]hdfG]!VKJkP[!^8`[S !dLPs7%mB"CtO8'rM[X̄ Xf2 Bd&^m7sꀗ^RXSd ,!3& ea&l!2v/9n %y O -aedGkd|OW9L&jF5仙}4uL$o#1{@&aYwy8Z8kNzpItgBLS {d K62 du#kKLkDMh6sۻ~If&TLB_rf[Xt!3CZ5Df//tdK63 f u3ӇؚdRd&R60P"3O\G̙n%yS2 ̺륳LBr Xj2Q!$5Dd.`A5)2U/d*I(`]KLtIf,Ef"ls3 !2u Z><늙~If&TL_rf_XD]60uLV$o#Q{@&Yw/92}5LmA&5Dd.}4͜.k_=U 0^:hK@&9DL/Hv3g]mVMJk 4TVfPw/)3胮If4fPd&Z5f x w3ͩnI9`M:`+$3tM2}#)XD]60h7S> nRXSD p:hAd,EdB,s2l!"un9UMZ7))"ClD )m')G6ZK@;}9ۡUCDfq7LZ7))2Cld xDAŒLea&-Df.}4͜:&퀛B2C !3CȌ)XD]60p7s6iܤ *&TQ"#k 2"29p7sjnRXSD pSh d,5 d]"2QsOnR XSd pSW2k 3"39`7iܤ :f YBfdMaRd&9DL.6۔iȠ_Rd@$22me"2mRs7Ӟ6m۔B"Cܖ*a-aXӻ; vD&l!"v=I6e5Edhy%29 #U Ad2BD&niȜ6m۔B"C]rdYSaʐ VDvh t>eG]!mJkP[!.92}5QL(m""2^&\> mSWSD o[N"t?% hRSh U 2` X!fI65Edw%2)!c)"_dL!uL))"CkDBd[Ӑ ;m" ;[Q˜viۦ 6ԿQ"#*U Ad2BD&ne/sj۴mSWSD o[N"SV4>>lz9LBD&)2L]j tVdPw/)2Q #k 22]hm 2]vNo]jZ!&DFziK 2_ L+dK_M_+$2]hDƼ. Ad2BD&hNo]jZ!J9`a-aǒǒAdnV f)"2iۥ쯦 #ʚLhm""2a6}T> RWSD o7Ȅݿ!c)"vD&k!"vv"9K_M_+$2"vʚLhm""2aoG+{SUw'5K 5UB!-8*Y| iBV"!6Z5DBSpR<ꊐyK^)d({RWoȘ%29LFZȄަ3KNLK^)fh{%d&՛%3ւKf^_dz}-Df^Nl/.}&=LO+Du"s2z@RDmQ#2}rҟ>m{{DRDW ޾D&Dk DG+]}  {}m lfIޤ'BA/-+ {}fK@&c{-Dd^^l/73Ӻ5f,Ef{P.93]Ȍܬ0c)2t9Ъ!2}4̔B&{{DRDW ޾ }fKP@&{-DdfߞW63Oެ'BA/& }{њ}`X>4ZȄ;673;}Zf= u 2Խ}YLk7+XȄW2k!"6{e3s{tooMdRdݾR(̰۷Bfn_YaRd&9LBd&Fio}JkPK C܇0Jd̸KP@&#-Ddn^073O>5EdPKIdnkG c Ȅݾ:tZȄݾ673ݾC)) 3J!AeF,Bs$BvNCJkPK0C<4!3aݬ0c)2`&k!2")uLZ))"C,  (1Jd,EdBs } wH!5EdPy'hh2ZLpW"2~)BD&BAwȔDƄ+ d2BD&lF̩xH `M `)f(8JfX̄:Z̄`nfN}RXSDX  !Q"cƕXȄX2l!""9C))"C+ pa-Td~m"9WȄ̜;"2R(wGfKD&nL<̩xH `M `)f(>}Лf,Ef`dnL<fxL 1%5dF `)$2hAoh D+]u ~752c<ffmVBUtWdnLlS`3L))"C+ x(1Jd,EdBksջ2a(Ti<  3%g f,Efdvh3~GL+dxL `M `)d(KL"c2XȄ 2wdm4̜1ǔBAw TqLL6+M*Ad2 z7@&l)9mwL_M_)dFT"c)"_d G񿲙9cZ))2C, 4GɌ5ӒK 3`06"9mxL `M `)d(PFT"c)" `d G̜1ǔBAw\ΟqLL6+MRd2 wd`)Ƞ_Rd@nh V26IV)lr33 )-BaxjBfk%3"3ML8ZnL<f|2i<  2S"ӆȘL%2"2jD&#nL<ff:SN))"C+ ԝ?(d6Z>~Yi mVJW~7@lfl lfI)5EdP.92d,Ed:_ 6ofTOi<  323X3- Vd&wfI073 SZO))"C, 4Ȅ'@ 2"2JWd '̜)BAw*UgdN؇}6+Mj U 2` X_9mwJ_M_)d_q 2"29LZȄ _̜ )-BaxZBffK 3` xisJk RHdPw/)2s(fa% csDhY063wN_M_)d8:af)YE+]u"i 9BAwq 2"2aAd2BD&lr33 9-Baxt!3rŒLU 3CL)FL+dxN `M `)d(KLЖ7+XȄ 6` x 73wN95EdP3~ч}mVB(׫Ad2 "2a s<"2R(΁wGfK 2k!"6e3s*SXSdX  y Of,Ef`d-DfY073 sZ))"C,  hAoV Ad2BD&lEs3sSWSDW 9h?g|NXYi mVs\:4[Ȅ iKj ,RHdPw/)2Q c7Kd4d@&Z5dxr*^RXSdX  %h?YaRd&< 3` xL+dxI `M `)d(PF]"c)" `dLff9K.))"C+ RȔD"WSV"2\Ъ!"S 63k̤"3R(PorȚŒL( ;M`/i  3423ȚŒLx=2 ;1͜v/i  24"ak 2"2Bd2BD&^'ө^xI `M `)d(u@&~G˭-5J t'BL/Ȝv/i  2K)^L(fK:` x,j/i  342? 3"3KL8Z5DfE 073g]$o!=!c@u!sћ29T#sdBjd^CGQWdK62 duK9@FLh_7{n?Dp&jD:ECD&+_=U r 2"2IW$L/3gmf2xO$ 0.%g f,Ef"3~GßL)2YLFfezAoV D&!5Dd}|At&~If&#TLB_rf=7+XGQ\u2"3A>Z̜.k_=U00엜? 3"3YW$ Li0#><늙~If&TLB_rfYaRdf IgBLşq?seK63 fu33 3"3sLgBL'0#?><늙~If&TLz`&~GˇGgMzJz.Lh.I;&5d:`)$2&tvDRD dUC@裦óIK&%5Ef(PnGAoV.`2ӄ$3UCd&GB&-BAiCdӛd ȴ!2 "2Q> 7iܤ  2tM;L9 6Z"Ka|X `"2`3cS`3L7))"C, vɑ ݬ rL'BL5Ϻb&퀛BaBfBl7+̤p:`dL?NpVMJkPK C܌!2dR Ad2 BD&jGÏSܤpR"3TR(P7SLfnBls T7iܤ  3T2*`Ya&Pd&-DfJSET7iܤ  3T2 3"3KL 8Z5Df/YiM9`MX .%e0 ffɌa%0csDhiKZq=umwD^`{w@R yMP.%%8Z7[|J!W"#z uiۊaP,EP(zP@mKYq?TǕ;c"( (E]Jww.:w4 KM{7 ueo (R$\$vhԓ E]E"K:\)PpRW %("3 R|9"(N@)*P*qs1ȿ\XjP.%)GɅ~(MqZ$\$vhԓ E]EζKY)Phg۠8JP(AqЪ!2R;;p1 _7r\y>\$vhԓՍ3"%-b[1E :mpqɴ^W+ :vйZ5Dt7xKa#St*Z.o&B!M%)vc)9IIHЪ!R?'R$tFJ?)J!Aɛat#')sX$@'Z5tЎ nTбaC :lsDG:S'lm4a%A's,C"j4Du3>)*P*;sʛ2~~R,.~IFɅߙ5ߙA.drq;j\ꄋ"kIb)^[)Pk=Q"M3-¶尒iMV S (]v]KY)PhgF ΙKqǠdl"jJrjg3;ۉ'`;Y).hgv՛oȚo ;"R'W n^Ӿ+XJC_Q#s&Rܤnjd|m"jJ#StMts :":lBAM]?ʟFh -eI ":a#St*2}q *HaR]K%)v ^ZXȼvh^䓿H4/"8IǦb)Y)B8ە $%!v$^ZddUC$$8i-_$DNdEMV I.%%0 BfA}!6/IV t^Ԅ/"$a{1BH= !%' %!բ$$s B"j>9=O*X=V n6$nԋ>V̩Ъ!Rv⏾ђt/"$b{BHU !T%' %!բ$D%!CHHi'^hIb|!iۋ]B,EB`P.9!}H, }%!3 UC$Կm$l\Ȋ1b)3 P%'d %!բ$$sA"j'Ϸђiq"+Bҵ*XPJB]rBƐYR/X-JB2$BHH{gB_"+Bnk*XЭJB]rBYR/X-JB2$BHHuB]+W/"$Kb)®X)Bۇ]QC޷{$iL;`"QFFB_B(XMBBՍ=L2'&BBLXd,t̐Cʮj RHpPwyta uk[ ?!82IV -#uBथ됒"8R(Pq?xˑTIq!!'"9}:d**NuHWMW)N^6$<`0+%Iկp9 Z5DNx0 ' i;  'C {%'&BI6Z5DN +ui+ְCJjPJpB ;!'a+6ZpҠoMS[;4L'l"jVpYWqCJjPJpB; !'C =eS^S\IPPWr;j u2vCjJB';QB]+ (FDhAa# ( i5;Ԭ լ (T|>ZL!("(J8BN2]"'AMPn)2CJjPJ0CY]rf/{5Kr%29K6Z5Df6P6xwx3i;\ ] 3t2pMcRdf 4&BL9Ƨ>"3-2#-]KaȚa% c$B}?G]!cjJ C;26RMOJ+hC[ [㩿vL[M[)NoR⏽ߎtM[K12p"'RO,t ј6cjJC;Q#FWȩqdm"jɦh$rǔʕB*w䀄Žô$P" DoBh jXvcjJB;! aCi0-&BH`z+@vL[M[)@nKHO+k =LK@2Ъ!~He[wXvcjJBg;G|GK@Х"J}HDhQRG?1-jǔABv 8JPh,zѷjZw$JBR'vڎi;;쬦  (vڎԔ]>I5JJ6Z5DPk+urʔvSj LtRHPPwytaLMo=ηJE&!(Ъ!vPu(i;L M (4Si@'IKEv(uMV X`Й`jvJYMY)pf6'T'hfNZJ6SjJC3;u!8F=L}kx񸒠Ъ!f[MvJ)eh5EPhhP@v-Ai>$l"'l:vJ)%j5EN(jP8??-~{Ρ=$dmUCͶR'6NݹxQx[ .,ՁT _\.Qr5'5JR0\"z:~)XYWqq`/E~/B_ KKoy鑗W^Zy/;\;:ϮS8wK2糢_z|߶߷#[e9BY?'}N~+i:Ic)C*M90&tZ/c*<j!C/X 9mGgi$<<3]^/93aסPSh?<ĝLBxUCg: S;:Wvt碑*ra)r*`pQ]K0J.fISt$Ъ!rQ?'xSJZ4 <sxaY=7MV *Q{NIKљBRtUGh팦9$dh"jPx,u OZ)XPJCQ:0JxDXۙؔ$OƔZДx,u ٗv>'+"+.)V]%_ڥ7-ʼnK&V2_e!/!Xꔕt,;^Pa\{TxZ6Z-ʼnO+Ii"<<@h˺ tTRR(u.;N)| QkۙU&P2"(|:u>S]SP3 Ts|P͢e^S9V2pQ"TR'\~3לֻ[RzW 9Իswgq)6%ֻ2ѻ"(ԻR'6.i%(( U]^/lIP."iGlI4-a%"Dh@Yr,*w9SHk /TR(\P.]Bkk֒-}7l.Fh4:dC]!.?۫s`s-2sxEŧMo˳1/kC}"Wp77-jRpO"ZՈQQYpaOXa%^kP=ĢܻZM%>1޶xCLq Q iz<خI2^BTBY&[6ѩtY8N=HݿKAQja5:d RY:~>U}M+cӟ[90Ua|Mʳ"!MJ"5˱z= J7+=es4S7aKV419}pr֪rìc3Շ%\BS9#|(&eљ$Gc:\h\: OnfϢEni:uVXb`y,a$)w? Ϝ٨% eX}{}a;0ݘbj@ rHL%oD I„S~(񿉜 ҂l焬M.ӉRϝE\~YuVw[L:c)LJfI6!4W$`냕ӂW$+8Ξp$!Ԃ<0 .ɳ'@P21fW=.-zh}s'f룗TBҬ@q0g!pӌJCY䄧`,yqlyW[,,iYtQA4.:A"q]l97pӗM2;+2xsẁJg@qtk(kqnde(A9 ԎxxqB۔ÞIUNFnFj%!I|ʊosڭZajNcV.]%b>"8zd՞^CwZ*"}}VJduupb&ߵ[-V@A" њ \tj6dAdBX0wR5qdz#|r)vsqh8w}?Fh A =htP{=x;X:[&ɳW93Ye g:d'ғ[ܬO9ڢ-A>Iy*T|}aBOces#|w@A 5<)rVI&c+ͩyt,lEEr87Γ2g JmZcM#~ nw1;vfu'd& (*׀uX y&s,IQLlOT@dM 9" !cx_؊{ٚM!saڢL= HS^Q/:zb ZopwlsWZ v^'d$\U\ ]D[+8ey[\q\>Xk8cGXpޮs\Y3?dՂ&dv|Wr@0<>5G.U7uALWrTle,> T%IׯW\-dCVp_S;atL]_v+I.;QbĚqr{9Ī,ʢ Rwxl[BG>Yqԓ'b™,`L+uY<#.K#X٦sl$W:&Z>պw[.Rga-V#4㩇'aulaɥfDTAyPՏmXq*~E쑇Q*N2IY: u"%)ׅN,Tm.d |Jd"*rxuL.(9"mEF7Q {[5GI+2:=7G/) TB GH.{Qz!ʨ92OF ܮJ gTn1U=|P}{1g@UG\>O_ncs2 tP`RH#֎ܺ]QI6(-qlz$\]K8p_T-ysG 1x7qX4ATP׏)ӊDWO cG漊ppdp|ʋɛgf3d{E?ۉ@<w[̳41 bωKֈ/bb&Q 0> }MX2Ae4d$ag:3D@+ l!c,#麩J1 z!6Nmo $өqPEڻiAz DzTM4i{[J Ώ^gBG/?*_ 'X>5lRFS Q#p0TH`Թ.Ok 9M15%4 O4}Z<\ݞJ%~ϧwcTb̻,j1ixqpQq$U߈}l BiaZ臖R_w{cbt;"`0( 86`=2t}(ehR%H,@du BP 6ay|cbOg!37d1̭2 :@3 X*N \u석*ΆZ7ׂJKr{pAI0wX{4H|Iũ؞ҽ2<:ٔwf/5e=h(_#tnľ$=>KQtV}J؈Tr9JM eNW,Jܕ e%+s>ZMR\tSEP[]R,WQ{Tgmrg4Z !ζΔDɘ@@!pDN p9,l:l]k9H܍uzEO73SG~vn,| ;wUa^î|ب//M#wr¾Rr[\ pMsM近@1o[U1DUa-3 CC(o@Ěݪc#utAD(ŝFc&+%_L1oEXe*hvɘ'k<1Xs<58;ә&zUMݪwA9vpփS 耇]V;a^Jb7.ךCm7zacVnٕI_l'fY-rOqQe׬8i]>U4Z+ֻʡɻiի-e$\:06E?IMZ~c8l'_t XLjbD4 Y.Oj_3j*旺ai~C 8T!Qy:itwݭRȡ`m.q+ 'Ц {”`̧`~2M-+uan3A+Q| ˅fl%#4] UwT"]=W*Rǣ`4,߾:KG5%]w!/qpW#ɤJ=2b^\e:zs&ՙ5z r㩪!zlڷSk׫Sn^# go^O S#@OY:|K?acp_y?PK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]LS&PdocProps/core.xmln0}qRQj%Aj+NET,{l ĩ~;r5۩65"Y75X)J|`Zh<5woXpAO"H{m!X[Pgѡ6NKo\+LpLHDG#v:xL2N rT2-ܴѽr4v]u` ^-^߇USSq@M%8X0e2k ioE} ➔e9GMi?E$OhՏ?qȿ'!'hPK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]LZYTxl/worksheets/sheet1.xmlPK]Lۓ0Zxl/workbook.xmlPK]Lx vD[xl/sharedStrings.xmlPK]L%|+ldocProps/app.xmlPK]LS&PmdocProps/core.xmlPK]La]I:O*o[Content_Types].xmlPK]L7 M pxl/styles.xmlPK]LFTRrxl/theme/theme1.xmlPK]LIK x_rels/.relsPK]LDu[yxl/_rels/workbook.xml.relsPK {canmatrix-0.9.5/test/reference/from_arxml/test_CAN.xml000066400000000000000000012723201416730473300227770ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 16755521 218082369 218082881 218090230 218083137 218081857 16751425 218078273 218078785 218090231 486517952 486517696 218090231 419415287 218088439 486524407 419417079 218089719 218088183 486524919 486524663 486523383 419416567 486526199 486526455 486517239 419418359 419418615 PDU_FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 6 true 4 true 62 true 60 true 58 true 38 true 36 true 34 true 32 true 56 true 22 true PDU_FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 true 32 true PDU_FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 true 16 true PDU_FRAME_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_FRAME_CommandFactoryControl 8 APPLICATION 6 true 32 true 16 true PDU_FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 0 true 16 true 16 true 32 true 48 true 16 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 24 true 32 true 22 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 32 true PDU_FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 6 true 4 true 62 true 60 true 58 true 38 true 36 true 34 true 32 true 56 true 22 true PDU_FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 true 32 true PDU_FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 true 16 true PDU_FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_FRAME_justString 8 APPLICATION PDU_FRAME_stringAndOther 8 APPLICATION 0 true PDU_FRAME_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 0 true 32 true PDU_FRAME_StatusBits Bits representing the status of the power module. 8 APPLICATION 4 true 20 true 12 true 10 true 8 true 14 true 2 true 0 true 30 true 22 true 16 true 18 true 28 true 26 true 24 true 38 true 36 true 34 true 32 true 46 true PDU_FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 0 true 16 true 32 true 48 true PDU_FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 0 true 16 true 32 true PDU_FRAME_StatusFaults Fault bits. 8 APPLICATION 60 true 4 true 44 true 14 true 8 true 10 true 16 true 12 true 20 true 0 true 6 true 2 true 30 true 61 true 45 true 28 true 26 true 24 true 38 true PDU_FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 0 true 16 true 32 true PDU_FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 16 true 32 true 0 true PDU_FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 0 true 32 true 48 true PDU_FRAME_softwareRev Software revision. 8 APPLICATION 16 true 0 true 32 true PDU_FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 0 true 16 true PDU_FRAME_serialNumber Serial number of the power module. 8 APPLICATION 0 true PDU_FRAME_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 0 true PDU_FRAME_StatusNVParam Echos back parameter values. 8 APPLICATION 0 true 16 true 16 true 32 true 48 true 16 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 24 true 32 true 22 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 32 true PDU_FRAME_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 0 true 16 true 32 true PDU_FRAME_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 0 true 16 true 32 true FRAME_FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_FRAME_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_FRAME_CommandFactoryControl 8 APPLICATION 0 false FRAME_FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 0 false FRAME_FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 0 false FRAME_FRAME_justString 8 APPLICATION 0 false FRAME_FRAME_stringAndOther 8 APPLICATION 0 false FRAME_FRAME_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 0 false FRAME_FRAME_StatusBits Bits representing the status of the power module. 8 APPLICATION 0 false FRAME_FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 0 false FRAME_FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 0 false FRAME_FRAME_StatusFaults Fault bits. 8 APPLICATION 0 false FRAME_FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 0 false FRAME_FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 0 false FRAME_FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 0 false FRAME_FRAME_softwareRev Software revision. 8 APPLICATION 0 false FRAME_FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 0 false FRAME_FRAME_serialNumber Serial number of the power module. 8 APPLICATION 0 false FRAME_FRAME_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 0 false FRAME_FRAME_StatusNVParam Echos back parameter values. 8 APPLICATION 0 false FRAME_FRAME_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 0 false FRAME_FRAME_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 0 false Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. NodeID J1939 Source Address node for the module. SA_Mask Not presently used. Baudrate CAN baudrate ThermalOverload Configures action to take when thermal overload input is active. MX1Open Maximum time required for the MX1 contactor to open. MX1Close Maximum time required for the MX1 contactor to close. MX2Open Maximum time required for the MX2 contactor to open. MX2Close Maximum time required for the MX2 contactor to open. K1Open Maximum time required for the K1 contactor to open. K1Close Maximum time required for the K1 contactor to close. K2Open Maximum time required for the K2 contactor to open. K2Close Maximum time required for the K2 contactor to close. Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. RealPower_measured Measured real power of master unit. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. RealPower_echo Echoed real power command. ReactivePower_echo Echoed reactive power command. State_status Active control mode. MX2Permissive_status MX2 relay status PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. PowerAvailDC_status Indicates that DC bus voltage is within operating range. PowerCircuitEnabled_status Indicates whether the switching devices are active. HardwareEnable_status Status of the hardware enable. Enable_echo Echos the state of the Enable command withing the CommandModeControl message. FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1Permissive_status MX1 relay status K2DCRunPermissive_status K2 DC Run relay status. K1PrechargePermissive_status K1 precharge relay status. MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. CANbus_status Operational status of the CAN bus driver. EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. v5p0_Supply Present voltage of the control board 5V power suppy. v3p3_Supply Present voltage of the control board 3.3V power supply. v24_Supply Present voltage of the control board 24V power supply. v15_Supply Present voltage of the control board 15V power supply. TempInlet_measured Coolant inlet temperature TempInternal_measured Internal ambient temperature ConverterLosses Power converter thermal loss BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. UndervoltageDC_status Indicates loss of DC source voltage. ControlHardwareFail_status Set upon the failure of control hardware to return expected response. OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. ThermalOverload Configures action to take when thermal overload input is active. VoltageAC_measured Measured RMS AC voltage. CurrentAC_measured Measured RMS AC current. Frequency_measured Measured frequency. VoltageDCBus Measured DC bus voltage. CurrentDC_measured Measured DC current. VoltageDCInput_measured Estimated DC input voltage. n15V_Supply Present voltage of the control board -15V power supply. DiodeTemperature Hottest diode IGBTTemperature Hottest IGBT InterfaceRev Software revision of the CAN communication interface. ControlSwRev Software revision of the control firmware. BuildTime Build timestamp. Voltage_echo Echoed voltage command Frequency_echo Echoed frequency command. SerialNumber Hash Unique revision identification hashcode. StatusNVParam_MUX Dummy VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. StatusNodeID J1939 Source Address node for the module StatusSA_Mask Mask used to configure from which master source addresses to accept commands. StatusBaudrate StatusThermalOverload Configured action to take when thermal overload input is active. StatusMX1Open Maximum time required for the MX1 contactor to open. StatusMX1Close Maximum time required for the MX1 contactor to close. StatusMX2Open Maximum time required for the MX2 contactor to open. StatusMX2Close Maximum time required for the MX2 contactor to open. StatusK1Open Maximum time required for the K1 contactor to open. StatusK1Close Maximum time required for the K1 contactor to close. StatusK2Open Maximum time required for the K2 contactor to open. StatusK2Close Maximum time required for the K2 contactor to close. L1Current_measured Measured L1 RMS line current. L2Current_measured Measured L2 RMS line current. L3Current_measured Measured L3 RMS line current. L1Voltage_measured Measured L1 RMS line-neutral voltage L2Voltage_measured Measured L2 RMS line-neutral voltage L3Voltage_measured Measured L3 RMS line-neutral voltage Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower command ReactivePower_command Voltage_command Frequency_command RealPower_measured ReactivePower_measured WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct V50to88pct V110to120pct VOver120 FreqHi FreqLo FreqVeryLo FreqVeryLo FreqLo FreqHi NodeID SA_Mask Baudrate ThermalOverload MX1Open MX1Close MX2Open MX2Close K1Open K1Close K2Open K2Close Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower_command ReactivePower_command Voltage_command Frequency_command RealPower_measured ReactivePower_measured RealPower_measured RealPower_measured ReactivePower_measured RealPower_echo ReactivePower_echo State_status MX2Permissive_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status HardwareEnable_status Enable_echo FaultClr_echo MessageValidModeControl_status MX1Permissive_status K2DCRunPermissive_status K1PrechargePermissive_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo v5p0_Supply v3p3_Supply v24_Supply v15_Supply TempInlet_measured TempInternal_measured ConverterLosses BridgeAVoltageOk_status OvercurrentAC_status BridgeBVoltageOk_status OvervoltageDC_status OvertempPowerDevice_status OvertempInternal_status LossValidControlMessage_status UndervoltageDC_status ControlHardwareFail_status OvercurrentDC_status GeneralFault_status LossOfAC_status EStopShutdown_status BridgeAFault_status BridgeBFault_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload VoltageAC_measured CurrentAC_measured Frequency_measured VoltageDCBus CurrentDC_measured VoltageDCInput_measured n15V_Supply DiodeTemperature IGBTTemperature InterfaceRev ControlSwRev BuildTime Voltage_echo Frequency_echo SerialNumber Hash StatusNVParam_MUX Dummy VUnder50pct V50to88pct V110to120pct VOver120 FreqHi FreqLo FreqVeryLo FreqVeryLo FreqLo FreqHi StatusNodeID StatusSA_Mask StatusBaudrate StatusThermalOverload StatusMX1Open StatusMX1Close StatusMX2Open StatusMX2Close StatusK1Open StatusK1Close StatusK2Open StatusK2Close L1Current_measured L2Current_measured L3Current_measured L1Voltage_measured L2Voltage_measured L3Voltage_measured CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR -2.0 1.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_RealPower command Coding for RealPower command COMPUMETHOD_RealPower command LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_WriteSerialNumber Coding for WriteSerialNumber COMPUMETHOD_WriteSerialNumber LINEAR -2.0 1.0 0.0 1.0 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_FactoryAccess Coding for FactoryAccess COMPUMETHOD_FactoryAccess LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_CommandSetNVParam_MUX Coding for CommandSetNVParam_MUX COMPUMETHOD_CommandSetNVParam_MUX LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_NodeID Coding for NodeID COMPUMETHOD_NodeID LINEAR -128.0 127.0 0.0 1.0 1 CODING_SA_Mask Coding for SA_Mask COMPUMETHOD_SA_Mask LINEAR -128.0 127.0 0.0 1.0 1 CODING_Baudrate Coding for Baudrate COMPUMETHOD_Baudrate LINEAR -8.0 7.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR -2.0 1.0 0.0 1.0 1 CODING_MX1Open Coding for MX1Open COMPUMETHOD_MX1Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_MX1Close Coding for MX1Close COMPUMETHOD_MX1Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_MX2Open Coding for MX2Open COMPUMETHOD_MX2Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_MX2Close Coding for MX2Close COMPUMETHOD_MX2Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_K1Open Coding for K1Open COMPUMETHOD_K1Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_K1Close Coding for K1Close COMPUMETHOD_K1Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_K2Open Coding for K2Open COMPUMETHOD_K2Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_K2Close Coding for K2Close COMPUMETHOD_K2Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR -2.0 1.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR -2.0 1.0 0.0 1.0 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_echo Coding for RealPower_echo COMPUMETHOD_RealPower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_echo Coding for ReactivePower_echo COMPUMETHOD_ReactivePower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_State_status Coding for State_status COMPUMETHOD_State_status LINEAR -8.0 7.0 0.0 1.0 1 CODING_MX2Permissive_status Coding for MX2Permissive_status COMPUMETHOD_MX2Permissive_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_PowerAvailAC_status Coding for PowerAvailAC_status COMPUMETHOD_PowerAvailAC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_PowerAvailDC_status Coding for PowerAvailDC_status COMPUMETHOD_PowerAvailDC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_PowerCircuitEnabled_status Coding for PowerCircuitEnabled_status COMPUMETHOD_PowerCircuitEnabled_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_HardwareEnable_status Coding for HardwareEnable_status COMPUMETHOD_HardwareEnable_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_Enable_echo Coding for Enable_echo COMPUMETHOD_Enable_echo LINEAR -2.0 1.0 0.0 1.0 1 CODING_FaultClr_echo Coding for FaultClr_echo COMPUMETHOD_FaultClr_echo LINEAR -2.0 1.0 0.0 1.0 1 CODING_MessageValidModeControl_status Coding for MessageValidModeControl_status COMPUMETHOD_MessageValidModeControl_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_MX1Permissive_status Coding for MX1Permissive_status COMPUMETHOD_MX1Permissive_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_K2DCRunPermissive_status Coding for K2DCRunPermissive_status COMPUMETHOD_K2DCRunPermissive_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_K1PrechargePermissive_status Coding for K1PrechargePermissive_status COMPUMETHOD_K1PrechargePermissive_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_MessageValidPowerCMD_status Coding for MessageValidPowerCMD_status COMPUMETHOD_MessageValidPowerCMD_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_MessageValidVF_status Coding for MessageValidVF_status COMPUMETHOD_MessageValidVF_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_CANbus_status Coding for CANbus_status COMPUMETHOD_CANbus_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableUPSMode_echo Coding for EnableUPSMode_echo COMPUMETHOD_EnableUPSMode_echo LINEAR -2.0 1.0 0.0 1.0 1 CODING_EnableSplitPhase_echo Coding for EnableSplitPhase_echo COMPUMETHOD_EnableSplitPhase_echo LINEAR -2.0 1.0 0.0 1.0 1 CODING_PhaseRotation_status Coding for PhaseRotation_status COMPUMETHOD_PhaseRotation_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_LineVoltageDetected_status Coding for LineVoltageDetected_status COMPUMETHOD_LineVoltageDetected_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_PhaseRotation_echo Coding for PhaseRotation_echo COMPUMETHOD_PhaseRotation_echo LINEAR -2.0 1.0 0.0 1.0 1 CODING_v5p0_Supply Coding for v5p0_Supply COMPUMETHOD_v5p0_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v3p3_Supply Coding for v3p3_Supply COMPUMETHOD_v3p3_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v24_Supply Coding for v24_Supply COMPUMETHOD_v24_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v15_Supply Coding for v15_Supply COMPUMETHOD_v15_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_TempInlet_measured Coding for TempInlet_measured COMPUMETHOD_TempInlet_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_TempInternal_measured Coding for TempInternal_measured COMPUMETHOD_TempInternal_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_ConverterLosses Coding for ConverterLosses COMPUMETHOD_ConverterLosses LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_BridgeAVoltageOk_status Coding for BridgeAVoltageOk_status COMPUMETHOD_BridgeAVoltageOk_status LINEAR -1.0 0.0 0.0 1.0 1 CODING_OvercurrentAC_status Coding for OvercurrentAC_status COMPUMETHOD_OvercurrentAC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_BridgeBVoltageOk_status Coding for BridgeBVoltageOk_status COMPUMETHOD_BridgeBVoltageOk_status LINEAR -1.0 0.0 0.0 1.0 1 CODING_OvervoltageDC_status Coding for OvervoltageDC_status COMPUMETHOD_OvervoltageDC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_OvertempPowerDevice_status Coding for OvertempPowerDevice_status COMPUMETHOD_OvertempPowerDevice_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_OvertempInternal_status Coding for OvertempInternal_status COMPUMETHOD_OvertempInternal_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_LossValidControlMessage_status Coding for LossValidControlMessage_status COMPUMETHOD_LossValidControlMessage_status LINEAR -8.0 7.0 0.0 1.0 1 CODING_UndervoltageDC_status Coding for UndervoltageDC_status COMPUMETHOD_UndervoltageDC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_ControlHardwareFail_status Coding for ControlHardwareFail_status COMPUMETHOD_ControlHardwareFail_status LINEAR -8.0 7.0 0.0 1.0 1 CODING_OvercurrentDC_status Coding for OvercurrentDC_status COMPUMETHOD_OvercurrentDC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_GeneralFault_status Coding for GeneralFault_status COMPUMETHOD_GeneralFault_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_LossOfAC_status Coding for LossOfAC_status COMPUMETHOD_LossOfAC_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_EStopShutdown_status Coding for EStopShutdown_status COMPUMETHOD_EStopShutdown_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_BridgeAFault_status Coding for BridgeAFault_status COMPUMETHOD_BridgeAFault_status LINEAR -4.0 3.0 0.0 1.0 1 CODING_BridgeBFault_status Coding for BridgeBFault_status COMPUMETHOD_BridgeBFault_status LINEAR -4.0 3.0 0.0 1.0 1 CODING_IllegalTransition_status Coding for IllegalTransition_status COMPUMETHOD_IllegalTransition_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_InvalidEEHeader_status Coding for InvalidEEHeader_status COMPUMETHOD_InvalidEEHeader_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_InvalidEESection_status Coding for InvalidEESection_status COMPUMETHOD_InvalidEESection_status LINEAR -2.0 1.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR -2.0 1.0 0.0 1.0 1 CODING_VoltageAC_measured Coding for VoltageAC_measured COMPUMETHOD_VoltageAC_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_CurrentAC_measured Coding for CurrentAC_measured COMPUMETHOD_CurrentAC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Frequency_measured Coding for Frequency_measured COMPUMETHOD_Frequency_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_VoltageDCBus Coding for VoltageDCBus COMPUMETHOD_VoltageDCBus LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_CurrentDC_measured Coding for CurrentDC_measured COMPUMETHOD_CurrentDC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VoltageDCInput_measured Coding for VoltageDCInput_measured COMPUMETHOD_VoltageDCInput_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_n15V_Supply Coding for n15V_Supply COMPUMETHOD_n15V_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_DiodeTemperature Coding for DiodeTemperature COMPUMETHOD_DiodeTemperature LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_IGBTTemperature Coding for IGBTTemperature COMPUMETHOD_IGBTTemperature LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_InterfaceRev Coding for InterfaceRev COMPUMETHOD_InterfaceRev LINEAR -327.68 327.67 0.0 0.01 1 CODING_ControlSwRev Coding for ControlSwRev COMPUMETHOD_ControlSwRev LINEAR -327.68 327.67 0.0 0.01 1 CODING_BuildTime Coding for BuildTime COMPUMETHOD_BuildTime LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_Voltage_echo Coding for Voltage_echo COMPUMETHOD_Voltage_echo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_Frequency_echo Coding for Frequency_echo COMPUMETHOD_Frequency_echo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_Hash Coding for Hash COMPUMETHOD_Hash LINEAR -134217728.0 134217727.0 0.0 1.0 1 CODING_StatusNVParam_MUX Coding for StatusNVParam_MUX COMPUMETHOD_StatusNVParam_MUX LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_StatusNodeID Coding for StatusNodeID COMPUMETHOD_StatusNodeID LINEAR -128.0 127.0 0.0 1.0 1 CODING_StatusSA_Mask Coding for StatusSA_Mask COMPUMETHOD_StatusSA_Mask LINEAR -128.0 127.0 0.0 1.0 1 CODING_StatusBaudrate Coding for StatusBaudrate COMPUMETHOD_StatusBaudrate LINEAR -8.0 7.0 0.0 1.0 1 CODING_StatusThermalOverload Coding for StatusThermalOverload COMPUMETHOD_StatusThermalOverload LINEAR -2.0 1.0 0.0 1.0 1 CODING_StatusMX1Open Coding for StatusMX1Open COMPUMETHOD_StatusMX1Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusMX1Close Coding for StatusMX1Close COMPUMETHOD_StatusMX1Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusMX2Open Coding for StatusMX2Open COMPUMETHOD_StatusMX2Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusMX2Close Coding for StatusMX2Close COMPUMETHOD_StatusMX2Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusK1Open Coding for StatusK1Open COMPUMETHOD_StatusK1Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusK1Close Coding for StatusK1Close COMPUMETHOD_StatusK1Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusK2Open Coding for StatusK2Open COMPUMETHOD_StatusK2Open LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_StatusK2Close Coding for StatusK2Close COMPUMETHOD_StatusK2Close LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_L1Current_measured Coding for L1Current_measured COMPUMETHOD_L1Current_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_L2Current_measured Coding for L2Current_measured COMPUMETHOD_L2Current_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_L3Current_measured Coding for L3Current_measured COMPUMETHOD_L3Current_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_L1Voltage_measured Coding for L1Voltage_measured COMPUMETHOD_L1Voltage_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_L2Voltage_measured Coding for L2Voltage_measured COMPUMETHOD_L2Voltage_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_L3Voltage_measured Coding for L3Voltage_measured COMPUMETHOD_L3Voltage_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 canmatrix-0.9.5/test/reference/from_arxml/test_CAN.yaml000066400000000000000000004046411416730473300231430ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: NWM-Knoten: !!python/object:canmatrix.canmatrix.Define defaultValue: null definition: ENUM "nein","ja" type: ENUM values: [nein, ja] NWM-Stationsadresse: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: HEX 0 63, max: 63, min: 0, type: HEX} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgDelayTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgNrOfRepetitions: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgSendType: !!python/object:canmatrix.canmatrix.Define defaultValue: null definition: ENUM "cyclicX","spontanX","cyclicIfActiveX","spontanWithDelay","cyclicAndSpontanX","cyclicAndSpontanWithDelay","spontanWithRepitition","cyclicIfActiveAndSpontanWD","cyclicIfActiveFast","cyclicWithRepeatOnDemand","none" type: ENUM values: [cyclicX, spontanX, cyclicIfActiveX, spontanWithDelay, cyclicAndSpontanX, cyclicAndSpontanWithDelay, spontanWithRepitition, cyclicIfActiveAndSpontanWD, cyclicIfActiveFast, cyclicWithRepeatOnDemand, none] GenMsgStartDelayTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgStartValue: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: STRING, max: null, min: null, type: STRING} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 16755521 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandModeControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218082369 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218082881 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218090230 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_MasterMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218083137 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandFactoryControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: WriteSerialNumber offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FactoryAccess offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218081857 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandSetNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 10: ContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CommandSetNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 127.0 min: -128.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: NodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Not presently used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 127.0 min: -128.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: CAN baudrate comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 7.0 min: -8.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Baudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configures action to take when thermal overload input is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 16751425 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandModeControlAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218078273 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218078785 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_CommandVFAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_MasterMeasuredPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486517952 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_justString receiver: [] signalGroups: [] signals: [] size: 8 transmitter: [] - !!Frame _Id: 486517696 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_stringAndOther receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419415287 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Echoes the commanded power (P&Q) as received in CommandPQ. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusCommandedPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed real power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed reactive power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218088439 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Bits representing the status of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusBits receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: 'Power On Reset, and a quoted comma', 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Active control mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 7.0 min: -8.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: State_status offset: 0.0 receiver: [] signalsize: 4 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX2 relay status comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 18 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that AC power is connected and that voltage and frequency are within nominal ranges. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that DC bus voltage is within operating range. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether the switching devices are active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerCircuitEnabled_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Not Active, 1: Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Status of the hardware enable. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: HardwareEnable_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the Enable command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the FaultClear command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClr_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidModeControl_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX1 relay status comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K2 DC Run relay status. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2DCRunPermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 22 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K1 precharge relay status. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1PrechargePermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidPowerCMD_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidVF_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Operational status of the CAN bus driver. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CANbus_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableUPSMode command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableSplitPhase command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_status offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Flag indicating if voltage is detected on L1, L2 or L3. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LineVoltageDetected_status offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of PhaseRotation_command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486524407 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusControlVoltage receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 5V power suppy. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v5p0_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 3.3V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v3p3_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 24V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v24_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v15_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419417079 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Returns the inlet water temperature to the module as well as module internal ambient temperature. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusTemps receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Coolant inlet temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInlet_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Internal ambient temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInternal_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Power converter thermal loss comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ConverterLosses offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218089719 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Fault bits. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusFaults receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 0.0 min: -1.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of AC current exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 0.0 min: -1.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 43 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC voltage exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempPowerDevice_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempInternal_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 7.0 min: -8.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossValidControlMessage_status offset: 0.0 receiver: [] signalsize: 4 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates loss of DC source voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: UndervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set upon the failure of control hardware to return expected response. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 7.0 min: -8.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlHardwareFail_status offset: 0.0 receiver: [] signalsize: 4 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC current exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: GeneralFault_status offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossOfAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EStopShutdown_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3.0 min: -4.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3.0 min: -4.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IllegalTransition_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading of non-volatile parameters at power-up failed. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEEHeader_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading or writing of an non-volatile parameter section failed. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEESection_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configures action to take when thermal overload input is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218088183 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusACParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC voltage. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured frequency. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486524919 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusDCParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC bus voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCBus offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentDC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Estimated DC input voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCInput_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486524663 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Present voltage of the -15V power supply on the control board. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusControlVolts2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board -15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: n15V_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest diode comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: DiodeTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest IGBT comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IGBTTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486523383 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Software revision. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_softwareRev receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the CAN communication interface. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InterfaceRev offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the control firmware. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlSwRev offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Build timestamp. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BuildTime offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419416567 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Echoes the voltage and frequency commands from commandVF. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusCommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed voltage command comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed frequency command. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526199 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Serial number of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_serialNumber receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526455 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Unique software revision identification hashcode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_softwareRevHash receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Unique revision identification hashcode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 134217727.0 min: -134217728.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Hash offset: 0.0 receiver: [] signalsize: 28 startbit: 28 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486517239 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Echos back parameter values. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 127.0 min: -128.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Mask used to configure from which master source addresses to accept commands. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 127.0 min: -128.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusSA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 7.0 min: -8.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusBaudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configured action to take when thermal overload input is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 1.0 min: -2.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusMX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusMX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusMX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusMX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusK1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusK1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusK2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusK2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419418359 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Measured RMS line currents. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusLineCurrents receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419418615 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgSendType: spontanX, GenMsgStartValue: '00000000'} comment: Measured RMS line voltages. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: FRAME_StatusLineVoltages receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _initValue: 0 _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: '' size: 8 transmitter: [] globalDefines: {} signalDefines: GenSigStartValue: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: HEX 0 4294967295, max: 4294967295, min: 0, type: HEX} valueTables: {} canmatrix-0.9.5/test/reference/from_dbc/000077500000000000000000000000001416730473300202135ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_dbc/test.arxml000066400000000000000000000334761416730473300222540ustar00rootroot00000000000000 Cluster CAN CAN testFrame1 /ECU/testBU/CN_testBU/testFrame1 /ECU/recBU/CN_recBU/testFrame1 /Frame/FRAME_testFrame1 /Cluster/CAN/IPDUTRIGG_testFrame1 STANDARD 291 extendedFrame /ECU/testBU/CN_testBU/extendedFrame /Frame/FRAME_extendedFrame /Cluster/CAN/IPDUTRIGG_extendedFrame EXTENDED 18 IPDUTRIGG_testFrame1 /PDU/PDU_testFrame1 IPDUTRIGG_extendedFrame /PDU/PDU_extendedFrame someTestSignal /ECU/recBU/CN_recBU/someTestSignal /ISignal/someTestSignal Signal /ECU/recBU/CN_recBU/Signal /ISignal/Signal Frame FRAME_testFrame1 Multi Line Frame comment 8 testFrame1 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_testFrame1 0 FRAME_extendedFrame 8 extendedFrame MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_extendedFrame 0 PDU PDU_testFrame1 64 someTestSignal MOST-SIGNIFICANT-BYTE-FIRST /ISignal/someTestSignal 3 Signal MOST-SIGNIFICANT-BYTE-LAST /ISignal/Signal 20 PDU_extendedFrame 64 ISignal someTestSignal /Signal/someTestSignal Signal /Signal/Signal Signal someTestSignal Multi Line Signal comment with a-umlaut: ä /DataType/someTestSignal 11 Signal /DataType/Signal 3 DataType someTestSignal /DataType/Semantics/someTestSignal Signal /DataType/Semantics/Signal Semantics someTestSignal 1 5 1 Signal one 1 1 one two 2 2 two three 3 3 three 0 1 1 Unit someTestSignal specialCharUnit°$ Signal someUnit ECU testBU sender ECU /IPDUGroup/testBU_Tx CN_testBU testFrame1 OUT someTestSignal OUT Signal OUT extendedFrame OUT recBU receiver ECU /IPDUGroup/recBU_Rx CN_recBU testFrame1 IN someTestSignal IN Signal IN IPDUGroup testBU_Tx OUT /PDU/PDU_testFrame1 /PDU/PDU_extendedFrame recBU_Rx IN /PDU/PDU_testFrame1 canmatrix-0.9.5/test/reference/from_dbc/test.csv000066400000000000000000000011161416730473300217060ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,testBU,recBU,Name / Phys. Range,Function / Increment Unit,Value 123h,testFrame1,100,,,1,4,someTestSignal,"Multi Line Signal comment with a-umlaut: ä",11, , ,m,u,s,r,5 specialCharUnit°$,0.0..500.0 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,1,one 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,2,two 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,3,three canmatrix-0.9.5/test/reference/from_dbc/test.dbf000066400000000000000000000023541416730473300216530ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 2 [START_MSG] testFrame1,291,8,2,1,S,testBU [START_SIGNALS] someTestSignal,11,2,1,U,100.0,0.0,0,1.0,5.0,specialCharUnit$,,recBU [START_SIGNALS] Signal,3,3,4,U,6.0,0.0,1,0.0,1.0,someUnit,,recBU [VALUE_DESCRIPTION] "one",1 [VALUE_DESCRIPTION] "two",2 [VALUE_DESCRIPTION] "three",3 [END_MSG] [START_MSG] extendedFrame,18,8,0,1,X,testBU [END_MSG] [NODE] testBU,recBU [START_DESC] [START_DESC_MSG] 291 S "Multi Line Frame comment"; [END_DESC_MSG] [START_DESC_NODE] testBU "sender ECU"; recBU "receiver ECU"; [END_DESC_NODE] [START_DESC_SIG] 291 S someTestSignal "Multi Line Signal comment with a-umlaut: "; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] "NetworkNode",INT,0,65535,0 [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 [END_PARAM_MSG] [START_PARAM_SIG] [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] testBU,"NetworkNode","273" [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 291,S,"GenMsgCycleTime","100" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_dbc/test.json000066400000000000000000000017701416730473300220720ustar00rootroot00000000000000{ "messages": [ { "id": 291, "is_extended_frame": false, "name": "testFrame1", "signals": [ { "bit_length": 11, "factor": 5.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "someTestSignal", "offset": 1.0, "start_bit": 9 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Signal", "offset": 0.0, "start_bit": 20 } ] }, { "id": 18, "is_extended_frame": true, "name": "extendedFrame", "signals": [] } ] }canmatrix-0.9.5/test/reference/from_dbc/test.kcd000066400000000000000000000025071416730473300216610ustar00rootroot00000000000000 some text Multi Line Frame comment Multi Line Signal comment with a-umlaut: ä canmatrix-0.9.5/test/reference/from_dbc/test.sym000066400000000000000000000007111416730473300217230ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Signal(1="one", 2="two", 3="three") {SENDRECEIVE} [testFrame1] ID=123h // Multi Line Frame comment Type=Standard DLC=8 CycleTime=100 Var=someTestSignal unsigned 4,11 -m /u:specialCharUnit /f:5 /o:1 /min:0 /max:500 // Multi Line Signal comment with a-umlaut: Var=Signal unsigned 20,3 /u:someUnit /min:0 /max:6 /e:Signal [extendedFrame] ID=00000012h Type=Extended DLC=8 canmatrix-0.9.5/test/reference/from_dbc/test.xls000066400000000000000000000130001416730473300217140ustar00rootroot00000000000000ࡱ>    \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1Arial1 Verdana1Arial1Verdana General-(pattern: pattern solid, fore-colour rose                   @   @      ` K-Matrix B%ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteordertestBUrecBUValueName / Phys. RangeFunction / Increment Unit 12xh extendedFrames123h testFrame1100rsomeTestSignal*Multi Line Signal comment with a-umlaut:  m0..5005 specialCharUnit$SignalisomeUnitonetwothree    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  }  }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                            ~  .                ~           ~  " !     ~           ~  # !     ~           ~  $ !>@A  Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_dbc/test.xlsx000066400000000000000000000146411416730473300221200ustar00rootroot00000000000000PK]L^ %xl/worksheets/sheet1.xmlrHkN.IN&A FrO1 F=|3~u MҀE3ոUFaDURN= YDgo,)H3y|iw'ްFbgɉpq4N(Sh'Dj.&;hċ$  Ntl=JBɸ963 {ڸV8yJCqWlao"1kMػ+[[Ɲ1gE?e蘩uS)h+dV< ,+Fm++IV8mų Y1i+ⶭX!M]# "m}A$_ h+"""[M@Xh$y?TB>À O0  X 0"`5 v@)XS{D|@$G >pr<5">ϒ&z.Kj h7],gU%~F1/PK]L3xl/sharedStrings.xmlTۊ0}W׵,`{f ,ei,}ڳ@Wg?V9IHI@̙d;N]iq2M;Ar;G?ծ-QHSW%Cgc&uE]HJ, 2Z|qy2w̩|S*t?Bf9TFxI!^W- ]D=¨MhCh4Hv7lK*>Q+.k GN! K ;ɨєul6D-V1d Y%&G=ʢBMlEc\wɡ!/toCIÖ :Rm^O,0 7^g$&kqrMe^Ii^_ *$˾auX _?ߜ_Y/&Zťc)PK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]LN:%PdocProps/core.xmln0}q@YIڊS*7^j#mׄ@zf]\T ,G hnԻ }%>0-Xc4TC-3\Ҟr[}bYt(nS,ey> ,0|v$)?ch@7SnC\9 ֳ8^ƶmv[c~VSq@u)8X0.u0V[ ⩋aS$gs^<ӢXB3:7Ǒ7xr~PK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L4Pg xl/styles.xmlmo0WXֵPm2Mڦiͦ}5% sB6dKS(p>=wg!(Ifp2uF.o)IyF{UA/C9$. @>UL5T*8uԵsNJFlv)&4hʬ5d͠<2i4ӕ@<5),L )|FXBp/ms~q[2ڣ ںb1džbt8/6E [ehlvgk8y|)>ˤ:CMN+--Z:T ݺӺ((JjtFB<[z*B3AW\]MHTDB2xzf"V;K aɦǼބ&FclX񄦮Wa݅z7#Iŧ |r%hu!<:/a_PؐS/IKܫ-gE Gf6Vk/ 2J^4ѭb&` PK]LFTRxl/theme/theme1.xmlYMD+F;ͮ6٤ݴlj={nsC Q$nP_PE_GfͶ9$~1CGDHʓ\Y$>h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]L^ %xl/worksheets/sheet1.xmlPK]LzJ2Gxl/workbook.xmlPK]L3xl/sharedStrings.xmlPK]L%|docProps/app.xmlPK]LN:%P docProps/core.xmlPK]La]I:O [Content_Types].xmlPK]L4Pg } xl/styles.xmlPK]LFTRxl/theme/theme1.xmlPK]LIK _rels/.relsPK]LDu[xl/_rels/workbook.xml.relsPK  canmatrix-0.9.5/test/reference/from_dbc/test.xml000066400000000000000000000216741416730473300217260ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 291 18 testBU sender ECU recBU receiver ECU PDU_testFrame1 Multi Line Frame comment 8 APPLICATION 4 true 20 false PDU_extendedFrame 8 APPLICATION FRAME_testFrame1 Multi Line Frame comment 8 APPLICATION 0 false FRAME_extendedFrame 8 APPLICATION 0 false FCT_testBU sender ECU signalcomment signalcomment FCT_recBU receiver ECU Multi Line Signal comment with a-umlaut: ä someTestSignal Multi Line Signal comment with a-umlaut: ä Signal someTestSignal specialCharUnit°$ Signal someUnit CODING_someTestSignal Coding for someTestSignal COMPUMETHOD_someTestSignal LINEAR 0.0 500.0 1.0 5.0 1 CODING_Signal Coding for Signal COMPUMETHOD_Signal LINEAR 0.0 6.0 0.0 1.0 1 canmatrix-0.9.5/test/reference/from_dbc/test.yaml000066400000000000000000000054671416730473300220720ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: - !!python/object:canmatrix.canmatrix.BoardUnit attributes: {NetworkNode: '273'} comment: sender ECU name: testBU - !!python/object:canmatrix.canmatrix.BoardUnit attributes: {} comment: receiver ECU name: recBU buDefines: NetworkNode: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 291 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: 'Multi Line Frame comment' extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: testFrame1 receiver: [recBU] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: "Multi\nLine\nSignal comment with a-umlaut: \xE4" comments: {} enumeration: null factor: 5.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: someTestSignal offset: 1.0 receiver: [recBU] signalsize: 11 startbit: 9 unit: "specialCharUnit\xB0$" - !!python/object:canmatrix.canmatrix.Signal _values: {1: one, 2: two, 3: three} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Signal offset: 0.0 receiver: [recBU] signalsize: 3 startbit: 20 unit: someUnit size: 8 transmitter: [testBU] - !!Frame _Id: 18 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: null extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: extendedFrame receiver: [] signalGroups: [] signals: [] size: 8 transmitter: [testBU] globalDefines: {} signalDefines: {} valueTables: {} canmatrix-0.9.5/test/reference/from_dbf/000077500000000000000000000000001416730473300202165ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_dbf/test.arxml000066400000000000000000000335031416730473300222460ustar00rootroot00000000000000 Cluster CAN CAN testFrame1 /ECU/testBU/CN_testBU/testFrame1 /ECU/recBU/CN_recBU/testFrame1 /Frame/FRAME_testFrame1 /Cluster/CAN/IPDUTRIGG_testFrame1 STANDARD 291 extendedFrame /ECU/testBU/CN_testBU/extendedFrame /Frame/FRAME_extendedFrame /Cluster/CAN/IPDUTRIGG_extendedFrame EXTENDED 18 IPDUTRIGG_testFrame1 /PDU/PDU_testFrame1 IPDUTRIGG_extendedFrame /PDU/PDU_extendedFrame someTestSignal /ECU/recBU/CN_recBU/someTestSignal /ISignal/someTestSignal Signal /ECU/recBU/CN_recBU/Signal /ISignal/Signal Frame FRAME_testFrame1 Multi Line Frame comment 8 testFrame1 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_testFrame1 0 FRAME_extendedFrame 8 extendedFrame MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_extendedFrame 0 PDU PDU_testFrame1 64 someTestSignal MOST-SIGNIFICANT-BYTE-FIRST /ISignal/someTestSignal 3 Signal MOST-SIGNIFICANT-BYTE-LAST /ISignal/Signal 20 PDU_extendedFrame 64 ISignal someTestSignal /Signal/someTestSignal Signal /Signal/Signal Signal someTestSignal Multi Line Signal comment with a-umlaut: ä /DataType/someTestSignal 11 Signal /DataType/Signal 3 DataType someTestSignal /DataType/Semantics/someTestSignal Signal /DataType/Semantics/Signal Semantics someTestSignal 1 5 1 Signal one 1 1 one two 2 2 two three 3 3 three 0 1 1 Unit someTestSignal specialCharUnit°$ Signal someUnit ECU testBU sender ECU /IPDUGroup/testBU_Tx CN_testBU testFrame1 OUT someTestSignal OUT Signal OUT extendedFrame OUT recBU receiver ECU /IPDUGroup/recBU_Rx CN_recBU testFrame1 IN someTestSignal IN Signal IN IPDUGroup testBU_Tx OUT /PDU/PDU_testFrame1 /PDU/PDU_extendedFrame recBU_Rx IN /PDU/PDU_testFrame1 canmatrix-0.9.5/test/reference/from_dbf/test.csv000066400000000000000000000011161416730473300217110ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,testBU,recBU,Name / Phys. Range,Function / Increment Unit,Value 123h,testFrame1,100,,,1,4,someTestSignal,Multi Line Signal comment with a-umlaut: ä,11, , ,m,u,s,r,5 specialCharUnit°$,0.0..500.0 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,1,one 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,2,two 123h,testFrame1,100,,,3,4,Signal,,3, , ,i,u,s,r,someUnit,3,three canmatrix-0.9.5/test/reference/from_dbf/test.dbc000066400000000000000000000012721416730473300216510ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: testBU recBU BO_ 291 testFrame1: 8 testBU SG_ someTestSignal : 3|11@0+ (5,1) [0|500] "specialCharUnit$" recBU SG_ Signal : 20|3@1+ (1,0) [0|6] "someUnit" recBU BO_ 2147483666 extendedFrame: 8 testBU CM_ BO_ 291 " Multi Line Frame comment"; CM_ SG_ 291 someTestSignal "Multi Line Signal comment with a-umlaut: "; CM_ BU_ testBU "sender ECU"; CM_ BU_ recBU "receiver ECU"; BA_DEF_ BO_ "GenMsgCycleTime" INT 0 0; BA_DEF_ BU_ "NetworkNode" INT 0 0; BA_DEF_DEF_ "GenMsgCycleTime" 65535; BA_DEF_DEF_ "NetworkNode" 65535; BA_ "NetworkNode" BU_ testBU 7; BA_ "GenMsgCycleTime" BO_ 291 100; VAL_ 291 Signal 1 "one" 2 "two" 3 "three"; canmatrix-0.9.5/test/reference/from_dbf/test.json000066400000000000000000000017701416730473300220750ustar00rootroot00000000000000{ "messages": [ { "id": 291, "is_extended_frame": false, "name": "testFrame1", "signals": [ { "bit_length": 11, "factor": 5.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "someTestSignal", "offset": 1.0, "start_bit": 9 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Signal", "offset": 0.0, "start_bit": 20 } ] }, { "id": 18, "is_extended_frame": true, "name": "extendedFrame", "signals": [] } ] }canmatrix-0.9.5/test/reference/from_dbf/test.kcd000066400000000000000000000025561416730473300216700ustar00rootroot00000000000000 some text Multi Line Frame comment Multi Line Signal comment with a-umlaut: ä canmatrix-0.9.5/test/reference/from_dbf/test.sym000066400000000000000000000007361416730473300217350ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Signal(1="one", 2="two", 3="three") {SENDRECEIVE} [testFrame1] ID=123h // Multi Line Frame comment Type=Standard DLC=8 CycleTime=100 Var=someTestSignal unsigned 4,11 -m /u:specialCharUnit /f:5 /o:1 /min:0 /max:500 // Multi Line Signal comment with a-umlaut: Var=Signal unsigned 20,3 /u:someUnit /min:0 /max:6 /e:Signal [extendedFrame] ID=00000012h Type=Extended DLC=8 CycleTime=65535 canmatrix-0.9.5/test/reference/from_dbf/test.xls000066400000000000000000000130001416730473300217170ustar00rootroot00000000000000ࡱ>    \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1Arial1 Verdana1Arial1Verdana General-(pattern: pattern solid, fore-colour rose                   @   @      ` K-Matrix C&ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteordertestBUrecBUValueName / Phys. RangeFunction / Increment Unit 12xh extendedFrame65535s123h testFrame1100rsomeTestSignal,Multi Line Signal comment with a-umlaut:  m0..5005 specialCharUnit$SignalisomeUnitonetwothree    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  }  }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                             ~  .                 ~        !   ~  # "      ~        !   ~  $ "      ~        !   ~  % ">@A  Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_dbf/test.xlsx000066400000000000000000000146501416730473300221230ustar00rootroot00000000000000PK]L<7xl/worksheets/sheet1.xml[L+(8tTv 6j,J F7ɯB?ћ-yat~ډYNzbox?8еLxKCe;OgƄ&H?<FXD;XxQ!?{#KRF) s^fxHwg#2IB*d!H2}<r-ߏHL6nE55A߾mu-ũ dƄL- QhOl'XQ_'޸<׋ ڥRyo Uny]sXږ1‚!5~a;P.ʔ>q|D 0;s5e n-*{i4F6OzV:?ƫ|g>b]48gsc!soϾ7ug}mzWI{%5/Vg 1ouVĐ[!3ľYC(⹜PAÔki`eі"y yvys.Qqohݲ4$wC+~5 PK]LzJ2xl/workbook.xml_O0)<O4fj mIc7d ǎl~)۞sc||h{'3Х9}}zƙBKæ7٘Fy}"W77-hROn#ZQQY|OXaL5bA O]ŦB@Lh8S/=Ȝ/Hk/:TA,%CȟID=YTWH, zRlxD-MtA&,9#J_ WWmsʲ8wiez Vx_7!>ϒ&z.Kj h7],gU%~F1/PK]L0xl/sharedStrings.xmlTj@}W K_#6rC-&^ݑcO?XW a.}9gT씄-Z'Q1@]Zf65G\\sGnwsvsu4uUt=l䏶I]g׮E$%qMSŅfP^ӜM?0LYY8QT)E:rBf$ZxQ^^W-]tD=AІWh.vOI.т{Z@P7£׏LJ.6\H]FoL[Ǧ nBb߸#0]_n}ս,*-Bê\+~-F]JPX$$y>CЅh=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]LN:%PdocProps/core.xmln0}q@YIڊS*7^j#mׄ@zf]\T ,G hnԻ }%>0-Xc4TC-3\Ҟr[}bYt(nS,ey> ,0|v$)?ch@7SnC\9 ֳ8^ƶmv[c~VSq@u)8X0.u0V[ ⩋aS$gs^<ӢXB3:7Ǒ7xr~PK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L4Pg xl/styles.xmlmo0WXֵPm2Mڦiͦ}5% sB6dKS(p>=wg!(Ifp2uF.o)IyF{UA/C9$. @>UL5T*8uԵsNJFlv)&4hʬ5d͠<2i4ӕ@<5),L )|FXBp/ms~q[2ڣ ںb1džbt8/6E [ehlvgk8y|)>ˤ:CMN+--Z:T ݺӺ((JjtFB<[z*B3AW\]MHTDB2xzf"V;K aɦǼބ&FclX񄦮Wa݅z7#Iŧ |r%hu!<:/a_PؐS/IKܫ-gE Gf6Vk/ 2J^4ѭb&` PK]LFTRxl/theme/theme1.xmlYMD+F;ͮ6٤ݴlj={nsC Q$nP_PE_GfͶ9$~1CGDHʓ\Y$>h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]L<7xl/worksheets/sheet1.xmlPK]LzJ2Hxl/workbook.xmlPK]L0xl/sharedStrings.xmlPK]L%|docProps/app.xmlPK]LN:%P docProps/core.xmlPK]La]I:O [Content_Types].xmlPK]L4Pg xl/styles.xmlPK]LFTRxl/theme/theme1.xmlPK]LIK _rels/.relsPK]LDu[xl/_rels/workbook.xml.relsPK canmatrix-0.9.5/test/reference/from_dbf/test.xml000066400000000000000000000217061416730473300217250ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 291 18 testBU sender ECU recBU receiver ECU PDU_testFrame1 Multi Line Frame comment 8 APPLICATION 4 true 20 false PDU_extendedFrame 8 APPLICATION FRAME_testFrame1 Multi Line Frame comment 8 APPLICATION 0 false FRAME_extendedFrame 8 APPLICATION 0 false FCT_testBU sender ECU signalcomment signalcomment FCT_recBU receiver ECU Multi Line Signal comment with a-umlaut: ä someTestSignal Multi Line Signal comment with a-umlaut: ä Signal someTestSignal specialCharUnit°$ Signal someUnit CODING_someTestSignal Coding for someTestSignal COMPUMETHOD_someTestSignal LINEAR 0.0 500.0 1.0 5.0 1 CODING_Signal Coding for Signal COMPUMETHOD_Signal LINEAR 0.0 6.0 0.0 1.0 1 canmatrix-0.9.5/test/reference/from_dbf/test.yaml000066400000000000000000000054361416730473300220710ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: - !!python/object:canmatrix.canmatrix.BoardUnit attributes: {NetworkNode: '7'} comment: sender ECU name: testBU - !!python/object:canmatrix.canmatrix.BoardUnit attributes: {} comment: receiver ECU name: recBU buDefines: NetworkNode: !!python/object:canmatrix.canmatrix.Define {defaultValue: '65535', definition: INT 0 0, max: 0, min: 0, type: INT} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: '65535', definition: INT 0 0, max: 0, min: 0, type: INT} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 291 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: ' Multi Line Frame comment' extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: testFrame1 receiver: [recBU] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: "Multi Line Signal comment with a-umlaut: \xE4" comments: {} enumeration: null factor: 5.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: someTestSignal offset: 1.0 receiver: [recBU] signalsize: 11 startbit: 9 unit: "specialCharUnit\xB0$" - !!python/object:canmatrix.canmatrix.Signal _values: {1: one, 2: two, 3: three} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Signal offset: 0.0 receiver: [recBU] signalsize: 3 startbit: 20 unit: someUnit size: 8 transmitter: [testBU] - !!Frame _Id: 18 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: null extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: extendedFrame receiver: [] signalGroups: [] signals: [] size: 8 transmitter: [testBU] globalDefines: {} signalDefines: {} valueTables: {} canmatrix-0.9.5/test/reference/from_json/000077500000000000000000000000001416730473300204345ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_json/test.arxml000066400000000000000000000213421416730473300224620ustar00rootroot00000000000000 Cluster CAN CAN testFrame1 /Frame/FRAME_testFrame1 /Cluster/CAN/IPDUTRIGG_testFrame1 STANDARD 291 extendedFrame /Frame/FRAME_extendedFrame /Cluster/CAN/IPDUTRIGG_extendedFrame EXTENDED 18 IPDUTRIGG_testFrame1 /PDU/PDU_testFrame1 IPDUTRIGG_extendedFrame /PDU/PDU_extendedFrame someTestSignal /ISignal/someTestSignal Signal /ISignal/Signal Frame FRAME_testFrame1 8 testFrame1 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_testFrame1 0 FRAME_extendedFrame 8 extendedFrame MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_extendedFrame 0 PDU PDU_testFrame1 64 someTestSignal MOST-SIGNIFICANT-BYTE-FIRST /ISignal/someTestSignal 3 Signal MOST-SIGNIFICANT-BYTE-LAST /ISignal/Signal 20 PDU_extendedFrame 64 ISignal someTestSignal /Signal/someTestSignal Signal /Signal/Signal Signal someTestSignal /DataType/someTestSignal 11 Signal /DataType/Signal 3 DataType someTestSignal /DataType/Semantics/someTestSignal Signal /DataType/Semantics/Signal Semantics someTestSignal 1 5 1 Signal 0 1 1 Unit someTestSignal specialCharUnit°$ Signal someUnit ECU IPDUGroup canmatrix-0.9.5/test/reference/from_json/test.csv000066400000000000000000000006071416730473300221330ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value 123h,testFrame1,,,1,4,someTestSignal,,11, , ,m,u,5 specialCharUnit°$,1.0..10236.0 123h,testFrame1,,,3,4,Signal,,3, , ,i,u,someUnit,0.0..7.0 canmatrix-0.9.5/test/reference/from_json/test.dbc000066400000000000000000000004251416730473300220660ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 291 testFrame1: 8 Vector__XXX SG_ someTestSignal : 3|11@0+ (5,1) [1|10236] "specialCharUnit$" Vector__XXX SG_ Signal : 20|3@1+ (1,0) [0|7] "someUnit" Vector__XXX BO_ 2147483666 extendedFrame: 8 Vector__XXX canmatrix-0.9.5/test/reference/from_json/test.dbf000066400000000000000000000016061416730473300220730ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 2 [START_MSG] testFrame1,291,8,2,1,S,Vector__XXX [START_SIGNALS] someTestSignal,11,2,1,U,2047.2,0.2,0,1.0,5.0,specialCharUnit$,, [START_SIGNALS] Signal,3,3,4,U,7.0,0.0,1,0.0,1.0,someUnit,, [END_MSG] [START_MSG] extendedFrame,18,8,0,1,X,Vector__XXX [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] [END_PARAM_NODE] [START_PARAM_MSG] [END_PARAM_MSG] [START_PARAM_SIG] [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_json/test.kcd000066400000000000000000000013211416730473300220730ustar00rootroot00000000000000 some text canmatrix-0.9.5/test/reference/from_json/test.sym000066400000000000000000000005011416730473300221410ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} {SENDRECEIVE} [testFrame1] ID=123h Type=Standard DLC=8 Var=someTestSignal unsigned 4,11 -m /u:specialCharUnit /f:5 /o:1 /min:1 /max:10236 Var=Signal unsigned 20,3 /u:someUnit /min:0 /max:7 [extendedFrame] ID=00000012h Type=Extended DLC=8 canmatrix-0.9.5/test/reference/from_json/test.xls000066400000000000000000000130001416730473300221350ustar00rootroot00000000000000ࡱ>    \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     ` K-Matrix "ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment Unit 12xh extendedFrame123h testFrame1someTestSignal m1..102365 specialCharUnit$Signali0..7someUnit    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                  "    ~ .             ~          >@A  Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_json/test.xlsx000066400000000000000000000141521416730473300223360ustar00rootroot00000000000000PK]LQC xl/worksheets/sheet1.xmlWr0}Wx^|:@&! $0M>+FOl# H|xavW|v$,i4Bf@\~!-8Fd>In?'ޓ=!\d]O= qҢ1ţ,\Čm* 2b?B<%=$FEޏ4n}aFli?>9%gX?(}ƅ 1>_)xE<>!A [H.de(4r\@H搆Ő,zVHwaô-!iN^F=ȊI L2QҥAjɇ#[rZVm;pP3 Rhiy /E:'9δ ڹ}eN\^][~.B۸HhE׍+s5y1UcZ*1/=tcCFOK<LN}JV6!y^P?J?90IaM]gL Θ5:&[g,^l2uƣb+TIAe}VP@] (FA.Ƨ!K=CV:SP@'E/S 9XB+X RPe`Zk졍7Sog"X_'h믂[PB`ĝUmbp J3 SV 8gaVk<ګW8a-xG0Q+-qb٭4}wI|noxFbPK]L zxl/workbook.xml_O0)Jd{1ue ue?skX+:(?lcyft_MPӗؖ{v"A8ΣK ԵT} 5sPnk[=*`;MHI3ݗ^ 8.>/bȶ;vy]UTkX&*K^4o bsPK]LOxl/sharedStrings.xmln@OLS2GGE㜛 *4qlsX?詎hs|GC =\iqRae] ոU@ [xnMHax02nn+?`*'#QC^8%LKcEg<&jzЋ$ϊElj$un_O(ؐ%Sb^N6 ?fPK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]LN:%PdocProps/core.xmln0}q@YIڊS*7^j#mׄ@zf]\T ,G hnԻ }%>0-Xc4TC-3\Ҟr[}bYt(nS,ey> ,0|v$)?ch@7SnC\9 ֳ8^ƶmv[c~VSq@u)8X0.u0V[ ⩋aS$gs^<ӢXB3:7Ǒ7xr~PK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]LQC xl/worksheets/sheet1.xmlPK]L zyxl/workbook.xmlPK]LO7xl/sharedStrings.xmlPK]L%|docProps/app.xmlPK]LN:%PdocProps/core.xmlPK]La]I:O [Content_Types].xmlPK]L7 M v xl/styles.xmlPK]LFTR xl/theme/theme1.xmlPK]LIK _rels/.relsPK]LDu[xl/_rels/workbook.xml.relsPK canmatrix-0.9.5/test/reference/from_json/test.xml000066400000000000000000000164201416730473300221400ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 291 18 PDU_testFrame1 8 APPLICATION 4 true 20 false PDU_extendedFrame 8 APPLICATION FRAME_testFrame1 8 APPLICATION 0 false FRAME_extendedFrame 8 APPLICATION 0 false someTestSignal Signal someTestSignal specialCharUnit°$ Signal someUnit CODING_someTestSignal Coding for someTestSignal COMPUMETHOD_someTestSignal LINEAR 1.0 10236.0 1.0 5.0 1 CODING_Signal Coding for Signal COMPUMETHOD_Signal LINEAR 0.0 7.0 0.0 1.0 1 canmatrix-0.9.5/test/reference/from_json/test.yaml000066400000000000000000000042311416730473300222770ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: {} envVars: {} frameDefines: {} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 291 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: null extended: 0 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: testFrame1 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 5.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 10236.0 min: 1.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: someTestSignal offset: 1.0 receiver: [] signalsize: 11 startbit: 9 unit: "specialCharUnit\xB0$" - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Signal offset: 0.0 receiver: [] signalsize: 3 startbit: 20 unit: someUnit size: 8 transmitter: [] - !!Frame _Id: 18 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: null extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: extendedFrame receiver: [] signalGroups: [] signals: [] size: 8 transmitter: [] globalDefines: {} signalDefines: {} valueTables: {} canmatrix-0.9.5/test/reference/from_kcd/000077500000000000000000000000001416730473300202245ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_kcd/test.arxml000066400000000000000000017500151416730473300222610ustar00rootroot00000000000000 Cluster test.kcd CAN CommandModeControl /Frame/FRAME_CommandModeControl /Cluster/CAN/IPDUTRIGG_CommandModeControl EXTENDED 16755521 CommandPower /Frame/FRAME_CommandPower /Cluster/CAN/IPDUTRIGG_CommandPower EXTENDED 218082369 CommandVF /Frame/FRAME_CommandVF /Cluster/CAN/IPDUTRIGG_CommandVF EXTENDED 218082881 MasterMeasuredPower /Frame/FRAME_MasterMeasuredPower /Cluster/CAN/IPDUTRIGG_MasterMeasuredPower EXTENDED 218090230 CommandFactoryControl /Frame/FRAME_CommandFactoryControl /Cluster/CAN/IPDUTRIGG_CommandFactoryControl EXTENDED 218083137 CommandSetNVParam /Frame/FRAME_CommandSetNVParam /Cluster/CAN/IPDUTRIGG_CommandSetNVParam EXTENDED 218081857 CommandModeControlAPU2 /Frame/FRAME_CommandModeControlAPU2 /Cluster/CAN/IPDUTRIGG_CommandModeControlAPU2 EXTENDED 16751425 CommandPowerAPU2 /Frame/FRAME_CommandPowerAPU2 /Cluster/CAN/IPDUTRIGG_CommandPowerAPU2 EXTENDED 218078273 CommandVFAPU2 /Frame/FRAME_CommandVFAPU2 /Cluster/CAN/IPDUTRIGG_CommandVFAPU2 EXTENDED 218078785 MasterMeasuredPowerAPU2 /Frame/FRAME_MasterMeasuredPowerAPU2 /Cluster/CAN/IPDUTRIGG_MasterMeasuredPowerAPU2 EXTENDED 218090231 StatusMeasuredPower /Frame/FRAME_StatusMeasuredPower /Cluster/CAN/IPDUTRIGG_StatusMeasuredPower EXTENDED 218090231 StatusCommandedPower /Frame/FRAME_StatusCommandedPower /Cluster/CAN/IPDUTRIGG_StatusCommandedPower EXTENDED 419415287 StatusBits /Frame/FRAME_StatusBits /Cluster/CAN/IPDUTRIGG_StatusBits EXTENDED 218088439 StatusControlVoltage /Frame/FRAME_StatusControlVoltage /Cluster/CAN/IPDUTRIGG_StatusControlVoltage EXTENDED 486524407 StatusTemps /Frame/FRAME_StatusTemps /Cluster/CAN/IPDUTRIGG_StatusTemps EXTENDED 419417079 StatusFaults /Frame/FRAME_StatusFaults /Cluster/CAN/IPDUTRIGG_StatusFaults EXTENDED 218089719 StatusACParameters /Frame/FRAME_StatusACParameters /Cluster/CAN/IPDUTRIGG_StatusACParameters EXTENDED 218088183 StatusDCParameters /Frame/FRAME_StatusDCParameters /Cluster/CAN/IPDUTRIGG_StatusDCParameters EXTENDED 486524919 StatusControlVolts2 /Frame/FRAME_StatusControlVolts2 /Cluster/CAN/IPDUTRIGG_StatusControlVolts2 EXTENDED 486524663 softwareRev /Frame/FRAME_softwareRev /Cluster/CAN/IPDUTRIGG_softwareRev EXTENDED 486523383 StatusCommandVF /Frame/FRAME_StatusCommandVF /Cluster/CAN/IPDUTRIGG_StatusCommandVF EXTENDED 419416567 serialNumber /Frame/FRAME_serialNumber /Cluster/CAN/IPDUTRIGG_serialNumber EXTENDED 486526199 softwareRevHash /Frame/FRAME_softwareRevHash /Cluster/CAN/IPDUTRIGG_softwareRevHash EXTENDED 486526455 StatusNVParam /Frame/FRAME_StatusNVParam /Cluster/CAN/IPDUTRIGG_StatusNVParam EXTENDED 486517239 StatusLineCurrents /Frame/FRAME_StatusLineCurrents /Cluster/CAN/IPDUTRIGG_StatusLineCurrents EXTENDED 419418359 StatusLineVoltages /Frame/FRAME_StatusLineVoltages /Cluster/CAN/IPDUTRIGG_StatusLineVoltages EXTENDED 419418615 IPDUTRIGG_CommandModeControl /PDU/PDU_CommandModeControl IPDUTRIGG_CommandPower /PDU/PDU_CommandPower IPDUTRIGG_CommandVF /PDU/PDU_CommandVF IPDUTRIGG_MasterMeasuredPower /PDU/PDU_MasterMeasuredPower IPDUTRIGG_CommandFactoryControl /PDU/PDU_CommandFactoryControl IPDUTRIGG_CommandSetNVParam /PDU/PDU_CommandSetNVParam IPDUTRIGG_CommandModeControlAPU2 /PDU/PDU_CommandModeControlAPU2 IPDUTRIGG_CommandPowerAPU2 /PDU/PDU_CommandPowerAPU2 IPDUTRIGG_CommandVFAPU2 /PDU/PDU_CommandVFAPU2 IPDUTRIGG_MasterMeasuredPowerAPU2 /PDU/PDU_MasterMeasuredPowerAPU2 IPDUTRIGG_StatusMeasuredPower /PDU/PDU_StatusMeasuredPower IPDUTRIGG_StatusCommandedPower /PDU/PDU_StatusCommandedPower IPDUTRIGG_StatusBits /PDU/PDU_StatusBits IPDUTRIGG_StatusControlVoltage /PDU/PDU_StatusControlVoltage IPDUTRIGG_StatusTemps /PDU/PDU_StatusTemps IPDUTRIGG_StatusFaults /PDU/PDU_StatusFaults IPDUTRIGG_StatusACParameters /PDU/PDU_StatusACParameters IPDUTRIGG_StatusDCParameters /PDU/PDU_StatusDCParameters IPDUTRIGG_StatusControlVolts2 /PDU/PDU_StatusControlVolts2 IPDUTRIGG_softwareRev /PDU/PDU_softwareRev IPDUTRIGG_StatusCommandVF /PDU/PDU_StatusCommandVF IPDUTRIGG_serialNumber /PDU/PDU_serialNumber IPDUTRIGG_softwareRevHash /PDU/PDU_softwareRevHash IPDUTRIGG_StatusNVParam /PDU/PDU_StatusNVParam IPDUTRIGG_StatusLineCurrents /PDU/PDU_StatusLineCurrents IPDUTRIGG_StatusLineVoltages /PDU/PDU_StatusLineVoltages Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower command /ISignal/RealPower command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured WriteSerialNumber /ISignal/WriteSerialNumber SerialNumber /ISignal/SerialNumber FactoryAccess /ISignal/FactoryAccess CommandSetNVParam_MUX /ISignal/CommandSetNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi NodeID /ISignal/NodeID SA_Mask /ISignal/SA_Mask Baudrate /ISignal/Baudrate ThermalOverload /ISignal/ThermalOverload MX1Open /ISignal/MX1Open MX1Close /ISignal/MX1Close MX2Open /ISignal/MX2Open MX2Close /ISignal/MX2Close K1Open /ISignal/K1Open K1Close /ISignal/K1Close K2Open /ISignal/K2Open K2Close /ISignal/K2Close Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_echo /ISignal/RealPower_echo ReactivePower_echo /ISignal/ReactivePower_echo State_status /ISignal/State_status MX2Permissive_status /ISignal/MX2Permissive_status PowerAvailAC_status /ISignal/PowerAvailAC_status PowerAvailDC_status /ISignal/PowerAvailDC_status PowerCircuitEnabled_status /ISignal/PowerCircuitEnabled_status HardwareEnable_status /ISignal/HardwareEnable_status Enable_echo /ISignal/Enable_echo FaultClr_echo /ISignal/FaultClr_echo MessageValidModeControl_status /ISignal/MessageValidModeControl_status MX1Permissive_status /ISignal/MX1Permissive_status K2DCRunPermissive_status /ISignal/K2DCRunPermissive_status K1PrechargePermissive_status /ISignal/K1PrechargePermissive_status MessageValidPowerCMD_status /ISignal/MessageValidPowerCMD_status MessageValidVF_status /ISignal/MessageValidVF_status CANbus_status /ISignal/CANbus_status EnableUPSMode_echo /ISignal/EnableUPSMode_echo EnableSplitPhase_echo /ISignal/EnableSplitPhase_echo PhaseRotation_status /ISignal/PhaseRotation_status LineVoltageDetected_status /ISignal/LineVoltageDetected_status PhaseRotation_echo /ISignal/PhaseRotation_echo v5p0_Supply /ISignal/v5p0_Supply v3p3_Supply /ISignal/v3p3_Supply v24_Supply /ISignal/v24_Supply v15_Supply /ISignal/v15_Supply TempInlet_measured /ISignal/TempInlet_measured TempInternal_measured /ISignal/TempInternal_measured ConverterLosses /ISignal/ConverterLosses BridgeAVoltageOk_status /ISignal/BridgeAVoltageOk_status OvercurrentAC_status /ISignal/OvercurrentAC_status BridgeBVoltageOk_status /ISignal/BridgeBVoltageOk_status OvervoltageDC_status /ISignal/OvervoltageDC_status OvertempPowerDevice_status /ISignal/OvertempPowerDevice_status OvertempInternal_status /ISignal/OvertempInternal_status LossValidControlMessage_status /ISignal/LossValidControlMessage_status UndervoltageDC_status /ISignal/UndervoltageDC_status ControlHardwareFail_status /ISignal/ControlHardwareFail_status OvercurrentDC_status /ISignal/OvercurrentDC_status GeneralFault_status /ISignal/GeneralFault_status LossOfAC_status /ISignal/LossOfAC_status EStopShutdown_status /ISignal/EStopShutdown_status BridgeAFault_status /ISignal/BridgeAFault_status BridgeBFault_status /ISignal/BridgeBFault_status IllegalTransition_status /ISignal/IllegalTransition_status InvalidEEHeader_status /ISignal/InvalidEEHeader_status InvalidEESection_status /ISignal/InvalidEESection_status ThermalOverload /ISignal/ThermalOverload VoltageAC_measured /ISignal/VoltageAC_measured CurrentAC_measured /ISignal/CurrentAC_measured Frequency_measured /ISignal/Frequency_measured VoltageDCBus /ISignal/VoltageDCBus CurrentDC_measured /ISignal/CurrentDC_measured VoltageDCInput_measured /ISignal/VoltageDCInput_measured n15V_Supply /ISignal/n15V_Supply DiodeTemperature /ISignal/DiodeTemperature IGBTTemperature /ISignal/IGBTTemperature InterfaceRev /ISignal/InterfaceRev ControlSwRev /ISignal/ControlSwRev BuildTime /ISignal/BuildTime Voltage_echo /ISignal/Voltage_echo Frequency_echo /ISignal/Frequency_echo SerialNumber /ISignal/SerialNumber Hash /ISignal/Hash StatusNVParam_MUX /ISignal/StatusNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi StatusNodeID /ISignal/StatusNodeID StatusSA_Mask /ISignal/StatusSA_Mask StatusBaudrate /ISignal/StatusBaudrate StatusThermalOverload /ISignal/StatusThermalOverload StatusMX1Open /ISignal/StatusMX1Open StatusMX1Close /ISignal/StatusMX1Close StatusMX2Open /ISignal/StatusMX2Open StatusMX2Close /ISignal/StatusMX2Close StatusK1Open /ISignal/StatusK1Open StatusK1Close /ISignal/StatusK1Close StatusK2Open /ISignal/StatusK2Open StatusK2Close /ISignal/StatusK2Close L1Current_measured /ISignal/L1Current_measured L2Current_measured /ISignal/L2Current_measured L3Current_measured /ISignal/L3Current_measured L1Voltage_measured /ISignal/L1Voltage_measured L2Voltage_measured /ISignal/L2Voltage_measured L3Voltage_measured /ISignal/L3Voltage_measured Frame FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 CommandModeControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControl 0 FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPower 0 FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVF 0 FRAME_MasterMeasuredPower Returns the actual measured power. 8 MasterMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPower 0 FRAME_CommandFactoryControl 8 CommandFactoryControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandFactoryControl 0 FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 CommandSetNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandSetNVParam 0 FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 CommandModeControlAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControlAPU2 0 FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPowerAPU2 0 FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVFAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVFAPU2 0 FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 MasterMeasuredPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPowerAPU2 0 FRAME_StatusMeasuredPower Returns the actual measured power. 8 StatusMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusMeasuredPower 0 FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 StatusCommandedPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandedPower 0 FRAME_StatusBits Bits representing the status of the power module. 8 StatusBits MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusBits 0 FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 StatusControlVoltage MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVoltage 0 FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 StatusTemps MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusTemps 0 FRAME_StatusFaults Fault bits. 8 StatusFaults MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusFaults 0 FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 StatusACParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusACParameters 0 FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 StatusDCParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusDCParameters 0 FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 StatusControlVolts2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVolts2 0 FRAME_softwareRev Software revision. 8 softwareRev MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRev 0 FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 StatusCommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandVF 0 FRAME_serialNumber Serial number of the power module. 8 serialNumber MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_serialNumber 0 FRAME_softwareRevHash Unique software revision identification hashcode. 8 softwareRevHash MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRevHash 0 FRAME_StatusNVParam Echos back parameter values. 8 StatusNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusNVParam 0 FRAME_StatusLineCurrents Measured RMS line currents. 8 StatusLineCurrents MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineCurrents 0 FRAME_StatusLineVoltages Measured RMS line voltages. 8 StatusLineVoltages MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineVoltages 0 PDU PDU_CommandModeControl 64 Enable_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Enable_command 0 FaultClear_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/FaultClear_command 2 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/InvertHwEnable_command 56 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableUPSMode_command 58 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableSplitPhase_command 60 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayMX1_command 32 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayMX2_command 34 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayK1_Precharge_command 36 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayRelayK2_DCRun_comand 38 PhaseRotation_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/PhaseRotation_command 62 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/MasterFollowerMode_command 16 PDU_CommandPower 64 RealPower command MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower command 24 ReactivePower_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_command 56 PDU_CommandVF 64 Voltage_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Voltage_command 8 Frequency_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Frequency_command 24 PDU_MasterMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower_measured 24 ReactivePower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_measured 56 PDU_CommandFactoryControl 64 WriteSerialNumber MOST-SIGNIFICANT-BYTE-LAST /ISignal/WriteSerialNumber 0 SerialNumber MOST-SIGNIFICANT-BYTE-LAST /ISignal/SerialNumber 56 FactoryAccess MOST-SIGNIFICANT-BYTE-LAST /ISignal/FactoryAccess 24 PDU_CommandSetNVParam 64 CommandSetNVParam_MUX MOST-SIGNIFICANT-BYTE-LAST /ISignal/CommandSetNVParam_MUX 8 Dummy MOST-SIGNIFICANT-BYTE-LAST /ISignal/Dummy 24 VUnder50pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/VUnder50pct 24 V50to88pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/V50to88pct 40 V110to120pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/V110to120pct 56 VOver120 MOST-SIGNIFICANT-BYTE-LAST /ISignal/VOver120 24 FreqHi MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqHi 24 FreqLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqLo 40 FreqVeryLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqVeryLo 56 FreqVeryLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqVeryLo 24 FreqLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqLo 40 FreqHi MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqHi 56 NodeID MOST-SIGNIFICANT-BYTE-LAST /ISignal/NodeID 16 SA_Mask MOST-SIGNIFICANT-BYTE-LAST /ISignal/SA_Mask 24 Baudrate MOST-SIGNIFICANT-BYTE-LAST /ISignal/Baudrate 36 ThermalOverload MOST-SIGNIFICANT-BYTE-LAST /ISignal/ThermalOverload 16 MX1Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX1Open 24 MX1Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX1Close 40 MX2Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX2Open 56 MX2Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX2Close 24 K1Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/K1Open 40 K1Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/K1Close 56 K2Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/K2Open 24 K2Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/K2Close 40 PDU_CommandModeControlAPU2 64 Enable_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Enable_command 0 FaultClear_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/FaultClear_command 2 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/InvertHwEnable_command 56 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableUPSMode_command 58 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableSplitPhase_command 60 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayMX1_command 32 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayMX2_command 34 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayK1_Precharge_command 36 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-LAST /ISignal/ForceRelayRelayK2_DCRun_comand 38 PhaseRotation_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/PhaseRotation_command 62 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/MasterFollowerMode_command 16 PDU_CommandPowerAPU2 64 RealPower_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower_command 24 ReactivePower_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_command 56 PDU_CommandVFAPU2 64 Voltage_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Voltage_command 8 Frequency_command MOST-SIGNIFICANT-BYTE-LAST /ISignal/Frequency_command 24 PDU_MasterMeasuredPowerAPU2 64 RealPower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower_measured 24 ReactivePower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_measured 56 PDU_StatusMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower_measured 24 ReactivePower_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_measured 56 PDU_StatusCommandedPower 64 RealPower_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/RealPower_echo 24 ReactivePower_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/ReactivePower_echo 56 PDU_StatusBits 64 State_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/State_status 0 MX2Permissive_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX2Permissive_status 18 PowerAvailAC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/PowerAvailAC_status 10 PowerAvailDC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/PowerAvailDC_status 12 PowerCircuitEnabled_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/PowerCircuitEnabled_status 14 HardwareEnable_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/HardwareEnable_status 8 Enable_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/Enable_echo 4 FaultClr_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FaultClr_echo 6 MessageValidModeControl_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/MessageValidModeControl_status 24 MX1Permissive_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/MX1Permissive_status 16 K2DCRunPermissive_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/K2DCRunPermissive_status 22 K1PrechargePermissive_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/K1PrechargePermissive_status 20 MessageValidPowerCMD_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/MessageValidPowerCMD_status 26 MessageValidVF_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/MessageValidVF_status 28 CANbus_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/CANbus_status 30 EnableUPSMode_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableUPSMode_echo 32 EnableSplitPhase_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/EnableSplitPhase_echo 34 PhaseRotation_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/PhaseRotation_status 36 LineVoltageDetected_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/LineVoltageDetected_status 38 PhaseRotation_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/PhaseRotation_echo 40 PDU_StatusControlVoltage 64 v5p0_Supply MOST-SIGNIFICANT-BYTE-LAST /ISignal/v5p0_Supply 8 v3p3_Supply MOST-SIGNIFICANT-BYTE-LAST /ISignal/v3p3_Supply 24 v24_Supply MOST-SIGNIFICANT-BYTE-LAST /ISignal/v24_Supply 40 v15_Supply MOST-SIGNIFICANT-BYTE-LAST /ISignal/v15_Supply 56 PDU_StatusTemps 64 TempInlet_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/TempInlet_measured 8 TempInternal_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/TempInternal_measured 24 ConverterLosses MOST-SIGNIFICANT-BYTE-LAST /ISignal/ConverterLosses 40 PDU_StatusFaults 64 BridgeAVoltageOk_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/BridgeAVoltageOk_status 59 OvercurrentAC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/OvercurrentAC_status 2 BridgeBVoltageOk_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/BridgeBVoltageOk_status 43 OvervoltageDC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/OvervoltageDC_status 8 OvertempPowerDevice_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/OvertempPowerDevice_status 14 OvertempInternal_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/OvertempInternal_status 12 LossValidControlMessage_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/LossValidControlMessage_status 20 UndervoltageDC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/UndervoltageDC_status 10 ControlHardwareFail_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/ControlHardwareFail_status 16 OvercurrentDC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/OvercurrentDC_status 6 GeneralFault_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/GeneralFault_status 0 LossOfAC_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/LossOfAC_status 4 EStopShutdown_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/EStopShutdown_status 24 BridgeAFault_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/BridgeAFault_status 56 BridgeBFault_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/BridgeBFault_status 40 IllegalTransition_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/IllegalTransition_status 26 InvalidEEHeader_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/InvalidEEHeader_status 28 InvalidEESection_status MOST-SIGNIFICANT-BYTE-LAST /ISignal/InvalidEESection_status 30 ThermalOverload MOST-SIGNIFICANT-BYTE-LAST /ISignal/ThermalOverload 32 PDU_StatusACParameters 64 VoltageAC_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/VoltageAC_measured 8 CurrentAC_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/CurrentAC_measured 24 Frequency_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/Frequency_measured 40 PDU_StatusDCParameters 64 VoltageDCBus MOST-SIGNIFICANT-BYTE-LAST /ISignal/VoltageDCBus 24 CurrentDC_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/CurrentDC_measured 40 VoltageDCInput_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/VoltageDCInput_measured 8 PDU_StatusControlVolts2 64 n15V_Supply MOST-SIGNIFICANT-BYTE-LAST /ISignal/n15V_Supply 8 DiodeTemperature MOST-SIGNIFICANT-BYTE-LAST /ISignal/DiodeTemperature 40 IGBTTemperature MOST-SIGNIFICANT-BYTE-LAST /ISignal/IGBTTemperature 56 PDU_softwareRev 64 InterfaceRev MOST-SIGNIFICANT-BYTE-LAST /ISignal/InterfaceRev 24 ControlSwRev MOST-SIGNIFICANT-BYTE-LAST /ISignal/ControlSwRev 8 BuildTime MOST-SIGNIFICANT-BYTE-LAST /ISignal/BuildTime 56 PDU_StatusCommandVF 64 Voltage_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/Voltage_echo 8 Frequency_echo MOST-SIGNIFICANT-BYTE-LAST /ISignal/Frequency_echo 24 PDU_serialNumber 64 SerialNumber MOST-SIGNIFICANT-BYTE-LAST /ISignal/SerialNumber 24 PDU_softwareRevHash 64 Hash MOST-SIGNIFICANT-BYTE-LAST /ISignal/Hash 28 PDU_StatusNVParam 64 StatusNVParam_MUX MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusNVParam_MUX 8 Dummy MOST-SIGNIFICANT-BYTE-LAST /ISignal/Dummy 24 VUnder50pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/VUnder50pct 24 V50to88pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/V50to88pct 40 V110to120pct MOST-SIGNIFICANT-BYTE-LAST /ISignal/V110to120pct 56 VOver120 MOST-SIGNIFICANT-BYTE-LAST /ISignal/VOver120 24 FreqHi MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqHi 24 FreqLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqLo 40 FreqVeryLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqVeryLo 56 FreqVeryLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqVeryLo 24 FreqLo MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqLo 40 FreqHi MOST-SIGNIFICANT-BYTE-LAST /ISignal/FreqHi 56 StatusNodeID MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusNodeID 16 StatusSA_Mask MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusSA_Mask 24 StatusBaudrate MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusBaudrate 36 StatusThermalOverload MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusThermalOverload 16 StatusMX1Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusMX1Open 24 StatusMX1Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusMX1Close 40 StatusMX2Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusMX2Open 56 StatusMX2Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusMX2Close 24 StatusK1Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusK1Open 40 StatusK1Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusK1Close 56 StatusK2Open MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusK2Open 24 StatusK2Close MOST-SIGNIFICANT-BYTE-LAST /ISignal/StatusK2Close 40 PDU_StatusLineCurrents 64 L1Current_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L1Current_measured 8 L2Current_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L2Current_measured 24 L3Current_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L3Current_measured 40 PDU_StatusLineVoltages 64 L1Voltage_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L1Voltage_measured 8 L2Voltage_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L2Voltage_measured 24 L3Voltage_measured MOST-SIGNIFICANT-BYTE-LAST /ISignal/L3Voltage_measured 40 ISignal Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower command /Signal/RealPower command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured WriteSerialNumber /Signal/WriteSerialNumber SerialNumber /Signal/SerialNumber FactoryAccess /Signal/FactoryAccess CommandSetNVParam_MUX /Signal/CommandSetNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi NodeID /Signal/NodeID SA_Mask /Signal/SA_Mask Baudrate /Signal/Baudrate ThermalOverload /Signal/ThermalOverload MX1Open /Signal/MX1Open MX1Close /Signal/MX1Close MX2Open /Signal/MX2Open MX2Close /Signal/MX2Close K1Open /Signal/K1Open K1Close /Signal/K1Close K2Open /Signal/K2Open K2Close /Signal/K2Close Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_echo /Signal/RealPower_echo ReactivePower_echo /Signal/ReactivePower_echo State_status /Signal/State_status MX2Permissive_status /Signal/MX2Permissive_status PowerAvailAC_status /Signal/PowerAvailAC_status PowerAvailDC_status /Signal/PowerAvailDC_status PowerCircuitEnabled_status /Signal/PowerCircuitEnabled_status HardwareEnable_status /Signal/HardwareEnable_status Enable_echo /Signal/Enable_echo FaultClr_echo /Signal/FaultClr_echo MessageValidModeControl_status /Signal/MessageValidModeControl_status MX1Permissive_status /Signal/MX1Permissive_status K2DCRunPermissive_status /Signal/K2DCRunPermissive_status K1PrechargePermissive_status /Signal/K1PrechargePermissive_status MessageValidPowerCMD_status /Signal/MessageValidPowerCMD_status MessageValidVF_status /Signal/MessageValidVF_status CANbus_status /Signal/CANbus_status EnableUPSMode_echo /Signal/EnableUPSMode_echo EnableSplitPhase_echo /Signal/EnableSplitPhase_echo PhaseRotation_status /Signal/PhaseRotation_status LineVoltageDetected_status /Signal/LineVoltageDetected_status PhaseRotation_echo /Signal/PhaseRotation_echo v5p0_Supply /Signal/v5p0_Supply v3p3_Supply /Signal/v3p3_Supply v24_Supply /Signal/v24_Supply v15_Supply /Signal/v15_Supply TempInlet_measured /Signal/TempInlet_measured TempInternal_measured /Signal/TempInternal_measured ConverterLosses /Signal/ConverterLosses BridgeAVoltageOk_status /Signal/BridgeAVoltageOk_status OvercurrentAC_status /Signal/OvercurrentAC_status BridgeBVoltageOk_status /Signal/BridgeBVoltageOk_status OvervoltageDC_status /Signal/OvervoltageDC_status OvertempPowerDevice_status /Signal/OvertempPowerDevice_status OvertempInternal_status /Signal/OvertempInternal_status LossValidControlMessage_status /Signal/LossValidControlMessage_status UndervoltageDC_status /Signal/UndervoltageDC_status ControlHardwareFail_status /Signal/ControlHardwareFail_status OvercurrentDC_status /Signal/OvercurrentDC_status GeneralFault_status /Signal/GeneralFault_status LossOfAC_status /Signal/LossOfAC_status EStopShutdown_status /Signal/EStopShutdown_status BridgeAFault_status /Signal/BridgeAFault_status BridgeBFault_status /Signal/BridgeBFault_status IllegalTransition_status /Signal/IllegalTransition_status InvalidEEHeader_status /Signal/InvalidEEHeader_status InvalidEESection_status /Signal/InvalidEESection_status ThermalOverload /Signal/ThermalOverload VoltageAC_measured /Signal/VoltageAC_measured CurrentAC_measured /Signal/CurrentAC_measured Frequency_measured /Signal/Frequency_measured VoltageDCBus /Signal/VoltageDCBus CurrentDC_measured /Signal/CurrentDC_measured VoltageDCInput_measured /Signal/VoltageDCInput_measured n15V_Supply /Signal/n15V_Supply DiodeTemperature /Signal/DiodeTemperature IGBTTemperature /Signal/IGBTTemperature InterfaceRev /Signal/InterfaceRev ControlSwRev /Signal/ControlSwRev BuildTime /Signal/BuildTime Voltage_echo /Signal/Voltage_echo Frequency_echo /Signal/Frequency_echo SerialNumber /Signal/SerialNumber Hash /Signal/Hash StatusNVParam_MUX /Signal/StatusNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi StatusNodeID /Signal/StatusNodeID StatusSA_Mask /Signal/StatusSA_Mask StatusBaudrate /Signal/StatusBaudrate StatusThermalOverload /Signal/StatusThermalOverload StatusMX1Open /Signal/StatusMX1Open StatusMX1Close /Signal/StatusMX1Close StatusMX2Open /Signal/StatusMX2Open StatusMX2Close /Signal/StatusMX2Close StatusK1Open /Signal/StatusK1Open StatusK1Close /Signal/StatusK1Close StatusK2Open /Signal/StatusK2Open StatusK2Close /Signal/StatusK2Close L1Current_measured /Signal/L1Current_measured L2Current_measured /Signal/L2Current_measured L3Current_measured /Signal/L3Current_measured L1Voltage_measured /Signal/L1Voltage_measured L2Voltage_measured /Signal/L2Voltage_measured L3Voltage_measured /Signal/L3Voltage_measured Signal Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 2 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 WriteSerialNumber /DataType/WriteSerialNumber 2 SerialNumber /DataType/SerialNumber 32 FactoryAccess /DataType/FactoryAccess 16 CommandSetNVParam_MUX /DataType/CommandSetNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VUnder50pct 16 V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V50to88pct 16 V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V110to120pct 16 VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VOver120 16 FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. /DataType/FreqHi 16 FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqLo 16 FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqVeryLo 16 FreqVeryLo Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqVeryLo 16 FreqLo Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqLo 16 FreqHi Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqHi 16 NodeID J1939 Source Address node for the module. /DataType/NodeID 8 SA_Mask Not presently used. /DataType/SA_Mask 8 Baudrate CAN baudrate /DataType/Baudrate 4 ThermalOverload Configures action to take when thermal overload input is active. /DataType/ThermalOverload 2 MX1Open Maximum time required for the MX1 contactor to open. /DataType/MX1Open 16 MX1Close Maximum time required for the MX1 contactor to close. /DataType/MX1Close 16 MX2Open Maximum time required for the MX2 contactor to open. /DataType/MX2Open 16 MX2Close Maximum time required for the MX2 contactor to open. /DataType/MX2Close 16 K1Open Maximum time required for the K1 contactor to open. /DataType/K1Open 16 K1Close Maximum time required for the K1 contactor to close. /DataType/K1Close 16 K2Open Maximum time required for the K2 contactor to open. /DataType/K2Open 16 K2Close Maximum time required for the K2 contactor to close. /DataType/K2Close 16 Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 2 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower_command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 RealPower_measured Measured real power. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power. /DataType/ReactivePower_measured 32 RealPower_echo Echoed real power command. /DataType/RealPower_echo 32 ReactivePower_echo Echoed reactive power command. /DataType/ReactivePower_echo 32 State_status Active control mode. /DataType/State_status 4 MX2Permissive_status MX2 relay status /DataType/MX2Permissive_status 2 PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. /DataType/PowerAvailAC_status 2 PowerAvailDC_status Indicates that DC bus voltage is within operating range. /DataType/PowerAvailDC_status 2 PowerCircuitEnabled_status Indicates whether the switching devices are active. /DataType/PowerCircuitEnabled_status 2 HardwareEnable_status Status of the hardware enable. /DataType/HardwareEnable_status 2 Enable_echo Echos the state of the Enable command withing the CommandModeControl message. /DataType/Enable_echo 2 FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. /DataType/FaultClr_echo 2 MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidModeControl_status 2 MX1Permissive_status MX1 relay status /DataType/MX1Permissive_status 2 K2DCRunPermissive_status K2 DC Run relay status. /DataType/K2DCRunPermissive_status 2 K1PrechargePermissive_status K1 precharge relay status. /DataType/K1PrechargePermissive_status 2 MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidPowerCMD_status 2 MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidVF_status 2 CANbus_status Operational status of the CAN bus driver. /DataType/CANbus_status 2 EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. /DataType/EnableUPSMode_echo 2 EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. /DataType/EnableSplitPhase_echo 2 PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. /DataType/PhaseRotation_status 2 LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. /DataType/LineVoltageDetected_status 2 PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. /DataType/PhaseRotation_echo 2 v5p0_Supply Present voltage of the control board 5V power suppy. /DataType/v5p0_Supply 16 v3p3_Supply Present voltage of the control board 3.3V power supply. /DataType/v3p3_Supply 16 v24_Supply Present voltage of the control board 24V power supply. /DataType/v24_Supply 16 v15_Supply Present voltage of the control board 15V power supply. /DataType/v15_Supply 16 TempInlet_measured Coolant inlet temperature /DataType/TempInlet_measured 16 TempInternal_measured Internal ambient temperature /DataType/TempInternal_measured 16 ConverterLosses Power converter thermal loss /DataType/ConverterLosses 16 BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeAVoltageOk_status 1 OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. /DataType/OvercurrentAC_status 2 BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeBVoltageOk_status 1 OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. /DataType/OvervoltageDC_status 2 OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. /DataType/OvertempPowerDevice_status 2 OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. /DataType/OvertempInternal_status 2 LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. /DataType/LossValidControlMessage_status 4 UndervoltageDC_status Indicates loss of DC source voltage. /DataType/UndervoltageDC_status 2 ControlHardwareFail_status Set upon the failure of control hardware to return expected response. /DataType/ControlHardwareFail_status 4 OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. /DataType/OvercurrentDC_status 2 GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. /DataType/GeneralFault_status 2 LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. /DataType/LossOfAC_status 2 EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. /DataType/EStopShutdown_status 2 BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeAFault_status 3 BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeBFault_status 3 IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. /DataType/IllegalTransition_status 2 InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. /DataType/InvalidEEHeader_status 2 InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. /DataType/InvalidEESection_status 2 ThermalOverload /DataType/ThermalOverload 2 VoltageAC_measured Measured RMS AC voltage. /DataType/VoltageAC_measured 16 CurrentAC_measured Measured RMS AC current. /DataType/CurrentAC_measured 16 Frequency_measured Measured frequency. /DataType/Frequency_measured 16 VoltageDCBus Measured DC bus voltage. /DataType/VoltageDCBus 16 CurrentDC_measured Measured DC current. /DataType/CurrentDC_measured 16 VoltageDCInput_measured Estimated DC input voltage. /DataType/VoltageDCInput_measured 16 n15V_Supply Present voltage of the control board -15V power supply. /DataType/n15V_Supply 16 DiodeTemperature Hottest diode /DataType/DiodeTemperature 16 IGBTTemperature Hottest IGBT /DataType/IGBTTemperature 16 InterfaceRev Software revision of the CAN communication interface. /DataType/InterfaceRev 16 ControlSwRev Software revision of the control firmware. /DataType/ControlSwRev 16 BuildTime Build timestamp. /DataType/BuildTime 32 Voltage_echo Echoed voltage command /DataType/Voltage_echo 16 Frequency_echo Echoed frequency command. /DataType/Frequency_echo 16 SerialNumber Serial number of the power module. /DataType/SerialNumber 32 Hash Unique revision identification hashcode. /DataType/Hash 28 StatusNVParam_MUX /DataType/StatusNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct /DataType/VUnder50pct 16 V50to88pct /DataType/V50to88pct 16 V110to120pct /DataType/V110to120pct 16 VOver120 /DataType/VOver120 16 FreqHi /DataType/FreqHi 16 FreqLo /DataType/FreqLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqLo /DataType/FreqLo 16 FreqHi /DataType/FreqHi 16 StatusNodeID J1939 Source Address node for the module /DataType/StatusNodeID 8 StatusSA_Mask Mask used to configure from which master source addresses to accept commands. /DataType/StatusSA_Mask 8 StatusBaudrate /DataType/StatusBaudrate 4 StatusThermalOverload Configured action to take when thermal overload input is active. /DataType/StatusThermalOverload 2 StatusMX1Open Maximum time required for the MX1 contactor to open. /DataType/StatusMX1Open 16 StatusMX1Close Maximum time required for the MX1 contactor to close. /DataType/StatusMX1Close 16 StatusMX2Open Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Open 16 StatusMX2Close Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Close 16 StatusK1Open Maximum time required for the K1 contactor to open. /DataType/StatusK1Open 16 StatusK1Close Maximum time required for the K1 contactor to close. /DataType/StatusK1Close 16 StatusK2Open Maximum time required for the K2 contactor to open. /DataType/StatusK2Open 16 StatusK2Close Maximum time required for the K2 contactor to close. /DataType/StatusK2Close 16 L1Current_measured Measured L1 RMS line current. /DataType/L1Current_measured 16 L2Current_measured Measured L2 RMS line current. /DataType/L2Current_measured 16 L3Current_measured Measured L3 RMS line current. /DataType/L3Current_measured 16 L1Voltage_measured Measured L1 RMS line-neutral voltage /DataType/L1Voltage_measured 16 L2Voltage_measured Measured L2 RMS line-neutral voltage /DataType/L2Voltage_measured 16 L3Voltage_measured Measured L3 RMS line-neutral voltage /DataType/L3Voltage_measured 16 DataType Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower command /DataType/Semantics/RealPower command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured WriteSerialNumber /DataType/Semantics/WriteSerialNumber SerialNumber /DataType/Semantics/SerialNumber FactoryAccess /DataType/Semantics/FactoryAccess CommandSetNVParam_MUX /DataType/Semantics/CommandSetNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi NodeID /DataType/Semantics/NodeID SA_Mask /DataType/Semantics/SA_Mask Baudrate /DataType/Semantics/Baudrate ThermalOverload /DataType/Semantics/ThermalOverload MX1Open /DataType/Semantics/MX1Open MX1Close /DataType/Semantics/MX1Close MX2Open /DataType/Semantics/MX2Open MX2Close /DataType/Semantics/MX2Close K1Open /DataType/Semantics/K1Open K1Close /DataType/Semantics/K1Close K2Open /DataType/Semantics/K2Open K2Close /DataType/Semantics/K2Close Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_echo /DataType/Semantics/RealPower_echo ReactivePower_echo /DataType/Semantics/ReactivePower_echo State_status /DataType/Semantics/State_status MX2Permissive_status /DataType/Semantics/MX2Permissive_status PowerAvailAC_status /DataType/Semantics/PowerAvailAC_status PowerAvailDC_status /DataType/Semantics/PowerAvailDC_status PowerCircuitEnabled_status /DataType/Semantics/PowerCircuitEnabled_status HardwareEnable_status /DataType/Semantics/HardwareEnable_status Enable_echo /DataType/Semantics/Enable_echo FaultClr_echo /DataType/Semantics/FaultClr_echo MessageValidModeControl_status /DataType/Semantics/MessageValidModeControl_status MX1Permissive_status /DataType/Semantics/MX1Permissive_status K2DCRunPermissive_status /DataType/Semantics/K2DCRunPermissive_status K1PrechargePermissive_status /DataType/Semantics/K1PrechargePermissive_status MessageValidPowerCMD_status /DataType/Semantics/MessageValidPowerCMD_status MessageValidVF_status /DataType/Semantics/MessageValidVF_status CANbus_status /DataType/Semantics/CANbus_status EnableUPSMode_echo /DataType/Semantics/EnableUPSMode_echo EnableSplitPhase_echo /DataType/Semantics/EnableSplitPhase_echo PhaseRotation_status /DataType/Semantics/PhaseRotation_status LineVoltageDetected_status /DataType/Semantics/LineVoltageDetected_status PhaseRotation_echo /DataType/Semantics/PhaseRotation_echo v5p0_Supply /DataType/Semantics/v5p0_Supply v3p3_Supply /DataType/Semantics/v3p3_Supply v24_Supply /DataType/Semantics/v24_Supply v15_Supply /DataType/Semantics/v15_Supply TempInlet_measured /DataType/Semantics/TempInlet_measured TempInternal_measured /DataType/Semantics/TempInternal_measured ConverterLosses /DataType/Semantics/ConverterLosses BridgeAVoltageOk_status /DataType/Semantics/BridgeAVoltageOk_status OvercurrentAC_status /DataType/Semantics/OvercurrentAC_status BridgeBVoltageOk_status /DataType/Semantics/BridgeBVoltageOk_status OvervoltageDC_status /DataType/Semantics/OvervoltageDC_status OvertempPowerDevice_status /DataType/Semantics/OvertempPowerDevice_status OvertempInternal_status /DataType/Semantics/OvertempInternal_status LossValidControlMessage_status /DataType/Semantics/LossValidControlMessage_status UndervoltageDC_status /DataType/Semantics/UndervoltageDC_status ControlHardwareFail_status /DataType/Semantics/ControlHardwareFail_status OvercurrentDC_status /DataType/Semantics/OvercurrentDC_status GeneralFault_status /DataType/Semantics/GeneralFault_status LossOfAC_status /DataType/Semantics/LossOfAC_status EStopShutdown_status /DataType/Semantics/EStopShutdown_status BridgeAFault_status /DataType/Semantics/BridgeAFault_status BridgeBFault_status /DataType/Semantics/BridgeBFault_status IllegalTransition_status /DataType/Semantics/IllegalTransition_status InvalidEEHeader_status /DataType/Semantics/InvalidEEHeader_status InvalidEESection_status /DataType/Semantics/InvalidEESection_status ThermalOverload /DataType/Semantics/ThermalOverload VoltageAC_measured /DataType/Semantics/VoltageAC_measured CurrentAC_measured /DataType/Semantics/CurrentAC_measured Frequency_measured /DataType/Semantics/Frequency_measured VoltageDCBus /DataType/Semantics/VoltageDCBus CurrentDC_measured /DataType/Semantics/CurrentDC_measured VoltageDCInput_measured /DataType/Semantics/VoltageDCInput_measured n15V_Supply /DataType/Semantics/n15V_Supply DiodeTemperature /DataType/Semantics/DiodeTemperature IGBTTemperature /DataType/Semantics/IGBTTemperature InterfaceRev /DataType/Semantics/InterfaceRev ControlSwRev /DataType/Semantics/ControlSwRev BuildTime /DataType/Semantics/BuildTime Voltage_echo /DataType/Semantics/Voltage_echo Frequency_echo /DataType/Semantics/Frequency_echo SerialNumber /DataType/Semantics/SerialNumber Hash /DataType/Semantics/Hash StatusNVParam_MUX /DataType/Semantics/StatusNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi StatusNodeID /DataType/Semantics/StatusNodeID StatusSA_Mask /DataType/Semantics/StatusSA_Mask StatusBaudrate /DataType/Semantics/StatusBaudrate StatusThermalOverload /DataType/Semantics/StatusThermalOverload StatusMX1Open /DataType/Semantics/StatusMX1Open StatusMX1Close /DataType/Semantics/StatusMX1Close StatusMX2Open /DataType/Semantics/StatusMX2Open StatusMX2Close /DataType/Semantics/StatusMX2Close StatusK1Open /DataType/Semantics/StatusK1Open StatusK1Close /DataType/Semantics/StatusK1Close StatusK2Open /DataType/Semantics/StatusK2Open StatusK2Close /DataType/Semantics/StatusK2Close L1Current_measured /DataType/Semantics/L1Current_measured L2Current_measured /DataType/Semantics/L2Current_measured L3Current_measured /DataType/Semantics/L3Current_measured L1Voltage_measured /DataType/Semantics/L1Voltage_measured L2Voltage_measured /DataType/Semantics/L2Voltage_measured L3Voltage_measured /DataType/Semantics/L3Voltage_measured Semantics Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 WriteSerialNumber Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 SerialNumber 0 1 1 FactoryAccess 0 1 1 CommandSetNVParam_MUX Param0 0 0 Param0 LVM_ClearingTimes1 1 1 LVM_ClearingTimes1 LVM_ClearingTimes2 2 2 LVM_ClearingTimes2 LFM_Limits 3 3 LFM_Limits LFM_ClearingTimes 4 4 LFM_ClearingTimes J1939_Interface 5 5 J1939_Interface Fault_Config 6 6 Fault_Config ContactorDelays1 7 7 ContactorDelays1 ContactorDelays2 8 8 ContactorDelays2 ContactorDelays3 10 10 ContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 NodeID 0 1 1 SA_Mask 0 1 1 Baudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 ThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Open 0 1 1 MX1Close 0 1 1 MX2Open 0 1 1 MX2Close 0 1 1 K1Open 0 1 1 K1Close 0 1 1 K2Open 0 1 1 K2Close 0 1 1 Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_echo 0 1 1 ReactivePower_echo 0 1 1 State_status Power On Reset, and a quoted comma 0 0 Power On Reset, and a quoted comma Ready 1 1 Ready Following 2 2 Following Fault 3 3 Fault Forming 4 4 Forming N/A 5 5 N/A N/A 6 6 N/A N/A 7 7 N/A N/A 8 8 N/A N/A 9 9 N/A N/A 10 10 N/A N/A 11 11 N/A N/A 12 12 N/A N/A 13 13 N/A N/A 14 14 N/A N/A 15 15 N/A 0 1 1 MX2Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailAC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailDC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerCircuitEnabled_status Disabled 0 0 Disabled Enabled 1 1 Enabled Error 2 2 Error N/A 3 3 N/A 0 1 1 HardwareEnable_status Not Active 0 0 Not Active Active 1 1 Active Error 2 2 Error N/A 3 3 N/A 0 1 1 Enable_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClr_echo Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidModeControl_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K2DCRunPermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K1PrechargePermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidPowerCMD_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidVF_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 CANbus_status Normal 0 0 Normal Warning 1 1 Warning ErrorPassive 3 3 ErrorPassive N/A 4 4 N/A 0 1 1 EnableUPSMode_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_echo Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_status Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 LineVoltageDetected_status No_Voltage 0 0 No_Voltage Voltage_Detected 1 1 Voltage_Detected Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_echo Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 v5p0_Supply 0 0.01 1 v3p3_Supply 0 0.01 1 v24_Supply 0 0.01 1 v15_Supply 0 0.01 1 TempInlet_measured 0 0.1 1 TempInternal_measured 0 0.1 1 ConverterLosses 0 1 1 BridgeAVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeBVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempPowerDevice_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempInternal_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossValidControlMessage_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 UndervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ControlHardwareFail_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 GeneralFault_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossOfAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 EStopShutdown_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeAFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeBFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 IllegalTransition_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEEHeader_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEESection_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ThermalOverload Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 VoltageAC_measured 0 0.1 1 CurrentAC_measured 0 1 1 Frequency_measured 0 0.1 1 VoltageDCBus 0 1 1 CurrentDC_measured 0 1 1 VoltageDCInput_measured 0 1 1 n15V_Supply 0 0.01 1 DiodeTemperature 0 1 1 IGBTTemperature 0 1 1 InterfaceRev 0 0.01 1 ControlSwRev 0 0.01 1 BuildTime 0 1 1 Voltage_echo 0 0.1 1 Frequency_echo 0 0.1 1 SerialNumber 0 1 1 Hash 0 1 1 StatusNVParam_MUX ActParam0 0 0 ActParam0 ActLVM_ClearingTimes1 1 1 ActLVM_ClearingTimes1 ActLVM_ClearingTimes2 2 2 ActLVM_ClearingTimes2 ActLFM_Limits 3 3 ActLFM_Limits ActLFM_ClearingTimes 4 4 ActLFM_ClearingTimes StatusJ1939_Interface 5 5 StatusJ1939_Interface StatusFault_Config 6 6 StatusFault_Config StatusContactorDelays1 7 7 StatusContactorDelays1 StatusContactorDelays2 8 8 StatusContactorDelays2 StatusContactorDelays3 9 9 StatusContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 StatusNodeID 0 1 1 StatusSA_Mask 0 1 1 StatusBaudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 StatusThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 StatusMX1Open 0 1 1 StatusMX1Close 0 1 1 StatusMX2Open 0 1 1 StatusMX2Close 0 1 1 StatusK1Open 0 1 1 StatusK1Close 0 1 1 StatusK2Open 0 1 1 StatusK2Close 0 1 1 L1Current_measured 0 1 1 L2Current_measured 0 1 1 L3Current_measured 0 1 1 L1Voltage_measured 0 0.1 1 L2Voltage_measured 0 0.1 1 L3Voltage_measured 0 0.1 1 Unit Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms NodeID SA_Mask Baudrate ThermalOverload MX1Open ms MX1Close ms MX2Open ms MX2Close ms K1Open ms K1Close ms K2Open ms K2Close ms Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA State_status MX2Permissive_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status HardwareEnable_status Enable_echo FaultClr_echo MessageValidModeControl_status MX1Permissive_status K2DCRunPermissive_status K1PrechargePermissive_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V TempInlet_measured C TempInternal_measured C ConverterLosses W BridgeAVoltageOk_status OvercurrentAC_status BridgeBVoltageOk_status OvervoltageDC_status OvertempPowerDevice_status OvertempInternal_status LossValidControlMessage_status UndervoltageDC_status ControlHardwareFail_status OvercurrentDC_status GeneralFault_status LossOfAC_status EStopShutdown_status BridgeAFault_status BridgeBFault_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz VoltageDCBus V CurrentDC_measured A VoltageDCInput_measured V n15V_Supply V DiodeTemperature C IGBTTemperature C InterfaceRev ControlSwRev BuildTime Voltage_echo Vrms Frequency_echo Hz SerialNumber Hash StatusNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms StatusNodeID StatusSA_Mask StatusBaudrate StatusThermalOverload StatusMX1Open ms StatusMX1Close ms StatusMX2Open ms StatusMX2Close ms StatusK1Open ms StatusK1Close ms StatusK2Open ms StatusK2Close ms L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms ECU IPDUGroup canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.csv000066400000000000000000001760271416730473300235340ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value FF9B41xh,CommandModeControlAPU2,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,0,Disable FF9B41xh,CommandModeControlAPU2,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,1,Enable FF9B41xh,CommandModeControlAPU2,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,1,Clear Faults FF9B41xh,CommandModeControlAPU2,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,0,Master FF9B41xh,CommandModeControlAPU2,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,1,Follower FF9B41xh,CommandModeControlAPU2,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,0,No invert FF9B41xh,CommandModeControlAPU2,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,1,Invert FF9B41xh,CommandModeControlAPU2,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,0,Disable FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,1,Enable FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,0,Normal - Three Phase Mode FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,1,Enable Split Phase Mode FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,i,u,,0,Negative FF9B41xh,CommandModeControlAPU2,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,i,u,,1,Positive FF9B41xh,CommandModeControlAPU2,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,i,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,0,Disable FFAB41xh,CommandModeControl,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,1,Enable FFAB41xh,CommandModeControl,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,1,0,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,0,Normal FFAB41xh,CommandModeControl,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,1,Clear Faults FFAB41xh,CommandModeControl,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,1,2,FaultClear_command,Clears the latched fault message.,2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,0,Master FFAB41xh,CommandModeControl,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,1,Follower FFAB41xh,CommandModeControl,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,3,0,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,0,No invert FFAB41xh,CommandModeControl,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,1,Invert FFAB41xh,CommandModeControl,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,0,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,0,Disable FFAB41xh,CommandModeControl,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,1,Enable FFAB41xh,CommandModeControl,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,2,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,0,Normal - Three Phase Mode FFAB41xh,CommandModeControl,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,1,Enable Split Phase Mode FFAB41xh,CommandModeControl,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,4,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,i,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,i,u,,0,Negative FFAB41xh,CommandModeControl,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,i,u,,1,Positive FFAB41xh,CommandModeControl,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,i,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,6,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,i,u,,3,N/A CFF9C41xh,CommandPowerAPU2,None,,,4,0,RealPower_command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,i,s,W,-90000.0..90000.0 CFF9C41xh,CommandPowerAPU2,None,,,8,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,i,s,VA,-90000.0..90000.0 CFF9E41xh,CommandVFAPU2,None,,,2,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,i,u,0.1 Vrms,10.0..500.0 CFF9E41xh,CommandVFAPU2,None,,,4,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,i,u,0.1 Hz,45.0..65.0 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,0,Param0 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,1,LVM_ClearingTimes1 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,2,LVM_ClearingTimes2 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,3,LFM_Limits CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,4,LFM_ClearingTimes CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,5,J1939_Interface CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,6,Fault_Config CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,7,ContactorDelays1 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,8,ContactorDelays2 CFFAA41xh,CommandSetNVParam,None,,,2,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,i,u,,10,ContactorDelays3 CFFAA41xh,CommandSetNVParam,None,,,3,0,NodeID,Mode 5:J1939 Source Address node for the module.,8, , ,i,u,,0.0..247.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,i,u,,0,Warning CFFAA41xh,CommandSetNVParam,None,,,3,0,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,i,u,,1,Fault CFFAA41xh,CommandSetNVParam,None,,,3,0,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,i,u,,2,Error CFFAA41xh,CommandSetNVParam,None,,,3,0,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,i,u,,3,N/A CFFAA41xh,CommandSetNVParam,None,,,4,0,Dummy,Mode 0:,16, , ,i,u,,0.0..65535.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,FreqHi,"Mode 3:Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,i,u,0.1 Hz,40.0..70.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,FreqVeryLo,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,i,u,ms,160.0..160.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,K2Open,Mode 10:Maximum time required for the K2 contactor to open.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,MX1Open,Mode 7:Maximum time required for the MX1 contactor to open.,16, , ,i,u,ms,0.0..5000.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,MX2Close,Mode 8:Maximum time required for the MX2 contactor to open.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,SA_Mask,Mode 5:Not presently used.,8, , ,i,u,,0.0..255.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,VOver120,Mode 2:Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,i,u,,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,4,0,VUnder50pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,i,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,5,4,Baudrate,Mode 5:CAN baudrate,4, , ,i,u,,0,125K CFFAA41xh,CommandSetNVParam,None,,,5,4,Baudrate,Mode 5:CAN baudrate,4, , ,i,u,,1,250K CFFAA41xh,CommandSetNVParam,None,,,5,4,Baudrate,Mode 5:CAN baudrate,4, , ,i,u,,2,500K CFFAA41xh,CommandSetNVParam,None,,,5,4,Baudrate,Mode 5:CAN baudrate,4, , ,i,u,,3,1M CFFAA41xh,CommandSetNVParam,None,,,6,0,FreqLo,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,i,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,6,0,K1Open,Mode 8:Maximum time required for the K1 contactor to open.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,6,0,K2Close,Mode 10:Maximum time required for the K2 contactor to close.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,6,0,MX1Close,Mode 7:Maximum time required for the MX1 contactor to close.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,6,0,V50to88pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,i,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,8,0,FreqHi,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,i,u,ms,160.0..160.0 CFFAA41xh,CommandSetNVParam,None,,,8,0,FreqVeryLo,"Mode 3:Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,i,u,0.1 Hz,40.0..70.0 CFFAA41xh,CommandSetNVParam,None,,,8,0,K1Close,Mode 8:Maximum time required for the K1 contactor to close.,16, , ,i,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,8,0,MX2Open,Mode 7:Maximum time required for the MX2 contactor to open.,16, , ,i,u,ms,0.0..65535.0 CFFAA41xh,CommandSetNVParam,None,,,8,0,V110to120pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,i,u,ms,1.0..30000.0 CFFAC41xh,CommandPower,None,,,4,0,RealPower command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,i,s,W,-90000.0..90000.0 CFFAC41xh,CommandPower,None,,,8,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,i,s,VA,-90000.0..90000.0 CFFAE41xh,CommandVF,None,,,2,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,i,u,0.1 Vrms,10.0..500.0 CFFAE41xh,CommandVF,None,,,4,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,i,u,0.1 Hz,45.0..65.0 CFFAF41xh,CommandFactoryControl,None,,,1,0,WriteSerialNumber,,2, , ,i,u,,0,Disable CFFAF41xh,CommandFactoryControl,None,,,1,0,WriteSerialNumber,,2, , ,i,u,,1,Enable CFFAF41xh,CommandFactoryControl,None,,,1,0,WriteSerialNumber,,2, , ,i,u,,2,Error CFFAF41xh,CommandFactoryControl,None,,,1,0,WriteSerialNumber,,2, , ,i,u,,3,N/A CFFAF41xh,CommandFactoryControl,None,,,4,0,FactoryAccess,,16, , ,i,u,,0.0..65535.0 CFFAF41xh,CommandFactoryControl,None,,,8,0,SerialNumber,,32, , ,i,u,,0.0..4294967295.0 CFFC2F7xh,StatusACParameters,100,,,2,0,VoltageAC_measured,Measured RMS AC voltage.,16, , ,i,s,0.1 V,-3276.8..3276.7000000000003 CFFC2F7xh,StatusACParameters,100,,,4,0,CurrentAC_measured,Measured RMS AC current.,16, , ,i,s,A,-32768.0..32767.0 CFFC2F7xh,StatusACParameters,100,,,6,0,Frequency_measured,Measured frequency.,16, , ,i,s,0.1 Hz,-3276.8..3276.7000000000003 CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,0,"Power On Reset, and a quoted comma" CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,1,Ready CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,2,Following CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,3,Fault CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,4,Forming CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,5,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,6,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,7,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,8,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,9,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,10,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,11,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,12,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,13,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,14,N/A CFFC3F7xh,StatusBits,100,,,1,0,State_status,Active control mode.,4, , ,i,u,,15,N/A CFFC3F7xh,StatusBits,100,,,1,4,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,i,u,,0,Disable CFFC3F7xh,StatusBits,100,,,1,4,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,i,u,,1,Enable CFFC3F7xh,StatusBits,100,,,1,4,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,1,4,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,1,6,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,i,u,,0,Normal CFFC3F7xh,StatusBits,100,,,1,6,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,i,u,,1,Clear Faults CFFC3F7xh,StatusBits,100,,,1,6,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,1,6,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,0,HardwareEnable_status,Status of the hardware enable.,2, , ,i,u,,0,Not Active CFFC3F7xh,StatusBits,100,,,2,0,HardwareEnable_status,Status of the hardware enable.,2, , ,i,u,,1,Active CFFC3F7xh,StatusBits,100,,,2,0,HardwareEnable_status,Status of the hardware enable.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,0,HardwareEnable_status,Status of the hardware enable.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,i,u,,0,None CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,i,u,,1,Available CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,i,u,,0,None CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,i,u,,1,Available CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,6,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,i,u,,0,Disabled CFFC3F7xh,StatusBits,100,,,2,6,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,i,u,,1,Enabled CFFC3F7xh,StatusBits,100,,,2,6,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,6,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,0,MX1Permissive_status,MX1 relay status,2, , ,i,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,0,MX1Permissive_status,MX1 relay status,2, , ,i,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,0,MX1Permissive_status,MX1 relay status,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,0,MX1Permissive_status,MX1 relay status,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,2,MX2Permissive_status,MX2 relay status,2, , ,i,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,2,MX2Permissive_status,MX2 relay status,2, , ,i,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,2,MX2Permissive_status,MX2 relay status,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,2,MX2Permissive_status,MX2 relay status,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,4,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,i,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,4,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,i,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,4,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,4,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,6,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,i,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,6,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,i,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,6,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,6,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,0,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,0,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,0,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,0,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,2,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,2,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,2,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,2,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,4,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,4,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,4,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,4,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,6,CANbus_status,Operational status of the CAN bus driver.,2, , ,i,u,,0,Normal CFFC3F7xh,StatusBits,100,,,4,6,CANbus_status,Operational status of the CAN bus driver.,2, , ,i,u,,1,Warning CFFC3F7xh,StatusBits,100,,,4,6,CANbus_status,Operational status of the CAN bus driver.,2, , ,i,u,,3,ErrorPassive CFFC3F7xh,StatusBits,100,,,4,6,CANbus_status,Operational status of the CAN bus driver.,2, , ,i,u,,4,N/A CFFC3F7xh,StatusBits,100,,,5,0,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,i,u,,0,Disable CFFC3F7xh,StatusBits,100,,,5,0,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,i,u,,1,Enable CFFC3F7xh,StatusBits,100,,,5,0,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,0,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,2,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,i,u,,0,Normal - Three Phase Mode CFFC3F7xh,StatusBits,100,,,5,2,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,i,u,,1,Enable Split Phase Mode CFFC3F7xh,StatusBits,100,,,5,2,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,2,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,4,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,i,u,,0,Negative CFFC3F7xh,StatusBits,100,,,5,4,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,i,u,,1,Positive CFFC3F7xh,StatusBits,100,,,5,4,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,4,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,6,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,i,u,,0,No_Voltage CFFC3F7xh,StatusBits,100,,,5,6,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,i,u,,1,Voltage_Detected CFFC3F7xh,StatusBits,100,,,5,6,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,6,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,i,u,,3,N/A CFFC3F7xh,StatusBits,100,,,6,0,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,i,u,,0,Negative CFFC3F7xh,StatusBits,100,,,6,0,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,i,u,,1,Positive CFFC3F7xh,StatusBits,100,,,6,0,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,i,u,,2,Error CFFC3F7xh,StatusBits,100,,,6,0,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,0,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,0,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,0,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,0,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,2,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,2,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,2,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,2,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,4,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,4,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,4,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,4,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,6,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,6,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,6,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,6,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,0,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,0,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,0,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,0,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,2,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,2,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,2,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,2,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,4,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,4,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,4,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,4,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,6,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,6,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,6,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,6,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,3,0,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,3,0,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,3,0,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,3,0,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,3,4,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,3,4,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,3,4,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,3,4,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,0,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,0,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,0,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,0,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,2,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,2,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,2,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,2,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,4,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,4,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,4,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,4,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,6,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,6,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,6,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,6,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,5,0,ThermalOverload,,2, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,5,0,ThermalOverload,,2, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,5,0,ThermalOverload,,2, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,5,0,ThermalOverload,,2, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,1,FLT_A CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,2,N/A CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,3,FLT_C CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,4,OverVoltage CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,5,FLT_B CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,6,Overcurrent CFFC8F7xh,StatusFaults,100,,,6,0,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,7,5V CFFC8F7xh,StatusFaults,100,,,6,3,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,6,3,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,6,3,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,6,3,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,1,FLT_A CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,2,N/A CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,3,FLT_C CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,4,OverVoltage CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,5,FLT_B CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,6,Overcurrent CFFC8F7xh,StatusFaults,100,,,8,0,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,i,u,,7,5V CFFC8F7xh,StatusFaults,100,,,8,3,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,8,3,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,8,3,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,2,Error CFFC8F7xh,StatusFaults,100,,,8,3,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,i,u,,3,N/A CFFCAF6xh,MasterMeasuredPower,None,,,4,0,RealPower_measured,Measured real power of master unit.,32, , ,i,s,W,-2147483648.0..2147483647.0 CFFCAF6xh,MasterMeasuredPower,None,,,8,0,ReactivePower_measured,Measured reactive power of master unit.,32, , ,i,s,VA,-2147483648.0..2147483647.0 CFFCAF7xh,StatusMeasuredPower,100,,,4,0,RealPower_measured,Measured real power.,32, , ,i,s,W,-2147483648.0..2147483647.0 CFFCAF7xh,StatusMeasuredPower,100,,,8,0,ReactivePower_measured,Measured reactive power.,32, , ,i,s,VA,-2147483648.0..2147483647.0 18FFC4F7xh,StatusCommandedPower,100,,,4,0,RealPower_echo,Echoed real power command.,32, , ,i,s,W,-2147483648.0..2147483647.0 18FFC4F7xh,StatusCommandedPower,100,,,8,0,ReactivePower_echo,Echoed reactive power command.,32, , ,i,s,VA,-2147483648.0..2147483647.0 18FFC9F7xh,StatusCommandVF,100,,,2,0,Voltage_echo,Echoed voltage command,16, , ,i,u,0.1 Vrms,0.0..6553.5 18FFC9F7xh,StatusCommandVF,100,,,4,0,Frequency_echo,Echoed frequency command.,16, , ,i,u,0.1 Hz,0.0..6553.5 18FFCBF7xh,StatusTemps,100,,,2,0,TempInlet_measured,Coolant inlet temperature,16, , ,i,s,0.1 C,-3276.8..3276.7000000000003 18FFCBF7xh,StatusTemps,100,,,4,0,TempInternal_measured,Internal ambient temperature,16, , ,i,s,0.1 C,-3276.8..3276.7000000000003 18FFCBF7xh,StatusTemps,100,,,6,0,ConverterLosses,Power converter thermal loss,16, , ,i,u,W,0.0..65535.0 18FFD0F7xh,StatusLineCurrents,100,,,2,0,L1Current_measured,Measured L1 RMS line current.,16, , ,i,u,A,0.0..65535.0 18FFD0F7xh,StatusLineCurrents,100,,,4,0,L2Current_measured,Measured L2 RMS line current.,16, , ,i,u,A,0.0..65535.0 18FFD0F7xh,StatusLineCurrents,100,,,6,0,L3Current_measured,Measured L3 RMS line current.,16, , ,i,u,A,0.0..65535.0 18FFD1F7xh,StatusLineVoltages,100,,,2,0,L1Voltage_measured,Measured L1 RMS line-neutral voltage,16, , ,i,u,0.1 Vrms,0.0..6553.5 18FFD1F7xh,StatusLineVoltages,100,,,4,0,L2Voltage_measured,Measured L2 RMS line-neutral voltage,16, , ,i,u,0.1 Vrms,0.0..6553.5 18FFD1F7xh,StatusLineVoltages,100,,,6,0,L3Voltage_measured,Measured L3 RMS line-neutral voltage,16, , ,i,u,0.1 Vrms,0.0..6553.5 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,0,ActParam0 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,1,ActLVM_ClearingTimes1 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,2,ActLVM_ClearingTimes2 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,3,ActLFM_Limits 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,4,ActLFM_ClearingTimes 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,5,StatusJ1939_Interface 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,6,StatusFault_Config 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,7,StatusContactorDelays1 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,8,StatusContactorDelays2 1CFFA9F7xh,StatusNVParam,None,,,2,0,StatusNVParam_MUX,Mode Signal: ,16, , ,i,u,,9,StatusContactorDelays3 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusNodeID,Mode 5:J1939 Source Address node for the module,8, , ,i,u,,0.0..247.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,i,u,,0,Warning 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,i,u,,1,Fault 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,i,u,,2,Error 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,i,u,,3,N/A 1CFFA9F7xh,StatusNVParam,None,,,4,0,Dummy,Mode 0:,16, , ,i,u,,5.0..10.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,FreqHi,Mode 3:,16, , ,i,u,0.1 Hz,40.0..70.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,FreqVeryLo,Mode 4:,16, , ,i,u,ms,160.0..160.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,StatusK2Open,Mode 9:Maximum time required for the K2 contactor to open.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,StatusMX1Open,Mode 7:Maximum time required for the MX1 contactor to open.,16, , ,i,u,ms,0.0..5000.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,StatusMX2Close,Mode 8:Maximum time required for the MX2 contactor to open.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,StatusSA_Mask,Mode 5:Mask used to configure from which master source addresses to accept commands.,8, , ,i,u,,0.0..255.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,VOver120,Mode 2:,16, , ,i,u,,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,4,0,VUnder50pct,Mode 1:,16, , ,i,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,5,4,StatusBaudrate,Mode 5:,4, , ,i,u,,0,125K 1CFFA9F7xh,StatusNVParam,None,,,5,4,StatusBaudrate,Mode 5:,4, , ,i,u,,1,250K 1CFFA9F7xh,StatusNVParam,None,,,5,4,StatusBaudrate,Mode 5:,4, , ,i,u,,2,500K 1CFFA9F7xh,StatusNVParam,None,,,5,4,StatusBaudrate,Mode 5:,4, , ,i,u,,3,1M 1CFFA9F7xh,StatusNVParam,None,,,6,0,FreqLo,Mode 4:,16, , ,i,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,6,0,StatusK1Open,Mode 8:Maximum time required for the K1 contactor to open.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,6,0,StatusK2Close,Mode 9:Maximum time required for the K2 contactor to close.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,6,0,StatusMX1Close,Mode 7:Maximum time required for the MX1 contactor to close.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,6,0,V50to88pct,Mode 1:,16, , ,i,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,8,0,FreqHi,Mode 4:,16, , ,i,u,ms,160.0..160.0 1CFFA9F7xh,StatusNVParam,None,,,8,0,FreqVeryLo,Mode 3:,16, , ,i,u,0.1 Hz,40.0..70.0 1CFFA9F7xh,StatusNVParam,None,,,8,0,StatusK1Close,Mode 8:Maximum time required for the K1 contactor to close.,16, , ,i,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,8,0,StatusMX2Open,Mode 7:Maximum time required for the MX2 contactor to open.,16, , ,i,u,ms,0.0..65535.0 1CFFA9F7xh,StatusNVParam,None,,,8,0,V110to120pct,Mode 1:,16, , ,i,u,ms,1.0..30000.0 1CFFC1F7xh,softwareRev,None,,,2,0,ControlSwRev,Software revision of the control firmware.,16, , ,i,u,0.01 -,0.0..655.35 1CFFC1F7xh,softwareRev,None,,,4,0,InterfaceRev,Software revision of the CAN communication interface.,16, , ,i,u,0.01 -,0.0..655.35 1CFFC1F7xh,softwareRev,None,,,8,0,BuildTime,Build timestamp.,32, , ,i,u,,0.0..4294967295.0 1CFFC5F7xh,StatusControlVoltage,100,,,2,0,v5p0_Supply,Present voltage of the control board 5V power suppy.,16, , ,i,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,4,0,v3p3_Supply,Present voltage of the control board 3.3V power supply.,16, , ,i,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,6,0,v24_Supply,Present voltage of the control board 24V power supply.,16, , ,i,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,8,0,v15_Supply,Present voltage of the control board 15V power supply.,16, , ,i,s,0.01 V,-327.68..327.67 1CFFC6F7xh,StatusControlVolts2,100,,,2,0,n15V_Supply,Present voltage of the control board -15V power supply.,16, , ,i,s,0.01 V,-327.68..327.67 1CFFC6F7xh,StatusControlVolts2,100,,,6,0,DiodeTemperature,Hottest diode,16, , ,i,u,C,0.0..65535.0 1CFFC6F7xh,StatusControlVolts2,100,,,8,0,IGBTTemperature,Hottest IGBT,16, , ,i,u,C,0.0..65535.0 1CFFC7F7xh,StatusDCParameters,100,,,2,0,VoltageDCInput_measured,Estimated DC input voltage.,16, , ,i,s,V,-32768.0..32767.0 1CFFC7F7xh,StatusDCParameters,100,,,4,0,VoltageDCBus,Measured DC bus voltage.,16, , ,i,s,V,-32768.0..32767.0 1CFFC7F7xh,StatusDCParameters,100,,,6,0,CurrentDC_measured,Measured DC current.,16, , ,i,s,A,-32768.0..32767.0 1CFFCCF7xh,serialNumber,None,,,4,0,SerialNumber,Serial number of the power module.,32, , ,i,u,,0.0..4294967295.0 1CFFCDF7xh,softwareRevHash,None,,,4,4,Hash,Unique revision identification hashcode.,28, , ,i,u,,0.0..268435455.0 canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.dbc000066400000000000000000001123451416730473300234620ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 2164239169 CommandModeControl: 8 Vector__XXX SG_ Enable_command : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 62|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 16|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2365566017 CommandPower: 8 Vector__XXX SG_ RealPower_command : 24|32@1- (1,0) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 56|32@1- (1,0) [-90000|90000] "VA" Vector__XXX BO_ 2365566529 CommandVF: 8 Vector__XXX SG_ Voltage_command : 8|16@1+ (0.1,0) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 24|16@1+ (0.1,0) [45|65] "Hz" Vector__XXX BO_ 2365573878 MasterMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 24|32@1- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 56|32@1- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2365566785 CommandFactoryControl: 8 Vector__XXX SG_ WriteSerialNumber : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ SerialNumber : 56|32@1+ (1,0) [0|4294967295] "" Vector__XXX SG_ FactoryAccess : 24|16@1+ (1,0) [0|65535] "" Vector__XXX BO_ 2365565505 CommandSetNVParam: 8 Vector__XXX SG_ CommandSetNVParam_MUX M : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Dummy m0 : 24|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ VUnder50pct m1 : 24|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ V50to88pct m1 : 40|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ V110to120pct m1 : 56|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ VOver120 m2 : 24|16@1+ (1,0) [1|30000] "" Vector__XXX SG_ FreqHi0 m3 : 24|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqLo0 m3 : 40|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m3 : 56|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo1 m4 : 24|16@1+ (1,0) [160|160] "ms" Vector__XXX SG_ FreqLo1 m4 : 40|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 56|16@1+ (1,0) [160|160] "ms" Vector__XXX SG_ NodeID m5 : 16|8@1+ (1,0) [0|247] "" Vector__XXX SG_ SA_Mask m5 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ Baudrate m5 : 36|4@1+ (1,0) [0|3] "" Vector__XXX SG_ ThermalOverload m6 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MX1Open m7 : 24|16@1+ (1,0) [0|5000] "ms" Vector__XXX SG_ MX1Close m7 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX2Open m7 : 56|16@1+ (1,0) [0|65535] "ms" Vector__XXX SG_ MX2Close m8 : 24|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ K1Open m8 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ K1Close m8 : 56|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Open m10 : 24|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Close m10 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX BO_ 2164235073 CommandModeControlAPU2: 8 Vector__XXX SG_ Enable_command : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 56|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 58|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 60|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 62|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 16|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2365561921 CommandPowerAPU2: 8 Vector__XXX SG_ RealPower_command : 24|32@1- (1,0) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 56|32@1- (1,0) [-90000|90000] "VA" Vector__XXX BO_ 2365562433 CommandVFAPU2: 8 Vector__XXX SG_ Voltage_command : 8|16@1+ (0.1,0) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 24|16@1+ (0.1,0) [45|65] "Hz" Vector__XXX BO_ 2365573879 MasterMeasuredPowerAPU2: 8 Vector__XXX SG_ RealPower_measured : 24|32@1- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 56|32@1- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2365573879 StatusMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 24|32@1- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 56|32@1- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2566898935 StatusCommandedPower: 8 Vector__XXX SG_ RealPower_echo : 24|32@1- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_echo : 56|32@1- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2365572087 StatusBits: 8 Vector__XXX SG_ State_status : 0|4@1+ (1,0) [0|7] "" Vector__XXX SG_ MX2Permissive_status : 18|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailAC_status : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailDC_status : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PowerCircuitEnabled_status : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ HardwareEnable_status : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ Enable_echo : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ FaultClr_echo : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidModeControl_status : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MX1Permissive_status : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ K2DCRunPermissive_status : 22|2@1+ (1,0) [0|3] "" Vector__XXX SG_ K1PrechargePermissive_status : 20|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidPowerCMD_status : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidVF_status : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ CANbus_status : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_echo : 32|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_echo : 34|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_status : 36|2@1+ (1,0) [0|3] "" Vector__XXX SG_ LineVoltageDetected_status : 38|2@1+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_echo : 40|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2634008055 StatusControlVoltage: 8 Vector__XXX SG_ v5p0_Supply : 8|16@1- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v3p3_Supply : 24|16@1- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v24_Supply : 40|16@1- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v15_Supply : 56|16@1- (0.01,0) [-327.68|327.67] "V" Vector__XXX BO_ 2566900727 StatusTemps: 8 Vector__XXX SG_ TempInlet_measured : 8|16@1- (0.1,0) [-3276.8|3276.7000000000003] "C" Vector__XXX SG_ TempInternal_measured : 24|16@1- (0.1,0) [-3276.8|3276.7000000000003] "C" Vector__XXX SG_ ConverterLosses : 40|16@1+ (1,0) [0|65535] "W" Vector__XXX BO_ 2365573367 StatusFaults: 8 Vector__XXX SG_ BridgeAVoltageOk_status : 59|1@1+ (1,0) [0|1] "" Vector__XXX SG_ OvercurrentAC_status : 2|2@1+ (1,0) [0|3] "" Vector__XXX SG_ BridgeBVoltageOk_status : 43|1@1+ (1,0) [0|1] "" Vector__XXX SG_ OvervoltageDC_status : 8|2@1+ (1,0) [0|3] "" Vector__XXX SG_ OvertempPowerDevice_status : 14|2@1+ (1,0) [0|3] "" Vector__XXX SG_ OvertempInternal_status : 12|2@1+ (1,0) [0|3] "" Vector__XXX SG_ LossValidControlMessage_status : 20|4@1+ (1,0) [0|15] "" Vector__XXX SG_ UndervoltageDC_status : 10|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ControlHardwareFail_status : 16|4@1+ (1,0) [0|15] "" Vector__XXX SG_ OvercurrentDC_status : 6|2@1+ (1,0) [0|3] "" Vector__XXX SG_ GeneralFault_status : 0|2@1+ (1,0) [0|3] "" Vector__XXX SG_ LossOfAC_status : 4|2@1+ (1,0) [0|3] "" Vector__XXX SG_ EStopShutdown_status : 24|2@1+ (1,0) [0|3] "" Vector__XXX SG_ BridgeAFault_status : 56|3@1+ (1,0) [0|7] "" Vector__XXX SG_ BridgeBFault_status : 40|3@1+ (1,0) [0|7] "" Vector__XXX SG_ IllegalTransition_status : 26|2@1+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEEHeader_status : 28|2@1+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEESection_status : 30|2@1+ (1,0) [0|3] "" Vector__XXX SG_ ThermalOverload : 32|2@1+ (1,0) [0|3] "" Vector__XXX BO_ 2365571831 StatusACParameters: 8 Vector__XXX SG_ VoltageAC_measured : 8|16@1- (0.1,0) [-3276.8|3276.7000000000003] "V" Vector__XXX SG_ CurrentAC_measured : 24|16@1- (1,0) [-32768|32767] "A" Vector__XXX SG_ Frequency_measured : 40|16@1- (0.1,0) [-3276.8|3276.7000000000003] "Hz" Vector__XXX BO_ 2634008567 StatusDCParameters: 8 Vector__XXX SG_ VoltageDCBus : 24|16@1- (1,0) [-32768|32767] "V" Vector__XXX SG_ CurrentDC_measured : 40|16@1- (1,0) [-32768|32767] "A" Vector__XXX SG_ VoltageDCInput_measured : 8|16@1- (1,0) [-32768|32767] "V" Vector__XXX BO_ 2634008311 StatusControlVolts2: 8 Vector__XXX SG_ n15V_Supply : 8|16@1- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ DiodeTemperature : 40|16@1+ (1,0) [0|65535] "C" Vector__XXX SG_ IGBTTemperature : 56|16@1+ (1,0) [0|65535] "C" Vector__XXX BO_ 2634007031 softwareRev: 8 Vector__XXX SG_ InterfaceRev : 24|16@1+ (0.01,0) [0|655.35] "" Vector__XXX SG_ ControlSwRev : 8|16@1+ (0.01,0) [0|655.35] "" Vector__XXX SG_ BuildTime : 56|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2566900215 StatusCommandVF: 8 Vector__XXX SG_ Voltage_echo : 8|16@1+ (0.1,0) [0|6553.5] "Vrms" Vector__XXX SG_ Frequency_echo : 24|16@1+ (0.1,0) [0|6553.5] "Hz" Vector__XXX BO_ 2634009847 serialNumber: 8 Vector__XXX SG_ SerialNumber : 24|32@1+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2634010103 softwareRevHash: 8 Vector__XXX SG_ Hash : 28|28@1+ (1,0) [0|268435455] "" Vector__XXX BO_ 2634000887 StatusNVParam: 8 Vector__XXX SG_ StatusNVParam_MUX M : 8|16@1+ (1,0) [0|65535] "" Vector__XXX SG_ Dummy m0 : 24|16@1+ (1,0) [5|10] "" Vector__XXX SG_ VUnder50pct m1 : 24|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ V50to88pct m1 : 40|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ V110to120pct m1 : 56|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ VOver120 m2 : 24|16@1+ (1,0) [1|30000] "" Vector__XXX SG_ FreqHi0 m3 : 24|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqLo0 m3 : 40|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m3 : 56|16@1+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo1 m4 : 24|16@1+ (1,0) [160|160] "ms" Vector__XXX SG_ FreqLo1 m4 : 40|16@1+ (1,0) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 56|16@1+ (1,0) [160|160] "ms" Vector__XXX SG_ StatusNodeID m5 : 16|8@1+ (1,0) [0|247] "" Vector__XXX SG_ StatusSA_Mask m5 : 24|8@1+ (1,0) [0|255] "" Vector__XXX SG_ StatusBaudrate m5 : 36|4@1+ (1,0) [0|3] "" Vector__XXX SG_ StatusThermalOverload m6 : 16|2@1+ (1,0) [0|3] "" Vector__XXX SG_ StatusMX1Open m7 : 24|16@1+ (1,0) [0|5000] "ms" Vector__XXX SG_ StatusMX1Close m7 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX2Open m7 : 56|16@1+ (1,0) [0|65535] "ms" Vector__XXX SG_ StatusMX2Close m8 : 24|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK1Open m8 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK1Close m8 : 56|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Open m9 : 24|16@1+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Close m9 : 40|16@1+ (1,0) [0|2000] "ms" Vector__XXX BO_ 2566902007 StatusLineCurrents: 8 Vector__XXX SG_ L1Current_measured : 8|16@1+ (1,0) [0|65535] "A" Vector__XXX SG_ L2Current_measured : 24|16@1+ (1,0) [0|65535] "A" Vector__XXX SG_ L3Current_measured : 40|16@1+ (1,0) [0|65535] "A" Vector__XXX BO_ 2566902263 StatusLineVoltages: 8 Vector__XXX SG_ L1Voltage_measured : 8|16@1+ (0.1,0) [0|6553.5] "Vrms" Vector__XXX SG_ L2Voltage_measured : 24|16@1+ (0.1,0) [0|6553.5] "Vrms" Vector__XXX SG_ L3Voltage_measured : 40|16@1+ (0.1,0) [0|6553.5] "Vrms" Vector__XXX CM_ BO_ 2164239169 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365566017 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365566529 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573878 "Returns the actual measured power."; CM_ BO_ 2365565505 "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; CM_ BO_ 2164235073 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365561921 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365562433 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2566898935 "Echoes the commanded power (P&Q) as received in CommandPQ."; CM_ BO_ 2365572087 "Bits representing the status of the power module."; CM_ BO_ 2634008055 "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; CM_ BO_ 2566900727 "Returns the inlet water temperature to the module as well as module internal ambient temperature."; CM_ BO_ 2365573367 "Fault bits."; CM_ BO_ 2365571831 "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; CM_ BO_ 2634008567 "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; CM_ BO_ 2634008311 "Present voltage of the -15V power supply on the control board."; CM_ BO_ 2634007031 "Software revision."; CM_ BO_ 2566900215 "Echoes the voltage and frequency commands from commandVF."; CM_ BO_ 2634009847 "Serial number of the power module."; CM_ BO_ 2634010103 "Unique software revision identification hashcode."; CM_ BO_ 2634000887 "Echos back parameter values."; CM_ BO_ 2566902007 "Measured RMS line currents."; CM_ BO_ 2566902263 "Measured RMS line voltages."; CM_ SG_ 2164239169 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164239169 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164239169 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164239169 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164239169 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164239169 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; CM_ SG_ 2164239169 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365566017 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365566017 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365566529 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365566529 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573878 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573878 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2365565505 VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqHi0 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo1 "Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqLo1 "Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqHi1 "Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 NodeID "J1939 Source Address node for the module."; CM_ SG_ 2365565505 SA_Mask "Not presently used."; CM_ SG_ 2365565505 Baudrate "CAN baudrate"; CM_ SG_ 2365565505 ThermalOverload "Configures action to take when thermal overload input is active."; CM_ SG_ 2365565505 MX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2365565505 MX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2365565505 MX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 MX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 K1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2365565505 K1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2365565505 K2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2365565505 K2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2164235073 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164235073 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164235073 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164235073 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164235073 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164235073 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING"; CM_ SG_ 2164235073 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365561921 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365561921 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365562433 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365562433 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573879 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2365573879 RealPower_measured "Measured real power."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power."; CM_ SG_ 2566898935 RealPower_echo "Echoed real power command."; CM_ SG_ 2566898935 ReactivePower_echo "Echoed reactive power command."; CM_ SG_ 2365572087 State_status "Active control mode."; CM_ SG_ 2365572087 MX2Permissive_status "MX2 relay status"; CM_ SG_ 2365572087 PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; CM_ SG_ 2365572087 PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; CM_ SG_ 2365572087 PowerCircuitEnabled_status "Indicates whether the switching devices are active."; CM_ SG_ 2365572087 HardwareEnable_status "Status of the hardware enable."; CM_ SG_ 2365572087 Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; CM_ SG_ 2365572087 FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; CM_ SG_ 2365572087 MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MX1Permissive_status "MX1 relay status"; CM_ SG_ 2365572087 K2DCRunPermissive_status "K2 DC Run relay status."; CM_ SG_ 2365572087 K1PrechargePermissive_status "K1 precharge relay status."; CM_ SG_ 2365572087 MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 CANbus_status "Operational status of the CAN bus driver."; CM_ SG_ 2365572087 EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; CM_ SG_ 2365572087 EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; CM_ SG_ 2365572087 PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; CM_ SG_ 2365572087 LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; CM_ SG_ 2365572087 PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; CM_ SG_ 2634008055 v5p0_Supply "Present voltage of the control board 5V power suppy."; CM_ SG_ 2634008055 v3p3_Supply "Present voltage of the control board 3.3V power supply."; CM_ SG_ 2634008055 v24_Supply "Present voltage of the control board 24V power supply."; CM_ SG_ 2634008055 v15_Supply "Present voltage of the control board 15V power supply."; CM_ SG_ 2566900727 TempInlet_measured "Coolant inlet temperature"; CM_ SG_ 2566900727 TempInternal_measured "Internal ambient temperature"; CM_ SG_ 2566900727 ConverterLosses "Power converter thermal loss"; CM_ SG_ 2365573367 BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; CM_ SG_ 2365573367 BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; CM_ SG_ 2365573367 OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; CM_ SG_ 2365573367 OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; CM_ SG_ 2365573367 LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; CM_ SG_ 2365573367 UndervoltageDC_status "Indicates loss of DC source voltage."; CM_ SG_ 2365573367 ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; CM_ SG_ 2365573367 OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; CM_ SG_ 2365573367 GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; CM_ SG_ 2365573367 LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; CM_ SG_ 2365573367 EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; CM_ SG_ 2365573367 BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; CM_ SG_ 2365573367 InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; CM_ SG_ 2365573367 InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; CM_ SG_ 2365571831 VoltageAC_measured "Measured RMS AC voltage."; CM_ SG_ 2365571831 CurrentAC_measured "Measured RMS AC current."; CM_ SG_ 2365571831 Frequency_measured "Measured frequency."; CM_ SG_ 2634008567 VoltageDCBus "Measured DC bus voltage."; CM_ SG_ 2634008567 CurrentDC_measured "Measured DC current."; CM_ SG_ 2634008567 VoltageDCInput_measured "Estimated DC input voltage."; CM_ SG_ 2634008311 n15V_Supply "Present voltage of the control board -15V power supply."; CM_ SG_ 2634008311 DiodeTemperature "Hottest diode"; CM_ SG_ 2634008311 IGBTTemperature "Hottest IGBT"; CM_ SG_ 2634007031 InterfaceRev "Software revision of the CAN communication interface."; CM_ SG_ 2634007031 ControlSwRev "Software revision of the control firmware."; CM_ SG_ 2634007031 BuildTime "Build timestamp."; CM_ SG_ 2566900215 Voltage_echo "Echoed voltage command"; CM_ SG_ 2566900215 Frequency_echo "Echoed frequency command."; CM_ SG_ 2634009847 SerialNumber "Serial number of the power module."; CM_ SG_ 2634010103 Hash "Unique revision identification hashcode."; CM_ SG_ 2634000887 StatusNodeID "J1939 Source Address node for the module"; CM_ SG_ 2634000887 StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; CM_ SG_ 2634000887 StatusThermalOverload "Configured action to take when thermal overload input is active."; CM_ SG_ 2634000887 StatusMX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2634000887 StatusMX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2634000887 StatusMX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusMX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusK1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2634000887 StatusK1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2634000887 StatusK2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2634000887 StatusK2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2566902007 L1Current_measured "Measured L1 RMS line current."; CM_ SG_ 2566902007 L2Current_measured "Measured L2 RMS line current."; CM_ SG_ 2566902007 L3Current_measured "Measured L3 RMS line current."; CM_ SG_ 2566902263 L1Voltage_measured "Measured L1 RMS line-neutral voltage"; CM_ SG_ 2566902263 L2Voltage_measured "Measured L2 RMS line-neutral voltage"; CM_ SG_ 2566902263 L3Voltage_measured "Measured L3 RMS line-neutral voltage"; BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_ "GenMsgCycleTime" BO_ 2365573879 100; BA_ "GenMsgCycleTime" BO_ 2566898935 100; BA_ "GenMsgCycleTime" BO_ 2365572087 100; BA_ "GenMsgCycleTime" BO_ 2634008055 100; BA_ "GenMsgCycleTime" BO_ 2566900727 100; BA_ "GenMsgCycleTime" BO_ 2365573367 100; BA_ "GenMsgCycleTime" BO_ 2365571831 100; BA_ "GenMsgCycleTime" BO_ 2634008567 100; BA_ "GenMsgCycleTime" BO_ 2634008311 100; BA_ "GenMsgCycleTime" BO_ 2566900215 100; BA_ "GenMsgCycleTime" BO_ 2566902007 100; BA_ "GenMsgCycleTime" BO_ 2566902263 100; VAL_ 2164239169 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164239169 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164239169 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365566785 WriteSerialNumber 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365565505 CommandSetNVParam_MUX 0 "Param0" 1 "LVM_ClearingTimes1" 2 "LVM_ClearingTimes2" 3 "LFM_Limits" 4 "LFM_ClearingTimes" 5 "J1939_Interface" 6 "Fault_Config" 7 "ContactorDelays1" 8 "ContactorDelays2" 10 "ContactorDelays3"; VAL_ 2365565505 Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2365565505 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 2164235073 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164235073 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164235073 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365572087 State_status 0 "Power On Reset, and a quoted comma" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_ 2365572087 MX2Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailAC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailDC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerCircuitEnabled_status 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_ 2365572087 HardwareEnable_status 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; VAL_ 2365572087 Enable_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 FaultClr_echo 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidModeControl_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MX1Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K2DCRunPermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K1PrechargePermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidPowerCMD_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidVF_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 CANbus_status 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_ 2365572087 EnableUPSMode_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 EnableSplitPhase_echo 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_status 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365572087 LineVoltageDetected_status 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_echo 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeBVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempPowerDevice_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempInternal_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossValidControlMessage_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 UndervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ControlHardwareFail_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 GeneralFault_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossOfAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 EStopShutdown_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 BridgeBFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 IllegalTransition_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEEHeader_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEESection_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ThermalOverload 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2634000887 StatusNVParam_MUX 0 "ActParam0" 1 "ActLVM_ClearingTimes1" 2 "ActLVM_ClearingTimes2" 3 "ActLFM_Limits" 4 "ActLFM_ClearingTimes" 5 "StatusJ1939_Interface" 6 "StatusFault_Config" 7 "StatusContactorDelays1" 8 "StatusContactorDelays2" 9 "StatusContactorDelays3"; VAL_ 2634000887 StatusBaudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2634000887 StatusThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.dbf000066400000000000000000001215711416730473300234660ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 26 [START_MSG] CommandModeControl,16755521,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPower,218082369,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower command,32,4,0,S,90000.0,-90000.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_command,32,8,0,S,90000.0,-90000.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandVF,218082881,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,U,5000.0,100.0,1,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,4,0,U,650.0,450.0,1,0.0,0.1,Hz,, [END_MSG] [START_MSG] MasterMeasuredPower,218090230,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandFactoryControl,218083137,8,3,1,X,Vector__XXX [START_SIGNALS] WriteSerialNumber,2,1,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] SerialNumber,32,8,0,U,4294967295.0,0.0,1,0.0,1.0,,, [START_SIGNALS] FactoryAccess,16,4,0,U,65535.0,0.0,1,0.0,1.0,,, [END_MSG] [START_MSG] CommandSetNVParam,218081857,8,24,1,X,Vector__XXX [START_SIGNALS] CommandSetNVParam_MUX,16,2,0,U,65535.0,0.0,1,0.0,1.0,,M, [VALUE_DESCRIPTION] "Param0",0 [VALUE_DESCRIPTION] "LVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "LVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "LFM_Limits",3 [VALUE_DESCRIPTION] "LFM_ClearingTimes",4 [VALUE_DESCRIPTION] "J1939_Interface",5 [VALUE_DESCRIPTION] "Fault_Config",6 [VALUE_DESCRIPTION] "ContactorDelays1",7 [VALUE_DESCRIPTION] "ContactorDelays2",8 [VALUE_DESCRIPTION] "ContactorDelays3",10 [START_SIGNALS] Dummy,16,4,0,U,65535.0,0.0,1,0.0,1.0,,m0, [START_SIGNALS] VUnder50pct,16,4,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] V50to88pct,16,6,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] V110to120pct,16,8,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] VOver120,16,4,0,U,30000.0,1.0,1,0.0,1.0,,m2, [START_SIGNALS] FreqHi,16,4,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqLo,16,6,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,8,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,4,0,U,160.0,160.0,1,0.0,1.0,ms,m4, [START_SIGNALS] FreqLo,16,6,0,U,30000.0,1.0,1,0.0,1.0,ms,m4, [START_SIGNALS] FreqHi,16,8,0,U,160.0,160.0,1,0.0,1.0,ms,m4, [START_SIGNALS] NodeID,8,3,0,U,247.0,0.0,1,0.0,1.0,,m5, [START_SIGNALS] SA_Mask,8,4,0,U,255.0,0.0,1,0.0,1.0,,m5, [START_SIGNALS] Baudrate,4,5,4,U,3.0,0.0,1,0.0,1.0,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] ThermalOverload,2,3,0,U,3.0,0.0,1,0.0,1.0,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Open,16,4,0,U,5000.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] MX1Close,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] MX2Open,16,8,0,U,65535.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] MX2Close,16,4,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] K1Open,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] K1Close,16,8,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] K2Open,16,4,0,U,2000.0,0.0,1,0.0,1.0,ms,m10, [START_SIGNALS] K2Close,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m10, [END_MSG] [START_MSG] CommandModeControlAPU2,16751425,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPowerAPU2,218078273,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_command,32,4,0,S,90000.0,-90000.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_command,32,8,0,S,90000.0,-90000.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandVFAPU2,218078785,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,U,5000.0,100.0,1,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,4,0,U,650.0,450.0,1,0.0,0.1,Hz,, [END_MSG] [START_MSG] MasterMeasuredPowerAPU2,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] StatusMeasuredPower,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] StatusCommandedPower,419415287,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_echo,32,4,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,W,, [START_SIGNALS] ReactivePower_echo,32,8,0,S,2147483647.0,-2147483648.0,1,0.0,1.0,VA,, [END_MSG] [START_MSG] StatusBits,218088439,8,20,1,X,Vector__XXX [START_SIGNALS] State_status,4,1,0,U,7.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Power On Reset, and a quoted comma",0 [VALUE_DESCRIPTION] "Ready",1 [VALUE_DESCRIPTION] "Following",2 [VALUE_DESCRIPTION] "Fault",3 [VALUE_DESCRIPTION] "Forming",4 [VALUE_DESCRIPTION] "N/A",5 [VALUE_DESCRIPTION] "N/A",6 [VALUE_DESCRIPTION] "N/A",7 [VALUE_DESCRIPTION] "N/A",8 [VALUE_DESCRIPTION] "N/A",9 [VALUE_DESCRIPTION] "N/A",10 [VALUE_DESCRIPTION] "N/A",11 [VALUE_DESCRIPTION] "N/A",12 [VALUE_DESCRIPTION] "N/A",13 [VALUE_DESCRIPTION] "N/A",14 [VALUE_DESCRIPTION] "N/A",15 [START_SIGNALS] MX2Permissive_status,2,3,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailAC_status,2,2,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailDC_status,2,2,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerCircuitEnabled_status,2,2,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disabled",0 [VALUE_DESCRIPTION] "Enabled",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] HardwareEnable_status,2,2,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Not Active",0 [VALUE_DESCRIPTION] "Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Enable_echo,2,1,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClr_echo,2,1,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidModeControl_status,2,4,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Permissive_status,2,3,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K2DCRunPermissive_status,2,3,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K1PrechargePermissive_status,2,3,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidPowerCMD_status,2,4,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidVF_status,2,4,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] CANbus_status,2,4,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Warning",1 [VALUE_DESCRIPTION] "ErrorPassive",3 [VALUE_DESCRIPTION] "N/A",4 [START_SIGNALS] EnableUPSMode_echo,2,5,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_echo,2,5,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_status,2,5,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LineVoltageDetected_status,2,5,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "No_Voltage",0 [VALUE_DESCRIPTION] "Voltage_Detected",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_echo,2,6,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusControlVoltage,486524407,8,4,1,X,Vector__XXX [START_SIGNALS] v5p0_Supply,16,2,0,S,32767.0,-32768.0,1,0.0,0.01,V,, [START_SIGNALS] v3p3_Supply,16,4,0,S,32767.0,-32768.0,1,0.0,0.01,V,, [START_SIGNALS] v24_Supply,16,6,0,S,32767.0,-32768.0,1,0.0,0.01,V,, [START_SIGNALS] v15_Supply,16,8,0,S,32767.0,-32768.0,1,0.0,0.01,V,, [END_MSG] [START_MSG] StatusTemps,419417079,8,3,1,X,Vector__XXX [START_SIGNALS] TempInlet_measured,16,2,0,S,32767.0,-32768.0,1,0.0,0.1,C,, [START_SIGNALS] TempInternal_measured,16,4,0,S,32767.0,-32768.0,1,0.0,0.1,C,, [START_SIGNALS] ConverterLosses,16,6,0,U,65535.0,0.0,1,0.0,1.0,W,, [END_MSG] [START_MSG] StatusFaults,218089719,8,19,1,X,Vector__XXX [START_SIGNALS] BridgeAVoltageOk_status,1,8,3,U,1.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentAC_status,2,1,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeBVoltageOk_status,1,6,3,U,1.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvervoltageDC_status,2,2,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempPowerDevice_status,2,2,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempInternal_status,2,2,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossValidControlMessage_status,4,3,4,U,15.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] UndervoltageDC_status,2,2,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ControlHardwareFail_status,4,3,0,U,15.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentDC_status,2,1,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] GeneralFault_status,2,1,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossOfAC_status,2,1,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EStopShutdown_status,2,4,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeAFault_status,3,8,0,U,7.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeBFault_status,3,6,0,U,7.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] IllegalTransition_status,2,4,2,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEEHeader_status,2,4,4,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEESection_status,2,4,6,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ThermalOverload,2,5,0,U,3.0,0.0,1,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusACParameters,218088183,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageAC_measured,16,2,0,S,32767.0,-32768.0,1,0.0,0.1,V,, [START_SIGNALS] CurrentAC_measured,16,4,0,S,32767.0,-32768.0,1,0.0,1.0,A,, [START_SIGNALS] Frequency_measured,16,6,0,S,32767.0,-32768.0,1,0.0,0.1,Hz,, [END_MSG] [START_MSG] StatusDCParameters,486524919,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageDCBus,16,4,0,S,32767.0,-32768.0,1,0.0,1.0,V,, [START_SIGNALS] CurrentDC_measured,16,6,0,S,32767.0,-32768.0,1,0.0,1.0,A,, [START_SIGNALS] VoltageDCInput_measured,16,2,0,S,32767.0,-32768.0,1,0.0,1.0,V,, [END_MSG] [START_MSG] StatusControlVolts2,486524663,8,3,1,X,Vector__XXX [START_SIGNALS] n15V_Supply,16,2,0,S,32767.0,-32768.0,1,0.0,0.01,V,, [START_SIGNALS] DiodeTemperature,16,6,0,U,65535.0,0.0,1,0.0,1.0,C,, [START_SIGNALS] IGBTTemperature,16,8,0,U,65535.0,0.0,1,0.0,1.0,C,, [END_MSG] [START_MSG] softwareRev,486523383,8,3,1,X,Vector__XXX [START_SIGNALS] InterfaceRev,16,4,0,U,65535.0,0.0,1,0.0,0.01,,, [START_SIGNALS] ControlSwRev,16,2,0,U,65535.0,0.0,1,0.0,0.01,,, [START_SIGNALS] BuildTime,32,8,0,U,4294967295.0,0.0,1,0.0,1.0,,, [END_MSG] [START_MSG] StatusCommandVF,419416567,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_echo,16,2,0,U,65535.0,0.0,1,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_echo,16,4,0,U,65535.0,0.0,1,0.0,0.1,Hz,, [END_MSG] [START_MSG] serialNumber,486526199,8,1,1,X,Vector__XXX [START_SIGNALS] SerialNumber,32,4,0,U,4294967295.0,0.0,1,0.0,1.0,,, [END_MSG] [START_MSG] softwareRevHash,486526455,8,1,1,X,Vector__XXX [START_SIGNALS] Hash,28,4,4,U,268435455.0,0.0,1,0.0,1.0,,, [END_MSG] [START_MSG] StatusNVParam,486517239,8,24,1,X,Vector__XXX [START_SIGNALS] StatusNVParam_MUX,16,2,0,U,65535.0,0.0,1,0.0,1.0,,M, [VALUE_DESCRIPTION] "ActParam0",0 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "ActLFM_Limits",3 [VALUE_DESCRIPTION] "ActLFM_ClearingTimes",4 [VALUE_DESCRIPTION] "StatusJ1939_Interface",5 [VALUE_DESCRIPTION] "StatusFault_Config",6 [VALUE_DESCRIPTION] "StatusContactorDelays1",7 [VALUE_DESCRIPTION] "StatusContactorDelays2",8 [VALUE_DESCRIPTION] "StatusContactorDelays3",9 [START_SIGNALS] Dummy,16,4,0,U,10.0,5.0,1,0.0,1.0,,m0, [START_SIGNALS] VUnder50pct,16,4,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] V50to88pct,16,6,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] V110to120pct,16,8,0,U,30000.0,1.0,1,0.0,1.0,ms,m1, [START_SIGNALS] VOver120,16,4,0,U,30000.0,1.0,1,0.0,1.0,,m2, [START_SIGNALS] FreqHi,16,4,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqLo,16,6,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,8,0,U,700.0,400.0,1,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,4,0,U,160.0,160.0,1,0.0,1.0,ms,m4, [START_SIGNALS] FreqLo,16,6,0,U,30000.0,1.0,1,0.0,1.0,ms,m4, [START_SIGNALS] FreqHi,16,8,0,U,160.0,160.0,1,0.0,1.0,ms,m4, [START_SIGNALS] StatusNodeID,8,3,0,U,247.0,0.0,1,0.0,1.0,,m5, [START_SIGNALS] StatusSA_Mask,8,4,0,U,255.0,0.0,1,0.0,1.0,,m5, [START_SIGNALS] StatusBaudrate,4,5,4,U,3.0,0.0,1,0.0,1.0,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] StatusThermalOverload,2,3,0,U,3.0,0.0,1,0.0,1.0,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] StatusMX1Open,16,4,0,U,5000.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX1Close,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX2Open,16,8,0,U,65535.0,0.0,1,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX2Close,16,4,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] StatusK1Open,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] StatusK1Close,16,8,0,U,2000.0,0.0,1,0.0,1.0,ms,m8, [START_SIGNALS] StatusK2Open,16,4,0,U,2000.0,0.0,1,0.0,1.0,ms,m9, [START_SIGNALS] StatusK2Close,16,6,0,U,2000.0,0.0,1,0.0,1.0,ms,m9, [END_MSG] [START_MSG] StatusLineCurrents,419418359,8,3,1,X,Vector__XXX [START_SIGNALS] L1Current_measured,16,2,0,U,65535.0,0.0,1,0.0,1.0,A,, [START_SIGNALS] L2Current_measured,16,4,0,U,65535.0,0.0,1,0.0,1.0,A,, [START_SIGNALS] L3Current_measured,16,6,0,U,65535.0,0.0,1,0.0,1.0,A,, [END_MSG] [START_MSG] StatusLineVoltages,419418615,8,3,1,X,Vector__XXX [START_SIGNALS] L1Voltage_measured,16,2,0,U,65535.0,0.0,1,0.0,0.1,Vrms,, [START_SIGNALS] L2Voltage_measured,16,4,0,U,65535.0,0.0,1,0.0,0.1,Vrms,, [START_SIGNALS] L3Voltage_measured,16,6,0,U,65535.0,0.0,1,0.0,0.1,Vrms,, [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] 16755521 S "Operational commands are received by the module via control bits within this message."; 218082369 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218082881 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090230 S "Returns the actual measured power."; 218083137 S ""; 218081857 S "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; 16751425 S "Operational commands are received by the module via control bits within this message."; 218078273 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218078785 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090231 S "Returns the actual measured power."; 218090231 S "Returns the actual measured power."; 419415287 S "Echoes the commanded power (P&Q) as received in CommandPQ."; 218088439 S "Bits representing the status of the power module."; 486524407 S "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; 419417079 S "Returns the inlet water temperature to the module as well as module internal ambient temperature."; 218089719 S "Fault bits."; 218088183 S "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; 486524919 S "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; 486524663 S "Present voltage of the -15V power supply on the control board."; 486523383 S "Software revision."; 419416567 S "Echoes the voltage and frequency commands from commandVF."; 486526199 S "Serial number of the power module."; 486526455 S "Unique software revision identification hashcode."; 486517239 S "Echos back parameter values."; 419418359 S "Measured RMS line currents."; 419418615 S "Measured RMS line voltages."; [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] 16755521 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16755521 S FaultClear_command "Clears the latched fault message."; 16755521 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16755521 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16755521 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16755521 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; 16755521 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218082369 S RealPower command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218082369 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218082881 S Voltage_command "Desired output voltage while in grid forming mode."; 218082881 S Frequency_command "Desired output frequency while in grid forming mode."; 218090230 S RealPower_measured "Measured real power of master unit."; 218090230 S ReactivePower_measured "Measured reactive power of master unit."; 218081857 S CommandSetNVParam_MUX ""; 218081857 S VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 218081857 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S FreqLo "Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S FreqHi "Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S NodeID "J1939 Source Address node for the module."; 218081857 S SA_Mask "Not presently used."; 218081857 S Baudrate "CAN baudrate"; 218081857 S ThermalOverload "Configures action to take when thermal overload input is active."; 218081857 S MX1Open "Maximum time required for the MX1 contactor to open."; 218081857 S MX1Close "Maximum time required for the MX1 contactor to close."; 218081857 S MX2Open "Maximum time required for the MX2 contactor to open."; 218081857 S MX2Close "Maximum time required for the MX2 contactor to open."; 218081857 S K1Open "Maximum time required for the K1 contactor to open."; 218081857 S K1Close "Maximum time required for the K1 contactor to close."; 218081857 S K2Open "Maximum time required for the K2 contactor to open."; 218081857 S K2Close "Maximum time required for the K2 contactor to close."; 16751425 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16751425 S FaultClear_command "Clears the latched fault message."; 16751425 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16751425 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16751425 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16751425 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING"; 16751425 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218078273 S RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218078273 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218078785 S Voltage_command "Desired output voltage while in grid forming mode."; 218078785 S Frequency_command "Desired output frequency while in grid forming mode."; 218090231 S RealPower_measured "Measured real power of master unit."; 218090231 S ReactivePower_measured "Measured reactive power of master unit."; 218090231 S RealPower_measured "Measured real power."; 218090231 S ReactivePower_measured "Measured reactive power."; 419415287 S RealPower_echo "Echoed real power command."; 419415287 S ReactivePower_echo "Echoed reactive power command."; 218088439 S State_status "Active control mode."; 218088439 S MX2Permissive_status "MX2 relay status"; 218088439 S PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; 218088439 S PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; 218088439 S PowerCircuitEnabled_status "Indicates whether the switching devices are active."; 218088439 S HardwareEnable_status "Status of the hardware enable."; 218088439 S Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; 218088439 S FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; 218088439 S MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MX1Permissive_status "MX1 relay status"; 218088439 S K2DCRunPermissive_status "K2 DC Run relay status."; 218088439 S K1PrechargePermissive_status "K1 precharge relay status."; 218088439 S MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S CANbus_status "Operational status of the CAN bus driver."; 218088439 S EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; 218088439 S EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; 218088439 S PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; 218088439 S LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; 218088439 S PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; 486524407 S v5p0_Supply "Present voltage of the control board 5V power suppy."; 486524407 S v3p3_Supply "Present voltage of the control board 3.3V power supply."; 486524407 S v24_Supply "Present voltage of the control board 24V power supply."; 486524407 S v15_Supply "Present voltage of the control board 15V power supply."; 419417079 S TempInlet_measured "Coolant inlet temperature"; 419417079 S TempInternal_measured "Internal ambient temperature"; 419417079 S ConverterLosses "Power converter thermal loss"; 218089719 S BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; 218089719 S BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; 218089719 S OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; 218089719 S OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; 218089719 S LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; 218089719 S UndervoltageDC_status "Indicates loss of DC source voltage."; 218089719 S ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; 218089719 S OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; 218089719 S GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; 218089719 S LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; 218089719 S EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; 218089719 S BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; 218089719 S InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; 218089719 S InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; 218088183 S VoltageAC_measured "Measured RMS AC voltage."; 218088183 S CurrentAC_measured "Measured RMS AC current."; 218088183 S Frequency_measured "Measured frequency."; 486524919 S VoltageDCBus "Measured DC bus voltage."; 486524919 S CurrentDC_measured "Measured DC current."; 486524919 S VoltageDCInput_measured "Estimated DC input voltage."; 486524663 S n15V_Supply "Present voltage of the control board -15V power supply."; 486524663 S DiodeTemperature "Hottest diode"; 486524663 S IGBTTemperature "Hottest IGBT"; 486523383 S InterfaceRev "Software revision of the CAN communication interface."; 486523383 S ControlSwRev "Software revision of the control firmware."; 486523383 S BuildTime "Build timestamp."; 419416567 S Voltage_echo "Echoed voltage command"; 419416567 S Frequency_echo "Echoed frequency command."; 486526199 S SerialNumber "Serial number of the power module."; 486526455 S Hash "Unique revision identification hashcode."; 486517239 S StatusNVParam_MUX ""; 486517239 S StatusNodeID "J1939 Source Address node for the module"; 486517239 S StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; 486517239 S StatusThermalOverload "Configured action to take when thermal overload input is active."; 486517239 S StatusMX1Open "Maximum time required for the MX1 contactor to open."; 486517239 S StatusMX1Close "Maximum time required for the MX1 contactor to close."; 486517239 S StatusMX2Open "Maximum time required for the MX2 contactor to open."; 486517239 S StatusMX2Close "Maximum time required for the MX2 contactor to open."; 486517239 S StatusK1Open "Maximum time required for the K1 contactor to open."; 486517239 S StatusK1Close "Maximum time required for the K1 contactor to close."; 486517239 S StatusK2Open "Maximum time required for the K2 contactor to open."; 486517239 S StatusK2Close "Maximum time required for the K2 contactor to close."; 419418359 S L1Current_measured "Measured L1 RMS line current."; 419418359 S L2Current_measured "Measured L2 RMS line current."; 419418359 S L3Current_measured "Measured L3 RMS line current."; 419418615 S L1Voltage_measured "Measured L1 RMS line-neutral voltage"; 419418615 S L2Voltage_measured "Measured L2 RMS line-neutral voltage"; 419418615 S L3Voltage_measured "Measured L3 RMS line-neutral voltage"; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 [END_PARAM_MSG] [START_PARAM_SIG] [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 218090231,S,"GenMsgCycleTime","100" 419415287,S,"GenMsgCycleTime","100" 218088439,S,"GenMsgCycleTime","100" 486524407,S,"GenMsgCycleTime","100" 419417079,S,"GenMsgCycleTime","100" 218089719,S,"GenMsgCycleTime","100" 218088183,S,"GenMsgCycleTime","100" 486524919,S,"GenMsgCycleTime","100" 486524663,S,"GenMsgCycleTime","100" 419416567,S,"GenMsgCycleTime","100" 419418359,S,"GenMsgCycleTime","100" 419418615,S,"GenMsgCycleTime","100" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.json000066400000000000000000001642411416730473300237050ustar00rootroot00000000000000{ "messages": [ { "id": 16755521, "is_extended_frame": true, "name": "CommandModeControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218082369, "is_extended_frame": true, "name": "CommandPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218082881, "is_extended_frame": true, "name": "CommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090230, "is_extended_frame": true, "name": "MasterMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218083137, "is_extended_frame": true, "name": "CommandFactoryControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "WriteSerialNumber", "offset": 0.0, "start_bit": 0 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FactoryAccess", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218081857, "is_extended_frame": true, "name": "CommandSetNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "CommandSetNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "NodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "SA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Baudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 16751425, "is_extended_frame": true, "name": "CommandModeControlAPU2", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218078273, "is_extended_frame": true, "name": "CommandPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower_command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218078785, "is_extended_frame": true, "name": "CommandVFAPU2", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "MasterMeasuredPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "StatusMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419415287, "is_extended_frame": true, "name": "StatusCommandedPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "RealPower_echo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "ReactivePower_echo", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218088439, "is_extended_frame": true, "name": "StatusBits", "signals": [ { "bit_length": 4, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "State_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX2Permissive_status", "offset": 0.0, "start_bit": 18 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PowerAvailAC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PowerAvailDC_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PowerCircuitEnabled_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "HardwareEnable_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Enable_echo", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FaultClr_echo", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MessageValidModeControl_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MX1Permissive_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K2DCRunPermissive_status", "offset": 0.0, "start_bit": 22 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "K1PrechargePermissive_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MessageValidPowerCMD_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "MessageValidVF_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "CANbus_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableUPSMode_echo", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_echo", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PhaseRotation_status", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "LineVoltageDetected_status", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "PhaseRotation_echo", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524407, "is_extended_frame": true, "name": "StatusControlVoltage", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "v5p0_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "v3p3_Supply", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "v24_Supply", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "v15_Supply", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419417079, "is_extended_frame": true, "name": "StatusTemps", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "TempInlet_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "TempInternal_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ConverterLosses", "offset": 0.0, "start_bit": 40 } ] }, { "id": 218089719, "is_extended_frame": true, "name": "StatusFaults", "signals": [ { "bit_length": 1, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "BridgeAVoltageOk_status", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "OvercurrentAC_status", "offset": 0.0, "start_bit": 2 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "BridgeBVoltageOk_status", "offset": 0.0, "start_bit": 43 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "OvervoltageDC_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "OvertempPowerDevice_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "OvertempInternal_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "LossValidControlMessage_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "UndervoltageDC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ControlHardwareFail_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "OvercurrentDC_status", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "GeneralFault_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "LossOfAC_status", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "EStopShutdown_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "BridgeAFault_status", "offset": 0.0, "start_bit": 56 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "BridgeBFault_status", "offset": 0.0, "start_bit": 40 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "IllegalTransition_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "InvalidEEHeader_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "InvalidEESection_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 32 } ] }, { "id": 218088183, "is_extended_frame": true, "name": "StatusACParameters", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "VoltageAC_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "CurrentAC_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "Frequency_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524919, "is_extended_frame": true, "name": "StatusDCParameters", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "VoltageDCBus", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "CurrentDC_measured", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "VoltageDCInput_measured", "offset": 0.0, "start_bit": 8 } ] }, { "id": 486524663, "is_extended_frame": true, "name": "StatusControlVolts2", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": true, "name": "n15V_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "DiodeTemperature", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "IGBTTemperature", "offset": 0.0, "start_bit": 56 } ] }, { "id": 486523383, "is_extended_frame": true, "name": "softwareRev", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "InterfaceRev", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "ControlSwRev", "offset": 0.0, "start_bit": 8 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "BuildTime", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419416567, "is_extended_frame": true, "name": "StatusCommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Voltage_echo", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Frequency_echo", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526199, "is_extended_frame": true, "name": "serialNumber", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526455, "is_extended_frame": true, "name": "softwareRevHash", "signals": [ { "bit_length": 28, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Hash", "offset": 0.0, "start_bit": 28 } ] }, { "id": 486517239, "is_extended_frame": true, "name": "StatusNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusNodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusSA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusBaudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusMX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusMX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusMX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusMX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusK1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusK1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusK2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "StatusK2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418359, "is_extended_frame": true, "name": "StatusLineCurrents", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L1Current_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L2Current_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L3Current_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418615, "is_extended_frame": true, "name": "StatusLineVoltages", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L1Voltage_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L2Voltage_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "L3Voltage_measured", "offset": 0.0, "start_bit": 40 } ] } ] }canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.sym000066400000000000000000000756361416730473300235550ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Baudrate(0="125K", 1="250K", 2="500K", 3="1M") enum BridgeAFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeAVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum BridgeBFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeBVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum CANbus_status(0="Normal", 1="Warning", 3="ErrorPassive", 4="N/A") enum ControlHardwareFail_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EStopShutdown_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EnableSplitPhase_command(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableSplitPhase_echo(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableUPSMode_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum EnableUPSMode_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum FaultClear_command(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum FaultClr_echo(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum ForceRelayK1_Precharge_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX1_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX2_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayRelayK2_DCRun_comand(0="Normal", 1="Force On", 2="Error", 3="N/A") enum GeneralFault_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum HardwareEnable_status(0="Not Active", 1="Active", 2="Error", 3="N/A") enum IllegalTransition_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEEHeader_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEESection_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvertHwEnable_command(0="No invert", 1="Invert", 2="Error", 3="N/A") enum K1PrechargePermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum K2DCRunPermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum LineVoltageDetected_status(0="No_Voltage", 1="Voltage_Detected", 2="Error", 3="N/A") enum LossOfAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum LossValidControlMessage_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum MX1Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MX2Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MasterFollowerMode_command(0="Master", 1="Follower", 2="Error", 3="N/A") enum MessageValidModeControl_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidPowerCMD_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidVF_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum OvercurrentAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvercurrentDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempInternal_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempPowerDevice_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum PhaseRotation_command(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_echo(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_status(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PowerAvailAC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerAvailDC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerCircuitEnabled_status(0="Disabled", 1="Enabled", 2="Error", 3="N/A") enum State_status(0="Power On Reset, and a quoted comma", 1="Ready", 2="Following", 3="Fault", 4="Forming", 5="N/A", 6="N/A", 7="N/A", 8="N/A", 9="N/A", 10="N/A", 11="N/A", 12="N/A", 13="N/A", 14="N/A", 15="N/A") enum StatusBaudrate(0="125K", 1="250K", 2="500K", 3="1M") enum StatusThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum ThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum UndervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum WriteSerialNumber(0="Disable", 1="Enable", 2="Error", 3="N/A") {SENDRECEIVE} [CommandModeControl] ID=00FFAB41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command unsigned 0,2 /min:0 /max:3 /e:Enable_command // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command unsigned 2,2 /min:0 /max:3 /e:FaultClear_command // Clears the latched fault message. Var=InvertHwEnable_command unsigned 56,2 /min:0 /max:3 /e:InvertHwEnable_command // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command unsigned 58,2 /min:0 /max:3 /e:EnableUPSMode_command // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command unsigned 60,2 /min:0 /max:3 /e:EnableSplitPhase_command // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command unsigned 32,2 /min:0 /max:3 /e:ForceRelayMX1_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command unsigned 34,2 /min:0 /max:3 /e:ForceRelayMX2_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command unsigned 36,2 /min:0 /max:3 /e:ForceRelayK1_Precharge_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand unsigned 38,2 /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command unsigned 62,2 /min:0 /max:3 /e:PhaseRotation_command // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Var=MasterFollowerMode_command unsigned 16,2 /min:0 /max:3 /e:MasterFollowerMode_command // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [CommandPower] ID=0CFFAC41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var=RealPower command signed 24,32 /u:W /min:-90000 /max:90000 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 56,32 /u:VA /min:-90000 /max:90000 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [CommandVF] ID=0CFFAE41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command unsigned 8,16 /u:Vrms /f:0.1 /min:10 /max:500 // Desired output voltage while in grid forming mode. Var=Frequency_command unsigned 24,16 /u:Hz /f:0.1 /min:45 /max:65 // Desired output frequency while in grid forming mode. [MasterMeasuredPower] ID=0CFFCAF6h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 24,32 /u:W /min:-2147483648 /max:2147483647 // Measured real power of master unit. Var=ReactivePower_measured signed 56,32 /u:VA /min:-2147483648 /max:2147483647 // Measured reactive power of master unit. [CommandFactoryControl] ID=0CFFAF41h Type=Extended DLC=8 Var=WriteSerialNumber unsigned 0,2 /min:0 /max:3 /e:WriteSerialNumber Var=SerialNumber unsigned 56,32 /min:0 /max:4294967295 Var=FactoryAccess unsigned 24,16 /min:0 /max:65535 [CommandSetNVParam] ID=0CFFAA41h // Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Type=Extended DLC=8 Mux=CommandSetNVParam_MUX0 8,16 0 Var=Dummy unsigned 24,16 /min:0 /max:65535 [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX1 8,16 1 Var=VUnder50pct unsigned 24,16 /u:ms /min:1 /max:30000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V50to88pct unsigned 40,16 /u:ms /min:1 /max:30000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V110to120pct unsigned 56,16 /u:ms /min:1 /max:30000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX2 8,16 2 Var=VOver120 unsigned 24,16 /min:1 /max:30000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX3 8,16 3 Var=FreqHi unsigned 24,16 /u:Hz /f:0.1 /min:40 /max:70 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=FreqLo unsigned 40,16 /u:Hz /f:0.1 /min:40 /max:70 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo unsigned 56,16 /u:Hz /f:0.1 /min:40 /max:70 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX4 8,16 4 Var=FreqVeryLo unsigned 24,16 /u:ms /min:160 /max:160 // Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Var=FreqLo unsigned 40,16 /u:ms /min:1 /max:30000 // Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Var=FreqHi unsigned 56,16 /u:ms /min:160 /max:160 // Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX5 8,16 5 Var=NodeID unsigned 16,8 /min:0 /max:247 // J1939 Source Address node for the module. Var=SA_Mask unsigned 24,8 /min:0 /max:255 // Not presently used. Var=Baudrate unsigned 36,4 /min:0 /max:3 /e:Baudrate // CAN baudrate [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX6 8,16 6 Var=ThermalOverload unsigned 16,2 /min:0 /max:3 /e:ThermalOverload // Configures action to take when thermal overload input is active. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX7 8,16 7 Var=MX1Open unsigned 24,16 /u:ms /min:0 /max:5000 // Maximum time required for the MX1 contactor to open. Var=MX1Close unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the MX1 contactor to close. Var=MX2Open unsigned 56,16 /u:ms /min:0 /max:65535 // Maximum time required for the MX2 contactor to open. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX8 8,16 8 Var=MX2Close unsigned 24,16 /u:ms /min:0 /max:2000 // Maximum time required for the MX2 contactor to open. Var=K1Open unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the K1 contactor to open. Var=K1Close unsigned 56,16 /u:ms /min:0 /max:2000 // Maximum time required for the K1 contactor to close. [CommandSetNVParam] DLC=8 Mux=CommandSetNVParam_MUX10 8,16 000Ah Var=K2Open unsigned 24,16 /u:ms /min:0 /max:2000 // Maximum time required for the K2 contactor to open. Var=K2Close unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the K2 contactor to close. [CommandModeControlAPU2] ID=00FF9B41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command unsigned 0,2 /min:0 /max:3 /e:Enable_command // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command unsigned 2,2 /min:0 /max:3 /e:FaultClear_command // Clears the latched fault message. Var=InvertHwEnable_command unsigned 56,2 /min:0 /max:3 /e:InvertHwEnable_command // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command unsigned 58,2 /min:0 /max:3 /e:EnableUPSMode_command // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command unsigned 60,2 /min:0 /max:3 /e:EnableSplitPhase_command // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command unsigned 32,2 /min:0 /max:3 /e:ForceRelayMX1_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command unsigned 34,2 /min:0 /max:3 /e:ForceRelayMX2_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command unsigned 36,2 /min:0 /max:3 /e:ForceRelayK1_Precharge_command // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand unsigned 38,2 /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command unsigned 62,2 /min:0 /max:3 /e:PhaseRotation_command // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING Var=MasterFollowerMode_command unsigned 16,2 /min:0 /max:3 /e:MasterFollowerMode_command // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [CommandPowerAPU2] ID=0CFF9C41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var=RealPower_command signed 24,32 /u:W /min:-90000 /max:90000 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 56,32 /u:VA /min:-90000 /max:90000 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [CommandVFAPU2] ID=0CFF9E41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command unsigned 8,16 /u:Vrms /f:0.1 /min:10 /max:500 // Desired output voltage while in grid forming mode. Var=Frequency_command unsigned 24,16 /u:Hz /f:0.1 /min:45 /max:65 // Desired output frequency while in grid forming mode. [MasterMeasuredPowerAPU2] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 24,32 /u:W /min:-2147483648 /max:2147483647 // Measured real power of master unit. Var=ReactivePower_measured signed 56,32 /u:VA /min:-2147483648 /max:2147483647 // Measured reactive power of master unit. [StatusMeasuredPower] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 CycleTime=100 Var=RealPower_measured signed 24,32 /u:W /min:-2147483648 /max:2147483647 // Measured real power. Var=ReactivePower_measured signed 56,32 /u:VA /min:-2147483648 /max:2147483647 // Measured reactive power. [StatusCommandedPower] ID=18FFC4F7h // Echoes the commanded power (P&Q) as received in CommandPQ. Type=Extended DLC=8 CycleTime=100 Var=RealPower_echo signed 24,32 /u:W /min:-2147483648 /max:2147483647 // Echoed real power command. Var=ReactivePower_echo signed 56,32 /u:VA /min:-2147483648 /max:2147483647 // Echoed reactive power command. [StatusBits] ID=0CFFC3F7h // Bits representing the status of the power module. Type=Extended DLC=8 CycleTime=100 Var=State_status unsigned 0,4 /min:0 /max:7 /e:State_status // Active control mode. Var=MX2Permissive_status unsigned 18,2 /min:0 /max:3 /e:MX2Permissive_status // MX2 relay status Var=PowerAvailAC_status unsigned 10,2 /min:0 /max:3 /e:PowerAvailAC_status // Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Var=PowerAvailDC_status unsigned 12,2 /min:0 /max:3 /e:PowerAvailDC_status // Indicates that DC bus voltage is within operating range. Var=PowerCircuitEnabled_status unsigned 14,2 /min:0 /max:3 /e:PowerCircuitEnabled_status // Indicates whether the switching devices are active. Var=HardwareEnable_status unsigned 8,2 /min:0 /max:3 /e:HardwareEnable_status // Status of the hardware enable. Var=Enable_echo unsigned 4,2 /min:0 /max:3 /e:Enable_echo // Echos the state of the Enable command withing the CommandModeControl message. Var=FaultClr_echo unsigned 6,2 /min:0 /max:3 /e:FaultClr_echo // Echos the state of the FaultClear command withing the CommandModeControl message. Var=MessageValidModeControl_status unsigned 24,2 /min:0 /max:3 /e:MessageValidModeControl_status // Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MX1Permissive_status unsigned 16,2 /min:0 /max:3 /e:MX1Permissive_status // MX1 relay status Var=K2DCRunPermissive_status unsigned 22,2 /min:0 /max:3 /e:K2DCRunPermissive_status // K2 DC Run relay status. Var=K1PrechargePermissive_status unsigned 20,2 /min:0 /max:3 /e:K1PrechargePermissive_status // K1 precharge relay status. Var=MessageValidPowerCMD_status unsigned 26,2 /min:0 /max:3 /e:MessageValidPowerCMD_status // Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MessageValidVF_status unsigned 28,2 /min:0 /max:3 /e:MessageValidVF_status // Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Var=CANbus_status unsigned 30,2 /min:0 /max:3 /e:CANbus_status // Operational status of the CAN bus driver. Var=EnableUPSMode_echo unsigned 32,2 /min:0 /max:3 /e:EnableUPSMode_echo // Echos the state of the EnableUPSMode command withing the CommandModeControl message. Var=EnableSplitPhase_echo unsigned 34,2 /min:0 /max:3 /e:EnableSplitPhase_echo // Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Var=PhaseRotation_status unsigned 36,2 /min:0 /max:3 /e:PhaseRotation_status // Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Var=LineVoltageDetected_status unsigned 38,2 /min:0 /max:3 /e:LineVoltageDetected_status // Flag indicating if voltage is detected on L1, L2 or L3. Var=PhaseRotation_echo unsigned 40,2 /min:0 /max:3 /e:PhaseRotation_echo // Echos the state of PhaseRotation_command withing the CommandModeControl message. [StatusControlVoltage] ID=1CFFC5F7h // Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Type=Extended DLC=8 CycleTime=100 Var=v5p0_Supply signed 8,16 /u:V /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 5V power suppy. Var=v3p3_Supply signed 24,16 /u:V /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 3.3V power supply. Var=v24_Supply signed 40,16 /u:V /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 24V power supply. Var=v15_Supply signed 56,16 /u:V /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board 15V power supply. [StatusTemps] ID=18FFCBF7h // Returns the inlet water temperature to the module as well as module internal ambient temperature. Type=Extended DLC=8 CycleTime=100 Var=TempInlet_measured signed 8,16 /u:C /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Coolant inlet temperature Var=TempInternal_measured signed 24,16 /u:C /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Internal ambient temperature Var=ConverterLosses unsigned 40,16 /u:W /min:0 /max:65535 // Power converter thermal loss [StatusFaults] ID=0CFFC8F7h // Fault bits. Type=Extended DLC=8 CycleTime=100 Var=BridgeAVoltageOk_status unsigned 59,1 /min:0 /max:1 /e:BridgeAVoltageOk_status // Indicates whether a hardware trip has been activated. Var=OvercurrentAC_status unsigned 2,2 /min:0 /max:3 /e:OvercurrentAC_status // Set immediately upon the software detection of AC current exceeding the threshold value. Var=BridgeBVoltageOk_status unsigned 43,1 /min:0 /max:1 /e:BridgeBVoltageOk_status // Indicates whether a hardware trip has been activated. Var=OvervoltageDC_status unsigned 8,2 /min:0 /max:3 /e:OvervoltageDC_status // Set immediately upon the software detection of DC voltage exceeding the threshold value. Var=OvertempPowerDevice_status unsigned 14,2 /min:0 /max:3 /e:OvertempPowerDevice_status // Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Var=OvertempInternal_status unsigned 12,2 /min:0 /max:3 /e:OvertempInternal_status // Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Var=LossValidControlMessage_status unsigned 20,4 /min:0 /max:15 /e:LossValidControlMessage_status // Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Var=UndervoltageDC_status unsigned 10,2 /min:0 /max:3 /e:UndervoltageDC_status // Indicates loss of DC source voltage. Var=ControlHardwareFail_status unsigned 16,4 /min:0 /max:15 /e:ControlHardwareFail_status // Set upon the failure of control hardware to return expected response. Var=OvercurrentDC_status unsigned 6,2 /min:0 /max:3 /e:OvercurrentDC_status // Set immediately upon the software detection of DC current exceeding the threshold value. Var=GeneralFault_status unsigned 0,2 /min:0 /max:3 /e:GeneralFault_status // Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. Var=LossOfAC_status unsigned 4,2 /min:0 /max:3 /e:LossOfAC_status // In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Var=EStopShutdown_status unsigned 24,2 /min:0 /max:3 /e:EStopShutdown_status // Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Var=BridgeAFault_status unsigned 56,3 /min:0 /max:7 /e:BridgeAFault_status // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=BridgeBFault_status unsigned 40,3 /min:0 /max:7 /e:BridgeBFault_status // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=IllegalTransition_status unsigned 26,2 /min:0 /max:3 /e:IllegalTransition_status // Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Var=InvalidEEHeader_status unsigned 28,2 /min:0 /max:3 /e:InvalidEEHeader_status // Indicates that reading of non-volatile parameters at power-up failed. Var=InvalidEESection_status unsigned 30,2 /min:0 /max:3 /e:InvalidEESection_status // Indicates that reading or writing of an non-volatile parameter section failed. Var=ThermalOverload unsigned 32,2 /min:0 /max:3 /e:ThermalOverload [StatusACParameters] ID=0CFFC2F7h // RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Type=Extended DLC=8 CycleTime=100 Var=VoltageAC_measured signed 8,16 /u:V /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured RMS AC voltage. Var=CurrentAC_measured signed 24,16 /u:A /min:-32768 /max:32767 // Measured RMS AC current. Var=Frequency_measured signed 40,16 /u:Hz /f:0.1 /min:-3276.8 /max:3276.7000000000003 // Measured frequency. [StatusDCParameters] ID=1CFFC7F7h // Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Type=Extended DLC=8 CycleTime=100 Var=VoltageDCBus signed 24,16 /u:V /min:-32768 /max:32767 // Measured DC bus voltage. Var=CurrentDC_measured signed 40,16 /u:A /min:-32768 /max:32767 // Measured DC current. Var=VoltageDCInput_measured signed 8,16 /u:V /min:-32768 /max:32767 // Estimated DC input voltage. [StatusControlVolts2] ID=1CFFC6F7h // Present voltage of the -15V power supply on the control board. Type=Extended DLC=8 CycleTime=100 Var=n15V_Supply signed 8,16 /u:V /f:0.01 /min:-327.68 /max:327.67 // Present voltage of the control board -15V power supply. Var=DiodeTemperature unsigned 40,16 /u:C /min:0 /max:65535 // Hottest diode Var=IGBTTemperature unsigned 56,16 /u:C /min:0 /max:65535 // Hottest IGBT [softwareRev] ID=1CFFC1F7h // Software revision. Type=Extended DLC=8 Var=InterfaceRev unsigned 24,16 /f:0.01 /min:0 /max:655.35 // Software revision of the CAN communication interface. Var=ControlSwRev unsigned 8,16 /f:0.01 /min:0 /max:655.35 // Software revision of the control firmware. Var=BuildTime unsigned 56,32 /min:0 /max:4294967295 // Build timestamp. [StatusCommandVF] ID=18FFC9F7h // Echoes the voltage and frequency commands from commandVF. Type=Extended DLC=8 CycleTime=100 Var=Voltage_echo unsigned 8,16 /u:Vrms /f:0.1 /min:0 /max:6553.5 // Echoed voltage command Var=Frequency_echo unsigned 24,16 /u:Hz /f:0.1 /min:0 /max:6553.5 // Echoed frequency command. [serialNumber] ID=1CFFCCF7h // Serial number of the power module. Type=Extended DLC=8 Var=SerialNumber unsigned 24,32 /min:0 /max:4294967295 // Serial number of the power module. [softwareRevHash] ID=1CFFCDF7h // Unique software revision identification hashcode. Type=Extended DLC=8 Var=Hash unsigned 28,28 /min:0 /max:268435455 // Unique revision identification hashcode. [StatusNVParam] ID=1CFFA9F7h // Echos back parameter values. Type=Extended DLC=8 Mux=StatusNVParam_MUX0 8,16 0 Var=Dummy unsigned 24,16 /min:5 /max:10 [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX1 8,16 1 Var=VUnder50pct unsigned 24,16 /u:ms /min:1 /max:30000 Var=V50to88pct unsigned 40,16 /u:ms /min:1 /max:30000 Var=V110to120pct unsigned 56,16 /u:ms /min:1 /max:30000 [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX2 8,16 2 Var=VOver120 unsigned 24,16 /min:1 /max:30000 [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX3 8,16 3 Var=FreqHi unsigned 24,16 /u:Hz /f:0.1 /min:40 /max:70 Var=FreqLo unsigned 40,16 /u:Hz /f:0.1 /min:40 /max:70 Var=FreqVeryLo unsigned 56,16 /u:Hz /f:0.1 /min:40 /max:70 [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX4 8,16 4 Var=FreqVeryLo unsigned 24,16 /u:ms /min:160 /max:160 Var=FreqLo unsigned 40,16 /u:ms /min:1 /max:30000 Var=FreqHi unsigned 56,16 /u:ms /min:160 /max:160 [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX5 8,16 5 Var=StatusNodeID unsigned 16,8 /min:0 /max:247 // J1939 Source Address node for the module Var=StatusSA_Mask unsigned 24,8 /min:0 /max:255 // Mask used to configure from which master source addresses to accept commands. Var=StatusBaudrate unsigned 36,4 /min:0 /max:3 /e:StatusBaudrate [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX6 8,16 6 Var=StatusThermalOverload unsigned 16,2 /min:0 /max:3 /e:StatusThermalOverload // Configured action to take when thermal overload input is active. [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX7 8,16 7 Var=StatusMX1Open unsigned 24,16 /u:ms /min:0 /max:5000 // Maximum time required for the MX1 contactor to open. Var=StatusMX1Close unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the MX1 contactor to close. Var=StatusMX2Open unsigned 56,16 /u:ms /min:0 /max:65535 // Maximum time required for the MX2 contactor to open. [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX8 8,16 8 Var=StatusMX2Close unsigned 24,16 /u:ms /min:0 /max:2000 // Maximum time required for the MX2 contactor to open. Var=StatusK1Open unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the K1 contactor to open. Var=StatusK1Close unsigned 56,16 /u:ms /min:0 /max:2000 // Maximum time required for the K1 contactor to close. [StatusNVParam] DLC=8 Mux=StatusNVParam_MUX9 8,16 9 Var=StatusK2Open unsigned 24,16 /u:ms /min:0 /max:2000 // Maximum time required for the K2 contactor to open. Var=StatusK2Close unsigned 40,16 /u:ms /min:0 /max:2000 // Maximum time required for the K2 contactor to close. [StatusLineCurrents] ID=18FFD0F7h // Measured RMS line currents. Type=Extended DLC=8 CycleTime=100 Var=L1Current_measured unsigned 8,16 /u:A /min:0 /max:65535 // Measured L1 RMS line current. Var=L2Current_measured unsigned 24,16 /u:A /min:0 /max:65535 // Measured L2 RMS line current. Var=L3Current_measured unsigned 40,16 /u:A /min:0 /max:65535 // Measured L3 RMS line current. [StatusLineVoltages] ID=18FFD1F7h // Measured RMS line voltages. Type=Extended DLC=8 CycleTime=100 Var=L1Voltage_measured unsigned 8,16 /u:Vrms /f:0.1 /min:0 /max:6553.5 // Measured L1 RMS line-neutral voltage Var=L2Voltage_measured unsigned 24,16 /u:Vrms /f:0.1 /min:0 /max:6553.5 // Measured L2 RMS line-neutral voltage Var=L3Voltage_measured unsigned 40,16 /u:Vrms /f:0.1 /min:0 /max:6553.5 // Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.xls000066400000000000000000003140001416730473300235300ustar00rootroot00000000000000ࡱ>   \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     `): K-Matrix B ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment UnitFF9B41xhCommandModeControlAPU2Enable_commandRun command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. iDisableEnableErrorN/AFaultClear_command!Clears the latched fault message.Normal Clear FaultsMasterFollowerMode_commandSpecifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.MasterFollowerForceRelayMX1_commandIf set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.Force OnForceRelayMX2_commandForceRelayK1_Precharge_commandForceRelayRelayK2_DCRun_comandInvertHwEnable_command/Inverts the logic of the Hardware Enable input. No invertInvertEnableUPSMode_commandEnables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.EnableSplitPhase_command|Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.Normal - Three Phase ModeEnable Split Phase ModePhaseRotation_command_Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMINGNegativePositiveFFAB41xhCommandModeControl`Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. CFF9C41xhCommandPowerAPU2RealPower_command~Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. -90000..90000WReactivePower_commandCommanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.VA CFF9E41xh CommandVFAPU2Voltage_command2Desired output voltage while in grid forming mode.10..500 0.1 VrmsFrequency_command4Desired output frequency while in grid forming mode.45..650.1 Hz CFFAA41xhCommandSetNVParamCommandSetNVParam_MUX Mode Signal: Param0LVM_ClearingTimes1LVM_ClearingTimes2 LFM_LimitsLFM_ClearingTimesJ1939_Interface Fault_ConfigContactorDelays1ContactorDelays2ContactorDelays3NodeID0Mode 5:J1939 Source Address node for the module.0..247ThermalOverloadGMode 6:Configures action to take when thermal overload input is active.WarningFaultDummyMode 0:0..65535FreqHiMode 3:Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.40..70 FreqVeryLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.160..160msK2Open;Mode 10:Maximum time required for the K2 contactor to open.0..2000MX1Open;Mode 7:Maximum time required for the MX1 contactor to open.0..5000MX2Close;Mode 8:Maximum time required for the MX2 contactor to open.SA_MaskMode 5:Not presently used.0..255VOver120Mode 2:Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.1..30000 VUnder50pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.BaudrateMode 5:CAN baudrate125K250K500K1MFreqLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.K1Open:Mode 8:Maximum time required for the K1 contactor to open.K2Close<Mode 10:Maximum time required for the K2 contactor to close.MX1Close<Mode 7:Maximum time required for the MX1 contactor to close. V50to88pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.Mode 3:Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.K1Close;Mode 8:Maximum time required for the K1 contactor to close.MX2Open;Mode 7:Maximum time required for the MX2 contactor to open. V110to120pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. CFFAC41xh CommandPowerRealPower command CFFAE41xh CommandVF CFFAF41xhCommandFactoryControlWriteSerialNumber FactoryAccess SerialNumber0..4.29497e+09 CFFC2F7xhStatusACParameters100VoltageAC_measuredMeasured RMS AC voltage.-3276.8..3276.70.1 VCurrentAC_measuredMeasured RMS AC current. -32768..32767AFrequency_measuredMeasured frequency. CFFC3F7xh StatusBits State_statusActive control mode."Power On Reset, and a quoted commaReady FollowingForming Enable_echoMEchos the state of the Enable command withing the CommandModeControl message. FaultClr_echoQEchos the state of the FaultClear command withing the CommandModeControl message.HardwareEnable_statusStatus of the hardware enable. Not ActiveActivePowerAvailAC_status^Indicates that AC power is connected and that voltage and frequency are within nominal ranges.None AvailablePowerAvailDC_status8Indicates that DC bus voltage is within operating range.PowerCircuitEnabled_status3Indicates whether the switching devices are active.DisabledEnabledMX1Permissive_statusMX1 relay statusOpenClosedMX2Permissive_statusMX2 relay statusK1PrechargePermissive_statusK1 precharge relay status.K2DCRunPermissive_statusK2 DC Run relay status.MessageValidModeControl_statusIndicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.InvalidValidMessageValidPowerCMD_statusIndicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.MessageValidVF_statusIndicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. CANbus_status)Operational status of the CAN bus driver. ErrorPassiveEnableUPSMode_echoTEchos the state of the EnableUPSMode command withing the CommandModeControl message.EnableSplitPhase_echoWEchos the state of the EnableSplitPhase command withing the CommandModeControl message.PhaseRotation_statusaPhase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.LineVoltageDetected_status<7Flag indicating if voltage is detected on L1, L2 or L3. No_VoltageVoltage_DetectedPhaseRotation_echoPEchos the state of PhaseRotation_command withing the CommandModeControl message. CFFC8F7xh StatusFaultsGeneralFault_statuspWill be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. Fault ActiveOvercurrentAC_statusXSet immediately upon the software detection of AC current exceeding the threshold value.LossOfAC_statusIn grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.OvercurrentDC_statusXSet immediately upon the software detection of DC current exceeding the threshold value.OvervoltageDC_statusXSet immediately upon the software detection of DC voltage exceeding the threshold value.UndervoltageDC_status$Indicates loss of DC source voltage.OvertempInternal_statusnSet immediately upon the software detection of an internal inverter temperature exceeding the threshold value.OvertempPowerDevice_statusaSet immediately upon the software detection of an IGBT temperature exceeding the threshold value.ControlHardwareFail_statusESet upon the failure of control hardware to return expected response.LossValidControlMessage_statusSet whenever a control message required for operation contains out of range data or has not been received within the required timeout period.EStopShutdown_statusSet when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.IllegalTransition_statusIndicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.InvalidEEHeader_statusEIndicates that reading of non-volatile parameters at power-up failed.InvalidEESection_statusNIndicates that reading or writing of an non-volatile parameter section failed.BridgeBFault_statusEach bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.FLT_AFLT_C OverVoltageFLT_B Overcurrent5VBridgeBVoltageOk_status5Indicates whether a hardware trip has been activated.BridgeAFault_statusBridgeAVoltageOk_status CFFCAF6xhMasterMeasuredPowerRealPower_measured#Measured real power of master unit.-2.14748e+09..2.14748e+09ReactivePower_measured'Measured reactive power of master unit. CFFCAF7xhStatusMeasuredPowerMeasured real power.Measured reactive power. 18FFC4F7xhStatusCommandedPowerRealPower_echoEchoed real power command.ReactivePower_echoEchoed reactive power command. 18FFC9F7xhStatusCommandVF Voltage_echoEchoed voltage command 0..6553.5Frequency_echoEchoed frequency command. 18FFCBF7xh StatusTempsTempInlet_measuredCoolant inlet temperature0.1 CTempInternal_measuredInternal ambient temperatureConverterLossesPower converter thermal loss 18FFD0F7xhStatusLineCurrentsL1Current_measuredMeasured L1 RMS line current.L2Current_measuredMeasured L2 RMS line current.L3Current_measuredMeasured L3 RMS line current. 18FFD1F7xhStatusLineVoltagesL1Voltage_measured$Measured L1 RMS line-neutral voltageL2Voltage_measured$Measured L2 RMS line-neutral voltageL3Voltage_measured$Measured L3 RMS line-neutral voltage 1CFFA9F7xh StatusNVParamStatusNVParam_MUX ActParam0ActLVM_ClearingTimes1ActLVM_ClearingTimes2 ActLFM_LimitsActLFM_ClearingTimesStatusJ1939_InterfaceStatusFault_ConfigStatusContactorDelays1StatusContactorDelays2StatusContactorDelays3 StatusNodeID/Mode 5:J1939 Source Address node for the moduleStatusThermalOverloadGMode 6:Configured action to take when thermal overload input is active.5..10Mode 3:Mode 4: StatusK2Open:Mode 9:Maximum time required for the K2 contactor to open. StatusMX1OpenStatusMX2Close StatusSA_MaskTMode 5:Mask used to configure from which master source addresses to accept commands.Mode 2:Mode 1:StatusBaudrateMode 5: StatusK1Open StatusK2Close;Mode 9:Maximum time required for the K2 contactor to close.StatusMX1Close StatusK1Close StatusMX2Open 1CFFC1F7xh softwareRev ControlSwRev*Software revision of the control firmware. 0..655.350.01 - InterfaceRev5Software revision of the CAN communication interface. BuildTimeBuild timestamp. 1CFFC5F7xhStatusControlVoltage v5p0_Supply4Present voltage of the control board 5V power suppy.-327.68..327.670.01 V v3p3_Supply7Present voltage of the control board 3.3V power supply. v24_Supply6Present voltage of the control board 24V power supply. v15_Supply6Present voltage of the control board 15V power supply. 1CFFC6F7xhStatusControlVolts2 n15V_Supply7Present voltage of the control board -15V power supply.DiodeTemperature Hottest diodeCIGBTTemperature Hottest IGBT 1CFFC7F7xhStatusDCParametersVoltageDCInput_measuredEstimated DC input voltage.V VoltageDCBusMeasured DC bus voltage.CurrentDC_measuredMeasured DC current. 1CFFCCF7xh serialNumber"Serial number of the power module. 1CFFCDF7xhsoftwareRevHashHash(Unique revision identification hashcode.0..2.68435e+08    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                     ~        ~        ~        ~        ~        ~        ~        ~         ~        ~         ~        ~         ~        ~         ~        ~          ~    ~           ~    ~  !        ~    ~          ~    ~         " #~    ~       " #~        ~   $    " #~        ~       " #~        ~        % #~        ~        % #~        ~   $     % #~        ~        % #~        ~       & #~        ~       & #~        ~   $    & #~        ~       & #~        ~       ' #~        ~       ' #~        ~   $    ' #~        ~       ' #~        ~      " ( )~        ~   *   " ( )~        ~   +   " ( )~        ~        " ( )~    ~   ! ! ! !!"  !, !-~ !  !  !  ! ~ !  !!" " " """  ", "-~ "  "  "  " ~ "  ""# # # ##"  #, #-~ #  #  #  # ~ #  ##$ $ $ $$"  $, $-~ $  $  $  $ ~ $  $$% % % %%" %. %/~ %  %  %  % ~ %  %0%& & & &&" &. &/~ &  &  &  & ~ &  &1&' ' ' ''" '. '/~ '  '  '  ' ~ '  ''( ( ( ((" (. (/~ (  (  (  ( ~ (  (() ) ) ))" )2 )3~ )  )  )  ) ~ )  )4)* * * **" *2 *3~ *  *  *  * ~ *  *5*+ + + ++" +2 +3~ +  +  +  + ~ +  ++, , , ,," ,2 ,3~ ,  ,  ,  , ~ ,  ,,- -6 -7 -- - -~ -  -  -  - ~ -  --. .6 .7 .. . .~ .  .  .  . ~ .  ../ /6 /7 // / /~ /  /  /  / ~ /  //0 06 07 00 0 0~ 0  0  0  0 ~ 0  001 16 17 11  1 1~ 1  1  1  1 ~ 1  112 26 27 22  2 2~ 2  2  2  2 ~ 2  223 36 37 33  3 3~ 3  3  3  3 ~ 3  334 46 47 44  4 4~ 4  4  4  4 ~ 4  445 56 57 55 5 5~ 5  5  5  5 ~ 5  5 56 66 67 66 6 6~ 6  6  6  6 ~ 6  6!67 76 77 77 7 7~ 7  7  7  7 ~ 7  778 86 87 88 8 8~ 8  8  8  8 ~ 8  889 96 97 99 9" 9#~ 9  9  9  9 ~ 9  99: :6 :7 :: :" :#~ :  :  :  : ~ :  :$:; ;6 ;7 ;; ;" ;#~ ;  ;  ;  ; ~ ;  ;;< <6 <7 << <" <#~ <  <  <  < ~ <  <<= =6 =7 ==  =% =#~ =  =  =  = ~ =  ==> >6 >7 >>  >% >#~ >  >  >  > ~ >  >$>? ?6 ?7 ??  ?% ?#~ ?  ?  ?  ? ~ ?  ??@ @6 @7 @@  @% @#~ @  @  @  @ ~ @  @@A A6 A7 AA A& A#~ A  A  A  A ~ A  AAB B6 B7 BB B& B#~ B  B  B  B ~ B  B$BC C6 C7 CC C& C#~ C  C  C  C ~ C  CCD D6 D7 DD D& D#~ D  D  D  D ~ D  DDE E6 E7 EE E' E#~ E  E  E  E ~ E  EEF F6 F7 FF F' F#~ F  F  F  F ~ F  F$FG G6 G7 GG G' G#~ G  G  G  G ~ G  GGH H6 H7 HH H' H#~ H  H  H  H ~ H  HHI I6 I7 II" I( I)~ I  I  I  I ~ I  I*IJ J6 J7 JJ" J( J)~ J  J  J  J ~ J  J+JK K6 K7 KK" K( K)~ K  K  K  K ~ K  KKL L6 L7 LL" L( L)~ L  L  L  L ~ L  LLM M6 M7 MM"  M, M-~ M  M  M  M ~ M  MMN N6 N7 NN"  N, N-~ N  N  N  N ~ N  NNO O6 O7 OO"  O, O-~ O  O  O  O ~ O  OOP P6 P7 PP"  P, P-~ P  P  P  P ~ P  PPQ Q6 Q7 QQ" Q. Q/~ Q  Q  Q  Q ~ Q  Q0QR R6 R7 RR" R. R/~ R  R  R  R ~ R  R1RS S6 S7 SS" S. S/~ S  S  S  S ~ S  SST T6 T7 TT" T. T/~ T  T  T  T ~ T  TTU U6 U7 UU" U2 U8~ U  U  U  U ~ U  U4UV V6 V7 VV" V2 V8~ V  V  V  V ~ V  V5VW W6 W7 WW" W2 W8~ W  W  W  W ~ W  WWX X6 X7 XX" X2 X8~ X  X  X  X ~ X  XXY Y9 Y: YY Y; Y<~ Y  Y  Y  Y Y  Y= Y>Z Z9 Z: ZZ" Z? Z@~ Z  Z  Z  Z Z  Z= ZA[ [B [C [[  [D [E~ [ B [  [  [ [  [F [G\ \B \C \\ \H \I~ \ B \  \  \ \  \J \K] ]L ]M ]]  ]N ]O~ ] B ]  ]  ] ~ ]  ]P]^ ^L ^M ^^  ^N ^O~ ^ B ^  ^  ^ ~ ^  ^Q^_ _L _M __  _N _O~ _ B _  _  _ ~ _  _R_` `L `M ``  `N `O~ ` B `  `  ` ~ `  `S`a aL aM aa  aN aO~ a B a  a  a ~ a  aTab bL bM bb  bN bO~ b B b  b  b ~ b  bUbc cL cM cc  cN cO~ c B c  c  c ~ c  cVcd dL dM dd  dN dO~ d B d  d  d ~ d  dWde eL eM ee  eN eO~ e B e  e  e ~ e " eXef fL fM ff  fN fO~ f B f  f  f ~ f * fYfg gL gM gg gZ g[~ g " g  g  g g  g\gh hL hM hh h] h^~ h  h  h  h ~ h  h_hi iL iM ii i] i^~ i  i  i  i ~ i  i`ij jL jM jj j] j^~ j  j  j  j ~ j  jjk kL kM kk k] k^~ k  k  k  k ~ k  kkl lL lM ll la lb~ l B l  l  l l  lclm mL mM mm md me~ m B m  m  m m  mf mKn nL nM nn ng nh~ n B n  n  n n  ni njo oL oM oo ok ol~ o B o  o  o o  om ojp pL pM pp pn po~ p B p  p  p p  pp pjq qL qM qq qq qr~ q B q  q  q q  qm qjr rL rM rr rs rt~ r " r  r  r r  rurs sL sM ss sv sw~ s B s  s  s s  sxst tL tM tt ty tz~ t B t  t  t t  tx tju uL uM uu u{ u|~ u  u  u  u ~ u  u}uv vL vM vv v{ v|~ v  v  v  v ~ v  v~vw wL wM ww w{ w|~ w  w  w  w ~ w  wwx xL xM xx x{ x|~ x  x  x  x ~ x  xxy yL yM yy y y~ y B y  y  y y  yx yjz zL zM zz z z~ z B z  z  z z  zm zj{ {L {M {{ { {~ { B {  {  { {  {m {j| |L |M || | |~ | B |  |  | |  |m |j} }L }M }} } }~ } B }  }  } }  }x }j~ ~L ~M ~~" ~d ~~ ~ B ~  ~  ~ ~  ~i ~j L M " g ~  B        f K L M "  ~ B     m j L M "  ~ B     c j L M "  ~ B     x j     <~      = >   " ? @~      = A     D E~ B     F G    H I~ B     J K    ~    ~      ~    ~      ~    ~      ~    ~      ~ B     c   " ~             ~ B            ~ B            ~ B      K      ~    ~        ~    ~        ~    ~        ~    ~  `      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~ "       ~    ~ &       ~    ~ *       ~    ~ .       ~    ~ 2       ~    ~ 6       ~    ~ :       ~    ~ >       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~          ~    ~          ~    ~          ~    ~          ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  _      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~  0       ~    ~  1       ~    ~         ~    ~        ~    ~  4      ~    ~  5      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  4      ~    ~  5      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~          ~        ~           ~        ~           ~        ~           ~        ~          ~        ~          ~        ~          ~        ~          ~        ~          ~        ~            ~        ~             ~        ~             ~        ~            ~        ~            ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~          ~        ~          ~        ~          ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~           ~        ~    ! ! ! ! !! ! !~ !  !  !  ! ~ !  !!" " " " "" " "~ "  "  "  " ~ "  ""# # # # ## # #~ #  #  #  # ~ #  ##$ $ $ $ $$ $]$~ $  $  $  $ ~ $  $$% % % % %% %]%~ %  %  %  % ~ %  %%& & & & && &]&~ &  &  &  & ~ &  &&' ' ' ' '' ']'~ '  '  '  ' ~ '  ''( ( ( ( (( ( (~ (  (  (  ( ~ (  (() ) ) ) )) ) )~ )  )  )  ) ~ )  ))* * * * ** * *~ *  *  *  * ~ *  **+ + + + ++ + +~ +  +  +  + ~ +  ++, , , , ,, , ,~ ,  ,  ,  , ~ ,  , ,- - - - -- - -~ -  -  -  - ~ -  - -. . . . .. . .~ .  .  .  . ~ .  . ./ / / / // / /~ /  /  /  / ~ /  / /0 0 0 0 00 0  0~ 0  0  0  0 ~ 0  001 1 1 1 11 1  1~ 1  1  1  1 ~ 1  112 2 2 2 22 2  2~ 2  2  2  2 ~ 2  223 3 3 3 33 3  3~ 3  3  3  3 ~ 3  334 4 4 4 44" 4 4~ 4  4  4  4 ~ 4  445 5 5 5 55" 5 5~ 5  5  5  5 ~ 5  556 6 6 6 66" 6 6~ 6  6  6  6 ~ 6  667 7 7 7 77" 7 7~ 7  7  7  7 ~ 7  778 8 8 8 88" 8 8~ 8  8  8  8 ~ 8  8 89 9 9 9 99" 9 9~ 9  9  9  9 ~ 9  9 9: : : : ::" : :~ :  :  :  : ~ :  : :; ; ; ; ;;" ; ;~ ;  ;  ;  ; ~ ;  ; ;< < < < <<" < <~ <  <  <  < ~ <  <<= = = = ==" = =~ =  =  =  = ~ =  ==> > > > >>" > >~ >  >  >  > ~ >  >>? ? ? ? ??" ? ?~ ?  ?  ?  ? ~ ?  ??@ @ @ @@ @ @~ @  @  @  @ @  @ @>A A A AA" A A~ A  A  A  A A  A AAB B B B BB B B~ B  B  B  B B  B B>C C C C CC" C C~ C  C  C  C C  C CAD D D D DD D D~ D  D  D  D D  D D>E E E E EE" E  E!~ E  E  E  E E  E EAF F" F# F FF  F$ F%~ F B F  F  F F  F& FGG G" G# G GG G' G(~ G B G  G  G G  G& GKH H) H* H HH  H+ H,~ H B H  H  H H  H H-I I) I* I II I. I/~ I B I  I  I I  I I-J J) J* J JJ J0 J1~ J B J  J  J J  Jc J>K K2 K3 K KK  K4 K5~ K B K  K  K K  Kc KL L2 L3 L LL L6 L7~ L B L  L  L L  Lc LM M2 M3 M MM M8 M9~ M B M  M  M M  Mc MN N: N; N NN  N< N=~ N B N  N  N N  N& NGO O: O; O OO O> O?~ O B O  O  O O  O& OGP P: P; P PP P@ PA~ P B P  P  P P  P& PGQ QB QC QQ  QD QO~ Q B Q  Q  Q ~ Q  QEQR RB RC RR  RD RO~ R B R  R  R ~ R  RFRS SB SC SS  SD SO~ S B S  S  S ~ S  SGST TB TC TT  TD TO~ T B T  T  T ~ T  THTU UB UC UU  UD UO~ U B U  U  U ~ U  UIUV VB VC VV  VD VO~ V B V  V  V ~ V  VJVW WB WC WW  WD WO~ W B W  W  W ~ W  WKWX XB XC XX  XD XO~ X B X  X  X ~ X  XLXY YB YC YY  YD YO~ Y B Y  Y  Y ~ Y " YMYZ ZB ZC ZZ  ZD ZO~ Z B Z  Z  Z ~ Z & ZNZ[ [B [C [[ [O [P~ [ " [  [  [ [  [\[\ \B \C \\ \Q \R~ \  \  \  \ ~ \  \_\] ]B ]C ]] ]Q ]R~ ]  ]  ]  ] ~ ]  ]`]^ ^B ^C ^^ ^Q ^R~ ^  ^  ^  ^ ~ ^  ^^_ _B _C __ _Q _R~ _  _  _  _ ~ _  __` `B `C `` `a `b~ ` B `  `  ` `  `S`a aB aC aa ad aT~ a B a  a  a a  af aKb bB bC bb bg bU~ b B b  b  b b  bi bjc cB cC cc cV cW~ c B c  c  c c  cm cjd dB dC dd dX do~ d B d  d  d d  dp dje eB eC ee eY er~ e B e  e  e e  em ejf fB fC ff fZ f[~ f " f  f  f f  fufg gB gC gg gv g\~ g B g  g  g g  gxgh hB hC hh hy h]~ h B h  h  h h  hx hji iB iC ii i^ i_~ i  i  i  i ~ i  i}ij jB jC jj j^ j_~ j  j  j  j ~ j  j~jk kB kC kk k^ k_~ k  k  k  k ~ k  kkl lB lC ll l^ l_~ l  l  l  l ~ l  llm mB mC mm m mU~ m B m  m  m m  mx mjn nB nC nn n` n~ n B n  n  n n  nm njo oB oC oo oa ob~ o B o  o  o o  om ojp pB pC pp pc p~ p B p  p  p p  pm pjq qB qC qq q q]~ q B q  q  q q  qx qjr rB rC rr" rd rU~ r B r  r  r r  ri rjs sB sC ss" sg sT~ s B s  s  s s  sf sKt tB tC tt" td t~ t B t  t  t t  tm tju uB uC uu" ue u~ u B u  u  u u  uc ujv vB vC vv" v v]~ v B v  v  v v  vx vjw wf wg ww  wh wi~ w B w  w  w w  wj wkx xf xg xx xl xm~ x B x  x  x x  xj xky yf yg yy" yn yo~ y  y  y  y y  yyz zp zq z zz  zr zs~ z B z  z  z z  zt zu{ {p {q { {{ {v {w~ { B {  {  { {  {t {u| |p |q | || |x |y~ | B |  |  | |  |t |u} }p }q } }}" }z }{~ } B }  }  } }  }t }u~ ~| ~} ~ ~~  ~~ ~~ ~ B ~  ~  ~ ~  ~t ~u | }    ~  B        c  | }  "  ~  B        c        ~  B               ~  B               ~  B              ~               ~  r        >@A    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.xlsx000066400000000000000000000767231416730473300237410ustar00rootroot00000000000000PK]LzW+YJxl/worksheets/sheet1.xml_Ǖg~?BEq:]swgMۊEnO)@UZwUX,l~__??w^~o_QW?}z}>??ÇO_}~/>퟿?_O#_?˃חׯ^}O>}߿y?廿ww~>~߾?믯_}r݇t>Ꮯ~>|{Ç}%ß>ˇ|˫wѿ}_}\ӏ?_V?~}_o-\w?~z>wk_}?>}~ <>~/_r_~j2vt<ϫ 偗|@?7x+q˯^"S?O}]XB~zYMK~?lWxׯCOHԏS_ֺP^VS?1xp<#D~<<ȧ#O|OD~օ2_LOImpgyx?l"zyxE[~S??~%R?sׅ.U_7੗HGxO&O}pIOO|OD~օO<\ zO}pgyx?l%x_K㩿&^"Sօr ks5x%R?S8I~{O}^mw ʊJ鏲z|O=MPXe,m~GmQIxπw2`XeMdA2`!2YHxGˀ߱wEǖwޱOxGˀxGTVTJXeMdA2`!w B2`!w;=};Z,;ReXȂdBe GX~xu,dc (B`zeLw,DeBh`wޱOxGˀxGTVTJ~`!PO& yG,$eB؋w~w2`r( A+⓬,H,D2YH;Z,DxGZ}; hʊJ爅Ӳ& yG,$eB;r}; hʊJ鏲 ,ϦzNe/{ B2`!w3?gB; hʊJ,D$"(w X{zǡBC; hL 2X8 ,ȚejNMfW)wD\J~!w XwDeE w< q`A2`!2YHxGˀqw~ahy!w XwDeE GgSMX&Ԯit߳L@ QIC;Z,;Re8& yG,$e;LjpgqHxGˀxGTVTʽ,  \Y Xew X~8d !A5ɀ;d!-~A# -8TSCKf[fʊJWui7bx'VVǃ|g6&puO}V34`dA2`2%XV-k"  f BB3Z,D퍃hFlZqjƁ ,H,@3R%baX $F,$-A<%!0 ͈ʊJ ׈Q`A2`!Ҍ2YHhFˀqfǬfiejFhFTVTxtkyw ޞFoZL<5 f;jo Ռ# Y XfDeEGU˚ȂdBmЌ Q{(ali1G*D ͈ʊJWID$F,$-Q|e,H,?Ͽd~%joq籥l{; FTVTʽ,Ds5ɀQ& Fˀ>Zc; hʊJ爅;ʚȂdBe Q{(wqLxGˀxGTVTq F82ug,$-F~8f hBeMd!12YHxGˀqwƖwqJxG,LuifA,Sp:~=.ޘlE퍓xzpgqJxGˀxGTVTE,D_5;d!-Ic_Zqz)-QYQ)St;)0qOMni7d!h7iV{S;Z,;Re!& yG,$e;`_8^3 Y8%e#*+*^Q'YY Xeho X~8e iXV-k" 9Fy B;Z,D# ͟z)-QYQ)St;`՘& Xn(-9/n8e hq,S 9Nw B;Z,D# -8e iXX"V`!q;AB1,~I# ~)w XwDeELw< q`!;d!-~ljޑwqNxG,(jNWcf825 selY8-/~ Y8'e#*+*ei,S 8GQ& h;/-8g pX  QL@ Q,ޱ/w2`r( }Ă8EwLd6ˀw `pgqNxGˀxGTVT|mWiOgS3MnitwLd6ˀΤwgB; hʊJ,D& yG,$eB8;s;Y8'e#*+*^Q~GYY Xew Xg/w2`2 Q,H,DQ& h;/s;Z,;Rvs`f82;F2YH;Z,D6 ~9w XwDeEG5ɀ;d!-~Y# -dYXQYQ)뀅%hE|5,Dy B"Yfa~xu,d Xg-k"  w B;Z,D # K;.Y$e#*+*enx?ZhpkO߭],DeBhgRqπw\2`r( A5ɀ;d!-ޱ/gRxu,d {EY"& ;d!h;Bqz%-QYQ)KO`A"X XL@2`!w\_hy%w XwDeE,GgS Mnif!w B2`!w3=qIxGˀxGTVTy X5ɀ;d!-~Dž^Zqz%-QYQ)| ,H,D2YH;Z,DxGZK;. hʊJY"x & yG,$eB︈w~w=/rtkj;{Tӿ3rni(THftG2DfLG~g**LHL@7RGVLHf8Y>0!L/ɇtHtKHtHt\b:΄6 Ce=QEtEGU~I>CB>CVF:$D:!t<m"'Z{}G*yf/ɇxHx_r+OӜGw>:΄6 7oDI|HDBg,[EAw?P868iD'SGVn~I>#7N^r8"i+8$D8oqGsjpMgϔ^geC8sd%#r2CB#j)8Z)juY%C8 @Y*{L-m #A5D8&a \h:+C$‘С{(KV(%ַ8N߷)H:6 [ &ǝFQ Fr+58n{L4?MNG"2 H6 {hBOHvui7eܨ (J+KVjqujK7Mt$$ѯ m"'h(iMe4 5)J+KVj|i=^h 2# (/gBʅimFSMPƴS SVʭA:jS|cP88iN,GpgC8I;SC${n@kgRREie%#[a)>ͦ"5 ú>qIKƯZ|\WQZY*{I8Y) Ц!qO㵮H{KƫZ|ЫTх|peƇGpgC4Z|DwG'㵮HKFZ|PTn%~sF"R7CS}}QINNՓFR͍%S/j!BRZ:>zDh ќ$dtj"iPiВi JZ^2:B:r+@ u}q,wX$JFZPi(F^:ѩ"(ԩ(,[JS/_{)ӑOM6 T; RMPҊQ"(T(,[JX/bGX$JFZPiERmP"((,[u%(񑯥_9|$%c]MCUO MSMP"((,[JUER[}{>ѮЦ!;YHٕvIKƾZоTn'aCE4deo=?zVD8ɴZNC(ji g4JO RFJ/>ȷ=#$B="cﳝk3:B:r+8 \{9I8ɴ&B \4TI p?{OwS2pR^A(>(;I^224D2/4} [IRGRB&JVjN>z\H,OENGz2V34Dzh54bEOt`ۨc)#) ([v%=]Y{ͷ# =Dhaé,_{jzҟ;+#_XV$%RVRKijH:!<m"*i Ꮪ㵮I"5h,Eh$%аnZBc)Bs</54DhG'`uMڙKI 4Ԩ(ЄUWKh,EhYM6 >jW޼;] ZL 4"4hh[Q*{ɡ mX,!4m"4U Xޙyh !-`ŒȌ:Y^rfB'%3"3da&i-Df;Ѿ7|ӞvKh4h,EhF[^RhNFW h4hNG42I6 _1G#3i;f,Ef$%PT3|X̄9̭,Df*n6?&3; ; I1c)2#)a@%g2c%3"3?XЦ!2s~>2si2\aRd&e33ӇjɌL29ǡMCd樦KhѐLmKQ*{əBfldRdfЦ!2sW0# Mfҝ 3"3f RK2c%3"3c f6 So.d}8flBvckФ\HRKMu&M[М\0dH,4]vckФ\HRKMu&M[Мl!G`Ǵ S.XS&G`^rhB%4)<.Xh2.Bt2Xi1-ǔ I2Pj MJ 9 9=6x h2xJ)%5h,Eh&`^RhPj`$Bt3 26xj)m I6r+oΣ$Ԃӑ ,s4V` E!2Sk̤lDRKLh|dFRHd&cMCd@ԴSO))2ԁ{ə 퓯HJCf2684Df6:GS;iK]1Sk̤lDRKLh|dFR2Ц!2sii R6XSd&e'`ʭ}G4,7XNG"3{#$BLpG]4I)%5EfR2x F%g8JfdŒHd&#MCd&l ۑSOi<\LOt(!3aRd&!d\L< ~ R*XSd&'`^rfY0c)2ޗAf2*Bd&l 2&xj)m I&r+?7QJ=](,Ef2w NO~{fN9e5h,Ehf`^Rh:Mg$B|2543Ep si:ȌLg$Br,,M]r"3)TnƎ4O*J )xh60  M-xI%%5EhR2x F%8JhdM(e&#-Dh¶2m ^6xI`M KMB#h,Ehu<Ц!B}4/uLZ/))2@f(%gfu3"3 9  Ꭶ邗 ^R.XSd&`ʭyT.^OSzK_ma&l!2 S&- I2.R&2@"4ac"25ҴK/))B m0Je/94]"lM,s4` 3xM3xI%%5EfR2x F%g&IC e!ddLPˎ邗 ^R.XSd&`ʭRi=>Iz ;u0  ;e 4;i|M`MK+e0Je/)4@>:MH>G M"i\`hM|MkkФl6_aXЄ:t[ЄW/uLZ_S2XSd&%(aX̄2X3l!2v_)6]5킯))2rԁk߾z|4w:9Ц!2s\ v42h)Bה I@h(%&Ià eh22B& ; m5e5EhR6JRKMp''[Ac)Bv&l!Bv_E(sG e5%5EfR2JRKLp#'[1c)2`ddL|M_.r"3)| FJqT^)"5Я>t[̄2h״ dMJ_)Q*{ɡ o!0h,EhBs  ;"eGӴ״ lM_iQ*{ɡX+. ;u@  ;"iu+̗#fhZ./L{d\:0|+v4}G׿S'ᑞu2 Հ3؏M3ih22S&#Du4"4 9MBjM; Z&c=Eh26xO KMЯd0h,Eh`$:}5& GM3;s =u`2x/93}u3"3 9LBjL; Ff&=Ef2.xO Z;`i=^JO՟TDf3Qg;Vg7,4]Jk Xt(DOFS ehWSCEh6K.e5EhR6 F%&}u4"4QgAh@uюx+f2K`M (Q*{ə~=aX̄2 33Qg>h .K`M wGIf>zRSt$2#sǡWfƦi R.XSd&傻KLt[1c)2`d\D>nat3iܥ\Lwt(̌!3cKf,Ef`$}5`&u>zb4Kv]kФ\pGRKBc^XЄ. 44G\V>nh*K.5EfR* FJ_.f٧}x0c+u2h Հ1XV_+f&5EfR* F%g&IØ UAf2*XWf}0EۧK]1V]Jk̤TpGRK5dZlɌLsD[Dmh(hm L̅&(u33`&|553-"&KS_""3)|FJ%0O5Tf¶`dڂ-Df¶`bLZ_R"XSd&%/(Du3"39LF[̄]R^"I{ E!3\1c)2Y 3CL`_h?s3i|I`M d"^rf=d0f,EfBls ~)/i|I`MPTn~&h~G4\z06d&l!26#=Df"3)|F%g&AØ =Af2Bd& 3=%5EfRBRKL0d0f,Ef–`dZ-Df–x`g-VKh,Eh#=qh ,>mhb&-~ŒLJ(̄-Z2c)2_dįLLJS車sLSLlSpCl &xJ`M hQ*{ə f,EfBls  '1i) I*9FV+XЄM64[ЄMm0l *xJ`M Q*{əYBfLKPd&-Df¦IT074M274D>fhQi*kZ^SWS$xT(䀄wu 1=J@2Ц!6^E璏fc5s))ҹW\^r>»:ߞg%um"aU-7 Ms{Mkj|r+3ys%0'4~k ߧ#`&ěm"3aMMI6הI+-Je/93aV9dm"īMW1ShVהI+-Je/94aVdxMC&l⽚3&uV~I>bS53"3{ Ke/3њ]-TH53:GL&if >zb:]ꊙ|LF[ʘf%g&OZaFR2Ц!25;]ꊙ |L[ʘ fJ_.fG F^ ?d&ȫ!25дy.m 0T2Ӆ6VKf,Ef`&4fw>v:] R6XS&e;`^rhBlhR6 mAh26B&jG7) R2XSd&%;`^rfBlfR2 eAf22Bd&jGÏ 2K`M PKM(mMJDh2284Dh2;GÏ׺&- In 4C`[@# N6  Nc㵮I.%5EhR2 F%&j 4h ?&!B}4x+h6K`M hQ*{ɡu9cBxgdlcNl0?v6K.e5EhR6 FJ K-O H0{6I4kD:i5]w))2m0Je/93 3)܅6 3l!25N]SwiܥtMJw(-OZRBh΄6 9x>v:^33t u0Je/)3@>jɌH`3Ц!0s /i/ "/ K @z.,$y;\]Z}DO7H<ǡMCP/~cHR|FZ^LK~R(I9/ RWrR$E&!)CH-t N0ux) wK]){_U.*Q"W;'|:"ǡMCdP/~dJZ^D+ <"<){9<Ի qI-=9IIЦ!s ౓%n}c*{+*tLySM zSVʭԢ"laKooT?;^# Dh` ,bTcڟ))BRZ/^RD7h#;IHY"i$N+ZE"*(,[Jخ:Q)ş$dUMCDb;O5QI1eT5EThTQZY*R 9u8JoNGT2ͩЦ!T= HJZ))BRZjui:@J;=IPɸDhQ[ӐWK5QI1[5ET[QZY*R зbR|FSH2")WuWޝxbJ[)eY5,&ZVVʭ4 ,&Ǝ_T?ӑ "Dhv.dߝXqSJj\PTn&ZƮo-\t$"sDhdɅ,SZN)ͪ)B͊Ryt*Ҵ9—h H68i\B^lIڳN)Ϫ)BϊRKNq҄KH6U 9i_B;3k]vSʹjйT2҄KH6U 9 `|w=ZW]r"!t(,䄌!!4!R$$8ҳ!dzU-DBMS㵮I+)X5EBXQZY*RKSX'GZJl+VD(V *V=YnYbҊuJ)VM*VVʭB%T(6^R]'HJF&B R"*T(,[JX'Q#>+VDP(V *VykVSJjPTn*bD|:qЦ!Bj!Xʜ֮sJj Ԯ(,[jYL$[$%zmLBTMC@ev^RmT&vNXMXVʭ94iG#)αIQՓTTS&VSD&r+P >z.ثHJ:NGT2*64DT.DNjvi#;H ,J+KVjvG[|,nZ|$!%m")}VESSjVSDjr+PBT([1uҷ# *DPy4DTvmRҊvN)ZM*ZVʭ"%lUIRae!%k!vX;Yvعr;_4|2,uԁT/dGI,[Oq{].5ԎJ+Ke/)/ =sB{HmbmP/~h<> _>}|XӇß>39WcoU?~ǿ_7ӧ|x?>gO"e PK]L̓xl/workbook.xmlO0+U'Z5Al xDpvs.>7l.Fh4:< uiԻo?s7Lnr`"$g-icoD2BDjc4(̟h38 uLx SK!0,Y϶Od}G^&\Iņe4.ɊS+~ TjPK]L +Kxl/sharedStrings.xml\[S#7~_%I-_0̤3,l(-۪iwwZj9&m6<-ttiBY!x~i;QtiwCiL,ev^> ! O;)}MؔZFFY1~}b˜&zpJyCL姝V`)d]~?罏} :e XF #whFr;okKV8 9}sV sY1 aw J X:0e؈ mIyUf7E9pqTF⋐" HvHB% !DL:v|#.Cvbu pپR +lB sML4J2sEnYB_/m{>O$7Y"$J2 jd@*xψZ0mL4)?B$H8̈́"w4yutT 3tx)X48h[c Qd:Y{1kT~tJCͰʅ$v THU-yInlC`&%-K2?eY**?g`wFڗr,.@e~i 6T@#`-apy3"(ШnH9/6:*)%'c{9.K~e%s~A dTҸ(xx+#wQtԸ9Fn3t>j 3<h :+#X scɃPg~Ca01_dD]ʾ 笮]k B]nH߆vv?v:2yk'<^@Buj)GG{kԊ5 >.jƑwW'q:~<ǃL֍ bJB!q{M (Od'&@N 0q~:6v<Nh80:ƫ6=H̴#1#̹"8}Åw7 •X:ȼhy@u"\aS,=1Hnr.{E"o3_Jh}?Vqy3禤Ҩ\|ZND?.xiU9FÚ}6n{7nvhΛ<`4j4]p/+i{2S h7h֘/nG`?a:i.vS`JپX}lםgGγƥ/!V0'A,^"օMbEE:L4c]џ>Y>u *\bVly.*M-LU2 .|5\ aEl!o θ Hyh4x?x#l/.076LP VNWW:} %\!+8M铧_DA/ =5?׏=Tw.պl*Φ >NM1O^`LM'kGo环sW3eQ=n}oovw6w}ggVXG"u3w)+J~/3i(Md.6cSBcAgLG,]T4T6lk>!B?X6bn+{ִ[4dOeHgVm%"~ӘGƈyK<g=R4; ;RP˜ކ/bѐ5U*ETr >2=s eMGp높_7x BLq>Qȳ[sݚ]4fkE=*U_bۋ*n@B o /,JtM/گ[h/6#$&0iBcB_4Kઔ8Ƨ:1} >@4-(ͧSs:;L_E6 jP&=ZM=b,(1ɒX'\c̈́U R_Ǯ!i!ؾIYXy-\.ftaa)щn QU:Jм8Rr&cZtn)4bDX!oG#f~6f?BkH >|T7rU e-HzntrzҌAj[< h)LHy4) [ULN:Ov@^+4! s)* ?as < fU ,3 eM_*N_ 0#ҡhj3J7C o>7q%U UL*/p=O6ݬq6~ }/aJq}2NyBI LA%} !e .Vleaթ`P@ b?R+sC[]KCMMCI?@)cvZ_h4!Oj2ƙGL<[ ]4 Se.G%E*u£.jqbi\Mî/*?8WNHլm]X9ʠ;U4S֑?tdӕ`!e}{Tl})Sɾ7kGX~xv_h#ބV5Thb0Fxrg0!65 ݭUc?puZB:^˕[g 홖ʚRq*$*Y; vq;Y&f ʧx I9skEPN twTlӵ}nd[^eQP'^=,1g0#Pu?!BAs,|唠Ղ2um\bʕ67_Wm`"!X|?60$' 0h&|" |(`sYOYΧFA o@> k|`ZWtGA;o;qԣ-8Ɔ*+dn83}V4FcM<y (B:U jq6SQ}o3x6~w˞ glh{7x*sc)fkpu14% Dbqo_%Ob MlMsGpD2 F0Oz/K) &i?X.`  ۞j6>)YmWϭZ"Yy o߲~f}Í),֒HK&%$cܹh`zpWNrU#zgO n<PZ>Cg[z`,]n:r bZd '*AuTT ZcіR[s|=Wd<X#l'JkSO *PK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]LѨe%PdocProps/core.xmln0}q@YIڊS*7^j#mׄ@zf]\T ,G hnԻ }%>0-Xc4TC-3\Ҟr[}bYt(nS,ey> ,0|v$)?ch@7SnC\9 ֳ8^ƶmv[c~VSq@u)8X0.u0V[ ⩋aS$gs^<ӢXB3:%ț P CM<No?APK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]LzW+YJxl/worksheets/sheet1.xmlPK]L̓aYxl/workbook.xmlPK]L +K![xl/sharedStrings.xmlPK]L%|aldocProps/app.xmlPK]LѨe%P ndocProps/core.xmlPK]La]I:O_o[Content_Types].xmlPK]L7 M pxl/styles.xmlPK]LFTR*sxl/theme/theme1.xmlPK]LIK y_rels/.relsPK]LDu[zxl/_rels/workbook.xml.relsPK ={canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.xml000066400000000000000000012523101416730473300235300ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 16755521 218082369 218082881 218090230 218083137 218081857 16751425 218078273 218078785 218090231 218090231 419415287 218088439 486524407 419417079 218089719 218088183 486524919 486524663 486523383 419416567 486526199 486526455 486517239 419418359 419418615 PDU_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false 2 false 56 false 58 false 60 false 32 false 34 false 36 false 38 false 62 false 16 false PDU_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 24 false 56 false PDU_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 8 false 24 false PDU_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 24 false 56 false PDU_CommandFactoryControl 8 APPLICATION 0 false 56 false 24 false PDU_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 8 false 24 false 24 false 40 false 56 false 24 false 24 false 40 false 56 false 24 false 40 false 56 false 16 false 24 false 36 false 16 false 24 false 40 false 56 false 24 false 40 false 56 false 24 false 40 false PDU_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false 2 false 56 false 58 false 60 false 32 false 34 false 36 false 38 false 62 false 16 false PDU_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 24 false 56 false PDU_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 8 false 24 false PDU_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 24 false 56 false PDU_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 24 false 56 false PDU_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 24 false 56 false PDU_StatusBits Bits representing the status of the power module. 8 APPLICATION 0 false 18 false 10 false 12 false 14 false 8 false 4 false 6 false 24 false 16 false 22 false 20 false 26 false 28 false 30 false 32 false 34 false 36 false 38 false 40 false PDU_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 8 false 24 false 40 false 56 false PDU_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 8 false 24 false 40 false PDU_StatusFaults Fault bits. 8 APPLICATION 59 false 2 false 43 false 8 false 14 false 12 false 20 false 10 false 16 false 6 false 0 false 4 false 24 false 56 false 40 false 26 false 28 false 30 false 32 false PDU_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 8 false 24 false 40 false PDU_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 24 false 40 false 8 false PDU_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 8 false 40 false 56 false PDU_softwareRev Software revision. 8 APPLICATION 24 false 8 false 56 false PDU_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 8 false 24 false PDU_serialNumber Serial number of the power module. 8 APPLICATION 24 false PDU_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 28 false PDU_StatusNVParam Echos back parameter values. 8 APPLICATION 8 false 24 false 24 false 40 false 56 false 24 false 24 false 40 false 56 false 24 false 40 false 56 false 16 false 24 false 36 false 16 false 24 false 40 false 56 false 24 false 40 false 56 false 24 false 40 false PDU_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 8 false 24 false 40 false PDU_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 8 false 24 false 40 false FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_CommandFactoryControl 8 APPLICATION 0 false FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 0 false FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 0 false FRAME_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 0 false FRAME_StatusBits Bits representing the status of the power module. 8 APPLICATION 0 false FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 0 false FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 0 false FRAME_StatusFaults Fault bits. 8 APPLICATION 0 false FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 0 false FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 0 false FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 0 false FRAME_softwareRev Software revision. 8 APPLICATION 0 false FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 0 false FRAME_serialNumber Serial number of the power module. 8 APPLICATION 0 false FRAME_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 0 false FRAME_StatusNVParam Echos back parameter values. 8 APPLICATION 0 false FRAME_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 0 false FRAME_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 0 false Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. FreqLo Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. FreqHi Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. NodeID J1939 Source Address node for the module. SA_Mask Not presently used. Baudrate CAN baudrate ThermalOverload Configures action to take when thermal overload input is active. MX1Open Maximum time required for the MX1 contactor to open. MX1Close Maximum time required for the MX1 contactor to close. MX2Open Maximum time required for the MX2 contactor to open. MX2Close Maximum time required for the MX2 contactor to open. K1Open Maximum time required for the K1 contactor to open. K1Close Maximum time required for the K1 contactor to close. K2Open Maximum time required for the K2 contactor to open. K2Close Maximum time required for the K2 contactor to close. Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. RealPower_measured Measured real power. ReactivePower_measured Measured reactive power. RealPower_echo Echoed real power command. ReactivePower_echo Echoed reactive power command. State_status Active control mode. MX2Permissive_status MX2 relay status PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. PowerAvailDC_status Indicates that DC bus voltage is within operating range. PowerCircuitEnabled_status Indicates whether the switching devices are active. HardwareEnable_status Status of the hardware enable. Enable_echo Echos the state of the Enable command withing the CommandModeControl message. FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1Permissive_status MX1 relay status K2DCRunPermissive_status K2 DC Run relay status. K1PrechargePermissive_status K1 precharge relay status. MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. CANbus_status Operational status of the CAN bus driver. EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. v5p0_Supply Present voltage of the control board 5V power suppy. v3p3_Supply Present voltage of the control board 3.3V power supply. v24_Supply Present voltage of the control board 24V power supply. v15_Supply Present voltage of the control board 15V power supply. TempInlet_measured Coolant inlet temperature TempInternal_measured Internal ambient temperature ConverterLosses Power converter thermal loss BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. UndervoltageDC_status Indicates loss of DC source voltage. ControlHardwareFail_status Set upon the failure of control hardware to return expected response. OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. ThermalOverload VoltageAC_measured Measured RMS AC voltage. CurrentAC_measured Measured RMS AC current. Frequency_measured Measured frequency. VoltageDCBus Measured DC bus voltage. CurrentDC_measured Measured DC current. VoltageDCInput_measured Estimated DC input voltage. n15V_Supply Present voltage of the control board -15V power supply. DiodeTemperature Hottest diode IGBTTemperature Hottest IGBT InterfaceRev Software revision of the CAN communication interface. ControlSwRev Software revision of the control firmware. BuildTime Build timestamp. Voltage_echo Echoed voltage command Frequency_echo Echoed frequency command. SerialNumber Serial number of the power module. Hash Unique revision identification hashcode. StatusNVParam_MUX Dummy VUnder50pct V50to88pct V110to120pct VOver120 FreqHi FreqLo FreqVeryLo FreqVeryLo FreqLo FreqHi StatusNodeID J1939 Source Address node for the module StatusSA_Mask Mask used to configure from which master source addresses to accept commands. StatusBaudrate StatusThermalOverload Configured action to take when thermal overload input is active. StatusMX1Open Maximum time required for the MX1 contactor to open. StatusMX1Close Maximum time required for the MX1 contactor to close. StatusMX2Open Maximum time required for the MX2 contactor to open. StatusMX2Close Maximum time required for the MX2 contactor to open. StatusK1Open Maximum time required for the K1 contactor to open. StatusK1Close Maximum time required for the K1 contactor to close. StatusK2Open Maximum time required for the K2 contactor to open. StatusK2Close Maximum time required for the K2 contactor to close. L1Current_measured Measured L1 RMS line current. L2Current_measured Measured L2 RMS line current. L3Current_measured Measured L3 RMS line current. L1Voltage_measured Measured L1 RMS line-neutral voltage L2Voltage_measured Measured L2 RMS line-neutral voltage L3Voltage_measured Measured L3 RMS line-neutral voltage Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms NodeID SA_Mask Baudrate ThermalOverload MX1Open ms MX1Close ms MX2Open ms MX2Close ms K1Open ms K1Close ms K2Open ms K2Close ms Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA State_status MX2Permissive_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status HardwareEnable_status Enable_echo FaultClr_echo MessageValidModeControl_status MX1Permissive_status K2DCRunPermissive_status K1PrechargePermissive_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V TempInlet_measured C TempInternal_measured C ConverterLosses W BridgeAVoltageOk_status OvercurrentAC_status BridgeBVoltageOk_status OvervoltageDC_status OvertempPowerDevice_status OvertempInternal_status LossValidControlMessage_status UndervoltageDC_status ControlHardwareFail_status OvercurrentDC_status GeneralFault_status LossOfAC_status EStopShutdown_status BridgeAFault_status BridgeBFault_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz VoltageDCBus V CurrentDC_measured A VoltageDCInput_measured V n15V_Supply V DiodeTemperature C IGBTTemperature C InterfaceRev ControlSwRev BuildTime Voltage_echo Vrms Frequency_echo Hz SerialNumber Hash StatusNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms StatusNodeID StatusSA_Mask StatusBaudrate StatusThermalOverload StatusMX1Open ms StatusMX1Close ms StatusMX2Open ms StatusMX2Close ms StatusK1Open ms StatusK1Close ms StatusK2Open ms StatusK2Close ms L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_RealPower command Coding for RealPower command COMPUMETHOD_RealPower command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_WriteSerialNumber Coding for WriteSerialNumber COMPUMETHOD_WriteSerialNumber LINEAR 0.0 3.0 0.0 1.0 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_FactoryAccess Coding for FactoryAccess COMPUMETHOD_FactoryAccess LINEAR 0.0 65535.0 0.0 1.0 1 CODING_CommandSetNVParam_MUX Coding for CommandSetNVParam_MUX COMPUMETHOD_CommandSetNVParam_MUX LINEAR 0.0 65535.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 0.0 65535.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 0.0 1.0 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 0.0 1.0 1 CODING_NodeID Coding for NodeID COMPUMETHOD_NodeID LINEAR 0.0 247.0 0.0 1.0 1 CODING_SA_Mask Coding for SA_Mask COMPUMETHOD_SA_Mask LINEAR 0.0 255.0 0.0 1.0 1 CODING_Baudrate Coding for Baudrate COMPUMETHOD_Baudrate LINEAR 0.0 3.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1.0 1 CODING_MX1Open Coding for MX1Open COMPUMETHOD_MX1Open LINEAR 0.0 5000.0 0.0 1.0 1 CODING_MX1Close Coding for MX1Close COMPUMETHOD_MX1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_MX2Open Coding for MX2Open COMPUMETHOD_MX2Open LINEAR 0.0 65535.0 0.0 1.0 1 CODING_MX2Close Coding for MX2Close COMPUMETHOD_MX2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K1Open Coding for K1Open COMPUMETHOD_K1Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K1Close Coding for K1Close COMPUMETHOD_K1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K2Open Coding for K2Open COMPUMETHOD_K2Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K2Close Coding for K2Close COMPUMETHOD_K2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1.0 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_echo Coding for RealPower_echo COMPUMETHOD_RealPower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_echo Coding for ReactivePower_echo COMPUMETHOD_ReactivePower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_State_status Coding for State_status COMPUMETHOD_State_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_MX2Permissive_status Coding for MX2Permissive_status COMPUMETHOD_MX2Permissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerAvailAC_status Coding for PowerAvailAC_status COMPUMETHOD_PowerAvailAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerAvailDC_status Coding for PowerAvailDC_status COMPUMETHOD_PowerAvailDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerCircuitEnabled_status Coding for PowerCircuitEnabled_status COMPUMETHOD_PowerCircuitEnabled_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_HardwareEnable_status Coding for HardwareEnable_status COMPUMETHOD_HardwareEnable_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_Enable_echo Coding for Enable_echo COMPUMETHOD_Enable_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_FaultClr_echo Coding for FaultClr_echo COMPUMETHOD_FaultClr_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidModeControl_status Coding for MessageValidModeControl_status COMPUMETHOD_MessageValidModeControl_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MX1Permissive_status Coding for MX1Permissive_status COMPUMETHOD_MX1Permissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_K2DCRunPermissive_status Coding for K2DCRunPermissive_status COMPUMETHOD_K2DCRunPermissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_K1PrechargePermissive_status Coding for K1PrechargePermissive_status COMPUMETHOD_K1PrechargePermissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidPowerCMD_status Coding for MessageValidPowerCMD_status COMPUMETHOD_MessageValidPowerCMD_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidVF_status Coding for MessageValidVF_status COMPUMETHOD_MessageValidVF_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_CANbus_status Coding for CANbus_status COMPUMETHOD_CANbus_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableUPSMode_echo Coding for EnableUPSMode_echo COMPUMETHOD_EnableUPSMode_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableSplitPhase_echo Coding for EnableSplitPhase_echo COMPUMETHOD_EnableSplitPhase_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_PhaseRotation_status Coding for PhaseRotation_status COMPUMETHOD_PhaseRotation_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_LineVoltageDetected_status Coding for LineVoltageDetected_status COMPUMETHOD_LineVoltageDetected_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PhaseRotation_echo Coding for PhaseRotation_echo COMPUMETHOD_PhaseRotation_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_v5p0_Supply Coding for v5p0_Supply COMPUMETHOD_v5p0_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v3p3_Supply Coding for v3p3_Supply COMPUMETHOD_v3p3_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v24_Supply Coding for v24_Supply COMPUMETHOD_v24_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v15_Supply Coding for v15_Supply COMPUMETHOD_v15_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_TempInlet_measured Coding for TempInlet_measured COMPUMETHOD_TempInlet_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_TempInternal_measured Coding for TempInternal_measured COMPUMETHOD_TempInternal_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_ConverterLosses Coding for ConverterLosses COMPUMETHOD_ConverterLosses LINEAR 0.0 65535.0 0.0 1.0 1 CODING_BridgeAVoltageOk_status Coding for BridgeAVoltageOk_status COMPUMETHOD_BridgeAVoltageOk_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_OvercurrentAC_status Coding for OvercurrentAC_status COMPUMETHOD_OvercurrentAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_BridgeBVoltageOk_status Coding for BridgeBVoltageOk_status COMPUMETHOD_BridgeBVoltageOk_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_OvervoltageDC_status Coding for OvervoltageDC_status COMPUMETHOD_OvervoltageDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_OvertempPowerDevice_status Coding for OvertempPowerDevice_status COMPUMETHOD_OvertempPowerDevice_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_OvertempInternal_status Coding for OvertempInternal_status COMPUMETHOD_OvertempInternal_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_LossValidControlMessage_status Coding for LossValidControlMessage_status COMPUMETHOD_LossValidControlMessage_status LINEAR 0.0 15.0 0.0 1.0 1 CODING_UndervoltageDC_status Coding for UndervoltageDC_status COMPUMETHOD_UndervoltageDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_ControlHardwareFail_status Coding for ControlHardwareFail_status COMPUMETHOD_ControlHardwareFail_status LINEAR 0.0 15.0 0.0 1.0 1 CODING_OvercurrentDC_status Coding for OvercurrentDC_status COMPUMETHOD_OvercurrentDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_GeneralFault_status Coding for GeneralFault_status COMPUMETHOD_GeneralFault_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_LossOfAC_status Coding for LossOfAC_status COMPUMETHOD_LossOfAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_EStopShutdown_status Coding for EStopShutdown_status COMPUMETHOD_EStopShutdown_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_BridgeAFault_status Coding for BridgeAFault_status COMPUMETHOD_BridgeAFault_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_BridgeBFault_status Coding for BridgeBFault_status COMPUMETHOD_BridgeBFault_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_IllegalTransition_status Coding for IllegalTransition_status COMPUMETHOD_IllegalTransition_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_InvalidEEHeader_status Coding for InvalidEEHeader_status COMPUMETHOD_InvalidEEHeader_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_InvalidEESection_status Coding for InvalidEESection_status COMPUMETHOD_InvalidEESection_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1.0 1 CODING_VoltageAC_measured Coding for VoltageAC_measured COMPUMETHOD_VoltageAC_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_CurrentAC_measured Coding for CurrentAC_measured COMPUMETHOD_CurrentAC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Frequency_measured Coding for Frequency_measured COMPUMETHOD_Frequency_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_VoltageDCBus Coding for VoltageDCBus COMPUMETHOD_VoltageDCBus LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_CurrentDC_measured Coding for CurrentDC_measured COMPUMETHOD_CurrentDC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VoltageDCInput_measured Coding for VoltageDCInput_measured COMPUMETHOD_VoltageDCInput_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_n15V_Supply Coding for n15V_Supply COMPUMETHOD_n15V_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_DiodeTemperature Coding for DiodeTemperature COMPUMETHOD_DiodeTemperature LINEAR 0.0 65535.0 0.0 1.0 1 CODING_IGBTTemperature Coding for IGBTTemperature COMPUMETHOD_IGBTTemperature LINEAR 0.0 65535.0 0.0 1.0 1 CODING_InterfaceRev Coding for InterfaceRev COMPUMETHOD_InterfaceRev LINEAR 0.0 655.35 0.0 0.01 1 CODING_ControlSwRev Coding for ControlSwRev COMPUMETHOD_ControlSwRev LINEAR 0.0 655.35 0.0 0.01 1 CODING_BuildTime Coding for BuildTime COMPUMETHOD_BuildTime LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_Voltage_echo Coding for Voltage_echo COMPUMETHOD_Voltage_echo LINEAR 0.0 6553.5 0.0 0.1 1 CODING_Frequency_echo Coding for Frequency_echo COMPUMETHOD_Frequency_echo LINEAR 0.0 6553.5 0.0 0.1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_Hash Coding for Hash COMPUMETHOD_Hash LINEAR 0.0 268435455.0 0.0 1.0 1 CODING_StatusNVParam_MUX Coding for StatusNVParam_MUX COMPUMETHOD_StatusNVParam_MUX LINEAR 0.0 65535.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 5.0 10.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 0.0 1.0 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 0.0 1.0 1 CODING_StatusNodeID Coding for StatusNodeID COMPUMETHOD_StatusNodeID LINEAR 0.0 247.0 0.0 1.0 1 CODING_StatusSA_Mask Coding for StatusSA_Mask COMPUMETHOD_StatusSA_Mask LINEAR 0.0 255.0 0.0 1.0 1 CODING_StatusBaudrate Coding for StatusBaudrate COMPUMETHOD_StatusBaudrate LINEAR 0.0 3.0 0.0 1.0 1 CODING_StatusThermalOverload Coding for StatusThermalOverload COMPUMETHOD_StatusThermalOverload LINEAR 0.0 3.0 0.0 1.0 1 CODING_StatusMX1Open Coding for StatusMX1Open COMPUMETHOD_StatusMX1Open LINEAR 0.0 5000.0 0.0 1.0 1 CODING_StatusMX1Close Coding for StatusMX1Close COMPUMETHOD_StatusMX1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusMX2Open Coding for StatusMX2Open COMPUMETHOD_StatusMX2Open LINEAR 0.0 65535.0 0.0 1.0 1 CODING_StatusMX2Close Coding for StatusMX2Close COMPUMETHOD_StatusMX2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK1Open Coding for StatusK1Open COMPUMETHOD_StatusK1Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK1Close Coding for StatusK1Close COMPUMETHOD_StatusK1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK2Open Coding for StatusK2Open COMPUMETHOD_StatusK2Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK2Close Coding for StatusK2Close COMPUMETHOD_StatusK2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_L1Current_measured Coding for L1Current_measured COMPUMETHOD_L1Current_measured LINEAR 0.0 65535.0 0.0 1.0 1 CODING_L2Current_measured Coding for L2Current_measured COMPUMETHOD_L2Current_measured LINEAR 0.0 65535.0 0.0 1.0 1 CODING_L3Current_measured Coding for L3Current_measured COMPUMETHOD_L3Current_measured LINEAR 0.0 65535.0 0.0 1.0 1 CODING_L1Voltage_measured Coding for L1Voltage_measured COMPUMETHOD_L1Voltage_measured LINEAR 0.0 6553.5 0.0 0.1 1 CODING_L2Voltage_measured Coding for L2Voltage_measured COMPUMETHOD_L2Voltage_measured LINEAR 0.0 6553.5 0.0 0.1 1 CODING_L3Voltage_measured Coding for L3Voltage_measured COMPUMETHOD_L3Voltage_measured LINEAR 0.0 6553.5 0.0 0.1 1 canmatrix-0.9.5/test/reference/from_kcd/test_test.kcd.yaml000066400000000000000000003577501416730473300237070ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: {} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 16755521 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandModeControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218082369 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218082881 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218090230 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: MasterMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218083137 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandFactoryControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: WriteSerialNumber offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FactoryAccess offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218081857 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandSetNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 10: ContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CommandSetNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: NodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Not presently used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: SA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: CAN baudrate comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: Baudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configures action to take when thermal overload input is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: MX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 10 muxValMax: 0 muxValMin: 0 mux_val: 10 mux_value: null muxerForSignal: null name: K2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 10 muxValMax: 0 muxValMin: 0 mux_val: 10 mux_value: null muxerForSignal: null name: K2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms size: 8 transmitter: [] - !!Frame _Id: 16751425 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandModeControlAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218078273 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218078785 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVFAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: MasterMeasuredPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 419415287 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Echoes the commanded power (P&Q) as received in CommandPQ. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandedPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed real power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed reactive power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218088439 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Bits representing the status of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusBits receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: 'Power On Reset, and a quoted comma', 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Active control mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: State_status offset: 0.0 receiver: [] signalsize: 4 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX2 relay status comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 18 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that AC power is connected and that voltage and frequency are within nominal ranges. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that DC bus voltage is within operating range. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether the switching devices are active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerCircuitEnabled_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Not Active, 1: Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Status of the hardware enable. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: HardwareEnable_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the Enable command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the FaultClear command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClr_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidModeControl_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX1 relay status comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K2 DC Run relay status. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2DCRunPermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 22 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K1 precharge relay status. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1PrechargePermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidPowerCMD_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidVF_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Operational status of the CAN bus driver. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CANbus_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableUPSMode command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableSplitPhase command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_status offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Flag indicating if voltage is detected on L1, L2 or L3. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LineVoltageDetected_status offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of PhaseRotation_command withing the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486524407 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusControlVoltage receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 5V power suppy. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v5p0_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 3.3V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v3p3_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 24V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v24_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v15_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: V size: 8 transmitter: [] - !!Frame _Id: 419417079 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Returns the inlet water temperature to the module as well as module internal ambient temperature. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusTemps receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Coolant inlet temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInlet_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Internal ambient temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInternal_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Power converter thermal loss comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ConverterLosses offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: W size: 8 transmitter: [] - !!Frame _Id: 218089719 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Fault bits. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusFaults receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of AC current exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 43 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC voltage exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempPowerDevice_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempInternal_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossValidControlMessage_status offset: 0.0 receiver: [] signalsize: 4 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates loss of DC source voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: UndervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set upon the failure of control hardware to return expected response. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlHardwareFail_status offset: 0.0 receiver: [] signalsize: 4 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC current exceeding the threshold value. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: GeneralFault_status offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossOfAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EStopShutdown_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IllegalTransition_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading of non-volatile parameters at power-up failed. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEEHeader_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading or writing of an non-volatile parameter section failed. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEESection_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218088183 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusACParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC voltage. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured frequency. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 486524919 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusDCParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC bus voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCBus offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentDC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Estimated DC input voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCInput_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V size: 8 transmitter: [] - !!Frame _Id: 486524663 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Present voltage of the -15V power supply on the control board. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusControlVolts2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board -15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: n15V_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest diode comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: DiodeTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest IGBT comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IGBTTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: C size: 8 transmitter: [] - !!Frame _Id: 486523383 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Software revision. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRev receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the CAN communication interface. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 655.35 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InterfaceRev offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the control firmware. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 655.35 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlSwRev offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Build timestamp. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BuildTime offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419416567 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Echoes the voltage and frequency commands from commandVF. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed voltage command comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed frequency command. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 486526199 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Serial number of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: serialNumber receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Serial number of the power module. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526455 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Unique software revision identification hashcode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRevHash receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Unique revision identification hashcode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 268435455.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Hash offset: 0.0 receiver: [] signalsize: 28 startbit: 28 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486517239 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {} comment: Echos back parameter values. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 10.0 min: 5.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusNodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Mask used to configure from which master source addresses to accept commands. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusSA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: null comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusBaudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configured action to take when thermal overload input is active. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: StatusThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusMX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms size: 8 transmitter: [] - !!Frame _Id: 419418359 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Measured RMS line currents. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineCurrents receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: A size: 8 transmitter: [] - !!Frame _Id: 419418615 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100'} comment: Measured RMS line voltages. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineVoltages receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: true is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Vrms size: 8 transmitter: [] globalDefines: {} signalDefines: {} valueTables: {} canmatrix-0.9.5/test/reference/from_sym/000077500000000000000000000000001416730473300202735ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_sym/test.arxml000066400000000000000000017624221416730473300223350ustar00rootroot00000000000000 Cluster CAN CAN CommandModeControl /Frame/FRAME_CommandModeControl /Cluster/CAN/IPDUTRIGG_CommandModeControl EXTENDED 16755521 CommandPower /Frame/FRAME_CommandPower /Cluster/CAN/IPDUTRIGG_CommandPower EXTENDED 218082369 CommandVF /Frame/FRAME_CommandVF /Cluster/CAN/IPDUTRIGG_CommandVF EXTENDED 218082881 MasterMeasuredPower /Frame/FRAME_MasterMeasuredPower /Cluster/CAN/IPDUTRIGG_MasterMeasuredPower EXTENDED 218090230 CommandFactoryControl /Frame/FRAME_CommandFactoryControl /Cluster/CAN/IPDUTRIGG_CommandFactoryControl EXTENDED 218083137 CommandSetNVParam /Frame/FRAME_CommandSetNVParam /Cluster/CAN/IPDUTRIGG_CommandSetNVParam EXTENDED 218081857 CommandModeControlAPU2 /Frame/FRAME_CommandModeControlAPU2 /Cluster/CAN/IPDUTRIGG_CommandModeControlAPU2 EXTENDED 16751425 CommandPowerAPU2 /Frame/FRAME_CommandPowerAPU2 /Cluster/CAN/IPDUTRIGG_CommandPowerAPU2 EXTENDED 218078273 CommandVFAPU2 /Frame/FRAME_CommandVFAPU2 /Cluster/CAN/IPDUTRIGG_CommandVFAPU2 EXTENDED 218078785 MasterMeasuredPowerAPU2 /Frame/FRAME_MasterMeasuredPowerAPU2 /Cluster/CAN/IPDUTRIGG_MasterMeasuredPowerAPU2 EXTENDED 218090231 justString /Frame/FRAME_justString /Cluster/CAN/IPDUTRIGG_justString EXTENDED 486517952 stringAndOther /Frame/FRAME_stringAndOther /Cluster/CAN/IPDUTRIGG_stringAndOther EXTENDED 486517696 StatusMeasuredPower /Frame/FRAME_StatusMeasuredPower /Cluster/CAN/IPDUTRIGG_StatusMeasuredPower EXTENDED 218090231 StatusCommandedPower /Frame/FRAME_StatusCommandedPower /Cluster/CAN/IPDUTRIGG_StatusCommandedPower EXTENDED 419415287 StatusBits /Frame/FRAME_StatusBits /Cluster/CAN/IPDUTRIGG_StatusBits EXTENDED 218088439 StatusControlVoltage /Frame/FRAME_StatusControlVoltage /Cluster/CAN/IPDUTRIGG_StatusControlVoltage EXTENDED 486524407 StatusTemps /Frame/FRAME_StatusTemps /Cluster/CAN/IPDUTRIGG_StatusTemps EXTENDED 419417079 StatusFaults /Frame/FRAME_StatusFaults /Cluster/CAN/IPDUTRIGG_StatusFaults EXTENDED 218089719 StatusACParameters /Frame/FRAME_StatusACParameters /Cluster/CAN/IPDUTRIGG_StatusACParameters EXTENDED 218088183 StatusDCParameters /Frame/FRAME_StatusDCParameters /Cluster/CAN/IPDUTRIGG_StatusDCParameters EXTENDED 486524919 StatusControlVolts2 /Frame/FRAME_StatusControlVolts2 /Cluster/CAN/IPDUTRIGG_StatusControlVolts2 EXTENDED 486524663 softwareRev /Frame/FRAME_softwareRev /Cluster/CAN/IPDUTRIGG_softwareRev EXTENDED 486523383 StatusCommandVF /Frame/FRAME_StatusCommandVF /Cluster/CAN/IPDUTRIGG_StatusCommandVF EXTENDED 419416567 serialNumber /Frame/FRAME_serialNumber /Cluster/CAN/IPDUTRIGG_serialNumber EXTENDED 486526199 softwareRevHash /Frame/FRAME_softwareRevHash /Cluster/CAN/IPDUTRIGG_softwareRevHash EXTENDED 486526455 StatusNVParam /Frame/FRAME_StatusNVParam /Cluster/CAN/IPDUTRIGG_StatusNVParam EXTENDED 486517239 StatusLineCurrents /Frame/FRAME_StatusLineCurrents /Cluster/CAN/IPDUTRIGG_StatusLineCurrents EXTENDED 419418359 StatusLineVoltages /Frame/FRAME_StatusLineVoltages /Cluster/CAN/IPDUTRIGG_StatusLineVoltages EXTENDED 419418615 IPDUTRIGG_CommandModeControl /PDU/PDU_CommandModeControl IPDUTRIGG_CommandPower /PDU/PDU_CommandPower IPDUTRIGG_CommandVF /PDU/PDU_CommandVF IPDUTRIGG_MasterMeasuredPower /PDU/PDU_MasterMeasuredPower IPDUTRIGG_CommandFactoryControl /PDU/PDU_CommandFactoryControl IPDUTRIGG_CommandSetNVParam /PDU/PDU_CommandSetNVParam IPDUTRIGG_CommandModeControlAPU2 /PDU/PDU_CommandModeControlAPU2 IPDUTRIGG_CommandPowerAPU2 /PDU/PDU_CommandPowerAPU2 IPDUTRIGG_CommandVFAPU2 /PDU/PDU_CommandVFAPU2 IPDUTRIGG_MasterMeasuredPowerAPU2 /PDU/PDU_MasterMeasuredPowerAPU2 IPDUTRIGG_justString /PDU/PDU_justString IPDUTRIGG_stringAndOther /PDU/PDU_stringAndOther IPDUTRIGG_StatusMeasuredPower /PDU/PDU_StatusMeasuredPower IPDUTRIGG_StatusCommandedPower /PDU/PDU_StatusCommandedPower IPDUTRIGG_StatusBits /PDU/PDU_StatusBits IPDUTRIGG_StatusControlVoltage /PDU/PDU_StatusControlVoltage IPDUTRIGG_StatusTemps /PDU/PDU_StatusTemps IPDUTRIGG_StatusFaults /PDU/PDU_StatusFaults IPDUTRIGG_StatusACParameters /PDU/PDU_StatusACParameters IPDUTRIGG_StatusDCParameters /PDU/PDU_StatusDCParameters IPDUTRIGG_StatusControlVolts2 /PDU/PDU_StatusControlVolts2 IPDUTRIGG_softwareRev /PDU/PDU_softwareRev IPDUTRIGG_StatusCommandVF /PDU/PDU_StatusCommandVF IPDUTRIGG_serialNumber /PDU/PDU_serialNumber IPDUTRIGG_softwareRevHash /PDU/PDU_softwareRevHash IPDUTRIGG_StatusNVParam /PDU/PDU_StatusNVParam IPDUTRIGG_StatusLineCurrents /PDU/PDU_StatusLineCurrents IPDUTRIGG_StatusLineVoltages /PDU/PDU_StatusLineVoltages Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower command /ISignal/RealPower command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured WriteSerialNumber /ISignal/WriteSerialNumber SerialNumber /ISignal/SerialNumber FactoryAccess /ISignal/FactoryAccess CommandSetNVParam_MUX /ISignal/CommandSetNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi NodeID /ISignal/NodeID SA_Mask /ISignal/SA_Mask Baudrate /ISignal/Baudrate ThermalOverload /ISignal/ThermalOverload MX1Open /ISignal/MX1Open MX1Close /ISignal/MX1Close MX2Open /ISignal/MX2Open MX2Close /ISignal/MX2Close K1Open /ISignal/K1Open K1Close /ISignal/K1Close K2Open /ISignal/K2Open K2Close /ISignal/K2Close Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_measured /ISignal/RealPower_measured RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_echo /ISignal/RealPower_echo ReactivePower_echo /ISignal/ReactivePower_echo State_status /ISignal/State_status MX2Permissive_status /ISignal/MX2Permissive_status PowerAvailAC_status /ISignal/PowerAvailAC_status PowerAvailDC_status /ISignal/PowerAvailDC_status PowerCircuitEnabled_status /ISignal/PowerCircuitEnabled_status HardwareEnable_status /ISignal/HardwareEnable_status Enable_echo /ISignal/Enable_echo FaultClr_echo /ISignal/FaultClr_echo MessageValidModeControl_status /ISignal/MessageValidModeControl_status MX1Permissive_status /ISignal/MX1Permissive_status K2DCRunPermissive_status /ISignal/K2DCRunPermissive_status K1PrechargePermissive_status /ISignal/K1PrechargePermissive_status MessageValidPowerCMD_status /ISignal/MessageValidPowerCMD_status MessageValidVF_status /ISignal/MessageValidVF_status CANbus_status /ISignal/CANbus_status EnableUPSMode_echo /ISignal/EnableUPSMode_echo EnableSplitPhase_echo /ISignal/EnableSplitPhase_echo PhaseRotation_status /ISignal/PhaseRotation_status LineVoltageDetected_status /ISignal/LineVoltageDetected_status PhaseRotation_echo /ISignal/PhaseRotation_echo v5p0_Supply /ISignal/v5p0_Supply v3p3_Supply /ISignal/v3p3_Supply v24_Supply /ISignal/v24_Supply v15_Supply /ISignal/v15_Supply TempInlet_measured /ISignal/TempInlet_measured TempInternal_measured /ISignal/TempInternal_measured ConverterLosses /ISignal/ConverterLosses BridgeAVoltageOk_status /ISignal/BridgeAVoltageOk_status OvercurrentAC_status /ISignal/OvercurrentAC_status BridgeBVoltageOk_status /ISignal/BridgeBVoltageOk_status OvervoltageDC_status /ISignal/OvervoltageDC_status OvertempPowerDevice_status /ISignal/OvertempPowerDevice_status OvertempInternal_status /ISignal/OvertempInternal_status LossValidControlMessage_status /ISignal/LossValidControlMessage_status UndervoltageDC_status /ISignal/UndervoltageDC_status ControlHardwareFail_status /ISignal/ControlHardwareFail_status OvercurrentDC_status /ISignal/OvercurrentDC_status GeneralFault_status /ISignal/GeneralFault_status LossOfAC_status /ISignal/LossOfAC_status EStopShutdown_status /ISignal/EStopShutdown_status BridgeAFault_status /ISignal/BridgeAFault_status BridgeBFault_status /ISignal/BridgeBFault_status IllegalTransition_status /ISignal/IllegalTransition_status InvalidEEHeader_status /ISignal/InvalidEEHeader_status InvalidEESection_status /ISignal/InvalidEESection_status ThermalOverload /ISignal/ThermalOverload VoltageAC_measured /ISignal/VoltageAC_measured CurrentAC_measured /ISignal/CurrentAC_measured Frequency_measured /ISignal/Frequency_measured VoltageDCBus /ISignal/VoltageDCBus CurrentDC_measured /ISignal/CurrentDC_measured VoltageDCInput_measured /ISignal/VoltageDCInput_measured n15V_Supply /ISignal/n15V_Supply DiodeTemperature /ISignal/DiodeTemperature IGBTTemperature /ISignal/IGBTTemperature InterfaceRev /ISignal/InterfaceRev ControlSwRev /ISignal/ControlSwRev BuildTime /ISignal/BuildTime Voltage_echo /ISignal/Voltage_echo Frequency_echo /ISignal/Frequency_echo SerialNumber /ISignal/SerialNumber Hash /ISignal/Hash StatusNVParam_MUX /ISignal/StatusNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi StatusNodeID /ISignal/StatusNodeID StatusSA_Mask /ISignal/StatusSA_Mask StatusBaudrate /ISignal/StatusBaudrate StatusThermalOverload /ISignal/StatusThermalOverload StatusMX1Open /ISignal/StatusMX1Open StatusMX1Close /ISignal/StatusMX1Close StatusMX2Open /ISignal/StatusMX2Open StatusMX2Close /ISignal/StatusMX2Close StatusK1Open /ISignal/StatusK1Open StatusK1Close /ISignal/StatusK1Close StatusK2Open /ISignal/StatusK2Open StatusK2Close /ISignal/StatusK2Close L1Current_measured /ISignal/L1Current_measured L2Current_measured /ISignal/L2Current_measured L3Current_measured /ISignal/L3Current_measured L1Voltage_measured /ISignal/L1Voltage_measured L2Voltage_measured /ISignal/L2Voltage_measured L3Voltage_measured /ISignal/L3Voltage_measured Frame FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 CommandModeControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControl 0 FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPower 0 FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVF 0 FRAME_MasterMeasuredPower Returns the actual measured power. 8 MasterMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPower 0 FRAME_CommandFactoryControl 8 CommandFactoryControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandFactoryControl 0 FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 CommandSetNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandSetNVParam 0 FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 CommandModeControlAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControlAPU2 0 FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPowerAPU2 0 FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVFAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVFAPU2 0 FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 MasterMeasuredPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPowerAPU2 0 FRAME_justString 8 justString MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_justString 0 FRAME_stringAndOther 8 stringAndOther MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_stringAndOther 0 FRAME_StatusMeasuredPower Returns the actual measured power. 8 StatusMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusMeasuredPower 0 FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 StatusCommandedPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandedPower 0 FRAME_StatusBits Bits representing the status of the power module. 8 StatusBits MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusBits 0 FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 StatusControlVoltage MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVoltage 0 FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 StatusTemps MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusTemps 0 FRAME_StatusFaults Fault bits. 8 StatusFaults MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusFaults 0 FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 StatusACParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusACParameters 0 FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 StatusDCParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusDCParameters 0 FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 StatusControlVolts2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVolts2 0 FRAME_softwareRev Software revision. 8 softwareRev MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRev 0 FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 StatusCommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandVF 0 FRAME_serialNumber Serial number of the power module. 8 serialNumber MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_serialNumber 0 FRAME_softwareRevHash Unique software revision identification hashcode. 8 softwareRevHash MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRevHash 0 FRAME_StatusNVParam Echos back parameter values. 8 StatusNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusNVParam 0 FRAME_StatusLineCurrents Measured RMS line currents. 8 StatusLineCurrents MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineCurrents 0 FRAME_StatusLineVoltages Measured RMS line voltages. 8 StatusLineVoltages MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineVoltages 0 PDU PDU_CommandModeControl 64 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 1 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 3 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 57 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 59 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 61 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 33 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 35 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 37 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 39 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 63 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 17 PDU_CommandPower 64 RealPower command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower command 7 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 39 PDU_CommandVF 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 7 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 23 PDU_MasterMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_CommandFactoryControl 64 WriteSerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/WriteSerialNumber 1 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 39 FactoryAccess MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FactoryAccess 23 PDU_CommandSetNVParam 64 CommandSetNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CommandSetNVParam_MUX 7 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 23 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 23 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 39 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 55 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 23 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 55 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 55 NodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/NodeID 23 SA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SA_Mask 31 Baudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Baudrate 39 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 17 MX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Open 23 MX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Close 39 MX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Open 55 MX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Close 23 K1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Open 39 K1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Close 55 K2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Open 23 K2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Close 39 PDU_CommandModeControlAPU2 64 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 1 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 3 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 57 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 59 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 61 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 33 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 35 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 37 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 39 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 63 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 17 PDU_CommandPowerAPU2 64 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 7 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 39 PDU_CommandVFAPU2 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 7 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 23 PDU_MasterMeasuredPowerAPU2 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_justString 64 PDU_stringAndOther 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 PDU_StatusMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_StatusCommandedPower 64 RealPower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_echo 7 ReactivePower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_echo 39 PDU_StatusBits 64 State_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/State_status 3 MX2Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Permissive_status 19 PowerAvailAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailAC_status 11 PowerAvailDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailDC_status 13 PowerCircuitEnabled_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerCircuitEnabled_status 15 HardwareEnable_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/HardwareEnable_status 9 Enable_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_echo 5 FaultClr_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClr_echo 7 MessageValidModeControl_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidModeControl_status 25 MX1Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Permissive_status 17 K2DCRunPermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2DCRunPermissive_status 23 K1PrechargePermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1PrechargePermissive_status 21 MessageValidPowerCMD_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidPowerCMD_status 27 MessageValidVF_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidVF_status 29 CANbus_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CANbus_status 31 EnableUPSMode_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_echo 33 EnableSplitPhase_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_echo 35 PhaseRotation_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_status 37 LineVoltageDetected_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LineVoltageDetected_status 39 PhaseRotation_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_echo 41 PDU_StatusControlVoltage 64 v5p0_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v5p0_Supply 7 v3p3_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v3p3_Supply 23 v24_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v24_Supply 39 v15_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v15_Supply 55 PDU_StatusTemps 64 TempInlet_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInlet_measured 7 TempInternal_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInternal_measured 23 ConverterLosses MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ConverterLosses 39 PDU_StatusFaults 64 BridgeAVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAVoltageOk_status 59 OvercurrentAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentAC_status 3 BridgeBVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBVoltageOk_status 43 OvervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvervoltageDC_status 9 OvertempPowerDevice_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempPowerDevice_status 15 OvertempInternal_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempInternal_status 13 LossValidControlMessage_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossValidControlMessage_status 23 UndervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/UndervoltageDC_status 11 ControlHardwareFail_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlHardwareFail_status 19 OvercurrentDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentDC_status 7 GeneralFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/GeneralFault_status 1 LossOfAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossOfAC_status 5 EStopShutdown_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EStopShutdown_status 25 BridgeAFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAFault_status 58 BridgeBFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBFault_status 42 IllegalTransition_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IllegalTransition_status 27 InvalidEEHeader_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEEHeader_status 29 InvalidEESection_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEESection_status 31 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 33 PDU_StatusACParameters 64 VoltageAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageAC_measured 7 CurrentAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentAC_measured 23 Frequency_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_measured 39 PDU_StatusDCParameters 64 VoltageDCBus MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCBus 23 CurrentDC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentDC_measured 39 VoltageDCInput_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCInput_measured 7 PDU_StatusControlVolts2 64 n15V_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/n15V_Supply 7 DiodeTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/DiodeTemperature 39 IGBTTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IGBTTemperature 55 PDU_softwareRev 64 InterfaceRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InterfaceRev 23 ControlSwRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlSwRev 7 BuildTime MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BuildTime 39 PDU_StatusCommandVF 64 Voltage_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_echo 7 Frequency_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_echo 23 PDU_serialNumber 64 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 7 PDU_softwareRevHash 64 Hash MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Hash 7 PDU_StatusNVParam 64 StatusNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNVParam_MUX 7 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 23 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 23 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 39 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 55 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 23 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 55 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 55 StatusNodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNodeID 23 StatusSA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusSA_Mask 31 StatusBaudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusBaudrate 39 StatusThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusThermalOverload 17 StatusMX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Open 23 StatusMX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Close 39 StatusMX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Open 55 StatusMX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Close 23 StatusK1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Open 39 StatusK1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Close 55 StatusK2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Open 23 StatusK2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Close 39 PDU_StatusLineCurrents 64 L1Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Current_measured 7 L2Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Current_measured 23 L3Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Current_measured 39 PDU_StatusLineVoltages 64 L1Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Voltage_measured 7 L2Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Voltage_measured 23 L3Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Voltage_measured 39 ISignal Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower command /Signal/RealPower command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured WriteSerialNumber /Signal/WriteSerialNumber SerialNumber /Signal/SerialNumber FactoryAccess /Signal/FactoryAccess CommandSetNVParam_MUX /Signal/CommandSetNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi NodeID /Signal/NodeID SA_Mask /Signal/SA_Mask Baudrate /Signal/Baudrate ThermalOverload /Signal/ThermalOverload MX1Open /Signal/MX1Open MX1Close /Signal/MX1Close MX2Open /Signal/MX2Open MX2Close /Signal/MX2Close K1Open /Signal/K1Open K1Close /Signal/K1Close K2Open /Signal/K2Open K2Close /Signal/K2Close Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_measured /Signal/RealPower_measured RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_echo /Signal/RealPower_echo ReactivePower_echo /Signal/ReactivePower_echo State_status /Signal/State_status MX2Permissive_status /Signal/MX2Permissive_status PowerAvailAC_status /Signal/PowerAvailAC_status PowerAvailDC_status /Signal/PowerAvailDC_status PowerCircuitEnabled_status /Signal/PowerCircuitEnabled_status HardwareEnable_status /Signal/HardwareEnable_status Enable_echo /Signal/Enable_echo FaultClr_echo /Signal/FaultClr_echo MessageValidModeControl_status /Signal/MessageValidModeControl_status MX1Permissive_status /Signal/MX1Permissive_status K2DCRunPermissive_status /Signal/K2DCRunPermissive_status K1PrechargePermissive_status /Signal/K1PrechargePermissive_status MessageValidPowerCMD_status /Signal/MessageValidPowerCMD_status MessageValidVF_status /Signal/MessageValidVF_status CANbus_status /Signal/CANbus_status EnableUPSMode_echo /Signal/EnableUPSMode_echo EnableSplitPhase_echo /Signal/EnableSplitPhase_echo PhaseRotation_status /Signal/PhaseRotation_status LineVoltageDetected_status /Signal/LineVoltageDetected_status PhaseRotation_echo /Signal/PhaseRotation_echo v5p0_Supply /Signal/v5p0_Supply v3p3_Supply /Signal/v3p3_Supply v24_Supply /Signal/v24_Supply v15_Supply /Signal/v15_Supply TempInlet_measured /Signal/TempInlet_measured TempInternal_measured /Signal/TempInternal_measured ConverterLosses /Signal/ConverterLosses BridgeAVoltageOk_status /Signal/BridgeAVoltageOk_status OvercurrentAC_status /Signal/OvercurrentAC_status BridgeBVoltageOk_status /Signal/BridgeBVoltageOk_status OvervoltageDC_status /Signal/OvervoltageDC_status OvertempPowerDevice_status /Signal/OvertempPowerDevice_status OvertempInternal_status /Signal/OvertempInternal_status LossValidControlMessage_status /Signal/LossValidControlMessage_status UndervoltageDC_status /Signal/UndervoltageDC_status ControlHardwareFail_status /Signal/ControlHardwareFail_status OvercurrentDC_status /Signal/OvercurrentDC_status GeneralFault_status /Signal/GeneralFault_status LossOfAC_status /Signal/LossOfAC_status EStopShutdown_status /Signal/EStopShutdown_status BridgeAFault_status /Signal/BridgeAFault_status BridgeBFault_status /Signal/BridgeBFault_status IllegalTransition_status /Signal/IllegalTransition_status InvalidEEHeader_status /Signal/InvalidEEHeader_status InvalidEESection_status /Signal/InvalidEESection_status ThermalOverload /Signal/ThermalOverload VoltageAC_measured /Signal/VoltageAC_measured CurrentAC_measured /Signal/CurrentAC_measured Frequency_measured /Signal/Frequency_measured VoltageDCBus /Signal/VoltageDCBus CurrentDC_measured /Signal/CurrentDC_measured VoltageDCInput_measured /Signal/VoltageDCInput_measured n15V_Supply /Signal/n15V_Supply DiodeTemperature /Signal/DiodeTemperature IGBTTemperature /Signal/IGBTTemperature InterfaceRev /Signal/InterfaceRev ControlSwRev /Signal/ControlSwRev BuildTime /Signal/BuildTime Voltage_echo /Signal/Voltage_echo Frequency_echo /Signal/Frequency_echo SerialNumber /Signal/SerialNumber Hash /Signal/Hash StatusNVParam_MUX /Signal/StatusNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi StatusNodeID /Signal/StatusNodeID StatusSA_Mask /Signal/StatusSA_Mask StatusBaudrate /Signal/StatusBaudrate StatusThermalOverload /Signal/StatusThermalOverload StatusMX1Open /Signal/StatusMX1Open StatusMX1Close /Signal/StatusMX1Close StatusMX2Open /Signal/StatusMX2Open StatusMX2Close /Signal/StatusMX2Close StatusK1Open /Signal/StatusK1Open StatusK1Close /Signal/StatusK1Close StatusK2Open /Signal/StatusK2Open StatusK2Close /Signal/StatusK2Close L1Current_measured /Signal/L1Current_measured L2Current_measured /Signal/L2Current_measured L3Current_measured /Signal/L3Current_measured L1Voltage_measured /Signal/L1Voltage_measured L2Voltage_measured /Signal/L2Voltage_measured L3Voltage_measured /Signal/L3Voltage_measured Signal Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 2 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 WriteSerialNumber /DataType/WriteSerialNumber 2 SerialNumber /DataType/SerialNumber 32 FactoryAccess /DataType/FactoryAccess 16 CommandSetNVParam_MUX /DataType/CommandSetNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VUnder50pct 16 V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V50to88pct 16 V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V110to120pct 16 VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VOver120 16 FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. /DataType/FreqHi 16 FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqLo 16 FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqVeryLo 16 FreqVeryLo Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqVeryLo 16 FreqLo Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqLo 16 FreqHi Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqHi 16 NodeID J1939 Source Address node for the module. /DataType/NodeID 8 SA_Mask Not presently used. /DataType/SA_Mask 8 Baudrate CAN baudrate /DataType/Baudrate 4 ThermalOverload Configures action to take when thermal overload input is active. /DataType/ThermalOverload 2 MX1Open Maximum time required for the MX1 contactor to open. /DataType/MX1Open 16 MX1Close Maximum time required for the MX1 contactor to close. /DataType/MX1Close 16 MX2Open Maximum time required for the MX2 contactor to open. /DataType/MX2Open 16 MX2Close Maximum time required for the MX2 contactor to open. /DataType/MX2Close 16 K1Open Maximum time required for the K1 contactor to open. /DataType/K1Open 16 K1Close Maximum time required for the K1 contactor to close. /DataType/K1Close 16 K2Open Maximum time required for the K2 contactor to open. /DataType/K2Open 16 K2Close Maximum time required for the K2 contactor to close. /DataType/K2Close 16 Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 2 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower_command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 RealPower_measured Measured real power. /DataType/RealPower_measured 32 RealPower_measured Measured real power. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power. /DataType/ReactivePower_measured 32 RealPower_echo Echoed real power command. /DataType/RealPower_echo 32 ReactivePower_echo Echoed reactive power command. /DataType/ReactivePower_echo 32 State_status Active control mode. /DataType/State_status 4 MX2Permissive_status MX2 relay status /DataType/MX2Permissive_status 2 PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. /DataType/PowerAvailAC_status 2 PowerAvailDC_status Indicates that DC bus voltage is within operating range. /DataType/PowerAvailDC_status 2 PowerCircuitEnabled_status Indicates whether the switching devices are active. /DataType/PowerCircuitEnabled_status 2 HardwareEnable_status Status of the hardware enable. /DataType/HardwareEnable_status 2 Enable_echo Echos the state of the Enable command withing the CommandModeControl message. /DataType/Enable_echo 2 FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. /DataType/FaultClr_echo 2 MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidModeControl_status 2 MX1Permissive_status MX1 relay status /DataType/MX1Permissive_status 2 K2DCRunPermissive_status K2 DC Run relay status. /DataType/K2DCRunPermissive_status 2 K1PrechargePermissive_status K1 precharge relay status. /DataType/K1PrechargePermissive_status 2 MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidPowerCMD_status 2 MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidVF_status 2 CANbus_status Operational status of the CAN bus driver. /DataType/CANbus_status 2 EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. /DataType/EnableUPSMode_echo 2 EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. /DataType/EnableSplitPhase_echo 2 PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. /DataType/PhaseRotation_status 2 LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. /DataType/LineVoltageDetected_status 2 PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. /DataType/PhaseRotation_echo 2 v5p0_Supply Present voltage of the control board 5V power suppy. /DataType/v5p0_Supply 16 v3p3_Supply Present voltage of the control board 3.3V power supply. /DataType/v3p3_Supply 16 v24_Supply Present voltage of the control board 24V power supply. /DataType/v24_Supply 16 v15_Supply Present voltage of the control board 15V power supply. /DataType/v15_Supply 16 TempInlet_measured Coolant inlet temperature /DataType/TempInlet_measured 16 TempInternal_measured Internal ambient temperature /DataType/TempInternal_measured 16 ConverterLosses Power converter thermal loss /DataType/ConverterLosses 16 BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeAVoltageOk_status 1 OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. /DataType/OvercurrentAC_status 2 BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeBVoltageOk_status 1 OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. /DataType/OvervoltageDC_status 2 OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. /DataType/OvertempPowerDevice_status 2 OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. /DataType/OvertempInternal_status 2 LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. /DataType/LossValidControlMessage_status 4 UndervoltageDC_status Indicates loss of DC source voltage. /DataType/UndervoltageDC_status 2 ControlHardwareFail_status Set upon the failure of control hardware to return expected response. /DataType/ControlHardwareFail_status 4 OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. /DataType/OvercurrentDC_status 2 GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. /DataType/GeneralFault_status 2 LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. /DataType/LossOfAC_status 2 EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. /DataType/EStopShutdown_status 2 BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeAFault_status 3 BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeBFault_status 3 IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. /DataType/IllegalTransition_status 2 InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. /DataType/InvalidEEHeader_status 2 InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. /DataType/InvalidEESection_status 2 ThermalOverload /DataType/ThermalOverload 2 VoltageAC_measured Measured RMS AC voltage. /DataType/VoltageAC_measured 16 CurrentAC_measured Measured RMS AC current. /DataType/CurrentAC_measured 16 Frequency_measured Measured frequency. /DataType/Frequency_measured 16 VoltageDCBus Measured DC bus voltage. /DataType/VoltageDCBus 16 CurrentDC_measured Measured DC current. /DataType/CurrentDC_measured 16 VoltageDCInput_measured Estimated DC input voltage. /DataType/VoltageDCInput_measured 16 n15V_Supply Present voltage of the control board -15V power supply. /DataType/n15V_Supply 16 DiodeTemperature Hottest diode /DataType/DiodeTemperature 16 IGBTTemperature Hottest IGBT /DataType/IGBTTemperature 16 InterfaceRev Software revision of the CAN communication interface. /DataType/InterfaceRev 16 ControlSwRev Software revision of the control firmware. /DataType/ControlSwRev 16 BuildTime Build timestamp. /DataType/BuildTime 32 Voltage_echo Echoed voltage command /DataType/Voltage_echo 16 Frequency_echo Echoed frequency command. /DataType/Frequency_echo 16 SerialNumber Serial number of the power module. /DataType/SerialNumber 32 Hash Unique revision identification hashcode. /DataType/Hash 28 StatusNVParam_MUX /DataType/StatusNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct /DataType/VUnder50pct 16 V50to88pct /DataType/V50to88pct 16 V110to120pct /DataType/V110to120pct 16 VOver120 /DataType/VOver120 16 FreqHi /DataType/FreqHi 16 FreqLo /DataType/FreqLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqLo /DataType/FreqLo 16 FreqHi /DataType/FreqHi 16 StatusNodeID J1939 Source Address node for the module /DataType/StatusNodeID 8 StatusSA_Mask Mask used to configure from which master source addresses to accept commands. /DataType/StatusSA_Mask 8 StatusBaudrate /DataType/StatusBaudrate 4 StatusThermalOverload Configured action to take when thermal overload input is active. /DataType/StatusThermalOverload 2 StatusMX1Open Maximum time required for the MX1 contactor to open. /DataType/StatusMX1Open 16 StatusMX1Close Maximum time required for the MX1 contactor to close. /DataType/StatusMX1Close 16 StatusMX2Open Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Open 16 StatusMX2Close Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Close 16 StatusK1Open Maximum time required for the K1 contactor to open. /DataType/StatusK1Open 16 StatusK1Close Maximum time required for the K1 contactor to close. /DataType/StatusK1Close 16 StatusK2Open Maximum time required for the K2 contactor to open. /DataType/StatusK2Open 16 StatusK2Close Maximum time required for the K2 contactor to close. /DataType/StatusK2Close 16 L1Current_measured Measured L1 RMS line current. /DataType/L1Current_measured 16 L2Current_measured Measured L2 RMS line current. /DataType/L2Current_measured 16 L3Current_measured Measured L3 RMS line current. /DataType/L3Current_measured 16 L1Voltage_measured Measured L1 RMS line-neutral voltage /DataType/L1Voltage_measured 16 L2Voltage_measured Measured L2 RMS line-neutral voltage /DataType/L2Voltage_measured 16 L3Voltage_measured Measured L3 RMS line-neutral voltage /DataType/L3Voltage_measured 16 DataType Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower command /DataType/Semantics/RealPower command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured WriteSerialNumber /DataType/Semantics/WriteSerialNumber SerialNumber /DataType/Semantics/SerialNumber FactoryAccess /DataType/Semantics/FactoryAccess CommandSetNVParam_MUX /DataType/Semantics/CommandSetNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi NodeID /DataType/Semantics/NodeID SA_Mask /DataType/Semantics/SA_Mask Baudrate /DataType/Semantics/Baudrate ThermalOverload /DataType/Semantics/ThermalOverload MX1Open /DataType/Semantics/MX1Open MX1Close /DataType/Semantics/MX1Close MX2Open /DataType/Semantics/MX2Open MX2Close /DataType/Semantics/MX2Close K1Open /DataType/Semantics/K1Open K1Close /DataType/Semantics/K1Close K2Open /DataType/Semantics/K2Open K2Close /DataType/Semantics/K2Close Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_measured /DataType/Semantics/RealPower_measured RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_echo /DataType/Semantics/RealPower_echo ReactivePower_echo /DataType/Semantics/ReactivePower_echo State_status /DataType/Semantics/State_status MX2Permissive_status /DataType/Semantics/MX2Permissive_status PowerAvailAC_status /DataType/Semantics/PowerAvailAC_status PowerAvailDC_status /DataType/Semantics/PowerAvailDC_status PowerCircuitEnabled_status /DataType/Semantics/PowerCircuitEnabled_status HardwareEnable_status /DataType/Semantics/HardwareEnable_status Enable_echo /DataType/Semantics/Enable_echo FaultClr_echo /DataType/Semantics/FaultClr_echo MessageValidModeControl_status /DataType/Semantics/MessageValidModeControl_status MX1Permissive_status /DataType/Semantics/MX1Permissive_status K2DCRunPermissive_status /DataType/Semantics/K2DCRunPermissive_status K1PrechargePermissive_status /DataType/Semantics/K1PrechargePermissive_status MessageValidPowerCMD_status /DataType/Semantics/MessageValidPowerCMD_status MessageValidVF_status /DataType/Semantics/MessageValidVF_status CANbus_status /DataType/Semantics/CANbus_status EnableUPSMode_echo /DataType/Semantics/EnableUPSMode_echo EnableSplitPhase_echo /DataType/Semantics/EnableSplitPhase_echo PhaseRotation_status /DataType/Semantics/PhaseRotation_status LineVoltageDetected_status /DataType/Semantics/LineVoltageDetected_status PhaseRotation_echo /DataType/Semantics/PhaseRotation_echo v5p0_Supply /DataType/Semantics/v5p0_Supply v3p3_Supply /DataType/Semantics/v3p3_Supply v24_Supply /DataType/Semantics/v24_Supply v15_Supply /DataType/Semantics/v15_Supply TempInlet_measured /DataType/Semantics/TempInlet_measured TempInternal_measured /DataType/Semantics/TempInternal_measured ConverterLosses /DataType/Semantics/ConverterLosses BridgeAVoltageOk_status /DataType/Semantics/BridgeAVoltageOk_status OvercurrentAC_status /DataType/Semantics/OvercurrentAC_status BridgeBVoltageOk_status /DataType/Semantics/BridgeBVoltageOk_status OvervoltageDC_status /DataType/Semantics/OvervoltageDC_status OvertempPowerDevice_status /DataType/Semantics/OvertempPowerDevice_status OvertempInternal_status /DataType/Semantics/OvertempInternal_status LossValidControlMessage_status /DataType/Semantics/LossValidControlMessage_status UndervoltageDC_status /DataType/Semantics/UndervoltageDC_status ControlHardwareFail_status /DataType/Semantics/ControlHardwareFail_status OvercurrentDC_status /DataType/Semantics/OvercurrentDC_status GeneralFault_status /DataType/Semantics/GeneralFault_status LossOfAC_status /DataType/Semantics/LossOfAC_status EStopShutdown_status /DataType/Semantics/EStopShutdown_status BridgeAFault_status /DataType/Semantics/BridgeAFault_status BridgeBFault_status /DataType/Semantics/BridgeBFault_status IllegalTransition_status /DataType/Semantics/IllegalTransition_status InvalidEEHeader_status /DataType/Semantics/InvalidEEHeader_status InvalidEESection_status /DataType/Semantics/InvalidEESection_status ThermalOverload /DataType/Semantics/ThermalOverload VoltageAC_measured /DataType/Semantics/VoltageAC_measured CurrentAC_measured /DataType/Semantics/CurrentAC_measured Frequency_measured /DataType/Semantics/Frequency_measured VoltageDCBus /DataType/Semantics/VoltageDCBus CurrentDC_measured /DataType/Semantics/CurrentDC_measured VoltageDCInput_measured /DataType/Semantics/VoltageDCInput_measured n15V_Supply /DataType/Semantics/n15V_Supply DiodeTemperature /DataType/Semantics/DiodeTemperature IGBTTemperature /DataType/Semantics/IGBTTemperature InterfaceRev /DataType/Semantics/InterfaceRev ControlSwRev /DataType/Semantics/ControlSwRev BuildTime /DataType/Semantics/BuildTime Voltage_echo /DataType/Semantics/Voltage_echo Frequency_echo /DataType/Semantics/Frequency_echo SerialNumber /DataType/Semantics/SerialNumber Hash /DataType/Semantics/Hash StatusNVParam_MUX /DataType/Semantics/StatusNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi StatusNodeID /DataType/Semantics/StatusNodeID StatusSA_Mask /DataType/Semantics/StatusSA_Mask StatusBaudrate /DataType/Semantics/StatusBaudrate StatusThermalOverload /DataType/Semantics/StatusThermalOverload StatusMX1Open /DataType/Semantics/StatusMX1Open StatusMX1Close /DataType/Semantics/StatusMX1Close StatusMX2Open /DataType/Semantics/StatusMX2Open StatusMX2Close /DataType/Semantics/StatusMX2Close StatusK1Open /DataType/Semantics/StatusK1Open StatusK1Close /DataType/Semantics/StatusK1Close StatusK2Open /DataType/Semantics/StatusK2Open StatusK2Close /DataType/Semantics/StatusK2Close L1Current_measured /DataType/Semantics/L1Current_measured L2Current_measured /DataType/Semantics/L2Current_measured L3Current_measured /DataType/Semantics/L3Current_measured L1Voltage_measured /DataType/Semantics/L1Voltage_measured L2Voltage_measured /DataType/Semantics/L2Voltage_measured L3Voltage_measured /DataType/Semantics/L3Voltage_measured Semantics Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 WriteSerialNumber Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 SerialNumber 0 1 1 FactoryAccess 0 1 1 CommandSetNVParam_MUX Param0 0 0 Param0 LVM_ClearingTimes1 1 1 LVM_ClearingTimes1 LVM_ClearingTimes2 2 2 LVM_ClearingTimes2 LFM_Limits 3 3 LFM_Limits LFM_ClearingTimes 4 4 LFM_ClearingTimes J1939_Interface 5 5 J1939_Interface Fault_Config 6 6 Fault_Config ContactorDelays1 7 7 ContactorDelays1 ContactorDelays2 8 8 ContactorDelays2 ContactorDelays3 10 10 ContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 NodeID 0 1 1 SA_Mask 0 1 1 Baudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 ThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Open 0 1 1 MX1Close 0 1 1 MX2Open 0 1 1 MX2Close 0 1 1 K1Open 0 1 1 K1Close 0 1 1 K2Open 0 1 1 K2Close 0 1 1 Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_measured 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_echo 0 1 1 ReactivePower_echo 0 1 1 State_status Power On Reset, and a quoted comma 0 0 Power On Reset, and a quoted comma Ready 1 1 Ready Following 2 2 Following Fault 3 3 Fault Forming 4 4 Forming N/A 5 5 N/A N/A 6 6 N/A N/A 7 7 N/A N/A 8 8 N/A N/A 9 9 N/A N/A 10 10 N/A N/A 11 11 N/A N/A 12 12 N/A N/A 13 13 N/A N/A 14 14 N/A N/A 15 15 N/A 0 1 1 MX2Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailAC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailDC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerCircuitEnabled_status Disabled 0 0 Disabled Enabled 1 1 Enabled Error 2 2 Error N/A 3 3 N/A 0 1 1 HardwareEnable_status Not Active 0 0 Not Active Active 1 1 Active Error 2 2 Error N/A 3 3 N/A 0 1 1 Enable_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClr_echo Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidModeControl_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K2DCRunPermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K1PrechargePermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidPowerCMD_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidVF_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 CANbus_status Normal 0 0 Normal Warning 1 1 Warning ErrorPassive 3 3 ErrorPassive N/A 4 4 N/A 0 1 1 EnableUPSMode_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_echo Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_status Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 LineVoltageDetected_status No_Voltage 0 0 No_Voltage Voltage_Detected 1 1 Voltage_Detected Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_echo Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 v5p0_Supply 0 0.01 1 v3p3_Supply 0 0.01 1 v24_Supply 0 0.01 1 v15_Supply 0 0.01 1 TempInlet_measured 0 0.1 1 TempInternal_measured 0 0.1 1 ConverterLosses 0 1 1 BridgeAVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeBVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempPowerDevice_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempInternal_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossValidControlMessage_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 UndervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ControlHardwareFail_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 GeneralFault_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossOfAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 EStopShutdown_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeAFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeBFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 IllegalTransition_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEEHeader_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEESection_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ThermalOverload Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 VoltageAC_measured 0 0.1 1 CurrentAC_measured 0 1 1 Frequency_measured 0 0.1 1 VoltageDCBus 0 1 1 CurrentDC_measured 0 1 1 VoltageDCInput_measured 0 1 1 n15V_Supply 0 0.01 1 DiodeTemperature 0 1 1 IGBTTemperature 0 1 1 InterfaceRev 0 0.01 1 ControlSwRev 0 0.01 1 BuildTime 0 1 1 Voltage_echo 0 0.1 1 Frequency_echo 0 0.1 1 SerialNumber 0 1 1 Hash 0 1 1 StatusNVParam_MUX ActParam0 0 0 ActParam0 ActLVM_ClearingTimes1 1 1 ActLVM_ClearingTimes1 ActLVM_ClearingTimes2 2 2 ActLVM_ClearingTimes2 ActLFM_Limits 3 3 ActLFM_Limits ActLFM_ClearingTimes 4 4 ActLFM_ClearingTimes StatusJ1939_Interface 5 5 StatusJ1939_Interface StatusFault_Config 6 6 StatusFault_Config StatusContactorDelays1 7 7 StatusContactorDelays1 StatusContactorDelays2 8 8 StatusContactorDelays2 StatusContactorDelays3 9 9 StatusContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 StatusNodeID 0 1 1 StatusSA_Mask 0 1 1 StatusBaudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 StatusThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 StatusMX1Open 0 1 1 StatusMX1Close 0 1 1 StatusMX2Open 0 1 1 StatusMX2Close 0 1 1 StatusK1Open 0 1 1 StatusK1Close 0 1 1 StatusK2Open 0 1 1 StatusK2Close 0 1 1 L1Current_measured 0 1 1 L2Current_measured 0 1 1 L3Current_measured 0 1 1 L1Voltage_measured 0 0.1 1 L2Voltage_measured 0 0.1 1 L3Voltage_measured 0 0.1 1 Unit Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms NodeID SA_Mask Baudrate ThermalOverload MX1Open ms MX1Close ms MX2Open ms MX2Close ms K1Open ms K1Close ms K2Open ms K2Close ms Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA RealPower_measured W RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA State_status MX2Permissive_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status HardwareEnable_status Enable_echo FaultClr_echo MessageValidModeControl_status MX1Permissive_status K2DCRunPermissive_status K1PrechargePermissive_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V TempInlet_measured C TempInternal_measured C ConverterLosses W BridgeAVoltageOk_status OvercurrentAC_status BridgeBVoltageOk_status OvervoltageDC_status OvertempPowerDevice_status OvertempInternal_status LossValidControlMessage_status UndervoltageDC_status ControlHardwareFail_status OvercurrentDC_status GeneralFault_status LossOfAC_status EStopShutdown_status BridgeAFault_status BridgeBFault_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz VoltageDCBus V CurrentDC_measured A VoltageDCInput_measured V n15V_Supply V DiodeTemperature C IGBTTemperature C InterfaceRev ControlSwRev BuildTime Voltage_echo Vrms Frequency_echo Hz SerialNumber Hash StatusNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms StatusNodeID StatusSA_Mask StatusBaudrate StatusThermalOverload StatusMX1Open ms StatusMX1Close ms StatusMX2Open ms StatusMX2Close ms StatusK1Open ms StatusK1Close ms StatusK2Open ms StatusK2Close ms L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms ECU IPDUGroup canmatrix-0.9.5/test/reference/from_sym/test.csv000066400000000000000000001761451416730473300220050ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value FF9B41xh,CommandModeControlAPU2,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,1,Clear Faults FF9B41xh,CommandModeControlAPU2,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,0,Disable FF9B41xh,CommandModeControlAPU2,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,1,Enable FF9B41xh,CommandModeControlAPU2,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,0,Master FF9B41xh,CommandModeControlAPU2,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,1,Follower FF9B41xh,CommandModeControlAPU2,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,m,u,,0,Negative FF9B41xh,CommandModeControlAPU2,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,m,u,,1,Positive FF9B41xh,CommandModeControlAPU2,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING,2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,0,Normal - Three Phase Mode FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,1,Enable Split Phase Mode FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,0,Disable FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,1,Enable FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,3,N/A FF9B41xh,CommandModeControlAPU2,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,0,No invert FF9B41xh,CommandModeControlAPU2,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,1,Invert FF9B41xh,CommandModeControlAPU2,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,2,Error FF9B41xh,CommandModeControlAPU2,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,0,Normal FFAB41xh,CommandModeControl,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,1,Clear Faults FFAB41xh,CommandModeControl,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,1,4,FaultClear_command,Clears the latched fault message.,2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,0,Disable FFAB41xh,CommandModeControl,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,1,Enable FFAB41xh,CommandModeControl,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,1,6,Enable_command,"Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,0,Master FFAB41xh,CommandModeControl,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,1,Follower FFAB41xh,CommandModeControl,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,3,6,MasterFollowerMode_command,"Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,0,ForceRelayRelayK2_DCRun_comand,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,2,ForceRelayK1_Precharge_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,4,ForceRelayMX2_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,0,Normal FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,1,Force On FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,5,6,ForceRelayMX1_command,"If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,u,,0,Negative FFAB41xh,CommandModeControl,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,u,,1,Positive FFAB41xh,CommandModeControl,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,0,PhaseRotation_command,Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING.,2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,0,Normal - Three Phase Mode FFAB41xh,CommandModeControl,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,1,Enable Split Phase Mode FFAB41xh,CommandModeControl,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,2,EnableSplitPhase_command,"Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,0,Disable FFAB41xh,CommandModeControl,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,1,Enable FFAB41xh,CommandModeControl,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,4,EnableUPSMode_command,"Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.",2, , ,m,u,,3,N/A FFAB41xh,CommandModeControl,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,0,No invert FFAB41xh,CommandModeControl,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,1,Invert FFAB41xh,CommandModeControl,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,2,Error FFAB41xh,CommandModeControl,None,,,8,6,InvertHwEnable_command,Inverts the logic of the Hardware Enable input.,2, , ,m,u,,3,N/A CFF9C41xh,CommandPowerAPU2,None,,,1,0,RealPower_command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,m,s,W,-90000.0..90000.0 CFF9C41xh,CommandPowerAPU2,None,,,5,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,m,s,VA,-90000.0..90000.0 CFF9E41xh,CommandVFAPU2,None,,,1,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,m,u,0.1 Vrms,10.0..500.0 CFF9E41xh,CommandVFAPU2,None,,,3,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,m,u,0.1 Hz,45.0..65.0 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,0,Param0 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,1,LVM_ClearingTimes1 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,2,LVM_ClearingTimes2 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,3,LFM_Limits CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,4,LFM_ClearingTimes CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,5,J1939_Interface CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,6,Fault_Config CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,7,ContactorDelays1 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,8,ContactorDelays2 CFFAA41xh,CommandSetNVParam,None,,,1,0,CommandSetNVParam_MUX,Mode Signal: ,16, , ,m,s,,10,ContactorDelays3 CFFAA41xh,CommandSetNVParam,None,,,3,0,Dummy,Mode 0:,16, , ,m,u,,0.0..65535.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,FreqHi,"Mode 3:Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.",16, , ,m,u,0.1 Hz,40.0..70.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,FreqVeryLo,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,m,u,ms,160.0..160.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,K2Open,Mode 10:Maximum time required for the K2 contactor to open.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,MX1Open,Mode 7:Maximum time required for the MX1 contactor to open.,16, , ,m,u,ms,0.0..5000.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,MX2Close,Mode 8:Maximum time required for the MX2 contactor to open.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,NodeID,Mode 5:J1939 Source Address node for the module.,8, , ,m,u,,0.0..247.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,VOver120,Mode 2:Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,u,,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,3,0,VUnder50pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,3,6,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,m,u,,0,Warning CFFAA41xh,CommandSetNVParam,None,,,3,6,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,m,u,,1,Fault CFFAA41xh,CommandSetNVParam,None,,,3,6,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,m,u,,2,Error CFFAA41xh,CommandSetNVParam,None,,,3,6,ThermalOverload,Mode 6:Configures action to take when thermal overload input is active.,2, , ,m,u,,3,N/A CFFAA41xh,CommandSetNVParam,None,,,4,0,SA_Mask,Mode 5:Not presently used.,8, , ,m,u,,0.0..255.0 CFFAA41xh,CommandSetNVParam,None,,,5,0,Baudrate,Mode 5:CAN baudrate,4, , ,m,u,,0,125K CFFAA41xh,CommandSetNVParam,None,,,5,0,Baudrate,Mode 5:CAN baudrate,4, , ,m,u,,1,250K CFFAA41xh,CommandSetNVParam,None,,,5,0,Baudrate,Mode 5:CAN baudrate,4, , ,m,u,,2,500K CFFAA41xh,CommandSetNVParam,None,,,5,0,Baudrate,Mode 5:CAN baudrate,4, , ,m,u,,3,1M CFFAA41xh,CommandSetNVParam,None,,,5,0,FreqLo,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,m,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,5,0,K1Open,Mode 8:Maximum time required for the K1 contactor to open.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,5,0,K2Close,Mode 10:Maximum time required for the K2 contactor to close.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,5,0,MX1Close,Mode 7:Maximum time required for the MX1 contactor to close.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,5,0,V50to88pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,u,ms,1.0..30000.0 CFFAA41xh,CommandSetNVParam,None,,,7,0,FreqHi,Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.,16, , ,m,u,ms,160.0..160.0 CFFAA41xh,CommandSetNVParam,None,,,7,0,FreqVeryLo,"Mode 3:Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.",16, , ,m,u,0.1 Hz,40.0..70.0 CFFAA41xh,CommandSetNVParam,None,,,7,0,K1Close,Mode 8:Maximum time required for the K1 contactor to close.,16, , ,m,u,ms,0.0..2000.0 CFFAA41xh,CommandSetNVParam,None,,,7,0,MX2Open,Mode 7:Maximum time required for the MX2 contactor to open.,16, , ,m,u,ms,0.0..1.0 CFFAA41xh,CommandSetNVParam,None,,,7,0,V110to120pct,Mode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.,16, , ,m,u,ms,1.0..30000.0 CFFAC41xh,CommandPower,None,,,1,0,RealPower command,Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network.,32, , ,m,s,W,-90000.0..90000.0 CFFAC41xh,CommandPower,None,,,5,0,ReactivePower_command,Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.,32, , ,m,s,VA,-90000.0..90000.0 CFFAE41xh,CommandVF,None,,,1,0,Voltage_command,Desired output voltage while in grid forming mode.,16, , ,m,u,0.1 Vrms,10.0..500.0 CFFAE41xh,CommandVF,None,,,3,0,Frequency_command,Desired output frequency while in grid forming mode.,16, , ,m,u,0.1 Hz,45.0..65.0 CFFAF41xh,CommandFactoryControl,None,,,1,6,WriteSerialNumber,,2, , ,m,u,,0,Disable CFFAF41xh,CommandFactoryControl,None,,,1,6,WriteSerialNumber,,2, , ,m,u,,1,Enable CFFAF41xh,CommandFactoryControl,None,,,1,6,WriteSerialNumber,,2, , ,m,u,,2,Error CFFAF41xh,CommandFactoryControl,None,,,1,6,WriteSerialNumber,,2, , ,m,u,,3,N/A CFFAF41xh,CommandFactoryControl,None,,,3,0,FactoryAccess,,16, , ,m,u,,0.0..65535.0 CFFAF41xh,CommandFactoryControl,None,,,5,0,SerialNumber,,32, , ,m,u,,0.0..4294967295.0 CFFC2F7xh,StatusACParameters,100,,,1,0,VoltageAC_measured,Measured RMS AC voltage.,16, , ,m,s,0.1 V,-3276.8..3276.7000000000003 CFFC2F7xh,StatusACParameters,100,,,3,0,CurrentAC_measured,Measured RMS AC current.,16, , ,m,s,A,-32768.0..32767.0 CFFC2F7xh,StatusACParameters,100,,,5,0,Frequency_measured,Measured frequency.,16, , ,m,s,0.1 Hz,-3276.8..3276.7000000000003 CFFC3F7xh,StatusBits,100,,,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,u,,0,Normal CFFC3F7xh,StatusBits,100,,,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,u,,1,Clear Faults CFFC3F7xh,StatusBits,100,,,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,1,0,FaultClr_echo,Echos the state of the FaultClear command withing the CommandModeControl message.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,u,,0,Disable CFFC3F7xh,StatusBits,100,,,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,u,,1,Enable CFFC3F7xh,StatusBits,100,,,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,1,2,Enable_echo,Echos the state of the Enable command withing the CommandModeControl message.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,0,"Power On Reset, and a quoted comma" CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,1,Ready CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,2,Following CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,3,Fault CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,4,Forming CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,5,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,6,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,7,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,8,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,9,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,10,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,11,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,12,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,13,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,14,N/A CFFC3F7xh,StatusBits,100,,,1,4,State_status,Active control mode.,4, , ,m,u,,15,N/A CFFC3F7xh,StatusBits,100,,,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,u,,0,Disabled CFFC3F7xh,StatusBits,100,,,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,u,,1,Enabled CFFC3F7xh,StatusBits,100,,,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,0,PowerCircuitEnabled_status,Indicates whether the switching devices are active.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,u,,0,None CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,u,,1,Available CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,2,PowerAvailDC_status,Indicates that DC bus voltage is within operating range.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,u,,0,None CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,u,,1,Available CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,4,PowerAvailAC_status,Indicates that AC power is connected and that voltage and frequency are within nominal ranges.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,u,,0,Not Active CFFC3F7xh,StatusBits,100,,,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,u,,1,Active CFFC3F7xh,StatusBits,100,,,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,2,6,HardwareEnable_status,Status of the hardware enable.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,0,K2DCRunPermissive_status,K2 DC Run relay status.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,2,K1PrechargePermissive_status,K1 precharge relay status.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,4,MX2Permissive_status,MX2 relay status,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,u,,0,Open CFFC3F7xh,StatusBits,100,,,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,u,,1,Closed CFFC3F7xh,StatusBits,100,,,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,3,6,MX1Permissive_status,MX1 relay status,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,u,,0,Normal CFFC3F7xh,StatusBits,100,,,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,u,,1,Warning CFFC3F7xh,StatusBits,100,,,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,u,,3,ErrorPassive CFFC3F7xh,StatusBits,100,,,4,0,CANbus_status,Operational status of the CAN bus driver.,2, , ,m,u,,4,N/A CFFC3F7xh,StatusBits,100,,,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,2,MessageValidVF_status,Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,4,MessageValidPowerCMD_status,Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,0,Invalid CFFC3F7xh,StatusBits,100,,,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,1,Valid CFFC3F7xh,StatusBits,100,,,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,4,6,MessageValidModeControl_status,Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,u,,0,No_Voltage CFFC3F7xh,StatusBits,100,,,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,u,,1,Voltage_Detected CFFC3F7xh,StatusBits,100,,,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,0,LineVoltageDetected_status,"Flag indicating if voltage is detected on L1, L2 or L3.",2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,u,,0,Negative CFFC3F7xh,StatusBits,100,,,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,u,,1,Positive CFFC3F7xh,StatusBits,100,,,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,2,PhaseRotation_status,"Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.",2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,u,,0,Normal - Three Phase Mode CFFC3F7xh,StatusBits,100,,,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,u,,1,Enable Split Phase Mode CFFC3F7xh,StatusBits,100,,,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,4,EnableSplitPhase_echo,Echos the state of the EnableSplitPhase command withing the CommandModeControl message.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,u,,0,Disable CFFC3F7xh,StatusBits,100,,,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,u,,1,Enable CFFC3F7xh,StatusBits,100,,,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,5,6,EnableUPSMode_echo,Echos the state of the EnableUPSMode command withing the CommandModeControl message.,2, , ,m,u,,3,N/A CFFC3F7xh,StatusBits,100,,,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,u,,0,Negative CFFC3F7xh,StatusBits,100,,,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,u,,1,Positive CFFC3F7xh,StatusBits,100,,,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,u,,2,Error CFFC3F7xh,StatusBits,100,,,6,6,PhaseRotation_echo,Echos the state of PhaseRotation_command withing the CommandModeControl message.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,0,OvercurrentDC_status,Set immediately upon the software detection of DC current exceeding the threshold value.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,2,LossOfAC_status,"In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.",2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,4,OvercurrentAC_status,Set immediately upon the software detection of AC current exceeding the threshold value.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,1,6,GeneralFault_status,Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,0,OvertempPowerDevice_status,Set immediately upon the software detection of an IGBT temperature exceeding the threshold value.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,2,OvertempInternal_status,Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,4,UndervoltageDC_status,Indicates loss of DC source voltage.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,2,6,OvervoltageDC_status,Set immediately upon the software detection of DC voltage exceeding the threshold value.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,3,0,LossValidControlMessage_status,Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period.,4, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,3,4,ControlHardwareFail_status,Set upon the failure of control hardware to return expected response.,4, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,0,InvalidEESection_status,Indicates that reading or writing of an non-volatile parameter section failed.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,2,InvalidEEHeader_status,Indicates that reading of non-volatile parameters at power-up failed.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,4,IllegalTransition_status,"Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.",2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,4,6,EStopShutdown_status,Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,5,6,ThermalOverload,,2, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,5,6,ThermalOverload,,2, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,5,6,ThermalOverload,,2, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,5,6,ThermalOverload,,2, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,6,4,BridgeBVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,1,FLT_A CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,2,N/A CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,3,FLT_C CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,4,OverVoltage CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,5,FLT_B CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,6,Overcurrent CFFC8F7xh,StatusFaults,100,,,6,5,BridgeBFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,7,5V CFFC8F7xh,StatusFaults,100,,,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,1,Fault Active CFFC8F7xh,StatusFaults,100,,,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,2,Error CFFC8F7xh,StatusFaults,100,,,8,4,BridgeAVoltageOk_status,Indicates whether a hardware trip has been activated.,1, , ,m,u,,3,N/A CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,0,Normal CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,1,FLT_A CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,2,N/A CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,3,FLT_C CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,4,OverVoltage CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,5,FLT_B CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,6,Overcurrent CFFC8F7xh,StatusFaults,100,,,8,5,BridgeAFault_status,"Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.",3, , ,m,u,,7,5V CFFCAF6xh,MasterMeasuredPower,None,,,1,0,RealPower_measured,Measured real power of master unit.,32, , ,m,s,W,-2147483648.0..2147483647.0 CFFCAF6xh,MasterMeasuredPower,None,,,5,0,ReactivePower_measured,Measured reactive power of master unit.,32, , ,m,s,VA,-2147483648.0..2147483647.0 CFFCAF7xh,StatusMeasuredPower,100,,,1,0,RealPower_measured,Measured real power.,32, , ,m,s,W,-2147483648.0..2147483647.0 CFFCAF7xh,StatusMeasuredPower,100,,,5,0,ReactivePower_measured,Measured reactive power.,32, , ,m,s,VA,-2147483648.0..2147483647.0 18FFC4F7xh,StatusCommandedPower,100,,,1,0,RealPower_echo,Echoed real power command.,32, , ,m,s,W,-2147483648.0..2147483647.0 18FFC4F7xh,StatusCommandedPower,100,,,5,0,ReactivePower_echo,Echoed reactive power command.,32, , ,m,s,VA,-2147483648.0..2147483647.0 18FFC9F7xh,StatusCommandVF,100,,,1,0,Voltage_echo,Echoed voltage command,16, , ,m,u,0.1 Vrms,0.0..6553.5 18FFC9F7xh,StatusCommandVF,100,,,3,0,Frequency_echo,Echoed frequency command.,16, , ,m,u,0.1 Hz,0.0..6553.5 18FFCBF7xh,StatusTemps,100,,,1,0,TempInlet_measured,Coolant inlet temperature,16, , ,m,s,0.1 C,-3276.8..3276.7000000000003 18FFCBF7xh,StatusTemps,100,,,3,0,TempInternal_measured,Internal ambient temperature,16, , ,m,s,0.1 C,-3276.8..3276.7000000000003 18FFCBF7xh,StatusTemps,100,,,5,0,ConverterLosses,Power converter thermal loss,16, , ,m,u,W,0.0..1.0 18FFD0F7xh,StatusLineCurrents,100,,,1,0,L1Current_measured,Measured L1 RMS line current.,16, , ,m,u,A,0.0..1.0 18FFD0F7xh,StatusLineCurrents,100,,,3,0,L2Current_measured,Measured L2 RMS line current.,16, , ,m,u,A,0.0..1.0 18FFD0F7xh,StatusLineCurrents,100,,,5,0,L3Current_measured,Measured L3 RMS line current.,16, , ,m,u,A,0.0..1.0 18FFD1F7xh,StatusLineVoltages,100,,,1,0,L1Voltage_measured,Measured L1 RMS line-neutral voltage,16, , ,m,u,0.1 Vrms,0.0..1.0 18FFD1F7xh,StatusLineVoltages,100,,,3,0,L2Voltage_measured,Measured L2 RMS line-neutral voltage,16, , ,m,u,0.1 Vrms,0.0..1.0 18FFD1F7xh,StatusLineVoltages,100,,,5,0,L3Voltage_measured,Measured L3 RMS line-neutral voltage,16, , ,m,u,0.1 Vrms,0.0..1.0 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,0,ActParam0 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,1,ActLVM_ClearingTimes1 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,2,ActLVM_ClearingTimes2 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,3,ActLFM_Limits 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,4,ActLFM_ClearingTimes 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,5,StatusJ1939_Interface 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,6,StatusFault_Config 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,7,StatusContactorDelays1 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,8,StatusContactorDelays2 1CFFA9F7xh,StatusNVParam,None,,,1,0,StatusNVParam_MUX,Mode Signal: ,16, , ,m,s,,9,StatusContactorDelays3 1CFFA9F7xh,StatusNVParam,None,,,3,0,Dummy,Mode 0:,16, , ,m,u,,5.0..10.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,FreqHi,Mode 3:,16, , ,m,u,0.1 Hz,40.0..70.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,FreqVeryLo,Mode 4:,16, , ,m,u,ms,160.0..160.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusK2Open,Mode 9:Maximum time required for the K2 contactor to open.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusMX1Open,Mode 7:Maximum time required for the MX1 contactor to open.,16, , ,m,u,ms,0.0..5000.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusMX2Close,Mode 8:Maximum time required for the MX2 contactor to open.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,StatusNodeID,Mode 5:J1939 Source Address node for the module,8, , ,m,u,,0.0..247.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,VOver120,Mode 2:,16, , ,m,u,,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,3,0,VUnder50pct,Mode 1:,16, , ,m,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,3,6,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,m,u,,0,Warning 1CFFA9F7xh,StatusNVParam,None,,,3,6,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,m,u,,1,Fault 1CFFA9F7xh,StatusNVParam,None,,,3,6,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,m,u,,2,Error 1CFFA9F7xh,StatusNVParam,None,,,3,6,StatusThermalOverload,Mode 6:Configured action to take when thermal overload input is active.,2, , ,m,u,,3,N/A 1CFFA9F7xh,StatusNVParam,None,,,4,0,StatusSA_Mask,Mode 5:Mask used to configure from which master source addresses to accept commands.,8, , ,m,u,,0.0..255.0 1CFFA9F7xh,StatusNVParam,None,,,5,0,FreqLo,Mode 4:,16, , ,m,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusBaudrate,Mode 5:,4, , ,m,u,,0,125K 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusBaudrate,Mode 5:,4, , ,m,u,,1,250K 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusBaudrate,Mode 5:,4, , ,m,u,,2,500K 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusBaudrate,Mode 5:,4, , ,m,u,,3,1M 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusK1Open,Mode 8:Maximum time required for the K1 contactor to open.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusK2Close,Mode 9:Maximum time required for the K2 contactor to close.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,5,0,StatusMX1Close,Mode 7:Maximum time required for the MX1 contactor to close.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,5,0,V50to88pct,Mode 1:,16, , ,m,u,ms,1.0..30000.0 1CFFA9F7xh,StatusNVParam,None,,,7,0,FreqHi,Mode 4:,16, , ,m,u,ms,160.0..160.0 1CFFA9F7xh,StatusNVParam,None,,,7,0,FreqVeryLo,Mode 3:,16, , ,m,u,0.1 Hz,40.0..70.0 1CFFA9F7xh,StatusNVParam,None,,,7,0,StatusK1Close,Mode 8:Maximum time required for the K1 contactor to close.,16, , ,m,u,ms,0.0..2000.0 1CFFA9F7xh,StatusNVParam,None,,,7,0,StatusMX2Open,Mode 7:Maximum time required for the MX2 contactor to open.,16, , ,m,u,ms,0.0..1.0 1CFFA9F7xh,StatusNVParam,None,,,7,0,V110to120pct,Mode 1:,16, , ,m,u,ms,1.0..30000.0 1CFFABC0xh,stringAndOther,None,,,1,0,RealPower_measured,Measured real power.,32, , ,m,s,W,-2147483648.0..2147483647.0 1CFFC1F7xh,softwareRev,None,,,1,0,ControlSwRev,Software revision of the control firmware.,16, , ,m,u,0.01 -,0.0..655.35 1CFFC1F7xh,softwareRev,None,,,3,0,InterfaceRev,Software revision of the CAN communication interface.,16, , ,m,u,0.01 -,0.0..655.35 1CFFC1F7xh,softwareRev,None,,,5,0,BuildTime,Build timestamp.,32, , ,m,u,,0.0..4294967295.0 1CFFC5F7xh,StatusControlVoltage,100,,,1,0,v5p0_Supply,Present voltage of the control board 5V power suppy.,16, , ,m,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,3,0,v3p3_Supply,Present voltage of the control board 3.3V power supply.,16, , ,m,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,5,0,v24_Supply,Present voltage of the control board 24V power supply.,16, , ,m,s,0.01 V,-327.68..327.67 1CFFC5F7xh,StatusControlVoltage,100,,,7,0,v15_Supply,Present voltage of the control board 15V power supply.,16, , ,m,s,0.01 V,-327.68..327.67 1CFFC6F7xh,StatusControlVolts2,100,,,1,0,n15V_Supply,Present voltage of the control board -15V power supply.,16, , ,m,s,0.01 V,-327.68..327.67 1CFFC6F7xh,StatusControlVolts2,100,,,5,0,DiodeTemperature,Hottest diode,16, , ,m,u,C,0.0..1.0 1CFFC6F7xh,StatusControlVolts2,100,,,7,0,IGBTTemperature,Hottest IGBT,16, , ,m,u,C,0.0..1.0 1CFFC7F7xh,StatusDCParameters,100,,,1,0,VoltageDCInput_measured,Estimated DC input voltage.,16, , ,m,s,V,-32768.0..32767.0 1CFFC7F7xh,StatusDCParameters,100,,,3,0,VoltageDCBus,Measured DC bus voltage.,16, , ,m,s,V,-32768.0..32767.0 1CFFC7F7xh,StatusDCParameters,100,,,5,0,CurrentDC_measured,Measured DC current.,16, , ,m,s,A,-32768.0..32767.0 1CFFCCF7xh,serialNumber,None,,,1,0,SerialNumber,Serial number of the power module.,32, , ,m,u,,0.0..4294967295.0 1CFFCDF7xh,softwareRevHash,None,,,1,0,Hash,Unique revision identification hashcode.,28, , ,m,u,,0.0..268435455.0 canmatrix-0.9.5/test/reference/from_sym/test.dbc000066400000000000000000001266071416730473300217400ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: VAL_TABLE_ Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_TABLE_ BridgeFlt 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_TABLE_ CANStatus 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_TABLE_ Enable 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_TABLE_ EnableSplitPhase 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_TABLE_ EnableUPSMode 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_TABLE_ Fault 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_TABLE_ FaultClear 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_TABLE_ FaultConfig 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_TABLE_ IGBTsEnabled 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_TABLE_ InvertHwEnable 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_TABLE_ LineVoltagePresent 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_TABLE_ MasterFollower 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_TABLE_ MessageValid 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_TABLE_ PhaseRotation 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_TABLE_ PowerAvail 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_TABLE_ Relay 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_TABLE_ RelayCommand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_TABLE_ State 0 "Power On Reset, and a quoted comma" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_TABLE_ WakeUpSignal 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; BO_ 2164239169 CommandModeControl: 8 Vector__XXX SG_ Enable_command : 1|2@0+ (1,0) [0|1] "" Vector__XXX SG_ FaultClear_command : 3|2@0+ (1,0) [0|1] "" Vector__XXX SG_ InvertHwEnable_command : 57|2@0+ (1,0) [0|1] "" Vector__XXX SG_ EnableUPSMode_command : 59|2@0+ (1,0) [0|1] "" Vector__XXX SG_ EnableSplitPhase_command : 61|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayMX1_command : 33|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayMX2_command : 35|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 37|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 39|2@0+ (1,0) [0|1] "" Vector__XXX SG_ PhaseRotation_command : 63|2@0+ (1,0) [0|1] "" Vector__XXX SG_ MasterFollowerMode_command : 17|2@0+ (1,0) [0|1] "" Vector__XXX BO_ 2365566017 CommandPower: 8 Vector__XXX SG_ RealPower_command : 7|32@0- (1,0) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 39|32@0- (1,0) [-90000|90000] "VA" Vector__XXX BO_ 2365566529 CommandVF: 8 Vector__XXX SG_ Voltage_command : 7|16@0+ (0.1,0) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 23|16@0+ (0.1,0) [45|65] "Hz" Vector__XXX BO_ 2365573878 MasterMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2365566785 CommandFactoryControl: 8 Vector__XXX SG_ WriteSerialNumber : 1|2@0+ (1,0) [0|3] "" Vector__XXX SG_ SerialNumber : 39|32@0+ (1,0) [0|4294967295] "" Vector__XXX SG_ FactoryAccess : 23|16@0+ (1,0) [0|65535] "" Vector__XXX BO_ 2365565505 CommandSetNVParam: 8 Vector__XXX SG_ CommandSetNVParam_MUX M : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ Dummy m0 : 23|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ VUnder50pct m1 : 23|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ V50to88pct m1 : 39|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ V110to120pct m1 : 55|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ VOver120 m2 : 23|16@0+ (1,0) [1|30000] "" Vector__XXX SG_ FreqHi0 m3 : 23|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqLo0 m3 : 39|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m3 : 55|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo1 m4 : 23|16@0+ (1,0) [160|160] "ms" Vector__XXX SG_ FreqLo1 m4 : 39|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 55|16@0+ (1,0) [160|160] "ms" Vector__XXX SG_ NodeID m5 : 23|8@0+ (1,0) [0|247] "" Vector__XXX SG_ SA_Mask m5 : 31|8@0+ (1,0) [0|255] "" Vector__XXX SG_ Baudrate m5 : 39|4@0+ (1,0) [0|3] "" Vector__XXX SG_ ThermalOverload m6 : 17|2@0+ (1,0) [0|1] "" Vector__XXX SG_ MX1Open m7 : 23|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ MX1Close m7 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX2Open m7 : 55|16@0+ (1,0) [0|1] "ms" Vector__XXX SG_ MX2Close m8 : 23|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K1Open m8 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K1Close m8 : 55|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Open m10 : 23|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Close m10 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX BO_ 2164235073 CommandModeControlAPU2: 8 Vector__XXX SG_ Enable_command : 1|2@0+ (1,0) [0|1] "" Vector__XXX SG_ FaultClear_command : 3|2@0+ (1,0) [0|1] "" Vector__XXX SG_ InvertHwEnable_command : 57|2@0+ (1,0) [0|1] "" Vector__XXX SG_ EnableUPSMode_command : 59|2@0+ (1,0) [0|1] "" Vector__XXX SG_ EnableSplitPhase_command : 61|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayMX1_command : 33|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayMX2_command : 35|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 37|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 39|2@0+ (1,0) [0|1] "" Vector__XXX SG_ PhaseRotation_command : 63|2@0+ (1,0) [0|1] "" Vector__XXX SG_ MasterFollowerMode_command : 17|2@0+ (1,0) [0|1] "" Vector__XXX BO_ 2365561921 CommandPowerAPU2: 8 Vector__XXX SG_ RealPower_command : 7|32@0- (1,0) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 39|32@0- (1,0) [-90000|90000] "VA" Vector__XXX BO_ 2365562433 CommandVFAPU2: 8 Vector__XXX SG_ Voltage_command : 7|16@0+ (0.1,0) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 23|16@0+ (0.1,0) [45|65] "Hz" Vector__XXX BO_ 2365573879 MasterMeasuredPowerAPU2: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2634001600 justString: 8 Vector__XXX BO_ 2634001344 stringAndOther: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "W" Vector__XXX BO_ 2365573879 StatusMeasuredPower: 8 Vector__XXX SG_ RealPower_measured : 7|32@0- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_measured : 39|32@0- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2566898935 StatusCommandedPower: 8 Vector__XXX SG_ RealPower_echo : 7|32@0- (1,0) [-2147483648|2147483647] "W" Vector__XXX SG_ ReactivePower_echo : 39|32@0- (1,0) [-2147483648|2147483647] "VA" Vector__XXX BO_ 2365572087 StatusBits: 8 Vector__XXX SG_ State_status : 3|4@0+ (1,0) [0|7] "" Vector__XXX SG_ MX2Permissive_status : 19|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailAC_status : 11|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailDC_status : 13|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerCircuitEnabled_status : 15|2@0+ (1,0) [0|3] "" Vector__XXX SG_ HardwareEnable_status : 9|2@0+ (1,0) [0|3] "" Vector__XXX SG_ Enable_echo : 5|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClr_echo : 7|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidModeControl_status : 25|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MX1Permissive_status : 17|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K2DCRunPermissive_status : 23|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K1PrechargePermissive_status : 21|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidPowerCMD_status : 27|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidVF_status : 29|2@0+ (1,0) [0|3] "" Vector__XXX SG_ CANbus_status : 31|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_echo : 33|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_echo : 35|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_status : 37|2@0+ (1,0) [0|1] "" Vector__XXX SG_ LineVoltageDetected_status : 39|2@0+ (1,0) [0|1] "" Vector__XXX SG_ PhaseRotation_echo : 41|2@0+ (1,0) [0|1] "" Vector__XXX BO_ 2634008055 StatusControlVoltage: 8 Vector__XXX SG_ v5p0_Supply : 7|16@0- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v3p3_Supply : 23|16@0- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v24_Supply : 39|16@0- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ v15_Supply : 55|16@0- (0.01,0) [-327.68|327.67] "V" Vector__XXX BO_ 2566900727 StatusTemps: 8 Vector__XXX SG_ TempInlet_measured : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "C" Vector__XXX SG_ TempInternal_measured : 23|16@0- (0.1,0) [-3276.8|3276.7000000000003] "C" Vector__XXX SG_ ConverterLosses : 39|16@0+ (1,0) [0|1] "W" Vector__XXX BO_ 2365573367 StatusFaults: 8 Vector__XXX SG_ BridgeAVoltageOk_status : 59|1@0+ (1,0) [0|1] "" Vector__XXX SG_ OvercurrentAC_status : 3|2@0+ (1,0) [0|3] "" Vector__XXX SG_ BridgeBVoltageOk_status : 43|1@0+ (1,0) [0|1] "" Vector__XXX SG_ OvervoltageDC_status : 9|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempPowerDevice_status : 15|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempInternal_status : 13|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LossValidControlMessage_status : 23|4@0+ (1,0) [0|15] "" Vector__XXX SG_ UndervoltageDC_status : 11|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ControlHardwareFail_status : 19|4@0+ (1,0) [0|15] "" Vector__XXX SG_ OvercurrentDC_status : 7|2@0+ (1,0) [0|3] "" Vector__XXX SG_ GeneralFault_status : 1|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LossOfAC_status : 5|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EStopShutdown_status : 25|2@0+ (1,0) [0|3] "" Vector__XXX SG_ BridgeAFault_status : 58|3@0+ (1,0) [0|7] "" Vector__XXX SG_ BridgeBFault_status : 42|3@0+ (1,0) [0|7] "" Vector__XXX SG_ IllegalTransition_status : 27|2@0+ (1,0) [0|1] "" Vector__XXX SG_ InvalidEEHeader_status : 29|2@0+ (1,0) [0|1] "" Vector__XXX SG_ InvalidEESection_status : 31|2@0+ (1,0) [0|1] "" Vector__XXX SG_ ThermalOverload : 33|2@0+ (1,0) [0|1] "" Vector__XXX BO_ 2365571831 StatusACParameters: 8 Vector__XXX SG_ VoltageAC_measured : 7|16@0- (0.1,0) [-3276.8|3276.7000000000003] "V" Vector__XXX SG_ CurrentAC_measured : 23|16@0- (1,0) [-32768|32767] "A" Vector__XXX SG_ Frequency_measured : 39|16@0- (0.1,0) [-3276.8|3276.7000000000003] "Hz" Vector__XXX BO_ 2634008567 StatusDCParameters: 8 Vector__XXX SG_ VoltageDCBus : 23|16@0- (1,0) [-32768|32767] "V" Vector__XXX SG_ CurrentDC_measured : 39|16@0- (1,0) [-32768|32767] "A" Vector__XXX SG_ VoltageDCInput_measured : 7|16@0- (1,0) [-32768|32767] "V" Vector__XXX BO_ 2634008311 StatusControlVolts2: 8 Vector__XXX SG_ n15V_Supply : 7|16@0- (0.01,0) [-327.68|327.67] "V" Vector__XXX SG_ DiodeTemperature : 39|16@0+ (1,0) [0|1] "C" Vector__XXX SG_ IGBTTemperature : 55|16@0+ (1,0) [0|1] "C" Vector__XXX BO_ 2634007031 softwareRev: 8 Vector__XXX SG_ InterfaceRev : 23|16@0+ (0.01,0) [0|655.35] "" Vector__XXX SG_ ControlSwRev : 7|16@0+ (0.01,0) [0|655.35] "" Vector__XXX SG_ BuildTime : 39|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2566900215 StatusCommandVF: 8 Vector__XXX SG_ Voltage_echo : 7|16@0+ (0.1,0) [0|6553.5] "Vrms" Vector__XXX SG_ Frequency_echo : 23|16@0+ (0.1,0) [0|6553.5] "Hz" Vector__XXX BO_ 2634009847 serialNumber: 8 Vector__XXX SG_ SerialNumber : 7|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 2634010103 softwareRevHash: 8 Vector__XXX SG_ Hash : 7|28@0+ (1,0) [0|268435455] "" Vector__XXX BO_ 2634000887 StatusNVParam: 8 Vector__XXX SG_ StatusNVParam_MUX M : 7|16@0- (1,0) [-32768|32767] "" Vector__XXX SG_ Dummy m0 : 23|16@0+ (1,0) [5|10] "" Vector__XXX SG_ VUnder50pct m1 : 23|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ V50to88pct m1 : 39|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ V110to120pct m1 : 55|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ VOver120 m2 : 23|16@0+ (1,0) [1|30000] "" Vector__XXX SG_ FreqHi0 m3 : 23|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqLo0 m3 : 39|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m3 : 55|16@0+ (0.1,0) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo1 m4 : 23|16@0+ (1,0) [160|160] "ms" Vector__XXX SG_ FreqLo1 m4 : 39|16@0+ (1,0) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 55|16@0+ (1,0) [160|160] "ms" Vector__XXX SG_ StatusNodeID m5 : 23|8@0+ (1,0) [0|247] "" Vector__XXX SG_ StatusSA_Mask m5 : 31|8@0+ (1,0) [0|255] "" Vector__XXX SG_ StatusBaudrate m5 : 39|4@0+ (1,0) [0|3] "" Vector__XXX SG_ StatusThermalOverload m6 : 17|2@0+ (1,0) [0|1] "" Vector__XXX SG_ StatusMX1Open m7 : 23|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ StatusMX1Close m7 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX2Open m7 : 55|16@0+ (1,0) [0|1] "ms" Vector__XXX SG_ StatusMX2Close m8 : 23|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK1Open m8 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK1Close m8 : 55|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Open m9 : 23|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Close m9 : 39|16@0+ (1,0) [0|2000] "ms" Vector__XXX BO_ 2566902007 StatusLineCurrents: 8 Vector__XXX SG_ L1Current_measured : 7|16@0+ (1,0) [0|1] "A" Vector__XXX SG_ L2Current_measured : 23|16@0+ (1,0) [0|1] "A" Vector__XXX SG_ L3Current_measured : 39|16@0+ (1,0) [0|1] "A" Vector__XXX BO_ 2566902263 StatusLineVoltages: 8 Vector__XXX SG_ L1Voltage_measured : 7|16@0+ (0.1,0) [0|1] "Vrms" Vector__XXX SG_ L2Voltage_measured : 23|16@0+ (0.1,0) [0|1] "Vrms" Vector__XXX SG_ L3Voltage_measured : 39|16@0+ (0.1,0) [0|1] "Vrms" Vector__XXX CM_ BO_ 2164239169 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365566017 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365566529 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573878 "Returns the actual measured power."; CM_ BO_ 2365565505 "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; CM_ BO_ 2164235073 "Operational commands are received by the module via control bits within this message."; CM_ BO_ 2365561921 "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; CM_ BO_ 2365562433 "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2365573879 "Returns the actual measured power."; CM_ BO_ 2566898935 "Echoes the commanded power (P&Q) as received in CommandPQ."; CM_ BO_ 2365572087 "Bits representing the status of the power module."; CM_ BO_ 2634008055 "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; CM_ BO_ 2566900727 "Returns the inlet water temperature to the module as well as module internal ambient temperature."; CM_ BO_ 2365573367 "Fault bits."; CM_ BO_ 2365571831 "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; CM_ BO_ 2634008567 "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; CM_ BO_ 2634008311 "Present voltage of the -15V power supply on the control board."; CM_ BO_ 2634007031 "Software revision."; CM_ BO_ 2566900215 "Echoes the voltage and frequency commands from commandVF."; CM_ BO_ 2634009847 "Serial number of the power module."; CM_ BO_ 2634010103 "Unique software revision identification hashcode."; CM_ BO_ 2634000887 "Echos back parameter values."; CM_ BO_ 2566902007 "Measured RMS line currents."; CM_ BO_ 2566902263 "Measured RMS line voltages."; CM_ SG_ 2164239169 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164239169 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164239169 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164239169 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164239169 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164239169 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164239169 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; CM_ SG_ 2164239169 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365566017 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365566017 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365566529 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365566529 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573878 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573878 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2365565505 VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqHi0 "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo0 "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; CM_ SG_ 2365565505 FreqVeryLo1 "Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqLo1 "Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 FreqHi1 "Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; CM_ SG_ 2365565505 NodeID "J1939 Source Address node for the module."; CM_ SG_ 2365565505 SA_Mask "Not presently used."; CM_ SG_ 2365565505 Baudrate "CAN baudrate"; CM_ SG_ 2365565505 ThermalOverload "Configures action to take when thermal overload input is active."; CM_ SG_ 2365565505 MX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2365565505 MX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2365565505 MX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 MX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2365565505 K1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2365565505 K1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2365565505 K2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2365565505 K2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2164235073 Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; CM_ SG_ 2164235073 FaultClear_command "Clears the latched fault message."; CM_ SG_ 2164235073 InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; CM_ SG_ 2164235073 EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; CM_ SG_ 2164235073 EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; CM_ SG_ 2164235073 ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; CM_ SG_ 2164235073 PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING"; CM_ SG_ 2164235073 MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; CM_ SG_ 2365561921 RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; CM_ SG_ 2365561921 ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; CM_ SG_ 2365562433 Voltage_command "Desired output voltage while in grid forming mode."; CM_ SG_ 2365562433 Frequency_command "Desired output frequency while in grid forming mode."; CM_ SG_ 2365573879 RealPower_measured "Measured real power of master unit."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power of master unit."; CM_ SG_ 2634001344 RealPower_measured "Measured real power."; CM_ SG_ 2365573879 RealPower_measured "Measured real power."; CM_ SG_ 2365573879 ReactivePower_measured "Measured reactive power."; CM_ SG_ 2566898935 RealPower_echo "Echoed real power command."; CM_ SG_ 2566898935 ReactivePower_echo "Echoed reactive power command."; CM_ SG_ 2365572087 State_status "Active control mode."; CM_ SG_ 2365572087 MX2Permissive_status "MX2 relay status"; CM_ SG_ 2365572087 PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; CM_ SG_ 2365572087 PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; CM_ SG_ 2365572087 PowerCircuitEnabled_status "Indicates whether the switching devices are active."; CM_ SG_ 2365572087 HardwareEnable_status "Status of the hardware enable."; CM_ SG_ 2365572087 Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; CM_ SG_ 2365572087 FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; CM_ SG_ 2365572087 MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MX1Permissive_status "MX1 relay status"; CM_ SG_ 2365572087 K2DCRunPermissive_status "K2 DC Run relay status."; CM_ SG_ 2365572087 K1PrechargePermissive_status "K1 precharge relay status."; CM_ SG_ 2365572087 MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; CM_ SG_ 2365572087 CANbus_status "Operational status of the CAN bus driver."; CM_ SG_ 2365572087 EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; CM_ SG_ 2365572087 EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; CM_ SG_ 2365572087 PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; CM_ SG_ 2365572087 LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; CM_ SG_ 2365572087 PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; CM_ SG_ 2634008055 v5p0_Supply "Present voltage of the control board 5V power suppy."; CM_ SG_ 2634008055 v3p3_Supply "Present voltage of the control board 3.3V power supply."; CM_ SG_ 2634008055 v24_Supply "Present voltage of the control board 24V power supply."; CM_ SG_ 2634008055 v15_Supply "Present voltage of the control board 15V power supply."; CM_ SG_ 2566900727 TempInlet_measured "Coolant inlet temperature"; CM_ SG_ 2566900727 TempInternal_measured "Internal ambient temperature"; CM_ SG_ 2566900727 ConverterLosses "Power converter thermal loss"; CM_ SG_ 2365573367 BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; CM_ SG_ 2365573367 BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; CM_ SG_ 2365573367 OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; CM_ SG_ 2365573367 OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; CM_ SG_ 2365573367 OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; CM_ SG_ 2365573367 LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; CM_ SG_ 2365573367 UndervoltageDC_status "Indicates loss of DC source voltage."; CM_ SG_ 2365573367 ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; CM_ SG_ 2365573367 OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; CM_ SG_ 2365573367 GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; CM_ SG_ 2365573367 LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; CM_ SG_ 2365573367 EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; CM_ SG_ 2365573367 BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; CM_ SG_ 2365573367 IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; CM_ SG_ 2365573367 InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; CM_ SG_ 2365573367 InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; CM_ SG_ 2365571831 VoltageAC_measured "Measured RMS AC voltage."; CM_ SG_ 2365571831 CurrentAC_measured "Measured RMS AC current."; CM_ SG_ 2365571831 Frequency_measured "Measured frequency."; CM_ SG_ 2634008567 VoltageDCBus "Measured DC bus voltage."; CM_ SG_ 2634008567 CurrentDC_measured "Measured DC current."; CM_ SG_ 2634008567 VoltageDCInput_measured "Estimated DC input voltage."; CM_ SG_ 2634008311 n15V_Supply "Present voltage of the control board -15V power supply."; CM_ SG_ 2634008311 DiodeTemperature "Hottest diode"; CM_ SG_ 2634008311 IGBTTemperature "Hottest IGBT"; CM_ SG_ 2634007031 InterfaceRev "Software revision of the CAN communication interface."; CM_ SG_ 2634007031 ControlSwRev "Software revision of the control firmware."; CM_ SG_ 2634007031 BuildTime "Build timestamp."; CM_ SG_ 2566900215 Voltage_echo "Echoed voltage command"; CM_ SG_ 2566900215 Frequency_echo "Echoed frequency command."; CM_ SG_ 2634009847 SerialNumber "Serial number of the power module."; CM_ SG_ 2634010103 Hash "Unique revision identification hashcode."; CM_ SG_ 2634000887 StatusNodeID "J1939 Source Address node for the module"; CM_ SG_ 2634000887 StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; CM_ SG_ 2634000887 StatusThermalOverload "Configured action to take when thermal overload input is active."; CM_ SG_ 2634000887 StatusMX1Open "Maximum time required for the MX1 contactor to open."; CM_ SG_ 2634000887 StatusMX1Close "Maximum time required for the MX1 contactor to close."; CM_ SG_ 2634000887 StatusMX2Open "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusMX2Close "Maximum time required for the MX2 contactor to open."; CM_ SG_ 2634000887 StatusK1Open "Maximum time required for the K1 contactor to open."; CM_ SG_ 2634000887 StatusK1Close "Maximum time required for the K1 contactor to close."; CM_ SG_ 2634000887 StatusK2Open "Maximum time required for the K2 contactor to open."; CM_ SG_ 2634000887 StatusK2Close "Maximum time required for the K2 contactor to close."; CM_ SG_ 2566902007 L1Current_measured "Measured L1 RMS line current."; CM_ SG_ 2566902007 L2Current_measured "Measured L2 RMS line current."; CM_ SG_ 2566902007 L3Current_measured "Measured L3 RMS line current."; CM_ SG_ 2566902263 L1Voltage_measured "Measured L1 RMS line-neutral voltage"; CM_ SG_ 2566902263 L2Voltage_measured "Measured L2 RMS line-neutral voltage"; CM_ SG_ 2566902263 L3Voltage_measured "Measured L3 RMS line-neutral voltage"; BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_DEF_ BO_ "Receivable" BOOL False True; BA_DEF_ BO_ "Sendable" BOOL False True; BA_DEF_ SG_ "DisplayDecimalPlaces" INT 0 65535; BA_DEF_ SG_ "GenSigStartValue" FLOAT -3.4E+038 3.4E+038; BA_DEF_ SG_ "HexadecimalOutput" BOOL False True; BA_DEF_ SG_ "LongName" STR; BA_ "Receivable" BO_ 2164239169 False; BA_ "Sendable" BO_ 2164239169 True; BA_ "Receivable" BO_ 2365566017 False; BA_ "Sendable" BO_ 2365566017 True; BA_ "Receivable" BO_ 2365566529 False; BA_ "Sendable" BO_ 2365566529 True; BA_ "Receivable" BO_ 2365573878 False; BA_ "Sendable" BO_ 2365573878 True; BA_ "Receivable" BO_ 2365566785 False; BA_ "Sendable" BO_ 2365566785 True; BA_ "Receivable" BO_ 2365565505 False; BA_ "Sendable" BO_ 2365565505 True; BA_ "Receivable" BO_ 2164235073 False; BA_ "Sendable" BO_ 2164235073 True; BA_ "Receivable" BO_ 2365561921 False; BA_ "Sendable" BO_ 2365561921 True; BA_ "Receivable" BO_ 2365562433 False; BA_ "Sendable" BO_ 2365562433 True; BA_ "Receivable" BO_ 2365573879 False; BA_ "Sendable" BO_ 2365573879 True; BA_ "Receivable" BO_ 2634001600 True; BA_ "Sendable" BO_ 2634001600 True; BA_ "Receivable" BO_ 2634001344 True; BA_ "Sendable" BO_ 2634001344 True; BA_ "GenMsgCycleTime" BO_ 2365573879 100; BA_ "Receivable" BO_ 2365573879 True; BA_ "Sendable" BO_ 2365573879 True; BA_ "GenMsgCycleTime" BO_ 2566898935 100; BA_ "Receivable" BO_ 2566898935 True; BA_ "Sendable" BO_ 2566898935 True; BA_ "GenMsgCycleTime" BO_ 2365572087 100; BA_ "Receivable" BO_ 2365572087 True; BA_ "Sendable" BO_ 2365572087 True; BA_ "GenMsgCycleTime" BO_ 2634008055 100; BA_ "Receivable" BO_ 2634008055 True; BA_ "Sendable" BO_ 2634008055 True; BA_ "GenMsgCycleTime" BO_ 2566900727 100; BA_ "Receivable" BO_ 2566900727 True; BA_ "Sendable" BO_ 2566900727 True; BA_ "GenMsgCycleTime" BO_ 2365573367 100; BA_ "Receivable" BO_ 2365573367 True; BA_ "Sendable" BO_ 2365573367 True; BA_ "GenMsgCycleTime" BO_ 2365571831 100; BA_ "Receivable" BO_ 2365571831 True; BA_ "Sendable" BO_ 2365571831 True; BA_ "GenMsgCycleTime" BO_ 2634008567 100; BA_ "Receivable" BO_ 2634008567 True; BA_ "Sendable" BO_ 2634008567 True; BA_ "GenMsgCycleTime" BO_ 2634008311 100; BA_ "Receivable" BO_ 2634008311 True; BA_ "Sendable" BO_ 2634008311 True; BA_ "Receivable" BO_ 2634007031 True; BA_ "Sendable" BO_ 2634007031 True; BA_ "GenMsgCycleTime" BO_ 2566900215 100; BA_ "Receivable" BO_ 2566900215 True; BA_ "Sendable" BO_ 2566900215 True; BA_ "Receivable" BO_ 2634009847 True; BA_ "Sendable" BO_ 2634009847 True; BA_ "Receivable" BO_ 2634010103 True; BA_ "Sendable" BO_ 2634010103 True; BA_ "Receivable" BO_ 2634000887 True; BA_ "Sendable" BO_ 2634000887 True; BA_ "GenMsgCycleTime" BO_ 2566902007 100; BA_ "Receivable" BO_ 2566902007 True; BA_ "Sendable" BO_ 2566902007 True; BA_ "GenMsgCycleTime" BO_ 2566902263 100; BA_ "Receivable" BO_ 2566902263 True; BA_ "Sendable" BO_ 2566902263 True; BA_ "DisplayDecimalPlaces" SG_ 2164239169 ForceRelayK1_Precharge_command 0; BA_ "GenSigStartValue" SG_ 2365566529 Voltage_command 2400.0; BA_ "GenSigStartValue" SG_ 2365566529 Frequency_command 500.0; BA_ "GenSigStartValue" SG_ 2365565505 VUnder50pct 160.0; BA_ "GenSigStartValue" SG_ 2365565505 V50to88pct 2000.0; BA_ "GenSigStartValue" SG_ 2365565505 V110to120pct 1000.0; BA_ "GenSigStartValue" SG_ 2365565505 VOver120 160.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqHi0 605.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqLo0 598.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqVeryLo0 570.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqVeryLo1 160.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqLo1 160.0; BA_ "GenSigStartValue" SG_ 2365565505 FreqHi1 160.0; BA_ "GenSigStartValue" SG_ 2365565505 NodeID 247.0; BA_ "GenSigStartValue" SG_ 2365565505 SA_Mask 65.0; BA_ "GenSigStartValue" SG_ 2365565505 Baudrate 2.0; BA_ "GenSigStartValue" SG_ 2365565505 MX1Open 100.0; BA_ "GenSigStartValue" SG_ 2365565505 MX1Close 100.0; BA_ "DisplayDecimalPlaces" SG_ 2164235073 ForceRelayK1_Precharge_command 0; BA_ "GenSigStartValue" SG_ 2365562433 Voltage_command 2400.0; BA_ "GenSigStartValue" SG_ 2365562433 Frequency_command 500.0; BA_ "DisplayDecimalPlaces" SG_ 2634007031 InterfaceRev 2; BA_ "DisplayDecimalPlaces" SG_ 2634007031 ControlSwRev 2; BA_ "HexadecimalOutput" SG_ 2634010103 Hash True; BA_ "GenSigStartValue" SG_ 2634000887 VUnder50pct 160.0; BA_ "GenSigStartValue" SG_ 2634000887 V50to88pct 2000.0; BA_ "GenSigStartValue" SG_ 2634000887 V110to120pct 1000.0; BA_ "GenSigStartValue" SG_ 2634000887 VOver120 160.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqHi0 605.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqLo0 598.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqVeryLo0 570.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqVeryLo1 160.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqLo1 160.0; BA_ "GenSigStartValue" SG_ 2634000887 FreqHi1 160.0; BA_ "GenSigStartValue" SG_ 2634000887 StatusNodeID 247.0; BA_ "GenSigStartValue" SG_ 2634000887 StatusSA_Mask 65.0; BA_ "GenSigStartValue" SG_ 2634000887 StatusBaudrate 2.0; BA_ "GenSigStartValue" SG_ 2634000887 StatusMX1Open 100.0; BA_ "GenSigStartValue" SG_ 2634000887 StatusMX1Close 100.0; VAL_ 2164239169 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164239169 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164239169 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164239169 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164239169 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365566785 WriteSerialNumber 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365565505 CommandSetNVParam_MUX 0 "Param0" 1 "LVM_ClearingTimes1" 2 "LVM_ClearingTimes2" 3 "LFM_Limits" 4 "LFM_ClearingTimes" 5 "J1939_Interface" 6 "Fault_Config" 7 "ContactorDelays1" 8 "ContactorDelays2" 10 "ContactorDelays3"; VAL_ 2365565505 Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2365565505 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 2164235073 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2164235073 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2164235073 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 2164235073 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2164235073 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 2365572087 State_status 0 "Power On Reset, and a quoted comma" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_ 2365572087 MX2Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailAC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerAvailDC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 2365572087 PowerCircuitEnabled_status 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_ 2365572087 HardwareEnable_status 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; VAL_ 2365572087 Enable_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 FaultClr_echo 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidModeControl_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MX1Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K2DCRunPermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 K1PrechargePermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidPowerCMD_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 MessageValidVF_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 2365572087 CANbus_status 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_ 2365572087 EnableUPSMode_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 2365572087 EnableSplitPhase_echo 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_status 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365572087 LineVoltageDetected_status 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_ 2365572087 PhaseRotation_echo 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeBVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempPowerDevice_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvertempInternal_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossValidControlMessage_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 UndervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ControlHardwareFail_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 OvercurrentDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 GeneralFault_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 LossOfAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 EStopShutdown_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 BridgeAFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 BridgeBFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 2365573367 IllegalTransition_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEEHeader_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 InvalidEESection_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2365573367 ThermalOverload 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 2634000887 StatusNVParam_MUX 0 "ActParam0" 1 "ActLVM_ClearingTimes1" 2 "ActLVM_ClearingTimes2" 3 "ActLFM_Limits" 4 "ActLFM_ClearingTimes" 5 "StatusJ1939_Interface" 6 "StatusFault_Config" 7 "StatusContactorDelays1" 8 "StatusContactorDelays2" 9 "StatusContactorDelays3"; VAL_ 2634000887 StatusBaudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 2634000887 StatusThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; canmatrix-0.9.5/test/reference/from_sym/test.dbf000066400000000000000000001326431416730473300217400ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 28 [START_MSG] CommandModeControl,16755521,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPower,218082369,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower command,32,4,0,S,90000.0,-90000.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_command,32,8,0,S,90000.0,-90000.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandVF,218082881,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,U,5000.0,100.0,0,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,4,0,U,650.0,450.0,0,0.0,0.1,Hz,, [END_MSG] [START_MSG] MasterMeasuredPower,218090230,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandFactoryControl,218083137,8,3,1,X,Vector__XXX [START_SIGNALS] WriteSerialNumber,2,1,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] SerialNumber,32,8,0,U,4294967295.0,0.0,0,0.0,1.0,,, [START_SIGNALS] FactoryAccess,16,4,0,U,65535.0,0.0,0,0.0,1.0,,, [END_MSG] [START_MSG] CommandSetNVParam,218081857,8,24,1,X,Vector__XXX [START_SIGNALS] CommandSetNVParam_MUX,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,M, [VALUE_DESCRIPTION] "Param0",0 [VALUE_DESCRIPTION] "LVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "LVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "LFM_Limits",3 [VALUE_DESCRIPTION] "LFM_ClearingTimes",4 [VALUE_DESCRIPTION] "J1939_Interface",5 [VALUE_DESCRIPTION] "Fault_Config",6 [VALUE_DESCRIPTION] "ContactorDelays1",7 [VALUE_DESCRIPTION] "ContactorDelays2",8 [VALUE_DESCRIPTION] "ContactorDelays3",10 [START_SIGNALS] Dummy,16,4,0,U,65535.0,0.0,0,0.0,1.0,,m0, [START_SIGNALS] VUnder50pct,16,4,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] V50to88pct,16,6,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] V110to120pct,16,8,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] VOver120,16,4,0,U,30000.0,1.0,0,0.0,1.0,,m2, [START_SIGNALS] FreqHi,16,4,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqLo,16,6,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,8,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,4,0,U,160.0,160.0,0,0.0,1.0,ms,m4, [START_SIGNALS] FreqLo,16,6,0,U,30000.0,1.0,0,0.0,1.0,ms,m4, [START_SIGNALS] FreqHi,16,8,0,U,160.0,160.0,0,0.0,1.0,ms,m4, [START_SIGNALS] NodeID,8,3,0,U,247.0,0.0,0,0.0,1.0,,m5, [START_SIGNALS] SA_Mask,8,4,0,U,255.0,0.0,0,0.0,1.0,,m5, [START_SIGNALS] Baudrate,4,5,4,U,3.0,0.0,0,0.0,1.0,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] ThermalOverload,2,3,0,U,1.0,0.0,0,0.0,1.0,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Open,16,4,0,U,5000.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] MX1Close,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] MX2Open,16,8,0,U,1.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] MX2Close,16,4,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] K1Open,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] K1Close,16,8,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] K2Open,16,4,0,U,2000.0,0.0,0,0.0,1.0,ms,m10, [START_SIGNALS] K2Close,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m10, [END_MSG] [START_MSG] CommandModeControlAPU2,16751425,8,11,1,X,Vector__XXX [START_SIGNALS] Enable_command,2,1,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,5,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,8,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPowerAPU2,218078273,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_command,32,4,0,S,90000.0,-90000.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_command,32,8,0,S,90000.0,-90000.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] CommandVFAPU2,218078785,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_command,16,2,0,U,5000.0,100.0,0,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,4,0,U,650.0,450.0,0,0.0,0.1,Hz,, [END_MSG] [START_MSG] MasterMeasuredPowerAPU2,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] justString,486517952,8,0,1,X,Vector__XXX [END_MSG] [START_MSG] stringAndOther,486517696,8,1,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,W,, [END_MSG] [START_MSG] StatusMeasuredPower,218090231,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_measured,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_measured,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] StatusCommandedPower,419415287,8,2,1,X,Vector__XXX [START_SIGNALS] RealPower_echo,32,4,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,W,, [START_SIGNALS] ReactivePower_echo,32,8,0,S,2147483647.0,-2147483648.0,0,0.0,1.0,VA,, [END_MSG] [START_MSG] StatusBits,218088439,8,20,1,X,Vector__XXX [START_SIGNALS] State_status,4,1,0,U,7.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Power On Reset, and a quoted comma",0 [VALUE_DESCRIPTION] "Ready",1 [VALUE_DESCRIPTION] "Following",2 [VALUE_DESCRIPTION] "Fault",3 [VALUE_DESCRIPTION] "Forming",4 [VALUE_DESCRIPTION] "N/A",5 [VALUE_DESCRIPTION] "N/A",6 [VALUE_DESCRIPTION] "N/A",7 [VALUE_DESCRIPTION] "N/A",8 [VALUE_DESCRIPTION] "N/A",9 [VALUE_DESCRIPTION] "N/A",10 [VALUE_DESCRIPTION] "N/A",11 [VALUE_DESCRIPTION] "N/A",12 [VALUE_DESCRIPTION] "N/A",13 [VALUE_DESCRIPTION] "N/A",14 [VALUE_DESCRIPTION] "N/A",15 [START_SIGNALS] MX2Permissive_status,2,3,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailAC_status,2,2,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailDC_status,2,2,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerCircuitEnabled_status,2,2,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disabled",0 [VALUE_DESCRIPTION] "Enabled",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] HardwareEnable_status,2,2,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Not Active",0 [VALUE_DESCRIPTION] "Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Enable_echo,2,1,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClr_echo,2,1,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidModeControl_status,2,4,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Permissive_status,2,3,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K2DCRunPermissive_status,2,3,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K1PrechargePermissive_status,2,3,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidPowerCMD_status,2,4,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidVF_status,2,4,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] CANbus_status,2,4,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Warning",1 [VALUE_DESCRIPTION] "ErrorPassive",3 [VALUE_DESCRIPTION] "N/A",4 [START_SIGNALS] EnableUPSMode_echo,2,5,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_echo,2,5,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_status,2,5,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LineVoltageDetected_status,2,5,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "No_Voltage",0 [VALUE_DESCRIPTION] "Voltage_Detected",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_echo,2,6,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusControlVoltage,486524407,8,4,1,X,Vector__XXX [START_SIGNALS] v5p0_Supply,16,2,0,S,32767.0,-32768.0,0,0.0,0.01,V,, [START_SIGNALS] v3p3_Supply,16,4,0,S,32767.0,-32768.0,0,0.0,0.01,V,, [START_SIGNALS] v24_Supply,16,6,0,S,32767.0,-32768.0,0,0.0,0.01,V,, [START_SIGNALS] v15_Supply,16,8,0,S,32767.0,-32768.0,0,0.0,0.01,V,, [END_MSG] [START_MSG] StatusTemps,419417079,8,3,1,X,Vector__XXX [START_SIGNALS] TempInlet_measured,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,C,, [START_SIGNALS] TempInternal_measured,16,4,0,S,32767.0,-32768.0,0,0.0,0.1,C,, [START_SIGNALS] ConverterLosses,16,6,0,U,1.0,0.0,0,0.0,1.0,W,, [END_MSG] [START_MSG] StatusFaults,218089719,8,19,1,X,Vector__XXX [START_SIGNALS] BridgeAVoltageOk_status,1,8,3,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentAC_status,2,1,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeBVoltageOk_status,1,6,3,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvervoltageDC_status,2,2,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempPowerDevice_status,2,2,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempInternal_status,2,2,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossValidControlMessage_status,4,3,4,U,15.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] UndervoltageDC_status,2,2,2,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ControlHardwareFail_status,4,3,0,U,15.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentDC_status,2,1,6,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] GeneralFault_status,2,1,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossOfAC_status,2,1,4,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EStopShutdown_status,2,4,0,U,3.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeAFault_status,3,8,0,U,7.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeBFault_status,3,6,0,U,7.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] IllegalTransition_status,2,4,2,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEEHeader_status,2,4,4,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEESection_status,2,4,6,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ThermalOverload,2,5,0,U,1.0,0.0,0,0.0,1.0,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusACParameters,218088183,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageAC_measured,16,2,0,S,32767.0,-32768.0,0,0.0,0.1,V,, [START_SIGNALS] CurrentAC_measured,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,A,, [START_SIGNALS] Frequency_measured,16,6,0,S,32767.0,-32768.0,0,0.0,0.1,Hz,, [END_MSG] [START_MSG] StatusDCParameters,486524919,8,3,1,X,Vector__XXX [START_SIGNALS] VoltageDCBus,16,4,0,S,32767.0,-32768.0,0,0.0,1.0,V,, [START_SIGNALS] CurrentDC_measured,16,6,0,S,32767.0,-32768.0,0,0.0,1.0,A,, [START_SIGNALS] VoltageDCInput_measured,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,V,, [END_MSG] [START_MSG] StatusControlVolts2,486524663,8,3,1,X,Vector__XXX [START_SIGNALS] n15V_Supply,16,2,0,S,32767.0,-32768.0,0,0.0,0.01,V,, [START_SIGNALS] DiodeTemperature,16,6,0,U,1.0,0.0,0,0.0,1.0,C,, [START_SIGNALS] IGBTTemperature,16,8,0,U,1.0,0.0,0,0.0,1.0,C,, [END_MSG] [START_MSG] softwareRev,486523383,8,3,1,X,Vector__XXX [START_SIGNALS] InterfaceRev,16,4,0,U,65535.0,0.0,0,0.0,0.01,,, [START_SIGNALS] ControlSwRev,16,2,0,U,65535.0,0.0,0,0.0,0.01,,, [START_SIGNALS] BuildTime,32,8,0,U,4294967295.0,0.0,0,0.0,1.0,,, [END_MSG] [START_MSG] StatusCommandVF,419416567,8,2,1,X,Vector__XXX [START_SIGNALS] Voltage_echo,16,2,0,U,65535.0,0.0,0,0.0,0.1,Vrms,, [START_SIGNALS] Frequency_echo,16,4,0,U,65535.0,0.0,0,0.0,0.1,Hz,, [END_MSG] [START_MSG] serialNumber,486526199,8,1,1,X,Vector__XXX [START_SIGNALS] SerialNumber,32,4,0,U,4294967295.0,0.0,0,0.0,1.0,,, [END_MSG] [START_MSG] softwareRevHash,486526455,8,1,1,X,Vector__XXX [START_SIGNALS] Hash,28,4,4,U,268435455.0,0.0,0,0.0,1.0,,, [END_MSG] [START_MSG] StatusNVParam,486517239,8,24,1,X,Vector__XXX [START_SIGNALS] StatusNVParam_MUX,16,2,0,S,32767.0,-32768.0,0,0.0,1.0,,M, [VALUE_DESCRIPTION] "ActParam0",0 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "ActLFM_Limits",3 [VALUE_DESCRIPTION] "ActLFM_ClearingTimes",4 [VALUE_DESCRIPTION] "StatusJ1939_Interface",5 [VALUE_DESCRIPTION] "StatusFault_Config",6 [VALUE_DESCRIPTION] "StatusContactorDelays1",7 [VALUE_DESCRIPTION] "StatusContactorDelays2",8 [VALUE_DESCRIPTION] "StatusContactorDelays3",9 [START_SIGNALS] Dummy,16,4,0,U,10.0,5.0,0,0.0,1.0,,m0, [START_SIGNALS] VUnder50pct,16,4,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] V50to88pct,16,6,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] V110to120pct,16,8,0,U,30000.0,1.0,0,0.0,1.0,ms,m1, [START_SIGNALS] VOver120,16,4,0,U,30000.0,1.0,0,0.0,1.0,,m2, [START_SIGNALS] FreqHi,16,4,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqLo,16,6,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,8,0,U,700.0,400.0,0,0.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,4,0,U,160.0,160.0,0,0.0,1.0,ms,m4, [START_SIGNALS] FreqLo,16,6,0,U,30000.0,1.0,0,0.0,1.0,ms,m4, [START_SIGNALS] FreqHi,16,8,0,U,160.0,160.0,0,0.0,1.0,ms,m4, [START_SIGNALS] StatusNodeID,8,3,0,U,247.0,0.0,0,0.0,1.0,,m5, [START_SIGNALS] StatusSA_Mask,8,4,0,U,255.0,0.0,0,0.0,1.0,,m5, [START_SIGNALS] StatusBaudrate,4,5,4,U,3.0,0.0,0,0.0,1.0,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] StatusThermalOverload,2,3,0,U,1.0,0.0,0,0.0,1.0,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] StatusMX1Open,16,4,0,U,5000.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX1Close,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX2Open,16,8,0,U,1.0,0.0,0,0.0,1.0,ms,m7, [START_SIGNALS] StatusMX2Close,16,4,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] StatusK1Open,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] StatusK1Close,16,8,0,U,2000.0,0.0,0,0.0,1.0,ms,m8, [START_SIGNALS] StatusK2Open,16,4,0,U,2000.0,0.0,0,0.0,1.0,ms,m9, [START_SIGNALS] StatusK2Close,16,6,0,U,2000.0,0.0,0,0.0,1.0,ms,m9, [END_MSG] [START_MSG] StatusLineCurrents,419418359,8,3,1,X,Vector__XXX [START_SIGNALS] L1Current_measured,16,2,0,U,1.0,0.0,0,0.0,1.0,A,, [START_SIGNALS] L2Current_measured,16,4,0,U,1.0,0.0,0,0.0,1.0,A,, [START_SIGNALS] L3Current_measured,16,6,0,U,1.0,0.0,0,0.0,1.0,A,, [END_MSG] [START_MSG] StatusLineVoltages,419418615,8,3,1,X,Vector__XXX [START_SIGNALS] L1Voltage_measured,16,2,0,U,10.0,0.0,0,0.0,0.1,Vrms,, [START_SIGNALS] L2Voltage_measured,16,4,0,U,10.0,0.0,0,0.0,0.1,Vrms,, [START_SIGNALS] L3Voltage_measured,16,6,0,U,10.0,0.0,0,0.0,0.1,Vrms,, [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] 16755521 S "Operational commands are received by the module via control bits within this message."; 218082369 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218082881 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090230 S "Returns the actual measured power."; 218083137 S ""; 218081857 S "Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.')"; 16751425 S "Operational commands are received by the module via control bits within this message."; 218078273 S "Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode."; 218078785 S "Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage."; 218090231 S "Returns the actual measured power."; 486517952 S ""; 486517696 S ""; 218090231 S "Returns the actual measured power."; 419415287 S "Echoes the commanded power (P&Q) as received in CommandPQ."; 218088439 S "Bits representing the status of the power module."; 486524407 S "Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.)"; 419417079 S "Returns the inlet water temperature to the module as well as module internal ambient temperature."; 218089719 S "Fault bits."; 218088183 S "RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks."; 486524919 S "Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage."; 486524663 S "Present voltage of the -15V power supply on the control board."; 486523383 S "Software revision."; 419416567 S "Echoes the voltage and frequency commands from commandVF."; 486526199 S "Serial number of the power module."; 486526455 S "Unique software revision identification hashcode."; 486517239 S "Echos back parameter values."; 419418359 S "Measured RMS line currents."; 419418615 S "Measured RMS line voltages."; [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] 16755521 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16755521 S FaultClear_command "Clears the latched fault message."; 16755521 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16755521 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16755521 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16755521 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16755521 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING."; 16755521 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218082369 S RealPower command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218082369 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218082881 S Voltage_command "Desired output voltage while in grid forming mode."; 218082881 S Frequency_command "Desired output frequency while in grid forming mode."; 218090230 S RealPower_measured "Measured real power of master unit."; 218090230 S ReactivePower_measured "Measured reactive power of master unit."; 218083137 S WriteSerialNumber ""; 218083137 S SerialNumber ""; 218083137 S FactoryAccess ""; 218081857 S CommandSetNVParam_MUX ""; 218081857 S Dummy ""; 218081857 S VUnder50pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V50to88pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S V110to120pct "Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S VOver120 "Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode."; 218081857 S FreqHi "Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux."; 218081857 S FreqLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux."; 218081857 S FreqVeryLo "Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S FreqLo "Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S FreqHi "Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode."; 218081857 S NodeID "J1939 Source Address node for the module."; 218081857 S SA_Mask "Not presently used."; 218081857 S Baudrate "CAN baudrate"; 218081857 S ThermalOverload "Configures action to take when thermal overload input is active."; 218081857 S MX1Open "Maximum time required for the MX1 contactor to open."; 218081857 S MX1Close "Maximum time required for the MX1 contactor to close."; 218081857 S MX2Open "Maximum time required for the MX2 contactor to open."; 218081857 S MX2Close "Maximum time required for the MX2 contactor to open."; 218081857 S K1Open "Maximum time required for the K1 contactor to open."; 218081857 S K1Close "Maximum time required for the K1 contactor to close."; 218081857 S K2Open "Maximum time required for the K2 contactor to open."; 218081857 S K2Close "Maximum time required for the K2 contactor to close."; 16751425 S Enable_command "Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state."; 16751425 S FaultClear_command "Clears the latched fault message."; 16751425 S InvertHwEnable_command "Inverts the logic of the Hardware Enable input."; 16751425 S EnableUPSMode_command "Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power."; 16751425 S EnableSplitPhase_command "Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system."; 16751425 S ForceRelayMX1_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayMX2_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayK1_Precharge_command "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S ForceRelayRelayK2_DCRun_comand "If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only."; 16751425 S PhaseRotation_command "Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING"; 16751425 S MasterFollowerMode_command "Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used."; 218078273 S RealPower_command "Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network."; 218078273 S ReactivePower_command "Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor."; 218078785 S Voltage_command "Desired output voltage while in grid forming mode."; 218078785 S Frequency_command "Desired output frequency while in grid forming mode."; 218090231 S RealPower_measured "Measured real power of master unit."; 218090231 S ReactivePower_measured "Measured reactive power of master unit."; 486517696 S RealPower_measured "Measured real power."; 218090231 S RealPower_measured "Measured real power."; 218090231 S ReactivePower_measured "Measured reactive power."; 419415287 S RealPower_echo "Echoed real power command."; 419415287 S ReactivePower_echo "Echoed reactive power command."; 218088439 S State_status "Active control mode."; 218088439 S MX2Permissive_status "MX2 relay status"; 218088439 S PowerAvailAC_status "Indicates that AC power is connected and that voltage and frequency are within nominal ranges."; 218088439 S PowerAvailDC_status "Indicates that DC bus voltage is within operating range."; 218088439 S PowerCircuitEnabled_status "Indicates whether the switching devices are active."; 218088439 S HardwareEnable_status "Status of the hardware enable."; 218088439 S Enable_echo "Echos the state of the Enable command withing the CommandModeControl message."; 218088439 S FaultClr_echo "Echos the state of the FaultClear command withing the CommandModeControl message."; 218088439 S MessageValidModeControl_status "Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MX1Permissive_status "MX1 relay status"; 218088439 S K2DCRunPermissive_status "K2 DC Run relay status."; 218088439 S K1PrechargePermissive_status "K1 precharge relay status."; 218088439 S MessageValidPowerCMD_status "Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S MessageValidVF_status "Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid."; 218088439 S CANbus_status "Operational status of the CAN bus driver."; 218088439 S EnableUPSMode_echo "Echos the state of the EnableUPSMode command withing the CommandModeControl message."; 218088439 S EnableSplitPhase_echo "Echos the state of the EnableSplitPhase command withing the CommandModeControl message."; 218088439 S PhaseRotation_status "Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive."; 218088439 S LineVoltageDetected_status "Flag indicating if voltage is detected on L1, L2 or L3."; 218088439 S PhaseRotation_echo "Echos the state of PhaseRotation_command withing the CommandModeControl message."; 486524407 S v5p0_Supply "Present voltage of the control board 5V power suppy."; 486524407 S v3p3_Supply "Present voltage of the control board 3.3V power supply."; 486524407 S v24_Supply "Present voltage of the control board 24V power supply."; 486524407 S v15_Supply "Present voltage of the control board 15V power supply."; 419417079 S TempInlet_measured "Coolant inlet temperature"; 419417079 S TempInternal_measured "Internal ambient temperature"; 419417079 S ConverterLosses "Power converter thermal loss"; 218089719 S BridgeAVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvercurrentAC_status "Set immediately upon the software detection of AC current exceeding the threshold value."; 218089719 S BridgeBVoltageOk_status "Indicates whether a hardware trip has been activated."; 218089719 S OvervoltageDC_status "Set immediately upon the software detection of DC voltage exceeding the threshold value."; 218089719 S OvertempPowerDevice_status "Set immediately upon the software detection of an IGBT temperature exceeding the threshold value."; 218089719 S OvertempInternal_status "Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value."; 218089719 S LossValidControlMessage_status "Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period."; 218089719 S UndervoltageDC_status "Indicates loss of DC source voltage."; 218089719 S ControlHardwareFail_status "Set upon the failure of control hardware to return expected response."; 218089719 S OvercurrentDC_status "Set immediately upon the software detection of DC current exceeding the threshold value."; 218089719 S GeneralFault_status "Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor."; 218089719 S LossOfAC_status "In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message."; 218089719 S EStopShutdown_status "Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active."; 218089719 S BridgeAFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S BridgeBFault_status "Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active."; 218089719 S IllegalTransition_status "Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available."; 218089719 S InvalidEEHeader_status "Indicates that reading of non-volatile parameters at power-up failed."; 218089719 S InvalidEESection_status "Indicates that reading or writing of an non-volatile parameter section failed."; 218089719 S ThermalOverload ""; 218088183 S VoltageAC_measured "Measured RMS AC voltage."; 218088183 S CurrentAC_measured "Measured RMS AC current."; 218088183 S Frequency_measured "Measured frequency."; 486524919 S VoltageDCBus "Measured DC bus voltage."; 486524919 S CurrentDC_measured "Measured DC current."; 486524919 S VoltageDCInput_measured "Estimated DC input voltage."; 486524663 S n15V_Supply "Present voltage of the control board -15V power supply."; 486524663 S DiodeTemperature "Hottest diode"; 486524663 S IGBTTemperature "Hottest IGBT"; 486523383 S InterfaceRev "Software revision of the CAN communication interface."; 486523383 S ControlSwRev "Software revision of the control firmware."; 486523383 S BuildTime "Build timestamp."; 419416567 S Voltage_echo "Echoed voltage command"; 419416567 S Frequency_echo "Echoed frequency command."; 486526199 S SerialNumber "Serial number of the power module."; 486526455 S Hash "Unique revision identification hashcode."; 486517239 S StatusNVParam_MUX ""; 486517239 S Dummy ""; 486517239 S VUnder50pct ""; 486517239 S V50to88pct ""; 486517239 S V110to120pct ""; 486517239 S VOver120 ""; 486517239 S FreqHi ""; 486517239 S FreqLo ""; 486517239 S FreqVeryLo ""; 486517239 S FreqVeryLo ""; 486517239 S FreqLo ""; 486517239 S FreqHi ""; 486517239 S StatusNodeID "J1939 Source Address node for the module"; 486517239 S StatusSA_Mask "Mask used to configure from which master source addresses to accept commands."; 486517239 S StatusBaudrate ""; 486517239 S StatusThermalOverload "Configured action to take when thermal overload input is active."; 486517239 S StatusMX1Open "Maximum time required for the MX1 contactor to open."; 486517239 S StatusMX1Close "Maximum time required for the MX1 contactor to close."; 486517239 S StatusMX2Open "Maximum time required for the MX2 contactor to open."; 486517239 S StatusMX2Close "Maximum time required for the MX2 contactor to open."; 486517239 S StatusK1Open "Maximum time required for the K1 contactor to open."; 486517239 S StatusK1Close "Maximum time required for the K1 contactor to close."; 486517239 S StatusK2Open "Maximum time required for the K2 contactor to open."; 486517239 S StatusK2Close "Maximum time required for the K2 contactor to close."; 419418359 S L1Current_measured "Measured L1 RMS line current."; 419418359 S L2Current_measured "Measured L2 RMS line current."; 419418359 S L3Current_measured "Measured L3 RMS line current."; 419418615 S L1Voltage_measured "Measured L1 RMS line-neutral voltage"; 419418615 S L2Voltage_measured "Measured L2 RMS line-neutral voltage"; 419418615 S L3Voltage_measured "Measured L3 RMS line-neutral voltage"; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 "Receivable",BOOL,False,True,0 "Sendable",BOOL,False,True,0 [END_PARAM_MSG] [START_PARAM_SIG] "GenSigStartValue",FLOAT,-3.4E+038,3.4E+038,0 "HexadecimalOutput",BOOL,False,True,0 "DisplayDecimalPlaces",INT,0,65535,0 "LongName",STR,0 [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 16755521,S,"Receivable","False" 16755521,S,"Sendable","True" 218082369,S,"Receivable","False" 218082369,S,"Sendable","True" 218082881,S,"Receivable","False" 218082881,S,"Sendable","True" 218090230,S,"Receivable","False" 218090230,S,"Sendable","True" 218083137,S,"Receivable","False" 218083137,S,"Sendable","True" 218081857,S,"Receivable","False" 218081857,S,"Sendable","True" 16751425,S,"Receivable","False" 16751425,S,"Sendable","True" 218078273,S,"Receivable","False" 218078273,S,"Sendable","True" 218078785,S,"Receivable","False" 218078785,S,"Sendable","True" 218090231,S,"Receivable","False" 218090231,S,"Sendable","True" 486517952,S,"Receivable","True" 486517952,S,"Sendable","True" 486517696,S,"Receivable","True" 486517696,S,"Sendable","True" 218090231,S,"GenMsgCycleTime","100" 218090231,S,"Receivable","True" 218090231,S,"Sendable","True" 419415287,S,"GenMsgCycleTime","100" 419415287,S,"Receivable","True" 419415287,S,"Sendable","True" 218088439,S,"GenMsgCycleTime","100" 218088439,S,"Receivable","True" 218088439,S,"Sendable","True" 486524407,S,"GenMsgCycleTime","100" 486524407,S,"Receivable","True" 486524407,S,"Sendable","True" 419417079,S,"GenMsgCycleTime","100" 419417079,S,"Receivable","True" 419417079,S,"Sendable","True" 218089719,S,"GenMsgCycleTime","100" 218089719,S,"Receivable","True" 218089719,S,"Sendable","True" 218088183,S,"GenMsgCycleTime","100" 218088183,S,"Receivable","True" 218088183,S,"Sendable","True" 486524919,S,"GenMsgCycleTime","100" 486524919,S,"Receivable","True" 486524919,S,"Sendable","True" 486524663,S,"GenMsgCycleTime","100" 486524663,S,"Receivable","True" 486524663,S,"Sendable","True" 486523383,S,"Receivable","True" 486523383,S,"Sendable","True" 419416567,S,"GenMsgCycleTime","100" 419416567,S,"Receivable","True" 419416567,S,"Sendable","True" 486526199,S,"Receivable","True" 486526199,S,"Sendable","True" 486526455,S,"Receivable","True" 486526455,S,"Sendable","True" 486517239,S,"Receivable","True" 486517239,S,"Sendable","True" 419418359,S,"GenMsgCycleTime","100" 419418359,S,"Receivable","True" 419418359,S,"Sendable","True" 419418615,S,"GenMsgCycleTime","100" 419418615,S,"Receivable","True" 419418615,S,"Sendable","True" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] 16755521,S,ForceRelayK1_Precharge_command,"DisplayDecimalPlaces","0" 218082881,S,Voltage_command,"GenSigStartValue","2400.0" 218082881,S,Frequency_command,"GenSigStartValue","500.0" 218081857,S,VUnder50pct,"GenSigStartValue","160.0" 218081857,S,V50to88pct,"GenSigStartValue","2000.0" 218081857,S,V110to120pct,"GenSigStartValue","1000.0" 218081857,S,VOver120,"GenSigStartValue","160.0" 218081857,S,FreqHi,"GenSigStartValue","605.0" 218081857,S,FreqLo,"GenSigStartValue","598.0" 218081857,S,FreqVeryLo,"GenSigStartValue","570.0" 218081857,S,FreqVeryLo,"GenSigStartValue","160.0" 218081857,S,FreqLo,"GenSigStartValue","160.0" 218081857,S,FreqHi,"GenSigStartValue","160.0" 218081857,S,NodeID,"GenSigStartValue","247.0" 218081857,S,SA_Mask,"GenSigStartValue","65.0" 218081857,S,Baudrate,"GenSigStartValue","2.0" 218081857,S,MX1Open,"GenSigStartValue","100.0" 218081857,S,MX1Close,"GenSigStartValue","100.0" 16751425,S,ForceRelayK1_Precharge_command,"DisplayDecimalPlaces","0" 218078785,S,Voltage_command,"GenSigStartValue","2400.0" 218078785,S,Frequency_command,"GenSigStartValue","500.0" 486523383,S,InterfaceRev,"DisplayDecimalPlaces","2" 486523383,S,ControlSwRev,"DisplayDecimalPlaces","2" 486526455,S,Hash,"HexadecimalOutput","True" 486517239,S,VUnder50pct,"GenSigStartValue","160.0" 486517239,S,V50to88pct,"GenSigStartValue","2000.0" 486517239,S,V110to120pct,"GenSigStartValue","1000.0" 486517239,S,VOver120,"GenSigStartValue","160.0" 486517239,S,FreqHi,"GenSigStartValue","605.0" 486517239,S,FreqLo,"GenSigStartValue","598.0" 486517239,S,FreqVeryLo,"GenSigStartValue","570.0" 486517239,S,FreqVeryLo,"GenSigStartValue","160.0" 486517239,S,FreqLo,"GenSigStartValue","160.0" 486517239,S,FreqHi,"GenSigStartValue","160.0" 486517239,S,StatusNodeID,"GenSigStartValue","247.0" 486517239,S,StatusSA_Mask,"GenSigStartValue","65.0" 486517239,S,StatusBaudrate,"GenSigStartValue","2.0" 486517239,S,StatusMX1Open,"GenSigStartValue","100.0" 486517239,S,StatusMX1Close,"GenSigStartValue","100.0" [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_sym/test.json000066400000000000000000001652341416730473300221600ustar00rootroot00000000000000{ "messages": [ { "id": 16755521, "is_extended_frame": true, "name": "CommandModeControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218082369, "is_extended_frame": true, "name": "CommandPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218082881, "is_extended_frame": true, "name": "CommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090230, "is_extended_frame": true, "name": "MasterMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218083137, "is_extended_frame": true, "name": "CommandFactoryControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "WriteSerialNumber", "offset": 0.0, "start_bit": 0 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FactoryAccess", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218081857, "is_extended_frame": true, "name": "CommandSetNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CommandSetNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "NodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Baudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 16751425, "is_extended_frame": true, "name": "CommandModeControlAPU2", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 2 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 56 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 58 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 60 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 62 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 16 } ] }, { "id": 218078273, "is_extended_frame": true, "name": "CommandPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_command", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_command", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218078785, "is_extended_frame": true, "name": "CommandVFAPU2", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "MasterMeasuredPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 486517952, "is_extended_frame": true, "name": "justString", "signals": [] }, { "id": 486517696, "is_extended_frame": true, "name": "stringAndOther", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 } ] }, { "id": 218090231, "is_extended_frame": true, "name": "StatusMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419415287, "is_extended_frame": true, "name": "StatusCommandedPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "RealPower_echo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "ReactivePower_echo", "offset": 0.0, "start_bit": 56 } ] }, { "id": 218088439, "is_extended_frame": true, "name": "StatusBits", "signals": [ { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "State_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Permissive_status", "offset": 0.0, "start_bit": 18 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailAC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailDC_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerCircuitEnabled_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "HardwareEnable_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_echo", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClr_echo", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidModeControl_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Permissive_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2DCRunPermissive_status", "offset": 0.0, "start_bit": 22 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1PrechargePermissive_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidPowerCMD_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidVF_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CANbus_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_echo", "offset": 0.0, "start_bit": 32 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_echo", "offset": 0.0, "start_bit": 34 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_status", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LineVoltageDetected_status", "offset": 0.0, "start_bit": 38 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_echo", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524407, "is_extended_frame": true, "name": "StatusControlVoltage", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v5p0_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v3p3_Supply", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v24_Supply", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "v15_Supply", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419417079, "is_extended_frame": true, "name": "StatusTemps", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "TempInlet_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "TempInternal_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ConverterLosses", "offset": 0.0, "start_bit": 40 } ] }, { "id": 218089719, "is_extended_frame": true, "name": "StatusFaults", "signals": [ { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAVoltageOk_status", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentAC_status", "offset": 0.0, "start_bit": 2 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBVoltageOk_status", "offset": 0.0, "start_bit": 43 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvervoltageDC_status", "offset": 0.0, "start_bit": 8 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempPowerDevice_status", "offset": 0.0, "start_bit": 14 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempInternal_status", "offset": 0.0, "start_bit": 12 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossValidControlMessage_status", "offset": 0.0, "start_bit": 20 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "UndervoltageDC_status", "offset": 0.0, "start_bit": 10 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlHardwareFail_status", "offset": 0.0, "start_bit": 16 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentDC_status", "offset": 0.0, "start_bit": 6 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "GeneralFault_status", "offset": 0.0, "start_bit": 0 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossOfAC_status", "offset": 0.0, "start_bit": 4 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EStopShutdown_status", "offset": 0.0, "start_bit": 24 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAFault_status", "offset": 0.0, "start_bit": 56 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBFault_status", "offset": 0.0, "start_bit": 40 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IllegalTransition_status", "offset": 0.0, "start_bit": 26 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEEHeader_status", "offset": 0.0, "start_bit": 28 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEESection_status", "offset": 0.0, "start_bit": 30 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 32 } ] }, { "id": 218088183, "is_extended_frame": true, "name": "StatusACParameters", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageAC_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CurrentAC_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "Frequency_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 486524919, "is_extended_frame": true, "name": "StatusDCParameters", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageDCBus", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "CurrentDC_measured", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "VoltageDCInput_measured", "offset": 0.0, "start_bit": 8 } ] }, { "id": 486524663, "is_extended_frame": true, "name": "StatusControlVolts2", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "n15V_Supply", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "DiodeTemperature", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IGBTTemperature", "offset": 0.0, "start_bit": 56 } ] }, { "id": 486523383, "is_extended_frame": true, "name": "softwareRev", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InterfaceRev", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlSwRev", "offset": 0.0, "start_bit": 8 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BuildTime", "offset": 0.0, "start_bit": 56 } ] }, { "id": 419416567, "is_extended_frame": true, "name": "StatusCommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_echo", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_echo", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526199, "is_extended_frame": true, "name": "serialNumber", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 24 } ] }, { "id": 486526455, "is_extended_frame": true, "name": "softwareRevHash", "signals": [ { "bit_length": 28, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Hash", "offset": 0.0, "start_bit": 28 } ] }, { "id": 486517239, "is_extended_frame": true, "name": "StatusNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": true, "name": "StatusNVParam_MUX", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 0.0, "start_bit": 56 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusNodeID", "offset": 0.0, "start_bit": 16 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusSA_Mask", "offset": 0.0, "start_bit": 24 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusBaudrate", "offset": 0.0, "start_bit": 36 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusThermalOverload", "offset": 0.0, "start_bit": 16 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Close", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Open", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Close", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Open", "offset": 0.0, "start_bit": 40 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Close", "offset": 0.0, "start_bit": 56 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Open", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Close", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418359, "is_extended_frame": true, "name": "StatusLineCurrents", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Current_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Current_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Current_measured", "offset": 0.0, "start_bit": 40 } ] }, { "id": 419418615, "is_extended_frame": true, "name": "StatusLineVoltages", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Voltage_measured", "offset": 0.0, "start_bit": 8 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Voltage_measured", "offset": 0.0, "start_bit": 24 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Voltage_measured", "offset": 0.0, "start_bit": 40 } ] } ] }canmatrix-0.9.5/test/reference/from_sym/test.kcd000066400000000000000000001655771416730473300217620ustar00rootroot00000000000000 some text Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. DisplayDecimalPlaces: 0 If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. GenSigStartValue: 2400.0 Desired output frequency while in grid forming mode. GenSigStartValue: 500.0 Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. GenSigStartValue: 160.0 Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. GenSigStartValue: 2000.0 Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. GenSigStartValue: 1000.0 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. GenSigStartValue: 160.0 Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. GenSigStartValue: 605.0 Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. GenSigStartValue: 598.0 Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. GenSigStartValue: 570.0 Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. GenSigStartValue: 160.0 Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. GenSigStartValue: 160.0 Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. GenSigStartValue: 160.0 J1939 Source Address node for the module. GenSigStartValue: 247.0 Not presently used. GenSigStartValue: 65.0 CAN baudrate GenSigStartValue: 2.0 Configures action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. GenSigStartValue: 100.0 Maximum time required for the MX1 contactor to close. GenSigStartValue: 100.0 Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. DisplayDecimalPlaces: 0 If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. GenSigStartValue: 2400.0 Desired output frequency while in grid forming mode. GenSigStartValue: 500.0 Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Measured real power. Returns the actual measured power. Measured real power. Measured reactive power. Echoes the commanded power (P&Q) as received in CommandPQ. Echoed real power command. Echoed reactive power command. Bits representing the status of the power module. Active control mode. MX2 relay status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Indicates that DC bus voltage is within operating range. Indicates whether the switching devices are active. Status of the hardware enable. Echos the state of the Enable command withing the CommandModeControl message. Echos the state of the FaultClear command withing the CommandModeControl message. Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1 relay status K2 DC Run relay status. K1 precharge relay status. Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Operational status of the CAN bus driver. Echos the state of the EnableUPSMode command withing the CommandModeControl message. Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Flag indicating if voltage is detected on L1, L2 or L3. Echos the state of PhaseRotation_command withing the CommandModeControl message. Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Present voltage of the control board 5V power suppy. Present voltage of the control board 3.3V power supply. Present voltage of the control board 24V power supply. Present voltage of the control board 15V power supply. Returns the inlet water temperature to the module as well as module internal ambient temperature. Coolant inlet temperature Internal ambient temperature Power converter thermal loss Fault bits. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of AC current exceeding the threshold value. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of DC voltage exceeding the threshold value. Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Indicates loss of DC source voltage. Set upon the failure of control hardware to return expected response. Set immediately upon the software detection of DC current exceeding the threshold value. Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Indicates that reading of non-volatile parameters at power-up failed. Indicates that reading or writing of an non-volatile parameter section failed. RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Measured RMS AC voltage. Measured RMS AC current. Measured frequency. Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Measured DC bus voltage. Measured DC current. Estimated DC input voltage. Present voltage of the -15V power supply on the control board. Present voltage of the control board -15V power supply. Hottest diode Hottest IGBT Software revision. Software revision of the CAN communication interface. DisplayDecimalPlaces: 2 Software revision of the control firmware. DisplayDecimalPlaces: 2 Build timestamp. Echoes the voltage and frequency commands from commandVF. Echoed voltage command Echoed frequency command. Serial number of the power module. Serial number of the power module. Unique software revision identification hashcode. Unique revision identification hashcode. HexadecimalOutput: True Echos back parameter values. GenSigStartValue: 160.0 GenSigStartValue: 2000.0 GenSigStartValue: 1000.0 GenSigStartValue: 160.0 GenSigStartValue: 605.0 GenSigStartValue: 598.0 GenSigStartValue: 570.0 GenSigStartValue: 160.0 GenSigStartValue: 160.0 GenSigStartValue: 160.0 J1939 Source Address node for the module GenSigStartValue: 247.0 Mask used to configure from which master source addresses to accept commands. GenSigStartValue: 65.0 GenSigStartValue: 2.0 Configured action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. GenSigStartValue: 100.0 Maximum time required for the MX1 contactor to close. GenSigStartValue: 100.0 Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Measured RMS line currents. Measured L1 RMS line current. Measured L2 RMS line current. Measured L3 RMS line current. Measured RMS line voltages. Measured L1 RMS line-neutral voltage Measured L2 RMS line-neutral voltage Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/reference/from_sym/test.xls000066400000000000000000003140001416730473300220000ustar00rootroot00000000000000ࡱ>   \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     `b: K-Matrix B ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment UnitFF9B41xhCommandModeControlAPU2FaultClear_command!Clears the latched fault message. mNormal Clear FaultsErrorN/AEnable_commandRun command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.DisableEnableMasterFollowerMode_commandSpecifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.MasterFollowerForceRelayRelayK2_DCRun_comandIf set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.Force OnForceRelayK1_Precharge_commandForceRelayMX2_commandForceRelayMX1_commandPhaseRotation_command_Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMINGNegativePositiveEnableSplitPhase_command|Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.Normal - Three Phase ModeEnable Split Phase ModeEnableUPSMode_commandEnables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.InvertHwEnable_command/Inverts the logic of the Hardware Enable input. No invertInvertFFAB41xhCommandModeControl`Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. CFF9C41xhCommandPowerAPU2RealPower_command~Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. -90000..90000WReactivePower_commandCommanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.VA CFF9E41xh CommandVFAPU2Voltage_command2Desired output voltage while in grid forming mode.10..500 0.1 VrmsFrequency_command4Desired output frequency while in grid forming mode.45..650.1 Hz CFFAA41xhCommandSetNVParamCommandSetNVParam_MUX Mode Signal: Param0LVM_ClearingTimes1LVM_ClearingTimes2 LFM_LimitsLFM_ClearingTimesJ1939_Interface Fault_ConfigContactorDelays1ContactorDelays2ContactorDelays3DummyMode 0:0..65535FreqHiMode 3:Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.40..70 FreqVeryLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.160..160msK2Open;Mode 10:Maximum time required for the K2 contactor to open.0..2000MX1Open;Mode 7:Maximum time required for the MX1 contactor to open.0..5000MX2Close;Mode 8:Maximum time required for the MX2 contactor to open.NodeID0Mode 5:J1939 Source Address node for the module.0..247VOver120Mode 2:Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.1..30000 VUnder50pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.ThermalOverloadGMode 6:Configures action to take when thermal overload input is active.WarningFaultSA_MaskMode 5:Not presently used.0..255BaudrateMode 5:CAN baudrate125K250K500K1MFreqLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.K1Open:Mode 8:Maximum time required for the K1 contactor to open.K2Close<Mode 10:Maximum time required for the K2 contactor to close.MX1Close<Mode 7:Maximum time required for the MX1 contactor to close. V50to88pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.Mode 3:Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.K1Close;Mode 8:Maximum time required for the K1 contactor to close.MX2Open;Mode 7:Maximum time required for the MX2 contactor to open. V110to120pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. CFFAC41xh CommandPowerRealPower command CFFAE41xh CommandVF CFFAF41xhCommandFactoryControlWriteSerialNumber FactoryAccess SerialNumber0..4.29497e+09 CFFC2F7xhStatusACParameters100VoltageAC_measuredMeasured RMS AC voltage.-3276.8..3276.70.1 VCurrentAC_measuredMeasured RMS AC current. -32768..32767AFrequency_measuredMeasured frequency. CFFC3F7xh StatusBits FaultClr_echoQEchos the state of the FaultClear command withing the CommandModeControl message. Enable_echoMEchos the state of the Enable command withing the CommandModeControl message. State_statusActive control mode."Power On Reset, and a quoted commaReady FollowingFormingPowerCircuitEnabled_status3Indicates whether the switching devices are active.DisabledEnabledPowerAvailDC_status8Indicates that DC bus voltage is within operating range.None AvailablePowerAvailAC_status^Indicates that AC power is connected and that voltage and frequency are within nominal ranges.HardwareEnable_statusStatus of the hardware enable. Not ActiveActiveK2DCRunPermissive_statusK2 DC Run relay status.OpenClosedK1PrechargePermissive_statusK1 precharge relay status.MX2Permissive_statusMX2 relay statusMX1Permissive_statusMX1 relay status CANbus_status)Operational status of the CAN bus driver. ErrorPassiveMessageValidVF_statusIndicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.InvalidValidMessageValidPowerCMD_statusIndicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.MessageValidModeControl_statusIndicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.LineVoltageDetected_status7Flag indicating if voltage is detected on L1, L2 or L3. No_VoltageVoltage_DetectedPhaseRotation_statusaPhase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.EnableSplitPhase_echoWEchos the state of the EnableSplitPhase command withing the CommandModeControl message.EnableUPSMode_e<choTEchos the state of the EnableUPSMode command withing the CommandModeControl message.PhaseRotation_echoPEchos the state of PhaseRotation_command withing the CommandModeControl message. CFFC8F7xh StatusFaultsOvercurrentDC_statusXSet immediately upon the software detection of DC current exceeding the threshold value. Fault ActiveLossOfAC_statusIn grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.OvercurrentAC_statusXSet immediately upon the software detection of AC current exceeding the threshold value.GeneralFault_statuspWill be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.OvertempPowerDevice_statusaSet immediately upon the software detection of an IGBT temperature exceeding the threshold value.OvertempInternal_statusnSet immediately upon the software detection of an internal inverter temperature exceeding the threshold value.UndervoltageDC_status$Indicates loss of DC source voltage.OvervoltageDC_statusXSet immediately upon the software detection of DC voltage exceeding the threshold value.LossValidControlMessage_statusSet whenever a control message required for operation contains out of range data or has not been received within the required timeout period.ControlHardwareFail_statusESet upon the failure of control hardware to return expected response.InvalidEESection_statusNIndicates that reading or writing of an non-volatile parameter section failed.InvalidEEHeader_statusEIndicates that reading of non-volatile parameters at power-up failed.IllegalTransition_statusIndicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.EStopShutdown_statusSet when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.BridgeBVoltageOk_status5Indicates whether a hardware trip has been activated.BridgeBFault_statusEach bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.FLT_AFLT_C OverVoltageFLT_B Overcurrent5VBridgeAVoltageOk_statusBridgeAFault_status CFFCAF6xhMasterMeasuredPowerRealPower_measured#Measured real power of master unit.-2.14748e+09..2.14748e+09ReactivePower_measured'Measured reactive power of master unit. CFFCAF7xhStatusMeasuredPowerMeasured real power.Measured reactive power. 18FFC4F7xhStatusCommandedPowerRealPower_echoEchoed real power command.ReactivePower_echoEchoed reactive power command. 18FFC9F7xhStatusCommandVF Voltage_echoEchoed voltage command 0..6553.5Frequency_echoEchoed frequency command. 18FFCBF7xh StatusTempsTempInlet_measuredCoolant inlet temperature0.1 CTempInternal_measuredInternal ambient temperatureConverterLossesPower converter thermal loss 18FFD0F7xhStatusLineCurrentsL1Current_measuredMeasured L1 RMS line current.L2Current_measuredMeasured L2 RMS line current.L3Current_measuredMeasured L3 RMS line current. 18FFD1F7xhStatusLineVoltagesL1Voltage_measured$Measured L1 RMS line-neutral voltageL2Voltage_measured$Measured L2 RMS line-neutral voltageL3Voltage_measured$Measured L3 RMS line-neutral voltage 1CFFA9F7xh StatusNVParamStatusNVParam_MUX ActParam0ActLVM_ClearingTimes1ActLVM_ClearingTimes2 ActLFM_LimitsActLFM_ClearingTimesStatusJ1939_InterfaceStatusFault_ConfigStatusContactorDelays1StatusContactorDelays2StatusContactorDelays35..10Mode 3:Mode 4: StatusK2Open:Mode 9:Maximum time required for the K2 contactor to open. StatusMX1OpenStatusMX2Close StatusNodeID/Mode 5:J1939 Source Address node for the moduleMode 2:Mode 1:StatusThermalOverloadGMode 6:Configured action to take when thermal overload input is active. StatusSA_MaskTMode 5:Mask used to configure from which master source addresses to accept commands.StatusBaudrateMode 5: StatusK1Open StatusK2Close;Mode 9:Maximum time required for the K2 contactor to close.StatusMX1Close StatusK1Close StatusMX2Open 1CFFABC0xhstringAndOther 1CFFACC0xh justString 1CFFC1F7xh softwareRev ControlSwRev*Software revision of the control firmware. 0..655.350.01 - InterfaceRev5Software revision of the CAN communication interface. BuildTimeBuild timestamp. 1CFFC5F7xhStatusControlVoltage v5p0_Supply4Present voltage of the control board 5V power suppy.-327.68..327.670.01 V v3p3_Supply7Present voltage of the control board 3.3V power supply. v24_Supply6Present voltage of the control board 24V power supply. v15_Supply6Present voltage of the control board 15V power supply. 1CFFC6F7xhStatusControlVolts2 n15V_Supply7Present voltage of the control board -15V power supply.DiodeTemperature Hottest diodeCIGBTTemperature Hottest IGBT 1CFFC7F7xhStatusDCParametersVoltageDCInput_measuredEstimated DC input voltage.V VoltageDCBusMeasured DC bus voltage.CurrentDC_measuredMeasured DC current. 1CFFCCF7xh serialNumber"Serial number of the power module. 1CFFCDF7xhsoftwareRevHashHash(Unique revision identification hashcode.0..2.68435e+08    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                     ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~          ~    ~           ~    ~  !        ~    ~          ~    ~         " #~    ~       " #~        ~   $    " #~        ~       " #~        ~        % #~        ~        % #~        ~   $     % #~        ~        % #~        ~       & #~        ~       & #~        ~   $    & #~        ~       & #~        ~       ' #~        ~       ' #~        ~   $    ' #~        ~       ' #~        ~      " ( )~        ~   *   " ( )~        ~   +   " ( )~        ~        " ( )~    ~   ! ! ! !!"  !, !-~ !  !  !  ! ~ !  !.!" " " """  ", "-~ "  "  "  " ~ "  "/"# # # ##"  #, #-~ #  #  #  # ~ #  ##$ $ $ $$"  $, $-~ $  $  $  $ ~ $  $$% % % %%" %0 %1~ %  %  %  % ~ %  %%& & & &&" &0 &1~ &  &  &  & ~ &  &&' ' ' ''" '0 '1~ '  '  '  ' ~ '  ''( ( ( ((" (0 (1~ (  (  (  ( ~ (  (() ) ) ))" )2 )3~ )  )  )  ) ~ )  )4)* * * **" *2 *3~ *  *  *  * ~ *  *5*+ + + ++" +2 +3~ +  +  +  + ~ +  ++, , , ,," ,2 ,3~ ,  ,  ,  , ~ ,  ,,- -6 -7 -- - -~ -  -  -  - ~ -  --. .6 .7 .. . .~ .  .  .  . ~ .  ../ /6 /7 // / /~ /  /  /  / ~ /  //0 06 07 00 0 0~ 0  0  0  0 ~ 0  001 16 17 11 1 1~ 1  1  1  1 ~ 1  112 26 27 22 2 2~ 2  2  2  2 ~ 2  223 36 37 33 3 3~ 3  3  3  3 ~ 3  334 46 47 44 4 4~ 4  4  4  4 ~ 4  445 56 57 55 5 5~ 5  5  5  5 ~ 5  5 56 66 67 66 6 6~ 6  6  6  6 ~ 6  6!67 76 77 77 7 7~ 7  7  7  7 ~ 7  778 86 87 88 8 8~ 8  8  8  8 ~ 8  889 96 97 99 9" 9#~ 9  9  9  9 ~ 9  99: :6 :7 :: :" :#~ :  :  :  : ~ :  :$:; ;6 ;7 ;; ;" ;#~ ;  ;  ;  ; ~ ;  ;;< <6 <7 << <" <#~ <  <  <  < ~ <  <<= =6 =7 ==  =% =#~ =  =  =  = ~ =  ==> >6 >7 >>  >% >#~ >  >  >  > ~ >  >$>? ?6 ?7 ??  ?% ?#~ ?  ?  ?  ? ~ ?  ??@ @6 @7 @@  @% @#~ @  @  @  @ ~ @  @@A A6 A7 AA A& A#~ A  A  A  A ~ A  AAB B6 B7 BB B& B#~ B  B  B  B ~ B  B$BC C6 C7 CC C& C#~ C  C  C  C ~ C  CCD D6 D7 DD D& D#~ D  D  D  D ~ D  DDE E6 E7 EE E' E#~ E  E  E  E ~ E  EEF F6 F7 FF F' F#~ F  F  F  F ~ F  F$FG G6 G7 GG G' G#~ G  G  G  G ~ G  GGH H6 H7 HH H' H#~ H  H  H  H ~ H  HHI I6 I7 II" I( I8~ I  I  I  I ~ I  I*IJ J6 J7 JJ" J( J8~ J  J  J  J ~ J  J+JK K6 K7 KK" K( K8~ K  K  K  K ~ K  KKL L6 L7 LL" L( L8~ L  L  L  L ~ L  LLM M6 M7 MM"  M, M-~ M  M  M  M ~ M  M.MN N6 N7 NN"  N, N-~ N  N  N  N ~ N  N/NO O6 O7 OO"  O, O-~ O  O  O  O ~ O  OOP P6 P7 PP"  P, P-~ P  P  P  P ~ P  PPQ Q6 Q7 QQ" Q0 Q1~ Q  Q  Q  Q ~ Q  QQR R6 R7 RR" R0 R1~ R  R  R  R ~ R  RRS S6 S7 SS" S0 S1~ S  S  S  S ~ S  SST T6 T7 TT" T0 T1~ T  T  T  T ~ T  TTU U6 U7 UU" U2 U3~ U  U  U  U ~ U  U4UV V6 V7 VV" V2 V3~ V  V  V  V ~ V  V5VW W6 W7 WW" W2 W3~ W  W  W  W ~ W  WWX X6 X7 XX" X2 X3~ X  X  X  X ~ X  XXY Y9 Y: YY Y; Y<~ Y  Y  Y  Y Y  Y= Y>Z Z9 Z: ZZ Z? Z@~ Z  Z  Z  Z Z  Z= ZA[ [B [C [[ [D [E~ [ B [  [  [ [  [F [G\ \B \C \\ \H \I~ \ B \  \  \ \  \J \K] ]L ]M ]] ]N ]O~ ] B ]  ]  ] ~ ]  ]P]^ ^L ^M ^^ ^N ^O~ ^ B ^  ^  ^ ~ ^  ^Q^_ _L _M __ _N _O~ _ B _  _  _ ~ _  _R_` `L `M `` `N `O~ ` B `  `  ` ~ `  `S`a aL aM aa aN aO~ a B a  a  a ~ a  aTab bL bM bb bN bO~ b B b  b  b ~ b  bUbc cL cM cc cN cO~ c B c  c  c ~ c  cVcd dL dM dd dN dO~ d B d  d  d ~ d  dWde eL eM ee eN eO~ e B e  e  e ~ e " eXef fL fM ff fN fO~ f B f  f  f ~ f * fYfg gL gM gg gZ g[~ g B g  g  g g  g\gh hL hM hh h] h^~ h B h  h  h h  h_ hKi iL iM ii i` ia~ i B i  i  i i  ib icj jL jM jj jd je~ j B j  j  j j  jf jck kL kM kk kg kh~ k B k  k  k k  ki kcl lL lM ll lj lk~ l B l  l  l l  lf lcm mL mM mm ml mm~ m " m  m  m m  mnmn nL nM nn no np~ n B n  n  n n  nqno oL oM oo or os~ o B o  o  o o  oq ocp pL pM pp pt pu~ p  p  p  p ~ p  pvpq qL qM qq qt qu~ q  q  q  q ~ q  qwqr rL rM rr rt ru~ r  r  r  r ~ r  rrs sL sM ss st su~ s  s  s  s ~ s  sst tL tM tt tx ty~ t " t  t  t t  tztu uL uM uu u{ u|~ u  u  u  u ~ u  u}uv vL vM vv v{ v|~ v  v  v  v ~ v  v~vw wL wM ww w{ w|~ w  w  w  w ~ w  wwx xL xM xx x{ x|~ x  x  x  x ~ x  xxy yL yM yy y y~ y B y  y  y y  yq ycz zL zM zz z z~ z B z  z  z z  zf zc{ {L {M {{ { {~ { B {  {  { {  {f {c| |L |M || | |~ | B |  |  | |  |f |c} }L }M }} } }~ } B }  }  } }  }q }c~ ~L ~M ~~ ~] ~~ ~ B ~  ~  ~ ~  ~b ~c L M  ` ~  B        _ K L M   ~ B     f c L M   ~ B     c L M   ~ B     q c     <~      = >    ? @~      = A    D E~ B     F G    H I~ B     J K    ~    ~      ~    ~      ~    ~      ~    ~      ~ B     \    ~            ~ B            ~ B            ~ B      K      ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  w      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~ "       ~    ~ &       ~    ~ *       ~    ~ .       ~    ~ 2       ~    ~ 6       ~    ~ :       ~    ~ >        ~    ~         ~    ~         ~    ~         ~    ~          ~    ~          ~    ~          ~    ~          ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  v      ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~  *       ~    ~  +       ~    ~         ~    ~        ~    ~  .      ~    ~  /      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  *      ~    ~  +      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~          ~        ~           ~        ~           ~        ~           ~        ~          ~        ~          ~        ~          ~        ~          ~        ~          ~        ~            ~        ~             ~        ~             ~        ~            ~        ~            ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~          ~        ~          ~        ~          ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~           ~        ~    ! ! ! ! !! ! !~ !  !  !  ! ~ !  !!" " " " "" " "~ "  "  "  " ~ "  ""# # # # ## # #~ #  #  #  # ~ #  ##$ $ $ $ $$ $t$~ $  $  $  $ ~ $  $$% % % % %% %t%~ %  %  %  % ~ %  %%& & & & && &t&~ &  &  &  & ~ &  &&' ' ' ' '' 't'~ '  '  '  ' ~ '  ''( ( ( ( (( ( (~ (  (  (  ( ~ (  (() ) ) ) )) ) )~ )  )  )  ) ~ )  ))* * * * ** * *~ *  *  *  * ~ *  **+ + + + ++ + +~ +  +  +  + ~ +  ++, , , , ,, , ,~ ,  ,  ,  , ~ ,  ,,- - - - -- - -~ -  -  -  - ~ -  - -. . . . .. . .~ .  .  .  . ~ .  ../ / / / // / /~ /  /  /  / ~ /  / /0 0 0 0 00 0 0~ 0  0  0  0 ~ 0  0 01 1 1 1 11 1 1~ 1  1  1  1 ~ 1  1 12 2 2 2 22 2 2~ 2  2  2  2 ~ 2  2 23 3 3 3 33 3 3~ 3  3  3  3 ~ 3  334 4 4 4 44" 4 4~ 4  4  4  4 ~ 4  445 5 5 5 55" 5 5~ 5  5  5  5 ~ 5  556 6 6 6 66" 6 6~ 6  6  6  6 ~ 6  667 7 7 7 77" 7 7~ 7  7  7  7 ~ 7  778 8 8 8 88" 8 8~ 8  8  8  8 ~ 8  889 9 9 9 99" 9 9~ 9  9  9  9 ~ 9  9 9: : : : ::" : :~ :  :  :  : ~ :  ::; ; ; ; ;;" ; ;~ ;  ;  ;  ; ~ ;  ; ;< < < < <<" < <~ <  <  <  < ~ <  < <= = = = ==" = =~ =  =  =  = ~ =  = => > > > >>" > >~ >  >  >  > ~ >  > >? ? ? ? ??" ? ?~ ?  ?  ?  ? ~ ?  ??@ @ @ @@ @ @~ @  @  @  @ @  @ @>A A A AA A A~ A  A  A  A A  A AAB B B B BB B B~ B  B  B  B B  B B>C C C C CC C C~ C  C  C  C C  C CAD D D D DD D D~ D  D  D  D D  D D>E E E E EE E  E!~ E  E  E  E E  E EAF F" F# F FF F$ F%~ F B F  F  F F  F& FGG G" G# G GG G' G(~ G B G  G  G G  G& GKH H) H* H HH H+ H,~ H B H  H  H H  H H-I I) I* I II I. I/~ I B I  I  I I  I I-J J) J* J JJ J0 J1~ J B J  J  J  J  J>K K2 K3 K KK K4 K5~ K B K  K  K  K  KL L2 L3 L LL L6 L7~ L B L  L  L  L  LM M2 M3 M MM M8 M9~ M B M  M  M  M  MN N: N; N NN N< N=~ N B N  N  N  N  NGO O: O; O OO O> O?~ O B O  O  O  O  OGP P: P; P PP P@ PA~ P B P  P  P  P  PGQ QB QC QQ QD QO~ Q B Q  Q  Q ~ Q  QEQR RB RC RR RD RO~ R B R  R  R ~ R  RFRS SB SC SS SD SO~ S B S  S  S ~ S  SGST TB TC TT TD TO~ T B T  T  T ~ T  THTU UB UC UU UD UO~ U B U  U  U ~ U  UIUV VB VC VV VD VO~ V B V  V  V ~ V  VJVW WB WC WW WD WO~ W B W  W  W ~ W  WKWX XB XC XX XD XO~ X B X  X  X ~ X  XLXY YB YC YY YD YO~ Y B Y  Y  Y ~ Y " YMYZ ZB ZC ZZ ZD ZO~ Z B Z  Z  Z ~ Z & ZNZ[ [B [C [[ [Z [[~ [ B [  [  [ [  [O[\ \B \C \\ \] \P~ \ B \  \  \ \  \_ \K] ]B ]C ]] ]` ]Q~ ] B ]  ]  ] ]  ]b ]c^ ^B ^C ^^ ^R ^S~ ^ B ^  ^  ^ ^  ^f ^c_ _B _C __ _T _h~ _ B _  _  _ _  _i _c` `B `C `` `U `k~ ` B `  `  ` `  `f `ca aB aC aa aV aW~ a " a  a  a a  anab bB bC bb bo bX~ b B b  b  b b  bqbc cB cC cc cr cY~ c B c  c  c c  cq ccd dB dC dd dZ d[~ d  d  d  d ~ d  dvde eB eC ee eZ e[~ e  e  e  e ~ e  ewef fB fC ff fZ f[~ f  f  f  f ~ f  ffg gB gC gg gZ g[~ g  g  g  g ~ g  ggh hB hC hh h\ h]~ h " h  h  h h  hzhi iB iC ii i iQ~ i B i  i  i i  iq icj jB jC jj j^ j_~ j  j  j  j ~ j  j}jk kB kC kk k^ k_~ k  k  k  k ~ k  k~kl lB lC ll l^ l_~ l  l  l  l ~ l  llm mB mC mm m^ m_~ m  m  m  m ~ m  mmn nB nC nn n` n~ n B n  n  n n  nf nco oB oC oo oa ob~ o B o  o  o o  of ocp pB pC pp pc p~ p B p  p  p p  pf pcq qB qC qq q qY~ q B q  q  q q  qq qcr rB rC rr r] rQ~ r B r  r  r r  rb rcs sB sC ss s` sP~ s B s  s  s s  s_ sKt tB tC tt td t~ t B t  t  t t  tf tcu uB uC uu ue u~ u B u  u  u  u  ucv vB vC vv v vY~ v B v  v  v v  vq vcw wf wg ww w w~ w  w  w  w w  w w>x xh xi"xy yj yk yy yl ym~ y B y  y  y y  yn yoz zj zk zz zp zq~ z B z  z  z z  zn zo{ {j {k {{ {r {s~ {  {  {  { {  {{| |t |u | || |v |w~ | B |  |  | |  |x |y} }t }u } }} }z }{~ } B }  }  } }  }x }y~ ~t ~u ~ ~~ ~| ~}~ ~ B ~  ~  ~ ~  ~x ~y t u   ~ ~  B        x y      ~  B        x y      ~  B               ~  B               ~  B               ~  B               ~  B              ~               ~  r        >@A    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryWorkbookcanmatrix-0.9.5/test/reference/from_sym/test.xlsx000066400000000000000000000772201416730473300222020ustar00rootroot00000000000000PK]LYYLxl/worksheets/sheet1.xml_Ǖo>BiPau<]}sPʵrc!!+QY(?>w_^~_˫~?|W7ǯO>|?W/?OO/~2p{^_x`?0?0|<.DK/}]XBK//DKqdH}å2ׯCҏK?>/X_օ2~ ./\z>qdH}åG^j~l\)yǗ^"K_ֺPݛXxN[T ~7=K8IEH}䥟_zԗ~/}]XB_KK#ԗ^^_ǑM"zz8K$/KK}Z\%\ .DK^^_ǑM"_~_Ǘ^"֗.u\K .=WK/_K//&_+/}^m\W|p-S_{~QYQ)syWet$2ejN 3`˲%X XB]YQ)p \Y X8,p8Y,t^>xx&dz{fe`A2`ʊJWKD$. , dz{f! XDeEtG+φkfA2cBe8Y,&~ YG%$e4!*+*;:p \Y XlL@2`h _2짚3ҰKXCˀxCTVTʽ,L \Y X"8Yx,҉C~aj]B#Z,@$R9baXȂdBe0 GHEZVj.-`QYQ)Ѭ@=un=I$<dqf X8.[,d=c PB dMdA2`!22YH8Gˀu~ڑwd%-"xGTVTʽb,kdM`25 Ae=lAwQ @_.".YzK;Z,;R.]BdMdA2`!2YHxGˀw zG.-xzK;Z,;R.G7p(g,-QYQ)('YY XL@2`!w_hy>w XwDeEGiM܀H͉ew Xm^ Xz>-QYQ) XȂdBe Qc/ޱBC; hL 2X8 J\X ;R2R8ĝZC; hʊJ"x dBe Q@C; hʊJ ,ϦvM]g,$-~G{& Xz!-QYQ)p \Y XL@2`}L#gB; hʊJW!bk"  QL@ Q}0/w2`2D4& yG,$eB8;rC:wK/~ʊJWui[Ewb ǃs^Ǚ2Dž`{ `{p8KՌ Y XfDeE G`A'X X4L@2`!joD3b{ҌCV3TdA2`2, KĂO 7d!h7=h7Y8ЀɀhFTVTpX4,H,DQ& h7=hi1G0`2nqV2===w2wh?3`!G0 ͈ʊJ,Ds5ɀH3`!-Q4cҌcV3TdA2`r( eMdA2`!jo B2`!joS=Ռ8 ͈ʊJWH3ʚȂdBmЌ G͈zf/=4Ռ8 ͈ʊJ xs oej4vY& FˀўIQq`A2`Ÿ}%X4,H,?Ͽd~%joq籥l{; FTVTʽ,L rF 7d!h7Bqz1-QYQ)}ZD$"(w XG/c;Z,;Rvc4֞[]@=d!h7/Ǭw2`2X84XH|zL@2`!joqw25 #*+*ezpY5,_K7&2erQ{$ޱ/w2`2u תeMd!q;)2YHxGˀqXwqJxGˀxGTVTq LD[{Z,D2YH7Z,D6A_gB;N hʊJW@ >ɚȂdBe GX~xv,d {EY:dMdA2`!jo B2`!joFV{S;Z,;R1b!Z,$nY& h7N/4z:w XwDeELOu/D[{Z,Ds Bv mZsqJxGˀxGTVTt~`!w5;d!-~ljޑwqJxGˀxGTVTʴD,D& `!l Q$VS;Z,;R;8ESe QDB;Y8'ejfxGTVT|m5 &Lg,$2ejN 6A_gB; hʊJ#x B;Αw B;Z,D3# s;Y8'e#*+*eD,D& ;d!h;Yz9-QYQ)G,S x:XHxDf X8zzp dz{f!w XwDeEGV4X65֞Q& ~Gˀў- ~9w XwDeEG5Y7XL@2`!wqw2`r( SĂܪ,ȺB(DeB8w~8g yX~ZDd`!2YHxGˀqw~w2`2Gs4֞1w B2`!wg)[s; hʊJ,D?_-k"  w B;Z,D3#nk`A2r=:>u7ښdi!2!joR3.145TA2r( Q{ 0H0L! Df `K C3^d<#*+*:G0D& 00$Dc"Y0D WƥזhfE0H0@4RK k  KC4&2eC/W;ȖifM0H04R莎& p aHDf `8ƱqU㵥/8ha݁`ie%cCB&f2!!t$: 3MCGgAѧ3]ё|HHZ!YZY*{鸄tHH%#]Lh:D_u_LWtd]C:$D:+YZY*{C:deCBBЦ!qrڇxԭS]m|%YZY* (`'/lgB+7$Y |Dg0,["Aw?P8-ǡMCDb$,N,{_!Ix=tr+ ÙLC/#$+3MCd"$,ӐеI~~I>$?PʭԂd!(^51y4DLfbbO/L9Ɋ/ɇ$:p9RZD?xOr,%$=Lh9Yȉ= 0$L$r{ )KVjqr 9L N,ŷk̉HǡMCJNi&']ڦvj!pѦTn'Qp+~Us){:Rc"sDh0vLY?="-QDDEieJ-(}x:@a 85/2P@o?+*S SVʭԢ"v>zQQZY*{88|pqh8i]Aus]񑖪]FZ|PTns~Q 㭛u/TWxujѩ"ԩ(,xL!\a)<"c~GS@OuGZvj!ARgyTqy)ӑmƣ&B=> x+(ִXS  ZSVʭ_Q< XSMvAC!PdEtLB|hB$GƖZ|ЖT5ʌKǂm#n!Ss=>!tKڒ^2BBKRKi|ʄMӑA>MCgs=>!uGZ^2BTVf|X|t!Dh\W|%N-D>NQZY*Rcq Elb};·{gDu* uj!BujOTRMuzIKFZPTn'C|GMთӑ;M6 ৶jsVB9BEieJ-Nq=o,!DZHЦ!r2y SmN*Q"'T(,[I؟zS{CGN2Ц!rU{‰69I;KƩZЩTn'arÏ{j'qL"dT-DNؤjOC'D%-W/j!rBRdoΣDZ2#Vw &m"&\?ѣzIKƶZжTn%mHC&>PWջ󁄒mM6 saPksdH +J+KVjQv^D>[R['PIL ;TiPϸW r+589^$dSo=uNG"'2 9I6 58AMՆ"-\ppEieJ-(^c Fo=?lNG(2Ц!BU{ܰJI_7Y)Ke/21nEKinR|>Hksj\,iqO{֞ 89iEieJxOZ-SN$YMCĄ՞1PkWub?T*WxK+Ke/qTpiy|SBЦ!RQ{nh>-U{iL,ELUQZY*RýjOk8IF&B = tZQ9՝I^.R=^ţ.,/Q4yZpZaqh8.e6)V?-J{:PRד|i>!qLhi~3i=Lo4bECZtFH(J+Ke/9 'HC}wiICFЦ!j>zov}Z|҇)4X4P}T/4}w4dzKMC!ݤ}0)izsKҠ)0PpTnnr {jamKMC |6bU m €}&J+KVj!( |wA2BdRz hAL_kX\RfO04J lLLSL:de"idP_Ӏ^YIRGRB&JVjN>z\H,ENGz2V34Dzh5iuRKtPRGRB{JQ*R-()ׁON,U{w# =DhaO>Y0ZC?wVFXHJXԥ}8JVlDSt$n`88iOE~p+D|{]0S^rfdVKf,EfL{"3W0#]|i~oHA0c)2#)a觡|dRd&20"3G 6WI^uH{A0c)2#)a|dRd&20"3mc_ȷ M: R0C!Reyf=s_N_Nma&ӊj!243cюb_ɌHmRKijLtg$Be>;ꊙ 3"3fyQ*{əBfldRd&8ҳ!d`!2sό⎱9ꊙmF0{T3s ՒKH608i}GTW̤M(VI{ Mx2`8:ўu[Oёma&#-DfOoN\AH[R&%4Cs%4ZBc)Bh6 /e=<s]A{U@VX^rh[- ls4ZЄ7kAS\WФUR"4)B&l9xn9I>KȌC ea&-Df9>xN`M}ԛpi=Ҁm ls3Cq1B=Eh>xN`MBC|/94蓮C ls4l!B6GO㹮I95EhR>xF%&}u4"4m&-DhYt0w4M:K620"3aosi/NG"36y4DfF=Eh2"4)| eЄwu4"4 9MF[ЄxGӴ״ lM_iQ*{ɡ !0h,Eh`d:-Dheh״ dLJ_)Q*{ə o!0f,EfBs  ;"ik_S.XSd&傯t([9ʫ34ϸ3` 3XM3ה I+e0Je/94QBcXЄ2X4l!Bv_Eˎii|M`M TCs V\Bc)Bv&l!Bv_E(sG W/GxfFS`fOݙa%cI`  o˸; K3q"3JM E f,Ձ3X 3`_ :} niZHC"4@%&MàdAh2Wh}8EhZ6kq =u6x/94Aà:uB 3x TWdecf22XS d0Ke/93}u3"3 9LBjL; cN3q"3JM0f,53X 3`_ :} hZYeR2XSR F%&}u44](m@m. GM״]w))Bm0Je/94o: K3X 4`_ :hGs<3iܥlLw(D!g0f,EfBls Հ3xv4]SwiܥdLJSf($3Q|Ry= Xj3}Af6_ 9.;;{Фep"4) 2^rhD: KP&#u5& GMwiܥlMw(Ќ!4eKh,Eh`$:}5& GM3ҥep"3)QT33̘X%3"3 9LFjL; .K`M Q*җ3Ei=X f`$:}5`& )S&- I26R&6`] :#4i.m I6kuK3X 4`_ :pG e%%5f,Ef.(̜FC23櫩\.v I ]0JVjh.}G0c̄6t[̄2Es \L_Q*{əa0f,EfBls  ;/t ͥ/i|I`M KL2u3"3u28ibe3S]1V I@f%g&OcRd&T6ɨ` ~&|<3i|I`M Tn~&~G4sJMsK _u2  e"3i|I`M T3#aX̄& 3l!2_h4M%m/))22`^rf'[1c)2vd&l!2v_s? E%%5EfR"BRKLqcRd&6Ɉ` +""=%5EfRBRZ(>SJMSK^u2  m | 3}))0c)2T2s3aFS`=fMC`{n}))2==0Je/93]Ȍ 3"3aOAf2="3aOp/*㩮I{>5EfRF%g&8[1c)2z`d5EfRF%g&u3"3aGAf2"3aGp/*fGp}k̤z3`:y4DfS`Cs S&XSd&eǁKqjKd&c-Dfhi1ǔ I*1FV+XЄ=6[Є=`2*xL`M Q*{əBfdŒLm2Q"3a(* &xL`M iQ*RkC>Gz0c̄w9L"3]m nh7&xL`M iQ*{ə !V+X̄& 3l!26beCTcZ))BR#U0Je/94蓮V mBi  Gs`LR#NGL)84Df¦`fS6sk HJiQ*{I9[-9 `&4f)x TsZ))BR3U0Je/94]I 4]M)84Dh¦6i6i$oMC$l佊&ioi{{M[MޢTn%f9]EcNhOGL74DfF^f#5mo){)2W[^rfB{kf,Efߛ{9LZ̄WUikZ^SVS&oԷ(mOZRBiM6 *̴yY}%OX;3,d̜Gkft`S53#53Ц[74h9ꊙ|LZʘeJ9`F4T7{n>3FLhyuzCL~I>f&co-e޲T3s%3eɌLpkg$쭆LȻ_hZշ_[K4з,!4ZR9Ц!B}4|sdcf2FR .Ke/93} 3"3%u2"3Q#>z|BiIuV~I>&#y-e@TC(']@c)B[Y 4 !B40'4_gch2R /Ke/94~ 4"4%uBp"4G<qhZ2_`K4,!4ZRfIfBM`_V/o:k$C2h`Y*{ɡYBhK%&a3MChg@#6x~ hZ6_`K4,[YM͞5Dḧ́6 Wi5]w))0#)a F%e mXt 9L"itQ3>}t:4iܥtMJw(OZƚy MBḧ́6 w >v:ꊙR:XSd&;`^rf{ 3%d&MCd&jG#5mp]k̤l=u`6;O2s.>zdf$]Hdqh9.{̤mp"3) d6^rfBlfR6t$2Ц!2Ns]A]kФlpGRKMhmMw 9M[D]hԔ]Zw))2e0Je/93 3)܅2 3l!25N]SwiܥdMJw(Є2V+Фdp`ddM;uMܥep"4)QTC`[@](mB"4G:ةk.- I2kV`Bs IgBMpC}4x\64h.(МFXМhl@m4 NҴ|=Fnw RKkaKo&#t8iD'şv): %)")r+ϣ$ED缀K]AI<m")Ё{$HDFO(Xo3LL *u%U9Ysg# +2 Yy4DVO0~UI ދER'%x/([Bs%NXaBOJ^(xQ*R8Jxt.|w4'Jxd8iBxqSJ7%KM)ce~TGɊ8[oJuL`E&!+CJ}^iFR~߽Wx,ExR~BRϣGDaKLBx6 [= |z|\ u+B4BZ~RKJi@Hy D !Ц!2/L6H㹮IՁ> 7,,t!!4”ńdm"!}_:"$M;O a7-J+Ke/9![ aJĄdm"!^|O>z|\W T 7,,!!4”DŽp!qh 9Z]|)>zxnޟuEHZ"KKڌ~RKNbK#!L !CLHNЦ!r}HHBwBwB |#R$7,,䄌!!4”2Ƅdn{m"!^#!\W T 7,,L!!4”2ńdnrm"!G=ZG"$RBHHmDaie%'d 9&$sGDh 9J+uEHu`b)R7~RFI{9ݷW?G4&B[q}z|`EEڣ))RARZTwm}G78Pߣt "sDh yf󘶩cʦj (,[iԊu[ =>?$$4N{c8I;1T5ENTQZY*R9u~Ma#r:iNM6 6㺺ڤr")t(,[EJxQ$ HBJNЦ!;{ڤr")t(,[EJجz={K*ߝ$dUMC$ͪ4TkSUS$r+H {UGRЫ)Lj"iUU-OH 1%X5E,(XQZY*R 1ĂZVs<Ƚ\Ц!r1 {fV\Ҫ"Ԫ(,[Eؖ:/vu[KIu:piKM6 %LXzuLUMUVʭ"%} #2JA q_l~Z֫cJjPTؓ.M 9dm"!' BZg\WUR"!T(,\CBdiBH5$$Ӳm"!GQl->93 SڱN)Ǫ)2ѱTr 4)r:9H"iLx~GS@OuHZN))BRyI)ӑ!dܪݪ<Xa6SʤjXФTnwФN"vͷgؤ$EƤZ\Фړ1j3M2")4(,[EJhRpBH@ɈDhA M[AV 2"!4(,䄄ݪ4!R$x$VM6 ş1#!^\Weꔒ"!(,䄄ݪ4!R$d t&BHH#]hU~x+BZuJiUMjUV^rBnU[b)2dUMC$$II+Wu<!i:tHu*J+KVjCoO"JG|N'nw>X3>54DD-{DWRkZN))BRZ]rhP>;IH&BH VqF6II)W5ERWQZY*RugGܾWR[YOGR2Ц!VV{B4HӞuNyVMr+5H9±M[KǾ#$B@=bODRmRuN WM WVʭ_B{s%)Һ7 X;H@DhApݫ 2"'4(,[Ih`gэFB-92p"'\$ŜsʿjпTn'(Ete|$%#`MC4GT%a甇IEieJ-R ~E%[OGR88i $.X뜒"(,[E:7o-e[׸U&,2"d'+[WڤTv㋕;yo\:QV^(-r<eǡMC>Q/d%+Y3>[OᇎI, KoXzb-KXzfYX^Xz*UguYn9uR| LQZY*{970ե\S|`*?L-zO55=,FRPQDieJ9x M]BS{KDPxK zK}DR-T\DIMr+5EV5VOG⛼LBTMC@eu_@O49Sr{@F]*{IoN$VM$BЦ!QxTE$*BHSF%JVjFIIt:ГЦ!COXIO`.&KJMʭzW "RuR,5e'#5-Dz(5i=jғJR)r+5i謕[O+# =љm"=4K5i"߂~FR q |┮h ȞAX28m",){Pz,Ez2zؗRZoTrc)ns$BO"=?JnYF]TPQI =u@ ˱1Jan̾[OA$dTMCD (gDqQ~uo=5 ]^jAfW&22fB$fWO:=[P.lK^ʭK;ͺꭧ^D^ ^ycOE5-{qI@+/JVjl`R񗶦HG&!=Ц!s =j:ﵥtCݪ[Ok-,aie%}WWֱLڅNG'2"dI9?#0 .Ġ.,\B li GlCA}^iC~çoo~_?},}Ï_~~9oa?~O_}_>> ?}Ӈoǟ?|~^?_,7?PK]Lۓxl/workbook.xml_O0)J7l.Fh4:dC]!.?۫s`s-2sxEŧMo˳1/kC}"Wp77-jRpO"ZՈQQYpaOXa%^kP=ĢܻZM%>1޶xCLq Q iz<خI2^BTBY&[6ѩtY8N=HݿKAQja5:d RY:~>U}M+cӟ[90Ua|Mʳ"!MJ"5˱z= J7+>Ӕ쥄o5.v/r )$/4= \C@SD*gc'Y\sPKaO-bX!\y;@jr@p"&2i7:& 9)]Q%-@w}@OxsK/%܂(9YhG&za}Nl N NBw/l GZD;i^cnнD["?D-zz5 n-`c}?}M1 D_`^[c#×PO#!IY_,>N_!> L>twrUN)pd'\"7ze d]&@ۘ*уeU #}̔grp s \<'\]Z1<)OD8\bB$BWę;:*&Wz`0szΪ ~aJ#gx, !j0t.6{e"o-d80?AVnie"[\ʓ*QA2gvBOTJVHBZ o7 nqǹqs;o'X :ҥyƺQQr|<3}kxn0CoKk`/5|KKf/'f>x)T㿇cBaXd[h 6(h GLK&_W}f}Yc*ڻ(u1np_`4ǿ 7F|'X>zcP@'-%S<: :n,xR" F-y⠺Veno^a6 HV)P7NtRO^0UN'[o41@B,f}aP^nmn =K{mI92B^Y89ӍsdъjD֫0l9016sQweŎ4L< bܻu)杓mFR;3kxaRb_iǎ;K[2`yo(Śr"Fe`'ȝ>KU14jg ײ ?[s$$֟3 lKƀ9r#Z:AUw5pF<|p&MJiE\ո%&^N8#H>x8G+X!Z%jû=_D/8Ϭudjw iuGdo!es{Į}RȾۣc,X4K?/oCr+*XqAXL;N춡c OȼMzbգ18Ջ~e!֓\lʮ==`pv:N`3?kw@-#7fW{)I1~6!3[׾=BGQ6=7F69Y]7ô.mсl@ [/b˵7/' JCPtvA*@`1*[^ۯ~^5}|C2~ 5``7IV=N~k?PLlD`)P8,O:Fnn[,F5';aU F'[RGR;Fӏ!U6_x=M#:qJPSV,/% ГѭCkUgsͫQ.O\/]KykRhit|zᅰ(G];=f[c# ɤlի al4rLMw!ƨyd:uF (NƖO9Uy[/7}QXc;<@vX5tUn[y[j7d9ၧѷl:ڴ~Ά塿+9必9;T1+KLE`apSNor״>x4/F=`t|%K[9zY ]²3FBJATTeQdLp|v=<XlgJjt+;bPPK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]Lp%PdocProps/core.xmln0}q@YIڊS*7^j#mׄ@zf]\T ,G hnԻ }%>0-Xc4TC-3\Ҟr[}bYt(nS,ey> ,0|v$)?ch@7SnC\9 ֳ8^ƶmv[c~VSq@u)8X0.u0V[ ⩋aS$gs^<ӢXB3:-6Ǒ7xr~PK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]LYYLxl/worksheets/sheet1.xmlPK]LۓYxl/workbook.xmlPK]LIJ@K[xl/sharedStrings.xmlPK]L%|mdocProps/app.xmlPK]Lp%PndocProps/core.xmlPK]La]I:Op[Content_Types].xmlPK]L7 M qxl/styles.xmlPK]LFTRsxl/theme/theme1.xmlPK]LIK y_rels/.relsPK]LDu[zxl/_rels/workbook.xml.relsPK {canmatrix-0.9.5/test/reference/from_sym/test.xml000066400000000000000000012624211416730473300220040ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 16755521 218082369 218082881 218090230 218083137 218081857 16751425 218078273 218078785 218090231 486517952 486517696 218090231 419415287 218088439 486524407 419417079 218089719 218088183 486524919 486524663 486523383 419416567 486526199 486526455 486517239 419418359 419418615 PDU_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 6 true 4 true 62 true 60 true 58 true 38 true 36 true 34 true 32 true 56 true 22 true PDU_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 true 32 true PDU_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 true 16 true PDU_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_CommandFactoryControl 8 APPLICATION 6 true 32 true 16 true PDU_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 0 true 16 true 16 true 32 true 48 true 16 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 24 true 32 true 22 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 32 true PDU_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 6 true 4 true 62 true 60 true 58 true 38 true 36 true 34 true 32 true 56 true 22 true PDU_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 true 32 true PDU_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 true 16 true PDU_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_justString 8 APPLICATION PDU_stringAndOther 8 APPLICATION 0 true PDU_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 0 true 32 true PDU_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 0 true 32 true PDU_StatusBits Bits representing the status of the power module. 8 APPLICATION 4 true 20 true 12 true 10 true 8 true 14 true 2 true 0 true 30 true 22 true 16 true 18 true 28 true 26 true 24 true 38 true 36 true 34 true 32 true 46 true PDU_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 0 true 16 true 32 true 48 true PDU_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 0 true 16 true 32 true PDU_StatusFaults Fault bits. 8 APPLICATION 60 true 4 true 44 true 14 true 8 true 10 true 16 true 12 true 20 true 0 true 6 true 2 true 30 true 61 true 45 true 28 true 26 true 24 true 38 true PDU_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 0 true 16 true 32 true PDU_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 16 true 32 true 0 true PDU_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 0 true 32 true 48 true PDU_softwareRev Software revision. 8 APPLICATION 16 true 0 true 32 true PDU_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 0 true 16 true PDU_serialNumber Serial number of the power module. 8 APPLICATION 0 true PDU_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 0 true PDU_StatusNVParam Echos back parameter values. 8 APPLICATION 0 true 16 true 16 true 32 true 48 true 16 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 24 true 32 true 22 true 16 true 32 true 48 true 16 true 32 true 48 true 16 true 32 true PDU_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 0 true 16 true 32 true PDU_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 0 true 16 true 32 true FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_MasterMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_CommandFactoryControl 8 APPLICATION 0 false FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 APPLICATION 0 false FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 APPLICATION 0 false FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 APPLICATION 0 false FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 APPLICATION 0 false FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 APPLICATION 0 false FRAME_justString 8 APPLICATION 0 false FRAME_stringAndOther 8 APPLICATION 0 false FRAME_StatusMeasuredPower Returns the actual measured power. 8 APPLICATION 0 false FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 APPLICATION 0 false FRAME_StatusBits Bits representing the status of the power module. 8 APPLICATION 0 false FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 APPLICATION 0 false FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 APPLICATION 0 false FRAME_StatusFaults Fault bits. 8 APPLICATION 0 false FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 APPLICATION 0 false FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 APPLICATION 0 false FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 APPLICATION 0 false FRAME_softwareRev Software revision. 8 APPLICATION 0 false FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 APPLICATION 0 false FRAME_serialNumber Serial number of the power module. 8 APPLICATION 0 false FRAME_softwareRevHash Unique software revision identification hashcode. 8 APPLICATION 0 false FRAME_StatusNVParam Echos back parameter values. 8 APPLICATION 0 false FRAME_StatusLineCurrents Measured RMS line currents. 8 APPLICATION 0 false FRAME_StatusLineVoltages Measured RMS line voltages. 8 APPLICATION 0 false Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. FreqVeryLo Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. FreqLo Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. FreqHi Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. NodeID J1939 Source Address node for the module. SA_Mask Not presently used. Baudrate CAN baudrate ThermalOverload Configures action to take when thermal overload input is active. MX1Open Maximum time required for the MX1 contactor to open. MX1Close Maximum time required for the MX1 contactor to close. MX2Open Maximum time required for the MX2 contactor to open. MX2Close Maximum time required for the MX2 contactor to open. K1Open Maximum time required for the K1 contactor to open. K1Close Maximum time required for the K1 contactor to close. K2Open Maximum time required for the K2 contactor to open. K2Close Maximum time required for the K2 contactor to close. Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. FaultClear_command Clears the latched fault message. InvertHwEnable_command Inverts the logic of the Hardware Enable input. EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Voltage_command Desired output voltage while in grid forming mode. Frequency_command Desired output frequency while in grid forming mode. RealPower_measured Measured real power of master unit. ReactivePower_measured Measured reactive power of master unit. RealPower_measured Measured real power. RealPower_measured Measured real power. ReactivePower_measured Measured reactive power. RealPower_echo Echoed real power command. ReactivePower_echo Echoed reactive power command. State_status Active control mode. MX2Permissive_status MX2 relay status PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. PowerAvailDC_status Indicates that DC bus voltage is within operating range. PowerCircuitEnabled_status Indicates whether the switching devices are active. HardwareEnable_status Status of the hardware enable. Enable_echo Echos the state of the Enable command withing the CommandModeControl message. FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1Permissive_status MX1 relay status K2DCRunPermissive_status K2 DC Run relay status. K1PrechargePermissive_status K1 precharge relay status. MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. CANbus_status Operational status of the CAN bus driver. EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. v5p0_Supply Present voltage of the control board 5V power suppy. v3p3_Supply Present voltage of the control board 3.3V power supply. v24_Supply Present voltage of the control board 24V power supply. v15_Supply Present voltage of the control board 15V power supply. TempInlet_measured Coolant inlet temperature TempInternal_measured Internal ambient temperature ConverterLosses Power converter thermal loss BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. UndervoltageDC_status Indicates loss of DC source voltage. ControlHardwareFail_status Set upon the failure of control hardware to return expected response. OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. ThermalOverload VoltageAC_measured Measured RMS AC voltage. CurrentAC_measured Measured RMS AC current. Frequency_measured Measured frequency. VoltageDCBus Measured DC bus voltage. CurrentDC_measured Measured DC current. VoltageDCInput_measured Estimated DC input voltage. n15V_Supply Present voltage of the control board -15V power supply. DiodeTemperature Hottest diode IGBTTemperature Hottest IGBT InterfaceRev Software revision of the CAN communication interface. ControlSwRev Software revision of the control firmware. BuildTime Build timestamp. Voltage_echo Echoed voltage command Frequency_echo Echoed frequency command. SerialNumber Serial number of the power module. Hash Unique revision identification hashcode. StatusNVParam_MUX Dummy VUnder50pct V50to88pct V110to120pct VOver120 FreqHi FreqLo FreqVeryLo FreqVeryLo FreqLo FreqHi StatusNodeID J1939 Source Address node for the module StatusSA_Mask Mask used to configure from which master source addresses to accept commands. StatusBaudrate StatusThermalOverload Configured action to take when thermal overload input is active. StatusMX1Open Maximum time required for the MX1 contactor to open. StatusMX1Close Maximum time required for the MX1 contactor to close. StatusMX2Open Maximum time required for the MX2 contactor to open. StatusMX2Close Maximum time required for the MX2 contactor to open. StatusK1Open Maximum time required for the K1 contactor to open. StatusK1Close Maximum time required for the K1 contactor to close. StatusK2Open Maximum time required for the K2 contactor to open. StatusK2Close Maximum time required for the K2 contactor to close. L1Current_measured Measured L1 RMS line current. L2Current_measured Measured L2 RMS line current. L3Current_measured Measured L3 RMS line current. L1Voltage_measured Measured L1 RMS line-neutral voltage L2Voltage_measured Measured L2 RMS line-neutral voltage L3Voltage_measured Measured L3 RMS line-neutral voltage Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA WriteSerialNumber SerialNumber FactoryAccess CommandSetNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms NodeID SA_Mask Baudrate ThermalOverload MX1Open ms MX1Close ms MX2Open ms MX2Close ms K1Open ms K1Close ms K2Open ms K2Close ms Enable_command FaultClear_command InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand PhaseRotation_command MasterFollowerMode_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz RealPower_measured W ReactivePower_measured VA RealPower_measured W RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA State_status MX2Permissive_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status HardwareEnable_status Enable_echo FaultClr_echo MessageValidModeControl_status MX1Permissive_status K2DCRunPermissive_status K1PrechargePermissive_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V TempInlet_measured C TempInternal_measured C ConverterLosses W BridgeAVoltageOk_status OvercurrentAC_status BridgeBVoltageOk_status OvervoltageDC_status OvertempPowerDevice_status OvertempInternal_status LossValidControlMessage_status UndervoltageDC_status ControlHardwareFail_status OvercurrentDC_status GeneralFault_status LossOfAC_status EStopShutdown_status BridgeAFault_status BridgeBFault_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz VoltageDCBus V CurrentDC_measured A VoltageDCInput_measured V n15V_Supply V DiodeTemperature C IGBTTemperature C InterfaceRev ControlSwRev BuildTime Voltage_echo Vrms Frequency_echo Hz SerialNumber Hash StatusNVParam_MUX Dummy VUnder50pct ms V50to88pct ms V110to120pct ms VOver120 FreqHi Hz FreqLo Hz FreqVeryLo Hz FreqVeryLo ms FreqLo ms FreqHi ms StatusNodeID StatusSA_Mask StatusBaudrate StatusThermalOverload StatusMX1Open ms StatusMX1Close ms StatusMX2Open ms StatusMX2Close ms StatusK1Open ms StatusK1Close ms StatusK2Open ms StatusK2Close ms L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 1.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_RealPower command Coding for RealPower command COMPUMETHOD_RealPower command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_WriteSerialNumber Coding for WriteSerialNumber COMPUMETHOD_WriteSerialNumber LINEAR 0.0 3.0 0.0 1.0 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_FactoryAccess Coding for FactoryAccess COMPUMETHOD_FactoryAccess LINEAR 0.0 65535.0 0.0 1.0 1 CODING_CommandSetNVParam_MUX Coding for CommandSetNVParam_MUX COMPUMETHOD_CommandSetNVParam_MUX LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 0.0 65535.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 0.0 1.0 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 0.0 1.0 1 CODING_NodeID Coding for NodeID COMPUMETHOD_NodeID LINEAR 0.0 247.0 0.0 1.0 1 CODING_SA_Mask Coding for SA_Mask COMPUMETHOD_SA_Mask LINEAR 0.0 255.0 0.0 1.0 1 CODING_Baudrate Coding for Baudrate COMPUMETHOD_Baudrate LINEAR 0.0 3.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 1.0 0.0 1.0 1 CODING_MX1Open Coding for MX1Open COMPUMETHOD_MX1Open LINEAR 0.0 5000.0 0.0 1.0 1 CODING_MX1Close Coding for MX1Close COMPUMETHOD_MX1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_MX2Open Coding for MX2Open COMPUMETHOD_MX2Open LINEAR 0.0 1.0 0.0 1.0 1 CODING_MX2Close Coding for MX2Close COMPUMETHOD_MX2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K1Open Coding for K1Open COMPUMETHOD_K1Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K1Close Coding for K1Close COMPUMETHOD_K1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K2Open Coding for K2Open COMPUMETHOD_K2Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_K2Close Coding for K2Close COMPUMETHOD_K2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 1.0 0.0 1.0 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 1.0 0.0 1.0 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 0.0 1.0 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 0.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 0.0 0.1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_RealPower_echo Coding for RealPower_echo COMPUMETHOD_RealPower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_ReactivePower_echo Coding for ReactivePower_echo COMPUMETHOD_ReactivePower_echo LINEAR -2147483648.0 2147483647.0 0.0 1.0 1 CODING_State_status Coding for State_status COMPUMETHOD_State_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_MX2Permissive_status Coding for MX2Permissive_status COMPUMETHOD_MX2Permissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerAvailAC_status Coding for PowerAvailAC_status COMPUMETHOD_PowerAvailAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerAvailDC_status Coding for PowerAvailDC_status COMPUMETHOD_PowerAvailDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_PowerCircuitEnabled_status Coding for PowerCircuitEnabled_status COMPUMETHOD_PowerCircuitEnabled_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_HardwareEnable_status Coding for HardwareEnable_status COMPUMETHOD_HardwareEnable_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_Enable_echo Coding for Enable_echo COMPUMETHOD_Enable_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_FaultClr_echo Coding for FaultClr_echo COMPUMETHOD_FaultClr_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidModeControl_status Coding for MessageValidModeControl_status COMPUMETHOD_MessageValidModeControl_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MX1Permissive_status Coding for MX1Permissive_status COMPUMETHOD_MX1Permissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_K2DCRunPermissive_status Coding for K2DCRunPermissive_status COMPUMETHOD_K2DCRunPermissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_K1PrechargePermissive_status Coding for K1PrechargePermissive_status COMPUMETHOD_K1PrechargePermissive_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidPowerCMD_status Coding for MessageValidPowerCMD_status COMPUMETHOD_MessageValidPowerCMD_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_MessageValidVF_status Coding for MessageValidVF_status COMPUMETHOD_MessageValidVF_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_CANbus_status Coding for CANbus_status COMPUMETHOD_CANbus_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableUPSMode_echo Coding for EnableUPSMode_echo COMPUMETHOD_EnableUPSMode_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_EnableSplitPhase_echo Coding for EnableSplitPhase_echo COMPUMETHOD_EnableSplitPhase_echo LINEAR 0.0 3.0 0.0 1.0 1 CODING_PhaseRotation_status Coding for PhaseRotation_status COMPUMETHOD_PhaseRotation_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_LineVoltageDetected_status Coding for LineVoltageDetected_status COMPUMETHOD_LineVoltageDetected_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_PhaseRotation_echo Coding for PhaseRotation_echo COMPUMETHOD_PhaseRotation_echo LINEAR 0.0 1.0 0.0 1.0 1 CODING_v5p0_Supply Coding for v5p0_Supply COMPUMETHOD_v5p0_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v3p3_Supply Coding for v3p3_Supply COMPUMETHOD_v3p3_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v24_Supply Coding for v24_Supply COMPUMETHOD_v24_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_v15_Supply Coding for v15_Supply COMPUMETHOD_v15_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_TempInlet_measured Coding for TempInlet_measured COMPUMETHOD_TempInlet_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_TempInternal_measured Coding for TempInternal_measured COMPUMETHOD_TempInternal_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_ConverterLosses Coding for ConverterLosses COMPUMETHOD_ConverterLosses LINEAR 0.0 1.0 0.0 1.0 1 CODING_BridgeAVoltageOk_status Coding for BridgeAVoltageOk_status COMPUMETHOD_BridgeAVoltageOk_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_OvercurrentAC_status Coding for OvercurrentAC_status COMPUMETHOD_OvercurrentAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_BridgeBVoltageOk_status Coding for BridgeBVoltageOk_status COMPUMETHOD_BridgeBVoltageOk_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_OvervoltageDC_status Coding for OvervoltageDC_status COMPUMETHOD_OvervoltageDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_OvertempPowerDevice_status Coding for OvertempPowerDevice_status COMPUMETHOD_OvertempPowerDevice_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_OvertempInternal_status Coding for OvertempInternal_status COMPUMETHOD_OvertempInternal_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_LossValidControlMessage_status Coding for LossValidControlMessage_status COMPUMETHOD_LossValidControlMessage_status LINEAR 0.0 15.0 0.0 1.0 1 CODING_UndervoltageDC_status Coding for UndervoltageDC_status COMPUMETHOD_UndervoltageDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_ControlHardwareFail_status Coding for ControlHardwareFail_status COMPUMETHOD_ControlHardwareFail_status LINEAR 0.0 15.0 0.0 1.0 1 CODING_OvercurrentDC_status Coding for OvercurrentDC_status COMPUMETHOD_OvercurrentDC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_GeneralFault_status Coding for GeneralFault_status COMPUMETHOD_GeneralFault_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_LossOfAC_status Coding for LossOfAC_status COMPUMETHOD_LossOfAC_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_EStopShutdown_status Coding for EStopShutdown_status COMPUMETHOD_EStopShutdown_status LINEAR 0.0 3.0 0.0 1.0 1 CODING_BridgeAFault_status Coding for BridgeAFault_status COMPUMETHOD_BridgeAFault_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_BridgeBFault_status Coding for BridgeBFault_status COMPUMETHOD_BridgeBFault_status LINEAR 0.0 7.0 0.0 1.0 1 CODING_IllegalTransition_status Coding for IllegalTransition_status COMPUMETHOD_IllegalTransition_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_InvalidEEHeader_status Coding for InvalidEEHeader_status COMPUMETHOD_InvalidEEHeader_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_InvalidEESection_status Coding for InvalidEESection_status COMPUMETHOD_InvalidEESection_status LINEAR 0.0 1.0 0.0 1.0 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 1.0 0.0 1.0 1 CODING_VoltageAC_measured Coding for VoltageAC_measured COMPUMETHOD_VoltageAC_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_CurrentAC_measured Coding for CurrentAC_measured COMPUMETHOD_CurrentAC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Frequency_measured Coding for Frequency_measured COMPUMETHOD_Frequency_measured LINEAR -3276.8 3276.7000000000003 0.0 0.1 1 CODING_VoltageDCBus Coding for VoltageDCBus COMPUMETHOD_VoltageDCBus LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_CurrentDC_measured Coding for CurrentDC_measured COMPUMETHOD_CurrentDC_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_VoltageDCInput_measured Coding for VoltageDCInput_measured COMPUMETHOD_VoltageDCInput_measured LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_n15V_Supply Coding for n15V_Supply COMPUMETHOD_n15V_Supply LINEAR -327.68 327.67 0.0 0.01 1 CODING_DiodeTemperature Coding for DiodeTemperature COMPUMETHOD_DiodeTemperature LINEAR 0.0 1.0 0.0 1.0 1 CODING_IGBTTemperature Coding for IGBTTemperature COMPUMETHOD_IGBTTemperature LINEAR 0.0 1.0 0.0 1.0 1 CODING_InterfaceRev Coding for InterfaceRev COMPUMETHOD_InterfaceRev LINEAR 0.0 655.35 0.0 0.01 1 CODING_ControlSwRev Coding for ControlSwRev COMPUMETHOD_ControlSwRev LINEAR 0.0 655.35 0.0 0.01 1 CODING_BuildTime Coding for BuildTime COMPUMETHOD_BuildTime LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_Voltage_echo Coding for Voltage_echo COMPUMETHOD_Voltage_echo LINEAR 0.0 6553.5 0.0 0.1 1 CODING_Frequency_echo Coding for Frequency_echo COMPUMETHOD_Frequency_echo LINEAR 0.0 6553.5 0.0 0.1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0.0 1.0 1 CODING_Hash Coding for Hash COMPUMETHOD_Hash LINEAR 0.0 268435455.0 0.0 1.0 1 CODING_StatusNVParam_MUX Coding for StatusNVParam_MUX COMPUMETHOD_StatusNVParam_MUX LINEAR -32768.0 32767.0 0.0 1.0 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 5.0 10.0 0.0 1.0 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 0.0 1.0 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 0.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 0.0 1.0 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 0.0 1.0 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 0.0 1.0 1 CODING_StatusNodeID Coding for StatusNodeID COMPUMETHOD_StatusNodeID LINEAR 0.0 247.0 0.0 1.0 1 CODING_StatusSA_Mask Coding for StatusSA_Mask COMPUMETHOD_StatusSA_Mask LINEAR 0.0 255.0 0.0 1.0 1 CODING_StatusBaudrate Coding for StatusBaudrate COMPUMETHOD_StatusBaudrate LINEAR 0.0 3.0 0.0 1.0 1 CODING_StatusThermalOverload Coding for StatusThermalOverload COMPUMETHOD_StatusThermalOverload LINEAR 0.0 1.0 0.0 1.0 1 CODING_StatusMX1Open Coding for StatusMX1Open COMPUMETHOD_StatusMX1Open LINEAR 0.0 5000.0 0.0 1.0 1 CODING_StatusMX1Close Coding for StatusMX1Close COMPUMETHOD_StatusMX1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusMX2Open Coding for StatusMX2Open COMPUMETHOD_StatusMX2Open LINEAR 0.0 1.0 0.0 1.0 1 CODING_StatusMX2Close Coding for StatusMX2Close COMPUMETHOD_StatusMX2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK1Open Coding for StatusK1Open COMPUMETHOD_StatusK1Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK1Close Coding for StatusK1Close COMPUMETHOD_StatusK1Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK2Open Coding for StatusK2Open COMPUMETHOD_StatusK2Open LINEAR 0.0 2000.0 0.0 1.0 1 CODING_StatusK2Close Coding for StatusK2Close COMPUMETHOD_StatusK2Close LINEAR 0.0 2000.0 0.0 1.0 1 CODING_L1Current_measured Coding for L1Current_measured COMPUMETHOD_L1Current_measured LINEAR 0.0 1.0 0.0 1.0 1 CODING_L2Current_measured Coding for L2Current_measured COMPUMETHOD_L2Current_measured LINEAR 0.0 1.0 0.0 1.0 1 CODING_L3Current_measured Coding for L3Current_measured COMPUMETHOD_L3Current_measured LINEAR 0.0 1.0 0.0 1.0 1 CODING_L1Voltage_measured Coding for L1Voltage_measured COMPUMETHOD_L1Voltage_measured LINEAR 0.0 1.0 0.0 0.1 1 CODING_L2Voltage_measured Coding for L2Voltage_measured COMPUMETHOD_L2Voltage_measured LINEAR 0.0 1.0 0.0 0.1 1 CODING_L3Voltage_measured Coding for L3Voltage_measured COMPUMETHOD_L3Voltage_measured LINEAR 0.0 1.0 0.0 0.1 1 canmatrix-0.9.5/test/reference/from_sym/test.yaml000066400000000000000000003765331416730473300221570ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: {} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} Receivable: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: BOOL False True, type: null} Sendable: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: BOOL False True, type: null} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 16755521 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandModeControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: Enable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: FaultClear factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: InvertHwEnable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: EnableUPSMode factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: EnableSplitPhase factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {DisplayDecimalPlaces: '0'} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. comments: {} enumeration: PhaseRotation factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: MasterFollower factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218082369 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218082881 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '2400.0'} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '500.0'} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218090230 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: MasterMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218083137 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandFactoryControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: Enable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: WriteSerialNumber offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FactoryAccess offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218081857 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 10: ContactorDelays3} name: CommandSetNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 10: ContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {0: '', 1: Line Voltage Monitor fault times., 2: Line Voltage Monitor fault times., 3: Line Frequency Monitor limits., 4: Line Frequency Monitor Trip times, 5: J1939 interface parameters, 6: 'Allows configuration of various fault conditions to either trip the drive, or provide a warning status via CAN', 7: Sets the time the controller assumes it will take for contactors to open/close., 8: Sets the time the controller assumes it will take for contactors to open/close., 10: Sets the time the controller assumes it will take for contactors to open/close.} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: true is_signed: true max: 32767.0 min: -32768.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CommandSetNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '2000.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '1000.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '605.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '598.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '570.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '247.0'} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: NodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '65.0'} calc_max_for_none: true calc_min_for_none: true comment: Not presently used. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: SA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {GenSigStartValue: '2.0'} calc_max_for_none: true calc_min_for_none: true comment: CAN baudrate comments: {} enumeration: Baudrate factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: Baudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configures action to take when thermal overload input is active. comments: {} enumeration: FaultConfig factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '100.0'} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '100.0'} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: MX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 10 muxValMax: 0 muxValMin: 0 mux_val: 10 mux_value: null muxerForSignal: null name: K2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 10 muxValMax: 0 muxValMin: 0 mux_val: 10 mux_value: null muxerForSignal: null name: K2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms size: 8 transmitter: [] - !!Frame _Id: 16751425 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Operational commands are received by the module via control bits within this message. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandModeControlAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. comments: {} enumeration: Enable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Clears the latched fault message. comments: {} enumeration: FaultClear factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Inverts the logic of the Hardware Enable input. comments: {} enumeration: InvertHwEnable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. comments: {} enumeration: EnableUPSMode factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 58 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. comments: {} enumeration: EnableSplitPhase factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 60 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {DisplayDecimalPlaces: '0'} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. comments: {} enumeration: RelayCommand factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING comments: {} enumeration: PhaseRotation factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 62 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. comments: {} enumeration: MasterFollower factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218078273 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218078785 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVFAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '2400.0'} calc_max_for_none: true calc_min_for_none: true comment: Desired output voltage while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '500.0'} calc_max_for_none: true calc_min_for_none: true comment: Desired output frequency while in grid forming mode. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'False', Sendable: 'True'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: MasterMeasuredPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power of master unit. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 486517952 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: justString receiver: [] signalGroups: [] signals: [] size: 8 transmitter: [] - !!Frame _Id: 486517696 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: '' extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: stringAndOther receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W size: 8 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Returns the actual measured power. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured real power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured reactive power. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 419415287 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Echoes the commanded power (P&Q) as received in CommandPQ. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandedPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed real power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed reactive power command. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 2147483647.0 min: -2147483648.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_echo offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: VA size: 8 transmitter: [] - !!Frame _Id: 218088439 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Bits representing the status of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusBits receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: 'Power On Reset, and a quoted comma', 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Active control mode. comments: {} enumeration: State factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: State_status offset: 0.0 receiver: [] signalsize: 4 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX2 relay status comments: {} enumeration: Relay factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 18 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that AC power is connected and that voltage and frequency are within nominal ranges. comments: {} enumeration: PowerAvail factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that DC bus voltage is within operating range. comments: {} enumeration: PowerAvail factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether the switching devices are active. comments: {} enumeration: IGBTsEnabled factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerCircuitEnabled_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Not Active, 1: Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Status of the hardware enable. comments: {} enumeration: WakeUpSignal factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: HardwareEnable_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the Enable command withing the CommandModeControl message. comments: {} enumeration: Enable factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the FaultClear command withing the CommandModeControl message. comments: {} enumeration: FaultClear factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClr_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: MessageValid factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidModeControl_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: MX1 relay status comments: {} enumeration: Relay factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K2 DC Run relay status. comments: {} enumeration: Relay factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2DCRunPermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 22 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: K1 precharge relay status. comments: {} enumeration: Relay factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1PrechargePermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: MessageValid factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidPowerCMD_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. comments: {} enumeration: MessageValid factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidVF_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Operational status of the CAN bus driver. comments: {} enumeration: CANStatus factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CANbus_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableUPSMode command withing the CommandModeControl message. comments: {} enumeration: EnableUPSMode factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of the EnableSplitPhase command withing the CommandModeControl message. comments: {} enumeration: EnableSplitPhase factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 34 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. comments: {} enumeration: PhaseRotation factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_status offset: 0.0 receiver: [] signalsize: 2 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Flag indicating if voltage is detected on L1, L2 or L3. comments: {} enumeration: LineVoltagePresent factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LineVoltageDetected_status offset: 0.0 receiver: [] signalsize: 2 startbit: 38 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echos the state of PhaseRotation_command withing the CommandModeControl message. comments: {} enumeration: PhaseRotation factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 40 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486524407 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusControlVoltage receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 5V power suppy. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v5p0_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 3.3V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v3p3_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 24V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v24_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board 15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v15_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: V size: 8 transmitter: [] - !!Frame _Id: 419417079 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Returns the inlet water temperature to the module as well as module internal ambient temperature. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusTemps receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Coolant inlet temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInlet_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Internal ambient temperature comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInternal_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Power converter thermal loss comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ConverterLosses offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: W size: 8 transmitter: [] - !!Frame _Id: 218089719 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Fault bits. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusFaults receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of AC current exceeding the threshold value. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 2 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates whether a hardware trip has been activated. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 43 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC voltage exceeding the threshold value. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempPowerDevice_status offset: 0.0 receiver: [] signalsize: 2 startbit: 14 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempInternal_status offset: 0.0 receiver: [] signalsize: 2 startbit: 12 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossValidControlMessage_status offset: 0.0 receiver: [] signalsize: 4 startbit: 20 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates loss of DC source voltage. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: UndervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 10 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set upon the failure of control hardware to return expected response. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlHardwareFail_status offset: 0.0 receiver: [] signalsize: 4 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set immediately upon the software detection of DC current exceeding the threshold value. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 6 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: GeneralFault_status offset: 0.0 receiver: [] signalsize: 2 startbit: 0 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossOfAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 4 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EStopShutdown_status offset: 0.0 receiver: [] signalsize: 2 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: BridgeFlt factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 56 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. comments: {} enumeration: BridgeFlt factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 40 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IllegalTransition_status offset: 0.0 receiver: [] signalsize: 2 startbit: 26 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading of non-volatile parameters at power-up failed. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEEHeader_status offset: 0.0 receiver: [] signalsize: 2 startbit: 28 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Indicates that reading or writing of an non-volatile parameter section failed. comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEESection_status offset: 0.0 receiver: [] signalsize: 2 startbit: 30 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: Fault factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 32 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218088183 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusACParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC voltage. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured RMS AC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentAC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured frequency. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 3276.7000000000003 min: -3276.8 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 486524919 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusDCParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC bus voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCBus offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured DC current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentDC_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Estimated DC input voltage. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 32767.0 min: -32768.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCInput_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V size: 8 transmitter: [] - !!Frame _Id: 486524663 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Present voltage of the -15V power supply on the control board. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusControlVolts2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Present voltage of the control board -15V power supply. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: true max: 327.67 min: -327.68 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: n15V_Supply offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest diode comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: DiodeTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Hottest IGBT comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IGBTTemperature offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: C size: 8 transmitter: [] - !!Frame _Id: 486523383 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: Software revision. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRev receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {DisplayDecimalPlaces: '2'} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the CAN communication interface. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 655.35 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InterfaceRev offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {DisplayDecimalPlaces: '2'} calc_max_for_none: true calc_min_for_none: true comment: Software revision of the control firmware. comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 655.35 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlSwRev offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Build timestamp. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BuildTime offset: 0.0 receiver: [] signalsize: 32 startbit: 56 unit: '' size: 8 transmitter: [] - !!Frame _Id: 419416567 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Echoes the voltage and frequency commands from commandVF. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed voltage command comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Echoed frequency command. comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 6553.5 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_echo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 486526199 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: Serial number of the power module. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: serialNumber receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Serial number of the power module. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0.0 receiver: [] signalsize: 32 startbit: 24 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526455 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: Unique software revision identification hashcode. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRevHash receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {HexadecimalOutput: 'True'} calc_max_for_none: true calc_min_for_none: true comment: Unique revision identification hashcode. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 268435455.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Hash offset: 0.0 receiver: [] signalsize: 28 startbit: 28 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486517239 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {Receivable: 'True', Sendable: 'True'} comment: Echos back parameter values. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} name: StatusNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {0: '', 1: '', 2: '', 3: '', 4: '', 5: J1939 interface parameters, 6: 'configuration of various fault conditions to either trip the drive, or provide a warning status via CAN', 7: Sets the time the controller assumes it will take for contactors to open/close., 8: Sets the time the controller assumes it will take for contactors to open/close., 9: Sets the time the controller assumes it will take for contactors to open/close.} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: true is_signed: true max: 32767.0 min: -32768.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 10.0 min: 5.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '2000.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '1000.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '605.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '598.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '570.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '160.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '247.0'} calc_max_for_none: true calc_min_for_none: true comment: J1939 Source Address node for the module comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusNodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '65.0'} calc_max_for_none: true calc_min_for_none: true comment: Mask used to configure from which master source addresses to accept commands. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusSA_Mask offset: 0.0 receiver: [] signalsize: 8 startbit: 24 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {GenSigStartValue: '2.0'} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: Baudrate factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusBaudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 36 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Configured action to take when thermal overload input is active. comments: {} enumeration: FaultConfig factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: StatusThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 16 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '100.0'} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {GenSigStartValue: '100.0'} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the MX2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusMX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K1 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 56 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to open. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Maximum time required for the K2 contactor to close. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: ms size: 8 transmitter: [] - !!Frame _Id: 419418359 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Measured RMS line currents. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineCurrents receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line current. comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Current_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: A size: 8 transmitter: [] - !!Frame _Id: 419418615 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', Receivable: 'True', Sendable: 'True'} comment: Measured RMS line voltages. extended: 1 is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineVoltages receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L1 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 8 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L2 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 24 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: Measured L3 RMS line-neutral voltage comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Voltage_measured offset: 0.0 receiver: [] signalsize: 16 startbit: 40 unit: Vrms size: 8 transmitter: [] globalDefines: {} signalDefines: DisplayDecimalPlaces: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenSigStartValue: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: FLOAT -3.4E+038 3.4E+038, max: 3.4e+38, min: -3.4e+38, type: FLOAT} HexadecimalOutput: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: BOOL False True, type: null} LongName: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: STR, type: null} valueTables: Baudrate: {0: 125K, 1: 250K, 2: 500K, 3: 1M} BridgeFlt: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} CANStatus: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} Enable: {0: Disable, 1: Enable, 2: Error, 3: N/A} EnableSplitPhase: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} EnableUPSMode: {0: Disable, 1: Enable, 2: Error, 3: N/A} Fault: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} FaultClear: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} FaultConfig: {0: Warning, 1: Fault, 2: Error, 3: N/A} IGBTsEnabled: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} InvertHwEnable: {0: No invert, 1: Invert, 2: Error, 3: N/A} LineVoltagePresent: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} MasterFollower: {0: Master, 1: Follower, 2: Error, 3: N/A} MessageValid: {0: Invalid, 1: Valid, 2: Error, 3: N/A} PhaseRotation: {0: Negative, 1: Positive, 2: Error, 3: N/A} PowerAvail: {0: None, 1: Available, 2: Error, 3: N/A} Relay: {0: Open, 1: Closed, 2: Error, 3: N/A} RelayCommand: {0: Normal, 1: Force On, 2: Error, 3: N/A} State: {0: 'Power On Reset, and a quoted comma', 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} WakeUpSignal: {0: Not Active, 1: Active, 2: Error, 3: N/A} canmatrix-0.9.5/test/reference/from_xls/000077500000000000000000000000001416730473300202715ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_xls/test.arxml000066400000000000000000016441261416730473300223330ustar00rootroot00000000000000 Cluster CAN CAN CommandModeControlAPU2 /Frame/FRAME_CommandModeControlAPU2 /Cluster/CAN/IPDUTRIGG_CommandModeControlAPU2 STANDARD 16751425 CommandModeControl /Frame/FRAME_CommandModeControl /Cluster/CAN/IPDUTRIGG_CommandModeControl STANDARD 16755521 CommandPowerAPU2 /Frame/FRAME_CommandPowerAPU2 /Cluster/CAN/IPDUTRIGG_CommandPowerAPU2 STANDARD 218078273 CommandVFAPU2 /Frame/FRAME_CommandVFAPU2 /Cluster/CAN/IPDUTRIGG_CommandVFAPU2 STANDARD 218078785 CommandSetNVParam /Frame/FRAME_CommandSetNVParam /Cluster/CAN/IPDUTRIGG_CommandSetNVParam STANDARD 218081857 CommandPower /Frame/FRAME_CommandPower /Cluster/CAN/IPDUTRIGG_CommandPower STANDARD 218082369 CommandVF /Frame/FRAME_CommandVF /Cluster/CAN/IPDUTRIGG_CommandVF STANDARD 218082881 CommandFactoryControl /Frame/FRAME_CommandFactoryControl /Cluster/CAN/IPDUTRIGG_CommandFactoryControl STANDARD 218083137 StatusACParameters /Frame/FRAME_StatusACParameters /Cluster/CAN/IPDUTRIGG_StatusACParameters STANDARD 218088183 StatusBits /Frame/FRAME_StatusBits /Cluster/CAN/IPDUTRIGG_StatusBits STANDARD 218088439 StatusFaults /Frame/FRAME_StatusFaults /Cluster/CAN/IPDUTRIGG_StatusFaults STANDARD 218089719 MasterMeasuredPower /Frame/FRAME_MasterMeasuredPower /Cluster/CAN/IPDUTRIGG_MasterMeasuredPower STANDARD 218090230 StatusMeasuredPower /Frame/FRAME_StatusMeasuredPower /Cluster/CAN/IPDUTRIGG_StatusMeasuredPower STANDARD 218090231 StatusCommandedPower /Frame/FRAME_StatusCommandedPower /Cluster/CAN/IPDUTRIGG_StatusCommandedPower STANDARD 419415287 StatusCommandVF /Frame/FRAME_StatusCommandVF /Cluster/CAN/IPDUTRIGG_StatusCommandVF STANDARD 419416567 StatusTemps /Frame/FRAME_StatusTemps /Cluster/CAN/IPDUTRIGG_StatusTemps STANDARD 419417079 StatusLineCurrents /Frame/FRAME_StatusLineCurrents /Cluster/CAN/IPDUTRIGG_StatusLineCurrents STANDARD 419418359 StatusLineVoltages /Frame/FRAME_StatusLineVoltages /Cluster/CAN/IPDUTRIGG_StatusLineVoltages STANDARD 419418615 StatusNVParam /Frame/FRAME_StatusNVParam /Cluster/CAN/IPDUTRIGG_StatusNVParam STANDARD 486517239 softwareRev /Frame/FRAME_softwareRev /Cluster/CAN/IPDUTRIGG_softwareRev STANDARD 486523383 StatusControlVoltage /Frame/FRAME_StatusControlVoltage /Cluster/CAN/IPDUTRIGG_StatusControlVoltage STANDARD 486524407 StatusControlVolts2 /Frame/FRAME_StatusControlVolts2 /Cluster/CAN/IPDUTRIGG_StatusControlVolts2 STANDARD 486524663 StatusDCParameters /Frame/FRAME_StatusDCParameters /Cluster/CAN/IPDUTRIGG_StatusDCParameters STANDARD 486524919 serialNumber /Frame/FRAME_serialNumber /Cluster/CAN/IPDUTRIGG_serialNumber STANDARD 486526199 softwareRevHash /Frame/FRAME_softwareRevHash /Cluster/CAN/IPDUTRIGG_softwareRevHash STANDARD 486526455 IPDUTRIGG_CommandModeControlAPU2 /PDU/PDU_CommandModeControlAPU2 IPDUTRIGG_CommandModeControl /PDU/PDU_CommandModeControl IPDUTRIGG_CommandPowerAPU2 /PDU/PDU_CommandPowerAPU2 IPDUTRIGG_CommandVFAPU2 /PDU/PDU_CommandVFAPU2 IPDUTRIGG_CommandSetNVParam /PDU/PDU_CommandSetNVParam IPDUTRIGG_CommandPower /PDU/PDU_CommandPower IPDUTRIGG_CommandVF /PDU/PDU_CommandVF IPDUTRIGG_CommandFactoryControl /PDU/PDU_CommandFactoryControl IPDUTRIGG_StatusACParameters /PDU/PDU_StatusACParameters IPDUTRIGG_StatusBits /PDU/PDU_StatusBits IPDUTRIGG_StatusFaults /PDU/PDU_StatusFaults IPDUTRIGG_MasterMeasuredPower /PDU/PDU_MasterMeasuredPower IPDUTRIGG_StatusMeasuredPower /PDU/PDU_StatusMeasuredPower IPDUTRIGG_StatusCommandedPower /PDU/PDU_StatusCommandedPower IPDUTRIGG_StatusCommandVF /PDU/PDU_StatusCommandVF IPDUTRIGG_StatusTemps /PDU/PDU_StatusTemps IPDUTRIGG_StatusLineCurrents /PDU/PDU_StatusLineCurrents IPDUTRIGG_StatusLineVoltages /PDU/PDU_StatusLineVoltages IPDUTRIGG_StatusNVParam /PDU/PDU_StatusNVParam IPDUTRIGG_softwareRev /PDU/PDU_softwareRev IPDUTRIGG_StatusControlVoltage /PDU/PDU_StatusControlVoltage IPDUTRIGG_StatusControlVolts2 /PDU/PDU_StatusControlVolts2 IPDUTRIGG_StatusDCParameters /PDU/PDU_StatusDCParameters IPDUTRIGG_serialNumber /PDU/PDU_serialNumber IPDUTRIGG_softwareRevHash /PDU/PDU_softwareRevHash Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command PhaseRotation_command /ISignal/PhaseRotation_command Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command PhaseRotation_command /ISignal/PhaseRotation_command RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command CommandSetNVParam_MUX /ISignal/CommandSetNVParam_MUX ThermalOverload /ISignal/ThermalOverload Dummy /ISignal/Dummy FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo K2Open /ISignal/K2Open MX1Open /ISignal/MX1Open MX2Close /ISignal/MX2Close NodeID /ISignal/NodeID VOver120 /ISignal/VOver120 VUnder50pct /ISignal/VUnder50pct SA_Mask /ISignal/SA_Mask Baudrate /ISignal/Baudrate FreqLo /ISignal/FreqLo K1Open /ISignal/K1Open K2Close /ISignal/K2Close MX1Close /ISignal/MX1Close V50to88pct /ISignal/V50to88pct FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo K1Close /ISignal/K1Close MX2Open /ISignal/MX2Open V110to120pct /ISignal/V110to120pct RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command WriteSerialNumber /ISignal/WriteSerialNumber FactoryAccess /ISignal/FactoryAccess SerialNumber /ISignal/SerialNumber VoltageAC_measured /ISignal/VoltageAC_measured CurrentAC_measured /ISignal/CurrentAC_measured Frequency_measured /ISignal/Frequency_measured State_status /ISignal/State_status Enable_echo /ISignal/Enable_echo FaultClr_echo /ISignal/FaultClr_echo HardwareEnable_status /ISignal/HardwareEnable_status PowerAvailAC_status /ISignal/PowerAvailAC_status PowerAvailDC_status /ISignal/PowerAvailDC_status PowerCircuitEnabled_status /ISignal/PowerCircuitEnabled_status MX1Permissive_status /ISignal/MX1Permissive_status MX2Permissive_status /ISignal/MX2Permissive_status K1PrechargePermissive_status /ISignal/K1PrechargePermissive_status K2DCRunPermissive_status /ISignal/K2DCRunPermissive_status MessageValidModeControl_status /ISignal/MessageValidModeControl_status MessageValidPowerCMD_status /ISignal/MessageValidPowerCMD_status MessageValidVF_status /ISignal/MessageValidVF_status CANbus_status /ISignal/CANbus_status EnableUPSMode_echo /ISignal/EnableUPSMode_echo EnableSplitPhase_echo /ISignal/EnableSplitPhase_echo PhaseRotation_status /ISignal/PhaseRotation_status LineVoltageDetected_status /ISignal/LineVoltageDetected_status PhaseRotation_echo /ISignal/PhaseRotation_echo GeneralFault_status /ISignal/GeneralFault_status OvercurrentAC_status /ISignal/OvercurrentAC_status LossOfAC_status /ISignal/LossOfAC_status OvercurrentDC_status /ISignal/OvercurrentDC_status OvervoltageDC_status /ISignal/OvervoltageDC_status UndervoltageDC_status /ISignal/UndervoltageDC_status OvertempInternal_status /ISignal/OvertempInternal_status OvertempPowerDevice_status /ISignal/OvertempPowerDevice_status ControlHardwareFail_status /ISignal/ControlHardwareFail_status LossValidControlMessage_status /ISignal/LossValidControlMessage_status EStopShutdown_status /ISignal/EStopShutdown_status IllegalTransition_status /ISignal/IllegalTransition_status InvalidEEHeader_status /ISignal/InvalidEEHeader_status InvalidEESection_status /ISignal/InvalidEESection_status ThermalOverload /ISignal/ThermalOverload BridgeBFault_status /ISignal/BridgeBFault_status BridgeBVoltageOk_status /ISignal/BridgeBVoltageOk_status BridgeAFault_status /ISignal/BridgeAFault_status BridgeAVoltageOk_status /ISignal/BridgeAVoltageOk_status RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_echo /ISignal/RealPower_echo ReactivePower_echo /ISignal/ReactivePower_echo Voltage_echo /ISignal/Voltage_echo Frequency_echo /ISignal/Frequency_echo TempInlet_measured /ISignal/TempInlet_measured TempInternal_measured /ISignal/TempInternal_measured ConverterLosses /ISignal/ConverterLosses L1Current_measured /ISignal/L1Current_measured L2Current_measured /ISignal/L2Current_measured L3Current_measured /ISignal/L3Current_measured L1Voltage_measured /ISignal/L1Voltage_measured L2Voltage_measured /ISignal/L2Voltage_measured L3Voltage_measured /ISignal/L3Voltage_measured StatusNVParam_MUX /ISignal/StatusNVParam_MUX StatusThermalOverload /ISignal/StatusThermalOverload Dummy /ISignal/Dummy FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo StatusK2Open /ISignal/StatusK2Open StatusMX1Open /ISignal/StatusMX1Open StatusMX2Close /ISignal/StatusMX2Close StatusNodeID /ISignal/StatusNodeID VOver120 /ISignal/VOver120 VUnder50pct /ISignal/VUnder50pct StatusSA_Mask /ISignal/StatusSA_Mask FreqLo /ISignal/FreqLo StatusBaudrate /ISignal/StatusBaudrate StatusK1Open /ISignal/StatusK1Open StatusK2Close /ISignal/StatusK2Close StatusMX1Close /ISignal/StatusMX1Close V50to88pct /ISignal/V50to88pct FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo StatusK1Close /ISignal/StatusK1Close StatusMX2Open /ISignal/StatusMX2Open V110to120pct /ISignal/V110to120pct ControlSwRev /ISignal/ControlSwRev InterfaceRev /ISignal/InterfaceRev BuildTime /ISignal/BuildTime v5p0_Supply /ISignal/v5p0_Supply v3p3_Supply /ISignal/v3p3_Supply v24_Supply /ISignal/v24_Supply v15_Supply /ISignal/v15_Supply n15V_Supply /ISignal/n15V_Supply DiodeTemperature /ISignal/DiodeTemperature IGBTTemperature /ISignal/IGBTTemperature VoltageDCInput_measured /ISignal/VoltageDCInput_measured VoltageDCBus /ISignal/VoltageDCBus CurrentDC_measured /ISignal/CurrentDC_measured SerialNumber /ISignal/SerialNumber Hash /ISignal/Hash Frame FRAME_CommandModeControlAPU2 9 CommandModeControlAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControlAPU2 0 FRAME_CommandModeControl 9 CommandModeControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControl 0 FRAME_CommandPowerAPU2 9 CommandPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPowerAPU2 0 FRAME_CommandVFAPU2 8 CommandVFAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVFAPU2 0 FRAME_CommandSetNVParam 9 CommandSetNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandSetNVParam 0 FRAME_CommandPower 9 CommandPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPower 0 FRAME_CommandVF 8 CommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVF 0 FRAME_CommandFactoryControl 9 CommandFactoryControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandFactoryControl 0 FRAME_StatusACParameters 8 StatusACParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusACParameters 0 FRAME_StatusBits 8 StatusBits MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusBits 0 FRAME_StatusFaults 8 StatusFaults MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusFaults 0 FRAME_MasterMeasuredPower 9 MasterMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPower 0 FRAME_StatusMeasuredPower 9 StatusMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusMeasuredPower 0 FRAME_StatusCommandedPower 9 StatusCommandedPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandedPower 0 FRAME_StatusCommandVF 8 StatusCommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandVF 0 FRAME_StatusTemps 8 StatusTemps MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusTemps 0 FRAME_StatusLineCurrents 8 StatusLineCurrents MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineCurrents 0 FRAME_StatusLineVoltages 8 StatusLineVoltages MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineVoltages 0 FRAME_StatusNVParam 9 StatusNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusNVParam 0 FRAME_softwareRev 9 softwareRev MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRev 0 FRAME_StatusControlVoltage 9 StatusControlVoltage MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVoltage 0 FRAME_StatusControlVolts2 9 StatusControlVolts2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVolts2 0 FRAME_StatusDCParameters 8 StatusDCParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusDCParameters 0 FRAME_serialNumber 8 serialNumber MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_serialNumber 0 FRAME_softwareRevHash 8 softwareRevHash MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRevHash 0 PDU PDU_CommandModeControlAPU2 72 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 6 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 4 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 22 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 38 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 36 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 34 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 32 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 62 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 60 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 58 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 56 PDU_CommandModeControl 72 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 6 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 4 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 22 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 38 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 36 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 34 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 32 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 62 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 60 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 58 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 56 PDU_CommandPowerAPU2 72 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 0 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 32 PDU_CommandVFAPU2 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 0 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 16 PDU_CommandSetNVParam 72 CommandSetNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CommandSetNVParam_MUX 0 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 22 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 16 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 16 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 16 K2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Open 16 MX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Open 16 MX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Close 16 NodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/NodeID 16 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 16 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 16 SA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SA_Mask 24 Baudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Baudrate 32 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 32 K1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Open 32 K2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Close 32 MX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Close 32 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 32 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 48 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 48 K1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Close 48 MX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Open 48 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 48 PDU_CommandPower 72 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 0 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 32 PDU_CommandVF 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 0 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 16 PDU_CommandFactoryControl 72 WriteSerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/WriteSerialNumber 6 FactoryAccess MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FactoryAccess 16 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 32 PDU_StatusACParameters 64 VoltageAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageAC_measured 0 CurrentAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentAC_measured 16 Frequency_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_measured 32 PDU_StatusBits 64 State_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/State_status 4 Enable_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_echo 2 FaultClr_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClr_echo 0 HardwareEnable_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/HardwareEnable_status 14 PowerAvailAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailAC_status 12 PowerAvailDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailDC_status 10 PowerCircuitEnabled_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerCircuitEnabled_status 8 MX1Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Permissive_status 22 MX2Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Permissive_status 20 K1PrechargePermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1PrechargePermissive_status 18 K2DCRunPermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2DCRunPermissive_status 16 MessageValidModeControl_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidModeControl_status 30 MessageValidPowerCMD_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidPowerCMD_status 28 MessageValidVF_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidVF_status 26 CANbus_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CANbus_status 24 EnableUPSMode_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_echo 38 EnableSplitPhase_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_echo 36 PhaseRotation_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_status 34 LineVoltageDetected_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LineVoltageDetected_status 32 PhaseRotation_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_echo 46 PDU_StatusFaults 64 GeneralFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/GeneralFault_status 6 OvercurrentAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentAC_status 4 LossOfAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossOfAC_status 2 OvercurrentDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentDC_status 0 OvervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvervoltageDC_status 14 UndervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/UndervoltageDC_status 12 OvertempInternal_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempInternal_status 10 OvertempPowerDevice_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempPowerDevice_status 8 ControlHardwareFail_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlHardwareFail_status 20 LossValidControlMessage_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossValidControlMessage_status 16 EStopShutdown_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EStopShutdown_status 30 IllegalTransition_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IllegalTransition_status 28 InvalidEEHeader_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEEHeader_status 26 InvalidEESection_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEESection_status 24 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 38 BridgeBFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBFault_status 45 BridgeBVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBVoltageOk_status 44 BridgeAFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAFault_status 61 BridgeAVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAVoltageOk_status 60 PDU_MasterMeasuredPower 72 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 0 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 32 PDU_StatusMeasuredPower 72 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 0 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 32 PDU_StatusCommandedPower 72 RealPower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_echo 0 ReactivePower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_echo 32 PDU_StatusCommandVF 64 Voltage_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_echo 0 Frequency_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_echo 16 PDU_StatusTemps 64 TempInlet_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInlet_measured 0 TempInternal_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInternal_measured 16 ConverterLosses MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ConverterLosses 32 PDU_StatusLineCurrents 64 L1Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Current_measured 0 L2Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Current_measured 16 L3Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Current_measured 32 PDU_StatusLineVoltages 64 L1Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Voltage_measured 0 L2Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Voltage_measured 16 L3Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Voltage_measured 32 PDU_StatusNVParam 72 StatusNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNVParam_MUX 0 StatusThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusThermalOverload 22 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 16 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 16 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 16 StatusK2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Open 16 StatusMX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Open 16 StatusMX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Close 16 StatusNodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNodeID 16 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 16 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 16 StatusSA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusSA_Mask 24 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 32 StatusBaudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusBaudrate 32 StatusK1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Open 32 StatusK2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Close 32 StatusMX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Close 32 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 32 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 48 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 48 StatusK1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Close 48 StatusMX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Open 48 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 48 PDU_softwareRev 72 ControlSwRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlSwRev 0 InterfaceRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InterfaceRev 16 BuildTime MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BuildTime 32 PDU_StatusControlVoltage 72 v5p0_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v5p0_Supply 0 v3p3_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v3p3_Supply 16 v24_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v24_Supply 32 v15_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v15_Supply 48 PDU_StatusControlVolts2 72 n15V_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/n15V_Supply 0 DiodeTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/DiodeTemperature 32 IGBTTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IGBTTemperature 48 PDU_StatusDCParameters 64 VoltageDCInput_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCInput_measured 0 VoltageDCBus MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCBus 16 CurrentDC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentDC_measured 32 PDU_serialNumber 64 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 0 PDU_softwareRevHash 64 Hash MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Hash 0 ISignal Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command MasterFollowerMode_command /Signal/MasterFollowerMode_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command PhaseRotation_command /Signal/PhaseRotation_command Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command MasterFollowerMode_command /Signal/MasterFollowerMode_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command PhaseRotation_command /Signal/PhaseRotation_command RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command CommandSetNVParam_MUX /Signal/CommandSetNVParam_MUX ThermalOverload /Signal/ThermalOverload Dummy /Signal/Dummy FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo K2Open /Signal/K2Open MX1Open /Signal/MX1Open MX2Close /Signal/MX2Close NodeID /Signal/NodeID VOver120 /Signal/VOver120 VUnder50pct /Signal/VUnder50pct SA_Mask /Signal/SA_Mask Baudrate /Signal/Baudrate FreqLo /Signal/FreqLo K1Open /Signal/K1Open K2Close /Signal/K2Close MX1Close /Signal/MX1Close V50to88pct /Signal/V50to88pct FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo K1Close /Signal/K1Close MX2Open /Signal/MX2Open V110to120pct /Signal/V110to120pct RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command WriteSerialNumber /Signal/WriteSerialNumber FactoryAccess /Signal/FactoryAccess SerialNumber /Signal/SerialNumber VoltageAC_measured /Signal/VoltageAC_measured CurrentAC_measured /Signal/CurrentAC_measured Frequency_measured /Signal/Frequency_measured State_status /Signal/State_status Enable_echo /Signal/Enable_echo FaultClr_echo /Signal/FaultClr_echo HardwareEnable_status /Signal/HardwareEnable_status PowerAvailAC_status /Signal/PowerAvailAC_status PowerAvailDC_status /Signal/PowerAvailDC_status PowerCircuitEnabled_status /Signal/PowerCircuitEnabled_status MX1Permissive_status /Signal/MX1Permissive_status MX2Permissive_status /Signal/MX2Permissive_status K1PrechargePermissive_status /Signal/K1PrechargePermissive_status K2DCRunPermissive_status /Signal/K2DCRunPermissive_status MessageValidModeControl_status /Signal/MessageValidModeControl_status MessageValidPowerCMD_status /Signal/MessageValidPowerCMD_status MessageValidVF_status /Signal/MessageValidVF_status CANbus_status /Signal/CANbus_status EnableUPSMode_echo /Signal/EnableUPSMode_echo EnableSplitPhase_echo /Signal/EnableSplitPhase_echo PhaseRotation_status /Signal/PhaseRotation_status LineVoltageDetected_status /Signal/LineVoltageDetected_status PhaseRotation_echo /Signal/PhaseRotation_echo GeneralFault_status /Signal/GeneralFault_status OvercurrentAC_status /Signal/OvercurrentAC_status LossOfAC_status /Signal/LossOfAC_status OvercurrentDC_status /Signal/OvercurrentDC_status OvervoltageDC_status /Signal/OvervoltageDC_status UndervoltageDC_status /Signal/UndervoltageDC_status OvertempInternal_status /Signal/OvertempInternal_status OvertempPowerDevice_status /Signal/OvertempPowerDevice_status ControlHardwareFail_status /Signal/ControlHardwareFail_status LossValidControlMessage_status /Signal/LossValidControlMessage_status EStopShutdown_status /Signal/EStopShutdown_status IllegalTransition_status /Signal/IllegalTransition_status InvalidEEHeader_status /Signal/InvalidEEHeader_status InvalidEESection_status /Signal/InvalidEESection_status ThermalOverload /Signal/ThermalOverload BridgeBFault_status /Signal/BridgeBFault_status BridgeBVoltageOk_status /Signal/BridgeBVoltageOk_status BridgeAFault_status /Signal/BridgeAFault_status BridgeAVoltageOk_status /Signal/BridgeAVoltageOk_status RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_echo /Signal/RealPower_echo ReactivePower_echo /Signal/ReactivePower_echo Voltage_echo /Signal/Voltage_echo Frequency_echo /Signal/Frequency_echo TempInlet_measured /Signal/TempInlet_measured TempInternal_measured /Signal/TempInternal_measured ConverterLosses /Signal/ConverterLosses L1Current_measured /Signal/L1Current_measured L2Current_measured /Signal/L2Current_measured L3Current_measured /Signal/L3Current_measured L1Voltage_measured /Signal/L1Voltage_measured L2Voltage_measured /Signal/L2Voltage_measured L3Voltage_measured /Signal/L3Voltage_measured StatusNVParam_MUX /Signal/StatusNVParam_MUX StatusThermalOverload /Signal/StatusThermalOverload Dummy /Signal/Dummy FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo StatusK2Open /Signal/StatusK2Open StatusMX1Open /Signal/StatusMX1Open StatusMX2Close /Signal/StatusMX2Close StatusNodeID /Signal/StatusNodeID VOver120 /Signal/VOver120 VUnder50pct /Signal/VUnder50pct StatusSA_Mask /Signal/StatusSA_Mask FreqLo /Signal/FreqLo StatusBaudrate /Signal/StatusBaudrate StatusK1Open /Signal/StatusK1Open StatusK2Close /Signal/StatusK2Close StatusMX1Close /Signal/StatusMX1Close V50to88pct /Signal/V50to88pct FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo StatusK1Close /Signal/StatusK1Close StatusMX2Open /Signal/StatusMX2Open V110to120pct /Signal/V110to120pct ControlSwRev /Signal/ControlSwRev InterfaceRev /Signal/InterfaceRev BuildTime /Signal/BuildTime v5p0_Supply /Signal/v5p0_Supply v3p3_Supply /Signal/v3p3_Supply v24_Supply /Signal/v24_Supply v15_Supply /Signal/v15_Supply n15V_Supply /Signal/n15V_Supply DiodeTemperature /Signal/DiodeTemperature IGBTTemperature /Signal/IGBTTemperature VoltageDCInput_measured /Signal/VoltageDCInput_measured VoltageDCBus /Signal/VoltageDCBus CurrentDC_measured /Signal/CurrentDC_measured SerialNumber /Signal/SerialNumber Hash /Signal/Hash Signal Enable_command /DataType/Enable_command 2 FaultClear_command /DataType/FaultClear_command 2 MasterFollowerMode_command /DataType/MasterFollowerMode_command 2 ForceRelayMX1_command /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand /DataType/ForceRelayRelayK2_DCRun_comand 2 InvertHwEnable_command /DataType/InvertHwEnable_command 2 EnableUPSMode_command /DataType/EnableUPSMode_command 2 EnableSplitPhase_command /DataType/EnableSplitPhase_command 2 PhaseRotation_command /DataType/PhaseRotation_command 2 Enable_command /DataType/Enable_command 2 FaultClear_command /DataType/FaultClear_command 2 MasterFollowerMode_command /DataType/MasterFollowerMode_command 2 ForceRelayMX1_command /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand /DataType/ForceRelayRelayK2_DCRun_comand 2 InvertHwEnable_command /DataType/InvertHwEnable_command 2 EnableUPSMode_command /DataType/EnableUPSMode_command 2 EnableSplitPhase_command /DataType/EnableSplitPhase_command 2 PhaseRotation_command /DataType/PhaseRotation_command 2 RealPower_command /DataType/RealPower_command 32 ReactivePower_command /DataType/ReactivePower_command 32 Voltage_command /DataType/Voltage_command 16 Frequency_command /DataType/Frequency_command 16 CommandSetNVParam_MUX /DataType/CommandSetNVParam_MUX 16 ThermalOverload /DataType/ThermalOverload 2 Dummy /DataType/Dummy 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 K2Open /DataType/K2Open 16 MX1Open /DataType/MX1Open 16 MX2Close /DataType/MX2Close 16 NodeID /DataType/NodeID 8 VOver120 /DataType/VOver120 16 VUnder50pct /DataType/VUnder50pct 16 SA_Mask /DataType/SA_Mask 8 Baudrate /DataType/Baudrate 4 FreqLo /DataType/FreqLo 16 K1Open /DataType/K1Open 16 K2Close /DataType/K2Close 16 MX1Close /DataType/MX1Close 16 V50to88pct /DataType/V50to88pct 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 K1Close /DataType/K1Close 16 MX2Open /DataType/MX2Open 16 V110to120pct /DataType/V110to120pct 16 RealPower_command /DataType/RealPower_command 32 ReactivePower_command /DataType/ReactivePower_command 32 Voltage_command /DataType/Voltage_command 16 Frequency_command /DataType/Frequency_command 16 WriteSerialNumber /DataType/WriteSerialNumber 2 FactoryAccess /DataType/FactoryAccess 16 SerialNumber /DataType/SerialNumber 32 VoltageAC_measured /DataType/VoltageAC_measured 16 CurrentAC_measured /DataType/CurrentAC_measured 16 Frequency_measured /DataType/Frequency_measured 16 State_status /DataType/State_status 4 Enable_echo /DataType/Enable_echo 2 FaultClr_echo /DataType/FaultClr_echo 2 HardwareEnable_status /DataType/HardwareEnable_status 2 PowerAvailAC_status /DataType/PowerAvailAC_status 2 PowerAvailDC_status /DataType/PowerAvailDC_status 2 PowerCircuitEnabled_status /DataType/PowerCircuitEnabled_status 2 MX1Permissive_status /DataType/MX1Permissive_status 2 MX2Permissive_status /DataType/MX2Permissive_status 2 K1PrechargePermissive_status /DataType/K1PrechargePermissive_status 2 K2DCRunPermissive_status /DataType/K2DCRunPermissive_status 2 MessageValidModeControl_status /DataType/MessageValidModeControl_status 2 MessageValidPowerCMD_status /DataType/MessageValidPowerCMD_status 2 MessageValidVF_status /DataType/MessageValidVF_status 2 CANbus_status /DataType/CANbus_status 2 EnableUPSMode_echo /DataType/EnableUPSMode_echo 2 EnableSplitPhase_echo /DataType/EnableSplitPhase_echo 2 PhaseRotation_status /DataType/PhaseRotation_status 2 LineVoltageDetected_status /DataType/LineVoltageDetected_status 2 PhaseRotation_echo /DataType/PhaseRotation_echo 2 GeneralFault_status /DataType/GeneralFault_status 2 OvercurrentAC_status /DataType/OvercurrentAC_status 2 LossOfAC_status /DataType/LossOfAC_status 2 OvercurrentDC_status /DataType/OvercurrentDC_status 2 OvervoltageDC_status /DataType/OvervoltageDC_status 2 UndervoltageDC_status /DataType/UndervoltageDC_status 2 OvertempInternal_status /DataType/OvertempInternal_status 2 OvertempPowerDevice_status /DataType/OvertempPowerDevice_status 2 ControlHardwareFail_status /DataType/ControlHardwareFail_status 4 LossValidControlMessage_status /DataType/LossValidControlMessage_status 4 EStopShutdown_status /DataType/EStopShutdown_status 2 IllegalTransition_status /DataType/IllegalTransition_status 2 InvalidEEHeader_status /DataType/InvalidEEHeader_status 2 InvalidEESection_status /DataType/InvalidEESection_status 2 ThermalOverload /DataType/ThermalOverload 2 BridgeBFault_status /DataType/BridgeBFault_status 3 BridgeBVoltageOk_status /DataType/BridgeBVoltageOk_status 1 BridgeAFault_status /DataType/BridgeAFault_status 3 BridgeAVoltageOk_status /DataType/BridgeAVoltageOk_status 1 RealPower_measured /DataType/RealPower_measured 32 ReactivePower_measured /DataType/ReactivePower_measured 32 RealPower_measured /DataType/RealPower_measured 32 ReactivePower_measured /DataType/ReactivePower_measured 32 RealPower_echo /DataType/RealPower_echo 32 ReactivePower_echo /DataType/ReactivePower_echo 32 Voltage_echo /DataType/Voltage_echo 16 Frequency_echo /DataType/Frequency_echo 16 TempInlet_measured /DataType/TempInlet_measured 16 TempInternal_measured /DataType/TempInternal_measured 16 ConverterLosses /DataType/ConverterLosses 16 L1Current_measured /DataType/L1Current_measured 16 L2Current_measured /DataType/L2Current_measured 16 L3Current_measured /DataType/L3Current_measured 16 L1Voltage_measured /DataType/L1Voltage_measured 16 L2Voltage_measured /DataType/L2Voltage_measured 16 L3Voltage_measured /DataType/L3Voltage_measured 16 StatusNVParam_MUX /DataType/StatusNVParam_MUX 16 StatusThermalOverload /DataType/StatusThermalOverload 2 Dummy /DataType/Dummy 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 StatusK2Open /DataType/StatusK2Open 16 StatusMX1Open /DataType/StatusMX1Open 16 StatusMX2Close /DataType/StatusMX2Close 16 StatusNodeID /DataType/StatusNodeID 8 VOver120 /DataType/VOver120 16 VUnder50pct /DataType/VUnder50pct 16 StatusSA_Mask /DataType/StatusSA_Mask 8 FreqLo /DataType/FreqLo 16 StatusBaudrate /DataType/StatusBaudrate 4 StatusK1Open /DataType/StatusK1Open 16 StatusK2Close /DataType/StatusK2Close 16 StatusMX1Close /DataType/StatusMX1Close 16 V50to88pct /DataType/V50to88pct 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 StatusK1Close /DataType/StatusK1Close 16 StatusMX2Open /DataType/StatusMX2Open 16 V110to120pct /DataType/V110to120pct 16 ControlSwRev /DataType/ControlSwRev 16 InterfaceRev /DataType/InterfaceRev 16 BuildTime /DataType/BuildTime 32 v5p0_Supply /DataType/v5p0_Supply 16 v3p3_Supply /DataType/v3p3_Supply 16 v24_Supply /DataType/v24_Supply 16 v15_Supply /DataType/v15_Supply 16 n15V_Supply /DataType/n15V_Supply 16 DiodeTemperature /DataType/DiodeTemperature 16 IGBTTemperature /DataType/IGBTTemperature 16 VoltageDCInput_measured /DataType/VoltageDCInput_measured 16 VoltageDCBus /DataType/VoltageDCBus 16 CurrentDC_measured /DataType/CurrentDC_measured 16 SerialNumber /DataType/SerialNumber 32 Hash /DataType/Hash 28 DataType Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command PhaseRotation_command /DataType/Semantics/PhaseRotation_command Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command PhaseRotation_command /DataType/Semantics/PhaseRotation_command RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command CommandSetNVParam_MUX /DataType/Semantics/CommandSetNVParam_MUX ThermalOverload /DataType/Semantics/ThermalOverload Dummy /DataType/Semantics/Dummy FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo K2Open /DataType/Semantics/K2Open MX1Open /DataType/Semantics/MX1Open MX2Close /DataType/Semantics/MX2Close NodeID /DataType/Semantics/NodeID VOver120 /DataType/Semantics/VOver120 VUnder50pct /DataType/Semantics/VUnder50pct SA_Mask /DataType/Semantics/SA_Mask Baudrate /DataType/Semantics/Baudrate FreqLo /DataType/Semantics/FreqLo K1Open /DataType/Semantics/K1Open K2Close /DataType/Semantics/K2Close MX1Close /DataType/Semantics/MX1Close V50to88pct /DataType/Semantics/V50to88pct FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo K1Close /DataType/Semantics/K1Close MX2Open /DataType/Semantics/MX2Open V110to120pct /DataType/Semantics/V110to120pct RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command WriteSerialNumber /DataType/Semantics/WriteSerialNumber FactoryAccess /DataType/Semantics/FactoryAccess SerialNumber /DataType/Semantics/SerialNumber VoltageAC_measured /DataType/Semantics/VoltageAC_measured CurrentAC_measured /DataType/Semantics/CurrentAC_measured Frequency_measured /DataType/Semantics/Frequency_measured State_status /DataType/Semantics/State_status Enable_echo /DataType/Semantics/Enable_echo FaultClr_echo /DataType/Semantics/FaultClr_echo HardwareEnable_status /DataType/Semantics/HardwareEnable_status PowerAvailAC_status /DataType/Semantics/PowerAvailAC_status PowerAvailDC_status /DataType/Semantics/PowerAvailDC_status PowerCircuitEnabled_status /DataType/Semantics/PowerCircuitEnabled_status MX1Permissive_status /DataType/Semantics/MX1Permissive_status MX2Permissive_status /DataType/Semantics/MX2Permissive_status K1PrechargePermissive_status /DataType/Semantics/K1PrechargePermissive_status K2DCRunPermissive_status /DataType/Semantics/K2DCRunPermissive_status MessageValidModeControl_status /DataType/Semantics/MessageValidModeControl_status MessageValidPowerCMD_status /DataType/Semantics/MessageValidPowerCMD_status MessageValidVF_status /DataType/Semantics/MessageValidVF_status CANbus_status /DataType/Semantics/CANbus_status EnableUPSMode_echo /DataType/Semantics/EnableUPSMode_echo EnableSplitPhase_echo /DataType/Semantics/EnableSplitPhase_echo PhaseRotation_status /DataType/Semantics/PhaseRotation_status LineVoltageDetected_status /DataType/Semantics/LineVoltageDetected_status PhaseRotation_echo /DataType/Semantics/PhaseRotation_echo GeneralFault_status /DataType/Semantics/GeneralFault_status OvercurrentAC_status /DataType/Semantics/OvercurrentAC_status LossOfAC_status /DataType/Semantics/LossOfAC_status OvercurrentDC_status /DataType/Semantics/OvercurrentDC_status OvervoltageDC_status /DataType/Semantics/OvervoltageDC_status UndervoltageDC_status /DataType/Semantics/UndervoltageDC_status OvertempInternal_status /DataType/Semantics/OvertempInternal_status OvertempPowerDevice_status /DataType/Semantics/OvertempPowerDevice_status ControlHardwareFail_status /DataType/Semantics/ControlHardwareFail_status LossValidControlMessage_status /DataType/Semantics/LossValidControlMessage_status EStopShutdown_status /DataType/Semantics/EStopShutdown_status IllegalTransition_status /DataType/Semantics/IllegalTransition_status InvalidEEHeader_status /DataType/Semantics/InvalidEEHeader_status InvalidEESection_status /DataType/Semantics/InvalidEESection_status ThermalOverload /DataType/Semantics/ThermalOverload BridgeBFault_status /DataType/Semantics/BridgeBFault_status BridgeBVoltageOk_status /DataType/Semantics/BridgeBVoltageOk_status BridgeAFault_status /DataType/Semantics/BridgeAFault_status BridgeAVoltageOk_status /DataType/Semantics/BridgeAVoltageOk_status RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_echo /DataType/Semantics/RealPower_echo ReactivePower_echo /DataType/Semantics/ReactivePower_echo Voltage_echo /DataType/Semantics/Voltage_echo Frequency_echo /DataType/Semantics/Frequency_echo TempInlet_measured /DataType/Semantics/TempInlet_measured TempInternal_measured /DataType/Semantics/TempInternal_measured ConverterLosses /DataType/Semantics/ConverterLosses L1Current_measured /DataType/Semantics/L1Current_measured L2Current_measured /DataType/Semantics/L2Current_measured L3Current_measured /DataType/Semantics/L3Current_measured L1Voltage_measured /DataType/Semantics/L1Voltage_measured L2Voltage_measured /DataType/Semantics/L2Voltage_measured L3Voltage_measured /DataType/Semantics/L3Voltage_measured StatusNVParam_MUX /DataType/Semantics/StatusNVParam_MUX StatusThermalOverload /DataType/Semantics/StatusThermalOverload Dummy /DataType/Semantics/Dummy FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo StatusK2Open /DataType/Semantics/StatusK2Open StatusMX1Open /DataType/Semantics/StatusMX1Open StatusMX2Close /DataType/Semantics/StatusMX2Close StatusNodeID /DataType/Semantics/StatusNodeID VOver120 /DataType/Semantics/VOver120 VUnder50pct /DataType/Semantics/VUnder50pct StatusSA_Mask /DataType/Semantics/StatusSA_Mask FreqLo /DataType/Semantics/FreqLo StatusBaudrate /DataType/Semantics/StatusBaudrate StatusK1Open /DataType/Semantics/StatusK1Open StatusK2Close /DataType/Semantics/StatusK2Close StatusMX1Close /DataType/Semantics/StatusMX1Close V50to88pct /DataType/Semantics/V50to88pct FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo StatusK1Close /DataType/Semantics/StatusK1Close StatusMX2Open /DataType/Semantics/StatusMX2Open V110to120pct /DataType/Semantics/V110to120pct ControlSwRev /DataType/Semantics/ControlSwRev InterfaceRev /DataType/Semantics/InterfaceRev BuildTime /DataType/Semantics/BuildTime v5p0_Supply /DataType/Semantics/v5p0_Supply v3p3_Supply /DataType/Semantics/v3p3_Supply v24_Supply /DataType/Semantics/v24_Supply v15_Supply /DataType/Semantics/v15_Supply n15V_Supply /DataType/Semantics/n15V_Supply DiodeTemperature /DataType/Semantics/DiodeTemperature IGBTTemperature /DataType/Semantics/IGBTTemperature VoltageDCInput_measured /DataType/Semantics/VoltageDCInput_measured VoltageDCBus /DataType/Semantics/VoltageDCBus CurrentDC_measured /DataType/Semantics/CurrentDC_measured SerialNumber /DataType/Semantics/SerialNumber Hash /DataType/Semantics/Hash Semantics Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_command -90000 1 1 ReactivePower_command -90000 1 1 Voltage_command 10 0.1 1 Frequency_command 45 0.1 1 CommandSetNVParam_MUX Param0 0 0 Param0 LVM_ClearingTimes1 1 1 LVM_ClearingTimes1 LVM_ClearingTimes2 2 2 LVM_ClearingTimes2 LFM_Limits 3 3 LFM_Limits LFM_ClearingTimes 4 4 LFM_ClearingTimes J1939_Interface 5 5 J1939_Interface Fault_Config 6 6 Fault_Config ContactorDelays1 7 7 ContactorDelays1 ContactorDelays2 8 8 ContactorDelays2 ContactorDelays3 9 9 ContactorDelays3 0 1 1 ThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 Dummy 0 1 1 FreqHi 40 0.1 1 FreqVeryLo 160 1 1 K2Open 0 1 1 MX1Open 0 1 1 MX2Close 0 1 1 NodeID 0 1 1 VOver120 1 1 1 VUnder50pct 1 1 1 SA_Mask 0 1 1 Baudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 FreqLo 1 1 1 K1Open 0 1 1 K2Close 0 1 1 MX1Close 0 1 1 V50to88pct 1 1 1 FreqHi 160 1 1 FreqVeryLo 40 0.1 1 K1Close 0 1 1 MX2Open 0 1 1 V110to120pct 1 1 1 RealPower_command -90000 1 1 ReactivePower_command -90000 1 1 Voltage_command 10 0.1 1 Frequency_command 45 0.1 1 WriteSerialNumber Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FactoryAccess 0 1 1 SerialNumber 0 1 1 VoltageAC_measured 0 0.1 1 CurrentAC_measured 0 1 1 Frequency_measured 0 0.1 1 State_status Power On Reset 0 0 Power On Reset Ready 1 1 Ready Following 2 2 Following Fault 3 3 Fault Forming 4 4 Forming N/A 5 5 N/A N/A 6 6 N/A N/A 7 7 N/A N/A 8 8 N/A N/A 9 9 N/A N/A 10 10 N/A N/A 11 11 N/A N/A 12 12 N/A N/A 13 13 N/A N/A 14 14 N/A N/A 15 15 N/A 0 1 1 Enable_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClr_echo Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 HardwareEnable_status Not Active 0 0 Not Active Active 1 1 Active Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailAC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailDC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerCircuitEnabled_status Disabled 0 0 Disabled Enabled 1 1 Enabled Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MX2Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K1PrechargePermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K2DCRunPermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidModeControl_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidPowerCMD_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidVF_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 CANbus_status Normal 0 0 Normal Warning 1 1 Warning ErrorPassive 3 3 ErrorPassive N/A 4 4 N/A 0 1 1 EnableUPSMode_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_echo Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_status Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 LineVoltageDetected_status No_Voltage 0 0 No_Voltage Voltage_Detected 1 1 Voltage_Detected Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_echo Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 GeneralFault_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossOfAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 UndervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempInternal_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempPowerDevice_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ControlHardwareFail_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossValidControlMessage_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 EStopShutdown_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 IllegalTransition_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEEHeader_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEESection_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ThermalOverload Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeBFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeBVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeAFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeAVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_echo 0 1 1 ReactivePower_echo 0 1 1 Voltage_echo 0 0.1 1 Frequency_echo 0 0.1 1 TempInlet_measured 0 0.1 1 TempInternal_measured 0 0.1 1 ConverterLosses 0 1 1 L1Current_measured 0 1 1 L2Current_measured 0 1 1 L3Current_measured 0 1 1 L1Voltage_measured 0 0.1 1 L2Voltage_measured 0 0.1 1 L3Voltage_measured 0 0.1 1 StatusNVParam_MUX ActParam0 0 0 ActParam0 ActLVM_ClearingTimes1 1 1 ActLVM_ClearingTimes1 ActLVM_ClearingTimes2 2 2 ActLVM_ClearingTimes2 ActLFM_Limits 3 3 ActLFM_Limits ActLFM_ClearingTimes 4 4 ActLFM_ClearingTimes StatusJ1939_Interface 5 5 StatusJ1939_Interface StatusFault_Config 6 6 StatusFault_Config StatusContactorDelays1 7 7 StatusContactorDelays1 StatusContactorDelays2 8 8 StatusContactorDelays2 StatusContactorDelays3 9 9 StatusContactorDelays3 0 1 1 StatusThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 Dummy 5 1 1 FreqHi 40 0.1 1 FreqVeryLo 160 1 1 StatusK2Open 0 1 1 StatusMX1Open 0 1 1 StatusMX2Close 0 1 1 StatusNodeID 0 1 1 VOver120 1 1 1 VUnder50pct 1 1 1 StatusSA_Mask 0 1 1 FreqLo 1 1 1 StatusBaudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 StatusK1Open 0 1 1 StatusK2Close 0 1 1 StatusMX1Close 0 1 1 V50to88pct 1 1 1 FreqHi 160 1 1 FreqVeryLo 40 0.1 1 StatusK1Close 0 1 1 StatusMX2Open 0 1 1 V110to120pct 1 1 1 ControlSwRev 0 1 1 InterfaceRev 0 1 1 BuildTime 0 1 1 v5p0_Supply 0 0.01 1 v3p3_Supply 0 0.01 1 v24_Supply 0 0.01 1 v15_Supply 0 0.01 1 n15V_Supply 0 0.01 1 DiodeTemperature 0 1 1 IGBTTemperature 0 1 1 VoltageDCInput_measured 0 1 1 VoltageDCBus 0 1 1 CurrentDC_measured 0 1 1 SerialNumber 0 1 1 Hash 0 1 1 Unit Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz CommandSetNVParam_MUX ThermalOverload Dummy FreqHi Hz FreqVeryLo ms K2Open ms MX1Open ms MX2Close ms NodeID VOver120 VUnder50pct ms SA_Mask Baudrate FreqLo ms K1Open ms K2Close ms MX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz K1Close ms MX2Open ms V110to120pct ms RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA Voltage_echo Vrms Frequency_echo Hz TempInlet_measured C TempInternal_measured C ConverterLosses W L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms StatusNVParam_MUX StatusThermalOverload Dummy FreqHi Hz FreqVeryLo ms StatusK2Open ms StatusMX1Open ms StatusMX2Close ms StatusNodeID VOver120 VUnder50pct ms StatusSA_Mask FreqLo ms StatusBaudrate StatusK1Open ms StatusK2Close ms StatusMX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz StatusK1Close ms StatusMX2Open ms V110to120pct ms ControlSwRev InterfaceRev BuildTime v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V n15V_Supply V DiodeTemperature C IGBTTemperature C VoltageDCInput_measured V VoltageDCBus V CurrentDC_measured A SerialNumber Hash ECU IPDUGroup canmatrix-0.9.5/test/reference/from_xls/test.csv000066400000000000000000001020611416730473300217650ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,0,Disable FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,1,Enable FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,1,Clear Faults FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,0,Master FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,1,Follower FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,0,No invert FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,1,Invert FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,0,Disable FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,1,Enable FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,0,Normal - Three Phase Mode FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,1,Enable Split Phase Mode FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,0,Negative FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,1,Positive FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,0,Disable FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,1,Enable FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,1,Clear Faults FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,0,Master FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,1,Follower FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,0,No invert FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,1,Invert FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,0,Disable FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,1,Enable FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,0,Normal - Three Phase Mode FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,1,Enable Split Phase Mode FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,0,Negative FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,1,Positive FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,3,N/A CFF9C41h,CommandPowerAPU2,0,,None,1,7,RealPower_command,,32, ,None,m,u,W,-90000.0..90000.0 CFF9C41h,CommandPowerAPU2,0,,None,5,7,ReactivePower_command,,32, ,None,m,u,VA,-90000.0..90000.0 CFF9E41h,CommandVFAPU2,0,,None,1,7,Voltage_command,,16, ,None,m,u,0.1 Vrms,10.0..500.0 CFF9E41h,CommandVFAPU2,0,,None,3,7,Frequency_command,,16, ,None,m,u,0.1 Hz,45.0..65.0 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,0,Param0 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,1,LVM_ClearingTimes1 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,2,LVM_ClearingTimes2 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,3,LFM_Limits CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,4,LFM_ClearingTimes CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,5,J1939_Interface CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,6,Fault_Config CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,7,ContactorDelays1 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,8,ContactorDelays2 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,9,ContactorDelays3 CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,0,Warning CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,1,Fault CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,2,Error CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,3,N/A CFFAA41h,CommandSetNVParam,0,,None,3,7,Dummy,Mode 0:,16, ,None,m,u,,0.0..65535.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,FreqHi,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,FreqVeryLo,Mode 4:,16, ,None,m,u,ms,160.0..160.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,K2Open,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,MX1Open,Mode 7:,16, ,None,m,u,ms,0.0..5000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,MX2Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,NodeID,Mode 5:,8, ,None,m,u,,0.0..247.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,VOver120,Mode 2:,16, ,None,m,u,,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,VUnder50pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,4,7,SA_Mask,Mode 5:,8, ,None,m,u,,0.0..255.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,0,125K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,1,250K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,2,500K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,3,1M CFFAA41h,CommandSetNVParam,0,,None,5,7,FreqLo,Mode 4:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,K1Open,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,K2Close,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,MX1Close,Mode 7:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,V50to88pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,FreqHi,Mode 4:,16, ,None,m,u,ms,160.0..160.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,FreqVeryLo,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,K1Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,MX2Open,Mode 7:,16, ,None,m,u,ms,0.0..65535.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,V110to120pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAC41h,CommandPower,0,,None,1,7,RealPower_command,,32, ,None,m,u,W,-90000.0..90000.0 CFFAC41h,CommandPower,0,,None,5,7,ReactivePower_command,,32, ,None,m,u,VA,-90000.0..90000.0 CFFAE41h,CommandVF,0,,None,1,7,Voltage_command,,16, ,None,m,u,0.1 Vrms,10.0..500.0 CFFAE41h,CommandVF,0,,None,3,7,Frequency_command,,16, ,None,m,u,0.1 Hz,45.0..65.0 CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,0,Disable CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,1,Enable CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,2,Error CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,3,N/A CFFAF41h,CommandFactoryControl,0,,None,3,7,FactoryAccess,,16, ,None,m,u,,0.0..65535.0 CFFAF41h,CommandFactoryControl,0,,None,5,7,SerialNumber,,32, ,None,m,u,,0.0..4294967295.0 CFFC2F7h,StatusACParameters,100,,None,1,7,VoltageAC_measured,,16, ,None,m,u,0.1 V,0.0..65535.0 CFFC2F7h,StatusACParameters,100,,None,3,7,CurrentAC_measured,,16, ,None,m,u,A,0.0..65535.0 CFFC2F7h,StatusACParameters,100,,None,5,7,Frequency_measured,,16, ,None,m,u,0.1 Hz,0.0..65535.0 CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,0,Power On Reset CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,1,Ready CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,2,Following CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,3,Fault CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,4,Forming CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,5,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,6,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,7,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,8,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,9,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,10,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,11,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,12,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,13,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,14,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,15,N/A CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,0,Disable CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,1,Enable CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,0,Normal CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,1,Clear Faults CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,0,Not Active CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,1,Active CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,0,None CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,1,Available CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,0,None CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,1,Available CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,0,Disabled CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,1,Enabled CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,0,Normal CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,1,Warning CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,3,ErrorPassive CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,4,N/A CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,0,Disable CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,1,Enable CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,0,Normal - Three Phase Mode CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,1,Enable Split Phase Mode CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,0,Negative CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,1,Positive CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,0,No_Voltage CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,1,Voltage_Detected CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,0,Negative CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,1,Positive CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,1,FLT_A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,2,N/A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,3,FLT_C CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,4,OverVoltage CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,5,FLT_B CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,6,Overcurrent CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,7,5V CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,1,FLT_A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,2,N/A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,3,FLT_C CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,4,OverVoltage CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,5,FLT_B CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,6,Overcurrent CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,7,5V CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,3,N/A CFFCAF6h,MasterMeasuredPower,0,,None,1,7,RealPower_measured,,32, ,None,m,u,W,0.0..4294967295.0 CFFCAF6h,MasterMeasuredPower,0,,None,5,7,ReactivePower_measured,,32, ,None,m,u,VA,0.0..4294967295.0 CFFCAF7h,StatusMeasuredPower,100,,None,1,7,RealPower_measured,,32, ,None,m,u,W,0.0..4294967295.0 CFFCAF7h,StatusMeasuredPower,100,,None,5,7,ReactivePower_measured,,32, ,None,m,u,VA,0.0..4294967295.0 18FFC4F7h,StatusCommandedPower,100,,None,1,7,RealPower_echo,,32, ,None,m,u,W,0.0..4294967295.0 18FFC4F7h,StatusCommandedPower,100,,None,5,7,ReactivePower_echo,,32, ,None,m,u,VA,0.0..4294967295.0 18FFC9F7h,StatusCommandVF,100,,None,1,7,Voltage_echo,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFC9F7h,StatusCommandVF,100,,None,3,7,Frequency_echo,,16, ,None,m,u,0.1 Hz,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,1,7,TempInlet_measured,,16, ,None,m,u,0.1 C,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,3,7,TempInternal_measured,,16, ,None,m,u,0.1 C,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,5,7,ConverterLosses,,16, ,None,m,u,W,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,1,7,L1Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,3,7,L2Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,5,7,L3Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,1,7,L1Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,3,7,L2Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,5,7,L3Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,0,ActParam0 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,1,ActLVM_ClearingTimes1 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,2,ActLVM_ClearingTimes2 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,3,ActLFM_Limits 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,4,ActLFM_ClearingTimes 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,5,StatusJ1939_Interface 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,6,StatusFault_Config 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,7,StatusContactorDelays1 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,8,StatusContactorDelays2 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,9,StatusContactorDelays3 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,0,Warning 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,1,Fault 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,2,Error 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,3,N/A 1CFFA9F7h,StatusNVParam,0,,None,3,7,Dummy,Mode 0:,16, ,None,m,u,,5.0..10.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,FreqHi,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,FreqVeryLo,Mode 4:,16, ,None,m,u,ms,160.0..160.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusK2Open,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusMX1Open,Mode 7:,16, ,None,m,u,ms,0.0..5000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusMX2Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusNodeID,Mode 5:,8, ,None,m,u,,0.0..247.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,VOver120,Mode 2:,16, ,None,m,u,,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,VUnder50pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,4,7,StatusSA_Mask,Mode 5:,8, ,None,m,u,,0.0..255.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,FreqLo,Mode 4:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,0,125K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,1,250K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,2,500K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,3,1M 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusK1Open,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusK2Close,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusMX1Close,Mode 7:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,V50to88pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,FreqHi,Mode 4:,16, ,None,m,u,ms,160.0..160.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,FreqVeryLo,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,StatusK1Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,StatusMX2Open,Mode 7:,16, ,None,m,u,ms,0.0..65535.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,V110to120pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFC1F7h,softwareRev,0,,None,1,7,ControlSwRev,,16, ,None,m,u,,0.0..65535.0 1CFFC1F7h,softwareRev,0,,None,3,7,InterfaceRev,,16, ,None,m,u,,0.0..65535.0 1CFFC1F7h,softwareRev,0,,None,5,7,BuildTime,,32, ,None,m,u,,0.0..4294967295.0 1CFFC5F7h,StatusControlVoltage,100,,None,1,7,v5p0_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,3,7,v3p3_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,5,7,v24_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,7,7,v15_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,1,7,n15V_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,5,7,DiodeTemperature,,16, ,None,m,u,C,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,7,7,IGBTTemperature,,16, ,None,m,u,C,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,1,7,VoltageDCInput_measured,,16, ,None,m,u,V,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,3,7,VoltageDCBus,,16, ,None,m,u,V,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,5,7,CurrentDC_measured,,16, ,None,m,u,A,0.0..65535.0 1CFFCCF7h,serialNumber,0,,None,1,7,SerialNumber,,32, ,None,m,u,,0.0..4294967295.0 1CFFCDF7h,softwareRevHash,0,,None,1,7,Hash,,28, ,None,m,u,,0.0..268435455.0 canmatrix-0.9.5/test/reference/from_xls/test.dbc000066400000000000000000000500261416730473300217250ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 16751425 CommandModeControlAPU2: 9 Vector__XXX SG_ Enable_command : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 62|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 60|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 58|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 56|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 16755521 CommandModeControl: 9 Vector__XXX SG_ Enable_command : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 62|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 60|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 58|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 56|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 218078273 CommandPowerAPU2: 9 Vector__XXX SG_ RealPower_command : 0|32@0+ (1,-90000) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 32|32@0+ (1,-90000) [-90000|90000] "VA" Vector__XXX BO_ 218078785 CommandVFAPU2: 8 Vector__XXX SG_ Voltage_command : 0|16@0+ (0.1,10) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 16|16@0+ (0.1,45) [45|65] "Hz" Vector__XXX BO_ 218081857 CommandSetNVParam: 9 Vector__XXX SG_ CommandSetNVParam_MUX M : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ ThermalOverload m6 : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ Dummy m0 : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ FreqHi0 m3 : 16|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m4 : 16|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ K2Open m9 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX1Open m7 : 16|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ MX2Close m8 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ NodeID m5 : 16|8@0+ (1,0) [0|247] "" Vector__XXX SG_ VOver120 m2 : 16|16@0+ (1,1) [1|30000] "" Vector__XXX SG_ VUnder50pct m1 : 16|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ SA_Mask m5 : 24|8@0+ (1,0) [0|255] "" Vector__XXX SG_ Baudrate m5 : 32|4@0+ (1,0) [0|15] "" Vector__XXX SG_ FreqLo m4 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ K1Open m8 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Close m9 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX1Close m7 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ V50to88pct m1 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 48|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ FreqVeryLo1 m3 : 48|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ K1Close m8 : 48|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX2Open m7 : 48|16@0+ (1,0) [0|65535] "ms" Vector__XXX SG_ V110to120pct m1 : 48|16@0+ (1,1) [1|30000] "ms" Vector__XXX BO_ 218082369 CommandPower: 9 Vector__XXX SG_ RealPower_command : 0|32@0+ (1,-90000) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 32|32@0+ (1,-90000) [-90000|90000] "VA" Vector__XXX BO_ 218082881 CommandVF: 8 Vector__XXX SG_ Voltage_command : 0|16@0+ (0.1,10) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 16|16@0+ (0.1,45) [45|65] "Hz" Vector__XXX BO_ 218083137 CommandFactoryControl: 9 Vector__XXX SG_ WriteSerialNumber : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FactoryAccess : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ SerialNumber : 32|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 218088183 StatusACParameters: 8 Vector__XXX SG_ VoltageAC_measured : 0|16@0+ (0.1,0) [0|65535] "V" Vector__XXX SG_ CurrentAC_measured : 16|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ Frequency_measured : 32|16@0+ (0.1,0) [0|65535] "Hz" Vector__XXX BO_ 218088439 StatusBits: 8 Vector__XXX SG_ State_status : 4|4@0+ (1,0) [0|15] "" Vector__XXX SG_ Enable_echo : 2|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClr_echo : 0|2@0+ (1,0) [0|3] "" Vector__XXX SG_ HardwareEnable_status : 14|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailAC_status : 12|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailDC_status : 10|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerCircuitEnabled_status : 8|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MX1Permissive_status : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MX2Permissive_status : 20|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K1PrechargePermissive_status : 18|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K2DCRunPermissive_status : 16|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidModeControl_status : 30|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidPowerCMD_status : 28|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidVF_status : 26|2@0+ (1,0) [0|3] "" Vector__XXX SG_ CANbus_status : 24|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_echo : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_echo : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_status : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LineVoltageDetected_status : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_echo : 46|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 218089719 StatusFaults: 8 Vector__XXX SG_ GeneralFault_status : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvercurrentAC_status : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LossOfAC_status : 2|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvercurrentDC_status : 0|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvervoltageDC_status : 14|2@0+ (1,0) [0|3] "" Vector__XXX SG_ UndervoltageDC_status : 12|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempInternal_status : 10|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempPowerDevice_status : 8|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ControlHardwareFail_status : 20|4@0+ (1,0) [0|15] "" Vector__XXX SG_ LossValidControlMessage_status : 16|4@0+ (1,0) [0|15] "" Vector__XXX SG_ EStopShutdown_status : 30|2@0+ (1,0) [0|3] "" Vector__XXX SG_ IllegalTransition_status : 28|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEEHeader_status : 26|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEESection_status : 24|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ThermalOverload : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ BridgeBFault_status : 45|3@0+ (1,0) [0|7] "" Vector__XXX SG_ BridgeBVoltageOk_status : 44|1@0+ (1,0) [0|1] "" Vector__XXX SG_ BridgeAFault_status : 61|3@0+ (1,0) [0|7] "" Vector__XXX SG_ BridgeAVoltageOk_status : 60|1@0+ (1,0) [0|1] "" Vector__XXX BO_ 218090230 MasterMeasuredPower: 9 Vector__XXX SG_ RealPower_measured : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_measured : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 218090231 StatusMeasuredPower: 9 Vector__XXX SG_ RealPower_measured : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_measured : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 419415287 StatusCommandedPower: 9 Vector__XXX SG_ RealPower_echo : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_echo : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 419416567 StatusCommandVF: 8 Vector__XXX SG_ Voltage_echo : 0|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ Frequency_echo : 16|16@0+ (0.1,0) [0|65535] "Hz" Vector__XXX BO_ 419417079 StatusTemps: 8 Vector__XXX SG_ TempInlet_measured : 0|16@0+ (0.1,0) [0|65535] "C" Vector__XXX SG_ TempInternal_measured : 16|16@0+ (0.1,0) [0|65535] "C" Vector__XXX SG_ ConverterLosses : 32|16@0+ (1,0) [0|65535] "W" Vector__XXX BO_ 419418359 StatusLineCurrents: 8 Vector__XXX SG_ L1Current_measured : 0|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ L2Current_measured : 16|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ L3Current_measured : 32|16@0+ (1,0) [0|65535] "A" Vector__XXX BO_ 419418615 StatusLineVoltages: 8 Vector__XXX SG_ L1Voltage_measured : 0|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ L2Voltage_measured : 16|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ L3Voltage_measured : 32|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX BO_ 486517239 StatusNVParam: 9 Vector__XXX SG_ StatusNVParam_MUX M : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ StatusThermalOverload m6 : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ Dummy m0 : 16|16@0+ (1,5) [5|10] "" Vector__XXX SG_ FreqHi0 m3 : 16|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m4 : 16|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ StatusK2Open m9 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX1Open m7 : 16|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ StatusMX2Close m8 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusNodeID m5 : 16|8@0+ (1,0) [0|247] "" Vector__XXX SG_ VOver120 m2 : 16|16@0+ (1,1) [1|30000] "" Vector__XXX SG_ VUnder50pct m1 : 16|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ StatusSA_Mask m5 : 24|8@0+ (1,0) [0|255] "" Vector__XXX SG_ FreqLo m4 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ StatusBaudrate m5 : 32|4@0+ (1,0) [0|15] "" Vector__XXX SG_ StatusK1Open m8 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Close m9 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX1Close m7 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ V50to88pct m1 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 48|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ FreqVeryLo1 m3 : 48|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ StatusK1Close m8 : 48|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX2Open m7 : 48|16@0+ (1,0) [0|65535] "ms" Vector__XXX SG_ V110to120pct m1 : 48|16@0+ (1,1) [1|30000] "ms" Vector__XXX BO_ 486523383 softwareRev: 9 Vector__XXX SG_ ControlSwRev : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ InterfaceRev : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ BuildTime : 32|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 486524407 StatusControlVoltage: 9 Vector__XXX SG_ v5p0_Supply : 0|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v3p3_Supply : 16|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v24_Supply : 32|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v15_Supply : 48|16@0+ (0.01,0) [0|65535] "V" Vector__XXX BO_ 486524663 StatusControlVolts2: 9 Vector__XXX SG_ n15V_Supply : 0|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ DiodeTemperature : 32|16@0+ (1,0) [0|65535] "C" Vector__XXX SG_ IGBTTemperature : 48|16@0+ (1,0) [0|65535] "C" Vector__XXX BO_ 486524919 StatusDCParameters: 8 Vector__XXX SG_ VoltageDCInput_measured : 0|16@0+ (1,0) [0|65535] "V" Vector__XXX SG_ VoltageDCBus : 16|16@0+ (1,0) [0|65535] "V" Vector__XXX SG_ CurrentDC_measured : 32|16@0+ (1,0) [0|65535] "A" Vector__XXX BO_ 486526199 serialNumber: 8 Vector__XXX SG_ SerialNumber : 0|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 486526455 softwareRevHash: 8 Vector__XXX SG_ Hash : 0|28@0+ (1,0) [0|268435455] "" Vector__XXX BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_DEF_ BO_ "GenMsgCycleTimeActive" INT 0 65535; BA_DEF_ BO_ "GenMsgDelayTime" INT 0 65535; BA_DEF_ BO_ "GenMsgNrOfRepetitions" INT 0 65535; BA_DEF_ BO_ "GenMsgSendType" ENU; BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","StandardCAN_FD","ExtendedCAN_FD","J1939PG"; BA_DEF_ SG_ "GenSigSNA" STRING; BA_DEF_ "BusType" STRING; BA_ "BusType" "CAN FD"; BA_ "GenMsgCycleTime" BO_ 16751425 0; BA_ "GenMsgSendType" BO_ 16751425 ""; BA_ "VFrameFormat" BO_ 16751425 2; BA_ "GenMsgCycleTime" BO_ 16755521 0; BA_ "GenMsgSendType" BO_ 16755521 ""; BA_ "VFrameFormat" BO_ 16755521 2; BA_ "GenMsgCycleTime" BO_ 218078273 0; BA_ "GenMsgSendType" BO_ 218078273 ""; BA_ "VFrameFormat" BO_ 218078273 2; BA_ "GenMsgCycleTime" BO_ 218078785 0; BA_ "GenMsgSendType" BO_ 218078785 ""; BA_ "VFrameFormat" BO_ 218078785 0; BA_ "GenMsgCycleTime" BO_ 218081857 0; BA_ "GenMsgSendType" BO_ 218081857 ""; BA_ "VFrameFormat" BO_ 218081857 2; BA_ "GenMsgCycleTime" BO_ 218082369 0; BA_ "GenMsgSendType" BO_ 218082369 ""; BA_ "VFrameFormat" BO_ 218082369 2; BA_ "GenMsgCycleTime" BO_ 218082881 0; BA_ "GenMsgSendType" BO_ 218082881 ""; BA_ "VFrameFormat" BO_ 218082881 0; BA_ "GenMsgCycleTime" BO_ 218083137 0; BA_ "GenMsgSendType" BO_ 218083137 ""; BA_ "VFrameFormat" BO_ 218083137 2; BA_ "GenMsgCycleTime" BO_ 218088183 100; BA_ "GenMsgSendType" BO_ 218088183 ""; BA_ "VFrameFormat" BO_ 218088183 0; BA_ "GenMsgCycleTime" BO_ 218088439 100; BA_ "GenMsgSendType" BO_ 218088439 ""; BA_ "VFrameFormat" BO_ 218088439 0; BA_ "GenMsgCycleTime" BO_ 218089719 100; BA_ "GenMsgSendType" BO_ 218089719 ""; BA_ "VFrameFormat" BO_ 218089719 0; BA_ "GenMsgCycleTime" BO_ 218090230 0; BA_ "GenMsgSendType" BO_ 218090230 ""; BA_ "VFrameFormat" BO_ 218090230 2; BA_ "GenMsgCycleTime" BO_ 218090231 100; BA_ "GenMsgSendType" BO_ 218090231 ""; BA_ "VFrameFormat" BO_ 218090231 2; BA_ "GenMsgCycleTime" BO_ 419415287 100; BA_ "GenMsgSendType" BO_ 419415287 ""; BA_ "VFrameFormat" BO_ 419415287 2; BA_ "GenMsgCycleTime" BO_ 419416567 100; BA_ "GenMsgSendType" BO_ 419416567 ""; BA_ "VFrameFormat" BO_ 419416567 0; BA_ "GenMsgCycleTime" BO_ 419417079 100; BA_ "GenMsgSendType" BO_ 419417079 ""; BA_ "VFrameFormat" BO_ 419417079 0; BA_ "GenMsgCycleTime" BO_ 419418359 100; BA_ "GenMsgSendType" BO_ 419418359 ""; BA_ "VFrameFormat" BO_ 419418359 0; BA_ "GenMsgCycleTime" BO_ 419418615 100; BA_ "GenMsgSendType" BO_ 419418615 ""; BA_ "VFrameFormat" BO_ 419418615 0; BA_ "GenMsgCycleTime" BO_ 486517239 0; BA_ "GenMsgSendType" BO_ 486517239 ""; BA_ "VFrameFormat" BO_ 486517239 2; BA_ "GenMsgCycleTime" BO_ 486523383 0; BA_ "GenMsgSendType" BO_ 486523383 ""; BA_ "VFrameFormat" BO_ 486523383 2; BA_ "GenMsgCycleTime" BO_ 486524407 100; BA_ "GenMsgSendType" BO_ 486524407 ""; BA_ "VFrameFormat" BO_ 486524407 2; BA_ "GenMsgCycleTime" BO_ 486524663 100; BA_ "GenMsgSendType" BO_ 486524663 ""; BA_ "VFrameFormat" BO_ 486524663 2; BA_ "GenMsgCycleTime" BO_ 486524919 100; BA_ "GenMsgSendType" BO_ 486524919 ""; BA_ "VFrameFormat" BO_ 486524919 0; BA_ "GenMsgCycleTime" BO_ 486526199 0; BA_ "GenMsgSendType" BO_ 486526199 ""; BA_ "VFrameFormat" BO_ 486526199 0; BA_ "GenMsgCycleTime" BO_ 486526455 0; BA_ "GenMsgSendType" BO_ 486526455 ""; BA_ "VFrameFormat" BO_ 486526455 0; VAL_ 16751425 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16751425 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 16751425 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 16751425 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16751425 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 16751425 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 16755521 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16755521 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 16755521 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 16755521 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16755521 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 16755521 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218081857 CommandSetNVParam_MUX 0 "Param0" 1 "LVM_ClearingTimes1" 2 "LVM_ClearingTimes2" 3 "LFM_Limits" 4 "LFM_ClearingTimes" 5 "J1939_Interface" 6 "Fault_Config" 7 "ContactorDelays1" 8 "ContactorDelays2" 9 "ContactorDelays3"; VAL_ 218081857 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 218081857 Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 218083137 WriteSerialNumber 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 State_status 0 "Power On Reset" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_ 218088439 Enable_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 FaultClr_echo 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 218088439 HardwareEnable_status 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerAvailAC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerAvailDC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerCircuitEnabled_status 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_ 218088439 MX1Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 MX2Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 K1PrechargePermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 K2DCRunPermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidModeControl_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidPowerCMD_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidVF_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 CANbus_status 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_ 218088439 EnableUPSMode_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 EnableSplitPhase_echo 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 218088439 PhaseRotation_status 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218088439 LineVoltageDetected_status 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_ 218088439 PhaseRotation_echo 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218089719 GeneralFault_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvercurrentAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 LossOfAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvercurrentDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 UndervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvertempInternal_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvertempPowerDevice_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 ControlHardwareFail_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 LossValidControlMessage_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 EStopShutdown_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 IllegalTransition_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 InvalidEEHeader_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 InvalidEESection_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 ThermalOverload 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 BridgeBFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 218089719 BridgeBVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 BridgeAFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 218089719 BridgeAVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 486517239 StatusNVParam_MUX 0 "ActParam0" 1 "ActLVM_ClearingTimes1" 2 "ActLVM_ClearingTimes2" 3 "ActLFM_Limits" 4 "ActLFM_ClearingTimes" 5 "StatusJ1939_Interface" 6 "StatusFault_Config" 7 "StatusContactorDelays1" 8 "StatusContactorDelays2" 9 "StatusContactorDelays3"; VAL_ 486517239 StatusThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 486517239 StatusBaudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; canmatrix-0.9.5/test/reference/from_xls/test.dbf000066400000000000000000000704021416730473300217300ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 25 [START_MSG] CommandModeControlAPU2,16751425,9,11,1,S,Vector__XXX [START_SIGNALS] Enable_command,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,9,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandModeControl,16755521,9,11,1,S,Vector__XXX [START_SIGNALS] Enable_command,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,9,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPowerAPU2,218078273,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_command,32,5,1,U,90000.0,-90000.0,0,-90000.0,1,W,, [START_SIGNALS] ReactivePower_command,32,9,1,U,90000.0,-90000.0,0,-90000.0,1,VA,, [END_MSG] [START_MSG] CommandVFAPU2,218078785,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_command,16,3,1,U,5000.0,100.0,0,10.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,5,1,U,650.0,450.0,0,45.0,0.1,Hz,, [END_MSG] [START_MSG] CommandSetNVParam,218081857,9,23,1,S,Vector__XXX [START_SIGNALS] CommandSetNVParam_MUX,16,3,1,U,65535.0,0.0,0,0.0,1,,M, [VALUE_DESCRIPTION] "Param0",0 [VALUE_DESCRIPTION] "LVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "LVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "LFM_Limits",3 [VALUE_DESCRIPTION] "LFM_ClearingTimes",4 [VALUE_DESCRIPTION] "J1939_Interface",5 [VALUE_DESCRIPTION] "Fault_Config",6 [VALUE_DESCRIPTION] "ContactorDelays1",7 [VALUE_DESCRIPTION] "ContactorDelays2",8 [VALUE_DESCRIPTION] "ContactorDelays3",9 [START_SIGNALS] ThermalOverload,2,3,5,U,3.0,0.0,0,0.0,1,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Dummy,16,5,1,U,65535.0,0.0,0,0,1,,m0, [START_SIGNALS] FreqHi,16,5,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,5,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] K2Open,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] MX1Open,16,5,1,U,5000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] MX2Close,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] NodeID,8,4,1,U,247.0,0.0,0,0.0,1,,m5, [START_SIGNALS] VOver120,16,5,1,U,30000.0,1.0,0,1.0,1,,m2, [START_SIGNALS] VUnder50pct,16,5,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] SA_Mask,8,5,1,U,255.0,0.0,0,0,1,,m5, [START_SIGNALS] Baudrate,4,6,5,U,15.0,0.0,0,0.0,1,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] FreqLo,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m4, [START_SIGNALS] K1Open,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] K2Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] MX1Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] V50to88pct,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] FreqHi,16,9,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] FreqVeryLo,16,9,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] K1Close,16,9,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] MX2Open,16,9,1,U,65535.0,0.0,0,0,1,ms,m7, [START_SIGNALS] V110to120pct,16,9,1,U,30000.0,1.0,0,1.0,1,ms,m1, [END_MSG] [START_MSG] CommandPower,218082369,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_command,32,5,1,U,90000.0,-90000.0,0,-90000.0,1,W,, [START_SIGNALS] ReactivePower_command,32,9,1,U,90000.0,-90000.0,0,-90000.0,1,VA,, [END_MSG] [START_MSG] CommandVF,218082881,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_command,16,3,1,U,5000.0,100.0,0,10.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,5,1,U,650.0,450.0,0,45.0,0.1,Hz,, [END_MSG] [START_MSG] CommandFactoryControl,218083137,9,3,1,S,Vector__XXX [START_SIGNALS] WriteSerialNumber,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FactoryAccess,16,5,1,U,65535.0,0.0,0,0,1,,, [START_SIGNALS] SerialNumber,32,9,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] StatusACParameters,218088183,8,3,1,S,Vector__XXX [START_SIGNALS] VoltageAC_measured,16,3,1,U,655350.0,0.0,0,0,0.1,V,, [START_SIGNALS] CurrentAC_measured,16,5,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] Frequency_measured,16,7,1,U,655350.0,0.0,0,0,0.1,Hz,, [END_MSG] [START_MSG] StatusBits,218088439,8,20,1,S,Vector__XXX [START_SIGNALS] State_status,4,1,1,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Power On Reset",0 [VALUE_DESCRIPTION] "Ready",1 [VALUE_DESCRIPTION] "Following",2 [VALUE_DESCRIPTION] "Fault",3 [VALUE_DESCRIPTION] "Forming",4 [VALUE_DESCRIPTION] "N/A",5 [VALUE_DESCRIPTION] "N/A",6 [VALUE_DESCRIPTION] "N/A",7 [VALUE_DESCRIPTION] "N/A",8 [VALUE_DESCRIPTION] "N/A",9 [VALUE_DESCRIPTION] "N/A",10 [VALUE_DESCRIPTION] "N/A",11 [VALUE_DESCRIPTION] "N/A",12 [VALUE_DESCRIPTION] "N/A",13 [VALUE_DESCRIPTION] "N/A",14 [VALUE_DESCRIPTION] "N/A",15 [START_SIGNALS] Enable_echo,2,1,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClr_echo,2,2,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] HardwareEnable_status,2,2,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Not Active",0 [VALUE_DESCRIPTION] "Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailAC_status,2,2,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailDC_status,2,2,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerCircuitEnabled_status,2,3,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disabled",0 [VALUE_DESCRIPTION] "Enabled",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Permissive_status,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX2Permissive_status,2,3,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K1PrechargePermissive_status,2,3,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K2DCRunPermissive_status,2,4,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidModeControl_status,2,4,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidPowerCMD_status,2,4,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidVF_status,2,4,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] CANbus_status,2,5,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Warning",1 [VALUE_DESCRIPTION] "ErrorPassive",3 [VALUE_DESCRIPTION] "N/A",4 [START_SIGNALS] EnableUPSMode_echo,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_echo,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_status,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LineVoltageDetected_status,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No_Voltage",0 [VALUE_DESCRIPTION] "Voltage_Detected",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_echo,2,6,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusFaults,218089719,8,19,1,S,Vector__XXX [START_SIGNALS] GeneralFault_status,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentAC_status,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossOfAC_status,2,1,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentDC_status,2,2,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvervoltageDC_status,2,2,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] UndervoltageDC_status,2,2,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempInternal_status,2,2,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempPowerDevice_status,2,3,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ControlHardwareFail_status,4,3,1,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossValidControlMessage_status,4,4,5,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EStopShutdown_status,2,4,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] IllegalTransition_status,2,4,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEEHeader_status,2,4,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEESection_status,2,5,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ThermalOverload,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeBFault_status,3,6,3,U,7.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeBVoltageOk_status,1,6,4,U,1.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeAFault_status,3,8,3,U,7.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeAVoltageOk_status,1,8,4,U,1.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] MasterMeasuredPower,218090230,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_measured,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_measured,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusMeasuredPower,218090231,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_measured,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_measured,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusCommandedPower,419415287,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_echo,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_echo,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusCommandVF,419416567,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_echo,16,3,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] Frequency_echo,16,5,1,U,655350.0,0.0,0,0,0.1,Hz,, [END_MSG] [START_MSG] StatusTemps,419417079,8,3,1,S,Vector__XXX [START_SIGNALS] TempInlet_measured,16,3,1,U,655350.0,0.0,0,0,0.1,C,, [START_SIGNALS] TempInternal_measured,16,5,1,U,655350.0,0.0,0,0,0.1,C,, [START_SIGNALS] ConverterLosses,16,7,1,U,65535.0,0.0,0,0,1,W,, [END_MSG] [START_MSG] StatusLineCurrents,419418359,8,3,1,S,Vector__XXX [START_SIGNALS] L1Current_measured,16,3,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] L2Current_measured,16,5,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] L3Current_measured,16,7,1,U,65535.0,0.0,0,0,1,A,, [END_MSG] [START_MSG] StatusLineVoltages,419418615,8,3,1,S,Vector__XXX [START_SIGNALS] L1Voltage_measured,16,3,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] L2Voltage_measured,16,5,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] L3Voltage_measured,16,7,1,U,655350.0,0.0,0,0,0.1,Vrms,, [END_MSG] [START_MSG] StatusNVParam,486517239,9,23,1,S,Vector__XXX [START_SIGNALS] StatusNVParam_MUX,16,3,1,U,65535.0,0.0,0,0.0,1,,M, [VALUE_DESCRIPTION] "ActParam0",0 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "ActLFM_Limits",3 [VALUE_DESCRIPTION] "ActLFM_ClearingTimes",4 [VALUE_DESCRIPTION] "StatusJ1939_Interface",5 [VALUE_DESCRIPTION] "StatusFault_Config",6 [VALUE_DESCRIPTION] "StatusContactorDelays1",7 [VALUE_DESCRIPTION] "StatusContactorDelays2",8 [VALUE_DESCRIPTION] "StatusContactorDelays3",9 [START_SIGNALS] StatusThermalOverload,2,3,5,U,3.0,0.0,0,0.0,1,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Dummy,16,5,1,U,10.0,5.0,0,5.0,1,,m0, [START_SIGNALS] FreqHi,16,5,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,5,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] StatusK2Open,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] StatusMX1Open,16,5,1,U,5000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] StatusMX2Close,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusNodeID,8,4,1,U,247.0,0.0,0,0.0,1,,m5, [START_SIGNALS] VOver120,16,5,1,U,30000.0,1.0,0,1.0,1,,m2, [START_SIGNALS] VUnder50pct,16,5,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] StatusSA_Mask,8,5,1,U,255.0,0.0,0,0,1,,m5, [START_SIGNALS] FreqLo,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m4, [START_SIGNALS] StatusBaudrate,4,6,5,U,15.0,0.0,0,0.0,1,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] StatusK1Open,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusK2Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] StatusMX1Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] V50to88pct,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] FreqHi,16,9,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] FreqVeryLo,16,9,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] StatusK1Close,16,9,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusMX2Open,16,9,1,U,65535.0,0.0,0,0,1,ms,m7, [START_SIGNALS] V110to120pct,16,9,1,U,30000.0,1.0,0,1.0,1,ms,m1, [END_MSG] [START_MSG] softwareRev,486523383,9,3,1,S,Vector__XXX [START_SIGNALS] ControlSwRev,16,3,1,U,65535.0,0.0,0,0,1.0,,, [START_SIGNALS] InterfaceRev,16,5,1,U,65535.0,0.0,0,0,1.0,,, [START_SIGNALS] BuildTime,32,9,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] StatusControlVoltage,486524407,9,4,1,S,Vector__XXX [START_SIGNALS] v5p0_Supply,16,3,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v3p3_Supply,16,5,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v24_Supply,16,7,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v15_Supply,16,9,1,U,6553500.0,0.0,0,0,0.01,V,, [END_MSG] [START_MSG] StatusControlVolts2,486524663,9,3,1,S,Vector__XXX [START_SIGNALS] n15V_Supply,16,3,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] DiodeTemperature,16,7,1,U,65535.0,0.0,0,0,1,C,, [START_SIGNALS] IGBTTemperature,16,9,1,U,65535.0,0.0,0,0,1,C,, [END_MSG] [START_MSG] StatusDCParameters,486524919,8,3,1,S,Vector__XXX [START_SIGNALS] VoltageDCInput_measured,16,3,1,U,65535.0,0.0,0,0,1,V,, [START_SIGNALS] VoltageDCBus,16,5,1,U,65535.0,0.0,0,0,1,V,, [START_SIGNALS] CurrentDC_measured,16,7,1,U,65535.0,0.0,0,0,1,A,, [END_MSG] [START_MSG] serialNumber,486526199,8,1,1,S,Vector__XXX [START_SIGNALS] SerialNumber,32,5,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] softwareRevHash,486526455,8,1,1,S,Vector__XXX [START_SIGNALS] Hash,28,5,5,U,268435455.0,0.0,0,0,1,,, [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] 16751425 S Enable_command ""; 16751425 S FaultClear_command ""; 16751425 S MasterFollowerMode_command ""; 16751425 S ForceRelayMX1_command ""; 16751425 S ForceRelayMX2_command ""; 16751425 S ForceRelayK1_Precharge_command ""; 16751425 S ForceRelayRelayK2_DCRun_comand ""; 16751425 S InvertHwEnable_command ""; 16751425 S EnableUPSMode_command ""; 16751425 S EnableSplitPhase_command ""; 16751425 S PhaseRotation_command ""; 16755521 S Enable_command ""; 16755521 S FaultClear_command ""; 16755521 S MasterFollowerMode_command ""; 16755521 S ForceRelayMX1_command ""; 16755521 S ForceRelayMX2_command ""; 16755521 S ForceRelayK1_Precharge_command ""; 16755521 S ForceRelayRelayK2_DCRun_comand ""; 16755521 S InvertHwEnable_command ""; 16755521 S EnableUPSMode_command ""; 16755521 S EnableSplitPhase_command ""; 16755521 S PhaseRotation_command ""; 218078273 S RealPower_command ""; 218078273 S ReactivePower_command ""; 218078785 S Voltage_command ""; 218078785 S Frequency_command ""; 218081857 S CommandSetNVParam_MUX ""; 218081857 S ThermalOverload ""; 218081857 S Dummy ""; 218081857 S FreqHi ""; 218081857 S FreqVeryLo ""; 218081857 S K2Open ""; 218081857 S MX1Open ""; 218081857 S MX2Close ""; 218081857 S NodeID ""; 218081857 S VOver120 ""; 218081857 S VUnder50pct ""; 218081857 S SA_Mask ""; 218081857 S Baudrate ""; 218081857 S FreqLo ""; 218081857 S K1Open ""; 218081857 S K2Close ""; 218081857 S MX1Close ""; 218081857 S V50to88pct ""; 218081857 S FreqHi ""; 218081857 S FreqVeryLo ""; 218081857 S K1Close ""; 218081857 S MX2Open ""; 218081857 S V110to120pct ""; 218082369 S RealPower_command ""; 218082369 S ReactivePower_command ""; 218082881 S Voltage_command ""; 218082881 S Frequency_command ""; 218083137 S WriteSerialNumber ""; 218083137 S FactoryAccess ""; 218083137 S SerialNumber ""; 218088183 S VoltageAC_measured ""; 218088183 S CurrentAC_measured ""; 218088183 S Frequency_measured ""; 218088439 S State_status ""; 218088439 S Enable_echo ""; 218088439 S FaultClr_echo ""; 218088439 S HardwareEnable_status ""; 218088439 S PowerAvailAC_status ""; 218088439 S PowerAvailDC_status ""; 218088439 S PowerCircuitEnabled_status ""; 218088439 S MX1Permissive_status ""; 218088439 S MX2Permissive_status ""; 218088439 S K1PrechargePermissive_status ""; 218088439 S K2DCRunPermissive_status ""; 218088439 S MessageValidModeControl_status ""; 218088439 S MessageValidPowerCMD_status ""; 218088439 S MessageValidVF_status ""; 218088439 S CANbus_status ""; 218088439 S EnableUPSMode_echo ""; 218088439 S EnableSplitPhase_echo ""; 218088439 S PhaseRotation_status ""; 218088439 S LineVoltageDetected_status ""; 218088439 S PhaseRotation_echo ""; 218089719 S GeneralFault_status ""; 218089719 S OvercurrentAC_status ""; 218089719 S LossOfAC_status ""; 218089719 S OvercurrentDC_status ""; 218089719 S OvervoltageDC_status ""; 218089719 S UndervoltageDC_status ""; 218089719 S OvertempInternal_status ""; 218089719 S OvertempPowerDevice_status ""; 218089719 S ControlHardwareFail_status ""; 218089719 S LossValidControlMessage_status ""; 218089719 S EStopShutdown_status ""; 218089719 S IllegalTransition_status ""; 218089719 S InvalidEEHeader_status ""; 218089719 S InvalidEESection_status ""; 218089719 S ThermalOverload ""; 218089719 S BridgeBFault_status ""; 218089719 S BridgeBVoltageOk_status ""; 218089719 S BridgeAFault_status ""; 218089719 S BridgeAVoltageOk_status ""; 218090230 S RealPower_measured ""; 218090230 S ReactivePower_measured ""; 218090231 S RealPower_measured ""; 218090231 S ReactivePower_measured ""; 419415287 S RealPower_echo ""; 419415287 S ReactivePower_echo ""; 419416567 S Voltage_echo ""; 419416567 S Frequency_echo ""; 419417079 S TempInlet_measured ""; 419417079 S TempInternal_measured ""; 419417079 S ConverterLosses ""; 419418359 S L1Current_measured ""; 419418359 S L2Current_measured ""; 419418359 S L3Current_measured ""; 419418615 S L1Voltage_measured ""; 419418615 S L2Voltage_measured ""; 419418615 S L3Voltage_measured ""; 486517239 S StatusNVParam_MUX ""; 486517239 S StatusThermalOverload ""; 486517239 S Dummy ""; 486517239 S FreqHi ""; 486517239 S FreqVeryLo ""; 486517239 S StatusK2Open ""; 486517239 S StatusMX1Open ""; 486517239 S StatusMX2Close ""; 486517239 S StatusNodeID ""; 486517239 S VOver120 ""; 486517239 S VUnder50pct ""; 486517239 S StatusSA_Mask ""; 486517239 S FreqLo ""; 486517239 S StatusBaudrate ""; 486517239 S StatusK1Open ""; 486517239 S StatusK2Close ""; 486517239 S StatusMX1Close ""; 486517239 S V50to88pct ""; 486517239 S FreqHi ""; 486517239 S FreqVeryLo ""; 486517239 S StatusK1Close ""; 486517239 S StatusMX2Open ""; 486517239 S V110to120pct ""; 486523383 S ControlSwRev ""; 486523383 S InterfaceRev ""; 486523383 S BuildTime ""; 486524407 S v5p0_Supply ""; 486524407 S v3p3_Supply ""; 486524407 S v24_Supply ""; 486524407 S v15_Supply ""; 486524663 S n15V_Supply ""; 486524663 S DiodeTemperature ""; 486524663 S IGBTTemperature ""; 486524919 S VoltageDCInput_measured ""; 486524919 S VoltageDCBus ""; 486524919 S CurrentDC_measured ""; 486526199 S SerialNumber ""; 486526455 S Hash ""; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 "GenMsgCycleTimeActive",INT,0,65535,0 "GenMsgDelayTime",INT,0,65535,0 "GenMsgNrOfRepetitions",INT,0,65535,0 "GenMsgSendType",ENU,0 [END_PARAM_MSG] [START_PARAM_SIG] "GenSigSNA",STRING,0 [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 16751425,S,"GenMsgCycleTime","0" 16751425,S,"GenMsgSendType","" 16755521,S,"GenMsgCycleTime","0" 16755521,S,"GenMsgSendType","" 218078273,S,"GenMsgCycleTime","0" 218078273,S,"GenMsgSendType","" 218078785,S,"GenMsgCycleTime","0" 218078785,S,"GenMsgSendType","" 218081857,S,"GenMsgCycleTime","0" 218081857,S,"GenMsgSendType","" 218082369,S,"GenMsgCycleTime","0" 218082369,S,"GenMsgSendType","" 218082881,S,"GenMsgCycleTime","0" 218082881,S,"GenMsgSendType","" 218083137,S,"GenMsgCycleTime","0" 218083137,S,"GenMsgSendType","" 218088183,S,"GenMsgCycleTime","100" 218088183,S,"GenMsgSendType","" 218088439,S,"GenMsgCycleTime","100" 218088439,S,"GenMsgSendType","" 218089719,S,"GenMsgCycleTime","100" 218089719,S,"GenMsgSendType","" 218090230,S,"GenMsgCycleTime","0" 218090230,S,"GenMsgSendType","" 218090231,S,"GenMsgCycleTime","100" 218090231,S,"GenMsgSendType","" 419415287,S,"GenMsgCycleTime","100" 419415287,S,"GenMsgSendType","" 419416567,S,"GenMsgCycleTime","100" 419416567,S,"GenMsgSendType","" 419417079,S,"GenMsgCycleTime","100" 419417079,S,"GenMsgSendType","" 419418359,S,"GenMsgCycleTime","100" 419418359,S,"GenMsgSendType","" 419418615,S,"GenMsgCycleTime","100" 419418615,S,"GenMsgSendType","" 486517239,S,"GenMsgCycleTime","0" 486517239,S,"GenMsgSendType","" 486523383,S,"GenMsgCycleTime","0" 486523383,S,"GenMsgSendType","" 486524407,S,"GenMsgCycleTime","100" 486524407,S,"GenMsgSendType","" 486524663,S,"GenMsgCycleTime","100" 486524663,S,"GenMsgSendType","" 486524919,S,"GenMsgCycleTime","100" 486524919,S,"GenMsgSendType","" 486526199,S,"GenMsgCycleTime","0" 486526199,S,"GenMsgSendType","" 486526455,S,"GenMsgCycleTime","0" 486526455,S,"GenMsgSendType","" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_xls/test.json000066400000000000000000001611111416730473300221440ustar00rootroot00000000000000{ "messages": [ { "id": 16751425, "is_extended_frame": false, "name": "CommandModeControlAPU2", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 61 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 57 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 71 } ] }, { "id": 16755521, "is_extended_frame": false, "name": "CommandModeControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 61 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 57 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 71 } ] }, { "id": 218078273, "is_extended_frame": false, "name": "CommandPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_command", "offset": -90000.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_command", "offset": -90000.0, "start_bit": 65 } ] }, { "id": 218078785, "is_extended_frame": false, "name": "CommandVFAPU2", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 10.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 45.0, "start_bit": 33 } ] }, { "id": 218081857, "is_extended_frame": false, "name": "CommandSetNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CommandSetNVParam_MUX", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 21 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 40.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 160.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Close", "offset": 0.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "NodeID", "offset": 0.0, "start_bit": 25 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 1.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 1.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SA_Mask", "offset": 0.0, "start_bit": 33 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Baudrate", "offset": 0.0, "start_bit": 45 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Open", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 160.0, "start_bit": 65 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 40.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Close", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Open", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 1.0, "start_bit": 65 } ] }, { "id": 218082369, "is_extended_frame": false, "name": "CommandPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_command", "offset": -90000.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_command", "offset": -90000.0, "start_bit": 65 } ] }, { "id": 218082881, "is_extended_frame": false, "name": "CommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 10.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 45.0, "start_bit": 33 } ] }, { "id": 218083137, "is_extended_frame": false, "name": "CommandFactoryControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "WriteSerialNumber", "offset": 0.0, "start_bit": 5 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FactoryAccess", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 65 } ] }, { "id": 218088183, "is_extended_frame": false, "name": "StatusACParameters", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageAC_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CurrentAC_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 218088439, "is_extended_frame": false, "name": "StatusBits", "signals": [ { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "State_status", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_echo", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClr_echo", "offset": 0.0, "start_bit": 15 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "HardwareEnable_status", "offset": 0.0, "start_bit": 13 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailAC_status", "offset": 0.0, "start_bit": 11 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailDC_status", "offset": 0.0, "start_bit": 9 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerCircuitEnabled_status", "offset": 0.0, "start_bit": 23 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Permissive_status", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Permissive_status", "offset": 0.0, "start_bit": 19 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1PrechargePermissive_status", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2DCRunPermissive_status", "offset": 0.0, "start_bit": 31 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidModeControl_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidPowerCMD_status", "offset": 0.0, "start_bit": 27 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidVF_status", "offset": 0.0, "start_bit": 25 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CANbus_status", "offset": 0.0, "start_bit": 39 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_echo", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_echo", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_status", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LineVoltageDetected_status", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_echo", "offset": 0.0, "start_bit": 45 } ] }, { "id": 218089719, "is_extended_frame": false, "name": "StatusFaults", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "GeneralFault_status", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentAC_status", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossOfAC_status", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentDC_status", "offset": 0.0, "start_bit": 15 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvervoltageDC_status", "offset": 0.0, "start_bit": 13 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "UndervoltageDC_status", "offset": 0.0, "start_bit": 11 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempInternal_status", "offset": 0.0, "start_bit": 9 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempPowerDevice_status", "offset": 0.0, "start_bit": 23 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlHardwareFail_status", "offset": 0.0, "start_bit": 17 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossValidControlMessage_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EStopShutdown_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IllegalTransition_status", "offset": 0.0, "start_bit": 27 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEEHeader_status", "offset": 0.0, "start_bit": 25 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEESection_status", "offset": 0.0, "start_bit": 39 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 37 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBFault_status", "offset": 0.0, "start_bit": 43 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBVoltageOk_status", "offset": 0.0, "start_bit": 44 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAFault_status", "offset": 0.0, "start_bit": 59 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAVoltageOk_status", "offset": 0.0, "start_bit": 60 } ] }, { "id": 218090230, "is_extended_frame": false, "name": "MasterMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 65 } ] }, { "id": 218090231, "is_extended_frame": false, "name": "StatusMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 65 } ] }, { "id": 419415287, "is_extended_frame": false, "name": "StatusCommandedPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_echo", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_echo", "offset": 0.0, "start_bit": 65 } ] }, { "id": 419416567, "is_extended_frame": false, "name": "StatusCommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_echo", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_echo", "offset": 0.0, "start_bit": 33 } ] }, { "id": 419417079, "is_extended_frame": false, "name": "StatusTemps", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "TempInlet_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "TempInternal_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ConverterLosses", "offset": 0.0, "start_bit": 49 } ] }, { "id": 419418359, "is_extended_frame": false, "name": "StatusLineCurrents", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Current_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Current_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Current_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 419418615, "is_extended_frame": false, "name": "StatusLineVoltages", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Voltage_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Voltage_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Voltage_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 486517239, "is_extended_frame": false, "name": "StatusNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusNVParam_MUX", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusThermalOverload", "offset": 0.0, "start_bit": 21 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 5.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 40.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 160.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Close", "offset": 0.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusNodeID", "offset": 0.0, "start_bit": 25 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 1.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 1.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusSA_Mask", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 1.0, "start_bit": 49 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusBaudrate", "offset": 0.0, "start_bit": 45 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Open", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 160.0, "start_bit": 65 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 40.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Close", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Open", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 1.0, "start_bit": 65 } ] }, { "id": 486523383, "is_extended_frame": false, "name": "softwareRev", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlSwRev", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InterfaceRev", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BuildTime", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524407, "is_extended_frame": false, "name": "StatusControlVoltage", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v5p0_Supply", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v3p3_Supply", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v24_Supply", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v15_Supply", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524663, "is_extended_frame": false, "name": "StatusControlVolts2", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "n15V_Supply", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "DiodeTemperature", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IGBTTemperature", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524919, "is_extended_frame": false, "name": "StatusDCParameters", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageDCInput_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageDCBus", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CurrentDC_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 486526199, "is_extended_frame": false, "name": "serialNumber", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 33 } ] }, { "id": 486526455, "is_extended_frame": false, "name": "softwareRevHash", "signals": [ { "bit_length": 28, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Hash", "offset": 0.0, "start_bit": 37 } ] } ] }canmatrix-0.9.5/test/reference/from_xls/test.kcd000066400000000000000000001262361416730473300217450ustar00rootroot00000000000000 some text canmatrix-0.9.5/test/reference/from_xls/test.sym000066400000000000000000000432561416730473300220140ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Baudrate(0="125K", 1="250K", 2="500K", 3="1M") enum BridgeAFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeAVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum BridgeBFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeBVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum CANbus_status(0="Normal", 1="Warning", 3="ErrorPassive", 4="N/A") enum ControlHardwareFail_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EStopShutdown_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EnableSplitPhase_command(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableSplitPhase_echo(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableUPSMode_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum EnableUPSMode_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum FaultClear_command(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum FaultClr_echo(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum ForceRelayK1_Precharge_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX1_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX2_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayRelayK2_DCRun_comand(0="Normal", 1="Force On", 2="Error", 3="N/A") enum GeneralFault_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum HardwareEnable_status(0="Not Active", 1="Active", 2="Error", 3="N/A") enum IllegalTransition_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEEHeader_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEESection_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvertHwEnable_command(0="No invert", 1="Invert", 2="Error", 3="N/A") enum K1PrechargePermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum K2DCRunPermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum LineVoltageDetected_status(0="No_Voltage", 1="Voltage_Detected", 2="Error", 3="N/A") enum LossOfAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum LossValidControlMessage_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum MX1Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MX2Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MasterFollowerMode_command(0="Master", 1="Follower", 2="Error", 3="N/A") enum MessageValidModeControl_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidPowerCMD_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidVF_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum OvercurrentAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvercurrentDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempInternal_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempPowerDevice_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum PhaseRotation_command(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_echo(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_status(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PowerAvailAC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerAvailDC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerCircuitEnabled_status(0="Disabled", 1="Enabled", 2="Error", 3="N/A") enum State_status(0="Power On Reset", 1="Ready", 2="Following", 3="Fault", 4="Forming", 5="N/A", 6="N/A", 7="N/A", 8="N/A", 9="N/A", 10="N/A", 11="N/A", 12="N/A", 13="N/A", 14="N/A", 15="N/A") enum StatusBaudrate(0="125K", 1="250K", 2="500K", 3="1M") enum StatusThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum ThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum UndervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum WriteSerialNumber(0="Disable", 1="Enable", 2="Error", 3="N/A") {SENDRECEIVE} [CommandModeControlAPU2] ID=FF9B41h Type=Standard DLC=9 CycleTime=0 Var=Enable_command unsigned 1,2 -m /min:0 /max:3 /e:Enable_command Var=FaultClear_command unsigned 3,2 -m /min:0 /max:3 /e:FaultClear_command Var=MasterFollowerMode_command unsigned 17,2 -m /min:0 /max:3 /e:MasterFollowerMode_command Var=ForceRelayMX1_command unsigned 33,2 -m /min:0 /max:3 /e:ForceRelayMX1_command Var=ForceRelayMX2_command unsigned 35,2 -m /min:0 /max:3 /e:ForceRelayMX2_command Var=ForceRelayK1_Precharge_command unsigned 37,2 -m /min:0 /max:3 /e:ForceRelayK1_Precharge_command Var=ForceRelayRelayK2_DCRun_comand unsigned 39,2 -m /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand Var=InvertHwEnable_command unsigned 57,2 -m /min:0 /max:3 /e:InvertHwEnable_command Var=EnableUPSMode_command unsigned 59,2 -m /min:0 /max:3 /e:EnableUPSMode_command Var=EnableSplitPhase_command unsigned 61,2 -m /min:0 /max:3 /e:EnableSplitPhase_command Var=PhaseRotation_command unsigned 63,2 -m /min:0 /max:3 /e:PhaseRotation_command [CommandModeControl] ID=FFAB41h Type=Standard DLC=9 CycleTime=0 Var=Enable_command unsigned 1,2 -m /min:0 /max:3 /e:Enable_command Var=FaultClear_command unsigned 3,2 -m /min:0 /max:3 /e:FaultClear_command Var=MasterFollowerMode_command unsigned 17,2 -m /min:0 /max:3 /e:MasterFollowerMode_command Var=ForceRelayMX1_command unsigned 33,2 -m /min:0 /max:3 /e:ForceRelayMX1_command Var=ForceRelayMX2_command unsigned 35,2 -m /min:0 /max:3 /e:ForceRelayMX2_command Var=ForceRelayK1_Precharge_command unsigned 37,2 -m /min:0 /max:3 /e:ForceRelayK1_Precharge_command Var=ForceRelayRelayK2_DCRun_comand unsigned 39,2 -m /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand Var=InvertHwEnable_command unsigned 57,2 -m /min:0 /max:3 /e:InvertHwEnable_command Var=EnableUPSMode_command unsigned 59,2 -m /min:0 /max:3 /e:EnableUPSMode_command Var=EnableSplitPhase_command unsigned 61,2 -m /min:0 /max:3 /e:EnableSplitPhase_command Var=PhaseRotation_command unsigned 63,2 -m /min:0 /max:3 /e:PhaseRotation_command [CommandPowerAPU2] ID=CFF9C41h Type=Standard DLC=9 CycleTime=0 Var=RealPower_command unsigned 7,32 -m /u:W /o:-90000 /min:-90000 /max:90000 Var=ReactivePower_command unsigned 39,32 -m /u:VA /o:-90000 /min:-90000 /max:90000 [CommandVFAPU2] ID=CFF9E41h Type=Standard DLC=8 CycleTime=0 Var=Voltage_command unsigned 7,16 -m /u:Vrms /f:0.1 /o:10 /min:10 /max:500 Var=Frequency_command unsigned 23,16 -m /u:Hz /f:0.1 /o:45 /min:45 /max:65 [CommandSetNVParam] ID=CFFAA41h Type=Standard DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX0 7,16 0 -m Var=Dummy unsigned 23,16 -m /min:0 /max:65535 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX1 7,16 1 -m Var=VUnder50pct unsigned 23,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V50to88pct unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V110to120pct unsigned 55,16 -m /u:ms /o:1 /min:1 /max:30000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX2 7,16 2 -m Var=VOver120 unsigned 23,16 -m /o:1 /min:1 /max:30000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX3 7,16 3 -m Var=FreqHi unsigned 23,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 Var=FreqVeryLo unsigned 55,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX4 7,16 4 -m Var=FreqVeryLo unsigned 23,16 -m /u:ms /o:160 /min:160 /max:160 Var=FreqLo unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=FreqHi unsigned 55,16 -m /u:ms /o:160 /min:160 /max:160 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX5 7,16 5 -m Var=NodeID unsigned 23,8 -m /min:0 /max:247 Var=SA_Mask unsigned 31,8 -m /min:0 /max:255 Var=Baudrate unsigned 39,4 -m /min:0 /max:15 /e:Baudrate [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX6 7,16 6 -m Var=ThermalOverload unsigned 17,2 -m /min:0 /max:3 /e:ThermalOverload [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX7 7,16 7 -m Var=MX1Open unsigned 23,16 -m /u:ms /min:0 /max:5000 Var=MX1Close unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=MX2Open unsigned 55,16 -m /u:ms /min:0 /max:65535 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX8 7,16 8 -m Var=MX2Close unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=K1Open unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=K1Close unsigned 55,16 -m /u:ms /min:0 /max:2000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX9 7,16 9 -m Var=K2Open unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=K2Close unsigned 39,16 -m /u:ms /min:0 /max:2000 [CommandPower] ID=CFFAC41h Type=Standard DLC=9 CycleTime=0 Var=RealPower_command unsigned 7,32 -m /u:W /o:-90000 /min:-90000 /max:90000 Var=ReactivePower_command unsigned 39,32 -m /u:VA /o:-90000 /min:-90000 /max:90000 [CommandVF] ID=CFFAE41h Type=Standard DLC=8 CycleTime=0 Var=Voltage_command unsigned 7,16 -m /u:Vrms /f:0.1 /o:10 /min:10 /max:500 Var=Frequency_command unsigned 23,16 -m /u:Hz /f:0.1 /o:45 /min:45 /max:65 [CommandFactoryControl] ID=CFFAF41h Type=Standard DLC=9 CycleTime=0 Var=WriteSerialNumber unsigned 1,2 -m /min:0 /max:3 /e:WriteSerialNumber Var=FactoryAccess unsigned 23,16 -m /min:0 /max:65535 Var=SerialNumber unsigned 39,32 -m /min:0 /max:4294967295 [StatusACParameters] ID=CFFC2F7h Type=Standard DLC=8 CycleTime=100 Var=VoltageAC_measured unsigned 7,16 -m /u:V /f:0.1 /min:0 /max:65535 Var=CurrentAC_measured unsigned 23,16 -m /u:A /min:0 /max:65535 Var=Frequency_measured unsigned 39,16 -m /u:Hz /f:0.1 /min:0 /max:65535 [StatusBits] ID=CFFC3F7h Type=Standard DLC=8 CycleTime=100 Var=State_status unsigned 3,4 -m /min:0 /max:15 /e:State_status Var=Enable_echo unsigned 5,2 -m /min:0 /max:3 /e:Enable_echo Var=FaultClr_echo unsigned 7,2 -m /min:0 /max:3 /e:FaultClr_echo Var=HardwareEnable_status unsigned 9,2 -m /min:0 /max:3 /e:HardwareEnable_status Var=PowerAvailAC_status unsigned 11,2 -m /min:0 /max:3 /e:PowerAvailAC_status Var=PowerAvailDC_status unsigned 13,2 -m /min:0 /max:3 /e:PowerAvailDC_status Var=PowerCircuitEnabled_status unsigned 15,2 -m /min:0 /max:3 /e:PowerCircuitEnabled_status Var=MX1Permissive_status unsigned 17,2 -m /min:0 /max:3 /e:MX1Permissive_status Var=MX2Permissive_status unsigned 19,2 -m /min:0 /max:3 /e:MX2Permissive_status Var=K1PrechargePermissive_status unsigned 21,2 -m /min:0 /max:3 /e:K1PrechargePermissive_status Var=K2DCRunPermissive_status unsigned 23,2 -m /min:0 /max:3 /e:K2DCRunPermissive_status Var=MessageValidModeControl_status unsigned 25,2 -m /min:0 /max:3 /e:MessageValidModeControl_status Var=MessageValidPowerCMD_status unsigned 27,2 -m /min:0 /max:3 /e:MessageValidPowerCMD_status Var=MessageValidVF_status unsigned 29,2 -m /min:0 /max:3 /e:MessageValidVF_status Var=CANbus_status unsigned 31,2 -m /min:0 /max:3 /e:CANbus_status Var=EnableUPSMode_echo unsigned 33,2 -m /min:0 /max:3 /e:EnableUPSMode_echo Var=EnableSplitPhase_echo unsigned 35,2 -m /min:0 /max:3 /e:EnableSplitPhase_echo Var=PhaseRotation_status unsigned 37,2 -m /min:0 /max:3 /e:PhaseRotation_status Var=LineVoltageDetected_status unsigned 39,2 -m /min:0 /max:3 /e:LineVoltageDetected_status Var=PhaseRotation_echo unsigned 41,2 -m /min:0 /max:3 /e:PhaseRotation_echo [StatusFaults] ID=CFFC8F7h Type=Standard DLC=8 CycleTime=100 Var=GeneralFault_status unsigned 1,2 -m /min:0 /max:3 /e:GeneralFault_status Var=OvercurrentAC_status unsigned 3,2 -m /min:0 /max:3 /e:OvercurrentAC_status Var=LossOfAC_status unsigned 5,2 -m /min:0 /max:3 /e:LossOfAC_status Var=OvercurrentDC_status unsigned 7,2 -m /min:0 /max:3 /e:OvercurrentDC_status Var=OvervoltageDC_status unsigned 9,2 -m /min:0 /max:3 /e:OvervoltageDC_status Var=UndervoltageDC_status unsigned 11,2 -m /min:0 /max:3 /e:UndervoltageDC_status Var=OvertempInternal_status unsigned 13,2 -m /min:0 /max:3 /e:OvertempInternal_status Var=OvertempPowerDevice_status unsigned 15,2 -m /min:0 /max:3 /e:OvertempPowerDevice_status Var=ControlHardwareFail_status unsigned 19,4 -m /min:0 /max:15 /e:ControlHardwareFail_status Var=LossValidControlMessage_status unsigned 23,4 -m /min:0 /max:15 /e:LossValidControlMessage_status Var=EStopShutdown_status unsigned 25,2 -m /min:0 /max:3 /e:EStopShutdown_status Var=IllegalTransition_status unsigned 27,2 -m /min:0 /max:3 /e:IllegalTransition_status Var=InvalidEEHeader_status unsigned 29,2 -m /min:0 /max:3 /e:InvalidEEHeader_status Var=InvalidEESection_status unsigned 31,2 -m /min:0 /max:3 /e:InvalidEESection_status Var=ThermalOverload unsigned 33,2 -m /min:0 /max:3 /e:ThermalOverload Var=BridgeBFault_status unsigned 42,3 -m /min:0 /max:7 /e:BridgeBFault_status Var=BridgeBVoltageOk_status unsigned 43,1 -m /min:0 /max:1 /e:BridgeBVoltageOk_status Var=BridgeAFault_status unsigned 58,3 -m /min:0 /max:7 /e:BridgeAFault_status Var=BridgeAVoltageOk_status unsigned 59,1 -m /min:0 /max:1 /e:BridgeAVoltageOk_status [MasterMeasuredPower] ID=CFFCAF6h Type=Standard DLC=9 CycleTime=0 Var=RealPower_measured unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_measured unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusMeasuredPower] ID=CFFCAF7h Type=Standard DLC=9 CycleTime=100 Var=RealPower_measured unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_measured unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusCommandedPower] ID=18FFC4F7h Type=Standard DLC=9 CycleTime=100 Var=RealPower_echo unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_echo unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusCommandVF] ID=18FFC9F7h Type=Standard DLC=8 CycleTime=100 Var=Voltage_echo unsigned 7,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=Frequency_echo unsigned 23,16 -m /u:Hz /f:0.1 /min:0 /max:65535 [StatusTemps] ID=18FFCBF7h Type=Standard DLC=8 CycleTime=100 Var=TempInlet_measured unsigned 7,16 -m /u:C /f:0.1 /min:0 /max:65535 Var=TempInternal_measured unsigned 23,16 -m /u:C /f:0.1 /min:0 /max:65535 Var=ConverterLosses unsigned 39,16 -m /u:W /min:0 /max:65535 [StatusLineCurrents] ID=18FFD0F7h Type=Standard DLC=8 CycleTime=100 Var=L1Current_measured unsigned 7,16 -m /u:A /min:0 /max:65535 Var=L2Current_measured unsigned 23,16 -m /u:A /min:0 /max:65535 Var=L3Current_measured unsigned 39,16 -m /u:A /min:0 /max:65535 [StatusLineVoltages] ID=18FFD1F7h Type=Standard DLC=8 CycleTime=100 Var=L1Voltage_measured unsigned 7,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=L2Voltage_measured unsigned 23,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=L3Voltage_measured unsigned 39,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 [StatusNVParam] ID=1CFFA9F7h Type=Standard DLC=9 CycleTime=0 Mux=StatusNVParam_MUX0 7,16 0 -m Var=Dummy unsigned 23,16 -m /o:5 /min:5 /max:10 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX1 7,16 1 -m Var=VUnder50pct unsigned 23,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V50to88pct unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V110to120pct unsigned 55,16 -m /u:ms /o:1 /min:1 /max:30000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX2 7,16 2 -m Var=VOver120 unsigned 23,16 -m /o:1 /min:1 /max:30000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX3 7,16 3 -m Var=FreqHi unsigned 23,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 Var=FreqVeryLo unsigned 55,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX4 7,16 4 -m Var=FreqVeryLo unsigned 23,16 -m /u:ms /o:160 /min:160 /max:160 Var=FreqLo unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=FreqHi unsigned 55,16 -m /u:ms /o:160 /min:160 /max:160 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX5 7,16 5 -m Var=StatusNodeID unsigned 23,8 -m /min:0 /max:247 Var=StatusSA_Mask unsigned 31,8 -m /min:0 /max:255 Var=StatusBaudrate unsigned 39,4 -m /min:0 /max:15 /e:StatusBaudrate [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX6 7,16 6 -m Var=StatusThermalOverload unsigned 17,2 -m /min:0 /max:3 /e:StatusThermalOverload [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX7 7,16 7 -m Var=StatusMX1Open unsigned 23,16 -m /u:ms /min:0 /max:5000 Var=StatusMX1Close unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=StatusMX2Open unsigned 55,16 -m /u:ms /min:0 /max:65535 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX8 7,16 8 -m Var=StatusMX2Close unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=StatusK1Open unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=StatusK1Close unsigned 55,16 -m /u:ms /min:0 /max:2000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX9 7,16 9 -m Var=StatusK2Open unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=StatusK2Close unsigned 39,16 -m /u:ms /min:0 /max:2000 [softwareRev] ID=1CFFC1F7h Type=Standard DLC=9 CycleTime=0 Var=ControlSwRev unsigned 7,16 -m /min:0 /max:65535 Var=InterfaceRev unsigned 23,16 -m /min:0 /max:65535 Var=BuildTime unsigned 39,32 -m /min:0 /max:4294967295 [StatusControlVoltage] ID=1CFFC5F7h Type=Standard DLC=9 CycleTime=100 Var=v5p0_Supply unsigned 7,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v3p3_Supply unsigned 23,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v24_Supply unsigned 39,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v15_Supply unsigned 55,16 -m /u:V /f:0.01 /min:0 /max:65535 [StatusControlVolts2] ID=1CFFC6F7h Type=Standard DLC=9 CycleTime=100 Var=n15V_Supply unsigned 7,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=DiodeTemperature unsigned 39,16 -m /u:C /min:0 /max:65535 Var=IGBTTemperature unsigned 55,16 -m /u:C /min:0 /max:65535 [StatusDCParameters] ID=1CFFC7F7h Type=Standard DLC=8 CycleTime=100 Var=VoltageDCInput_measured unsigned 7,16 -m /u:V /min:0 /max:65535 Var=VoltageDCBus unsigned 23,16 -m /u:V /min:0 /max:65535 Var=CurrentDC_measured unsigned 39,16 -m /u:A /min:0 /max:65535 [serialNumber] ID=1CFFCCF7h Type=Standard DLC=8 CycleTime=0 Var=SerialNumber unsigned 7,32 -m /min:0 /max:4294967295 [softwareRevHash] ID=1CFFCDF7h Type=Standard DLC=8 CycleTime=0 Var=Hash unsigned 7,28 -m /min:0 /max:268435455 canmatrix-0.9.5/test/reference/from_xls/test.xlsx000066400000000000000000000723511416730473300222000ustar00rootroot00000000000000PK]LcY%xl/worksheets/sheet1.xml_qgS}ũU:|L fˍ>P1Id_ê̌˘=q9Uy?~ǟy۟\_|ˇ7?}w?=??w?|O>/|+߽{?x۟^|x_//o~|?ŗR/>{~ Kwů?>O_s>_~C7|xo>݇~twǟ>VNMxX>>$^?.o3M/x?_K7~Ƿ?}>o酾|1_n%/O.˟.υ}{؆_8p C_׍npL.~F߸nu׭[Oruv.B K[Wto]y͇7wg_O||7/ί_13̌ 3:%3:#1c3^1c3.XꌯWfluM_D"XU]k_~d eJEHr]榫_۽e=ә[ok1ԻT-u_'2F^EmH>RF@:ε6u-FmbmSʨ^V,7տ.==>hb-RlGhHhElnmNYv6z,ml=6===hb-Rl'hHhElnmNNYv6z*momm^OFF7ZF6jn.3J%|}yD=h[okl-=Z,7?ŖU`-RlEmbmiy/fh׵g-FzXc8腍6?ŖU`-RlEmjmiu:h:lm]^{F{hl|EmHlm mN7{]7Ѣm5ћsh{dBLUʱ>sn#~ȫ}(;/?.Tv-Jڞ*VٶW[(0uh@E:/rtFdˋjӺNS9|@9PjgDvޓj2t]TuGrI]it\h;;&JV嶸ϋ֝:. T:v"+m:;qv(ߩU|ip}O`&z8T:pxgN<w.^ y8$:px(U|}mG^px*83'w;/S9|pxsxEt^8rx}rIu~:󘷫J;*t}5vG^px*8{ %y8< z:<[o:!Tpx"i()𪺈;5]GDI sxjWbGmGpx*84N y8sx$;V@7l-7Dpx*84^90Z{sxpx>_n[w>S9|9pxgDv~:/:WD%w /ϟ|mO7X4r ?@5>copdMd1V*`^n[w>S9| pxtj|y y8sx$;V rxC rIgDv~:ëJ9<*tޛ}57Dpx*84,^7ȊpxDIvOB9o8<HJ;Czkl1782&JSyoO[sxC rICyG] y8sx$;V@7>rxcr!67!Eyqt]0Jj>ƛ'ڴƨO7!FUy='Jpxj:txϏ-7Fpx*84r //ڿ،4_utdMd1Vz%|ko:1T:pxgN<//<;WD%w /ϟW2ηuxct>Μy83";?z yU%Jj:|ko:1T:px#"i^u='Jpxj:}ᝍ~R?GmYmF96ΈʻxQ'RUI4%h[rWr[ErۺQe7 х΋t>F(;DX*4t{::e7zNd*t|[n*9|@ٍPvq:\J;*tm5v7F(D:/rIu޹xQ'@FOى&(;DT*4t{8;e7yND*tSKMQe7Q"( tFdƻJ;*trۺQe7 х΋t>Μy(3";?x JeZΗDOeOo))&!yeHɺWE|]M;<*t1u_7!D:/r7N+'dݫ":/L:px"wOxcw>vj)):v7a5t^󁱻3'wcwgDv;qvcwUIt>0vZ{cwE>o 8<H'`&ᩒ<Z{cwpxϷuxSt>&8?uxst>f8b9؝(cNB罱;U_5o8<ޙ;wFd='NU%C]BKgE>_n[w>S9|9pxgDv~:J;*t;/zuxst>f8f8n:9T:px3"i.:\pxDIvOB9Ûo8< HWŋ8;9$:C]B9Y8<[sxsrÛIqvo(U77>rxK-rlEErvhX|;4w]v%mS}*`uo 8<HZ0Z{sxpx>_n[w>S9|9pxgDv~:/:WD%w /ϟ|m[OXr˾hb|ϜyoOd1Vz%vܶ|-r[IKyoO[<'Jpxj:-txۥ[O!Έ7'Nc*PrWyoouxKt>8^,^ϗ֝:5T:pxgN<w.<|`%w ΋}5Fpx*8z΋SpxDIvOB9[o 8< HZKΗ_lV/|ᙓ;ቒ<*tޛSoQAoC$ë.<9sF#ΈhNiߵ*ipy5i*iIۄ!uA!iQ"gN&rh @H4`kj @L ;"*~a?yIgD'_^D)Wpߵo gM6*4ܮ 3?45w5 9 `ΜL挥.?J1l]v]ɋ/}cΆh 9m8sOFɗpqJ;nrLk} D]vܶ}mNAI[ꔀA!v 0xyތCKmQQZoC$ N D`]zxUZioYn[5}a9!`6>DҶx0xO00^ծVoo[gn-EFSED`ȿ  S "0. WU􁣅>pdnQQ^>pD$m) C@Uj`(da"\"s~O ,* @䤓R)& yVKLXSX.T u# =_-96tDSt$p9V14zYIH"OG`R/nHNjAB#:/,"tFsRAsHWt$tuÙֆ||D:r2't@O搦cpg%"t >!/nHGiL7ACω6tD2C$aN*jT?9 }Ū,bUb՚O*IP! .cu H"آ*!82 Q,ѩP pxoDVp$;YpxusjQ`iY!=2# >UꓡCD8GUB*ρE {eA}|UIPj=sWDJcOIਾOw9礂.7wQ, #Bbs7\ʤHl>bHlDB#v]2aRkŽ8RHD!HJGIut+n** 7jB"j3)Cu$aUETJ"$UQ"P o3_-~L$\}$̜T@亻<3n.* IؘvcIĘv4#Ԃw!MpQITHI$w`s]Ԅ$,N8UI$"NϤnp!\H(7nDo7 kHB".$" I؟vIğI$Or{ס:`RA= J"vZh{.MUxӎtZPL.(T(*}פb"bBCEXvaHEDv#Ԣ{wZ8?U; *oI7s]T0}K .NU9ӎtܫ*9XࡲxK)w-E(Lbuw}f;R^-4Piq*PDiGgP:BUBAu|Y gj((M:B}:~k\]XvGDv|xC%(w"R]#gH#is>NUI䣧;E(䣺 >1ȇ"NC xu\>z&EjoGXmGDԦ|%\>"#xu\G>ϣW Qm>bLUӞtkL{:Ï_z_*S|PW]3#T%3= LLuWdQV L"L*0HS3Wo}XiHIDI%RJjI.?U J"L*(HS3Ԥ$lQEUI$bQ{ZTjQZ^F{UJUPuU&%aGJ"%Ӫ"PתB=v( Y޷VU#&|2 V[>bUU9X՞Vt$ ܫ|x4HS=ZGJ(U:&$aG,J"$Ӳ"P ײbw;?*jH(Y:BTuf̅bV}D$BQ=U+B qgU{a!mVY8!(ᰪZGJ8U2* $R2P"P%_-) ZmDJD R2ة]%XwW8^Xv"U%v]JGE;:#ikŧj'Id^us\GL8*WyO̧oJg#9+C E1aZWŇɪ|\Gev*1 Be]= (hW׮VW ">_8'PTS"RQvUzB$5>gJ ?  ,20/J91WW',+ew uw20 $Z= aQ:)PY"JRj* )9^T#eHj- ?y:~Ä" bCs MuYXV0`r(8*AMòsRРHCDwԝ4o% ,iUw4x_8%0Snmh[AHA" 9k"rH\Ò|P]4>qUw4x_B%(!Z; a}9(hPY!"0 LRi}XҀ$˒`(ri(_-JP54Bǰ\$ 2 4,0RT"PqtE(D=ZxQ%(ujd0PE"rD(X] 9 W7|׺,͂+sT|xd,ZqVpLYI2kBөJ9$oU6]zj6Lj\Ǧ1u?|b` E.TeD( PLgV?) .:rA( .ԋZ\G6G1h)PYBe Nm"P&NmWs|PC׺"2\G.8) .ԴLQtw|zP GVA w ivlz]!V:BPn $_(6_bdRȃxTcX= TqYGRi6uZ@X%\GJh*_-_fkǦ|q<,DP!Cu<ӂlz˂Q<.ׁUE[rP࠲8PD"rHй8.K"9G]#ŗ^MBe[Χ['Fq""Kw#rHл8.K"c\GUMa39 (pPY!d&Ϭ3q\iZ%,+pUw8R_ku^uq8$$Ae($J9q]iZ%,+pUw8.c5 I&I- TqYA"rH|E8MuYr"T:P `BM]N422=Df&\fr IEBfrD(CyZ tf88TY#G#|zPAR2=4G&װ\CjRfEVIRIA8`ӫM%uau>;zOkLa3̤"!3L"P顺?dx݄y]l 81wbR"VkHM,R+$B)4U$y6I<#+dXnr 5&ey3n iqnzSe.בGUVkHM,Rw/J9q]$Tަ7UV@5wf>=46kL,2+$B5>?dx݌?dvZ%IT:LWroCXM!5)CHMT<8#yIQV@5֑whrGkMa7ܤ"!7M"rH~ō:SUYD]#*&SkXM!5)CHMT8q!p\]5) &:NMTi&װ\CfRf\i&JG\%CjuYD]#Ԥ|E|zhNMna5Ԥ*=4&BjRfܨ&J9q]$T&EYդZGܩɍjR<=46[L,2$BʫC&f 8pjrsM8pjR#Ԥ|E|zhNMna5Ԥ"!5QM"rHྡ[C@5jR=d5O12K3P:Bg򒯖8YԤ*+pԤ\GIКj)y"jRf &J9y-!x˒d]#d?=duOq2K7P!̓-8LMeC`jUw=tM7مdr2;M-هdҒ28dO-P:Bg*Ջž&g8##jqpG&E ]mmpk>%eqiɞZCjՒZR#dO-9١oj>%Y!%Ϭj3q\9vk]8V:{=;[ZiIEBZ%C)4;/jɪ,qhIT:LWgZiIEBZD(ֳs87meCd`Uw8H}J!+)CJ8xo8Jejqp%{ZqM+هd28dO+P!s"!pdU8D%Qu눃;. +gd}J,=$B)4sh%{JZI8㒽Y4d}J,=$BʫV/ ׺,qK.w\R"L<{< a-9*< Ԓb2_u^r0^2w]ONi:t_dYEm(+EG׺,ϲ.ױ|T%ʭMrN࠲CHCԐ8Ñārp5(+pT눃;9PCv+&rPCC<ӑӑUYD]#t T&ӑcXCBTq!J9$q^i6e(KPuNGԐ|Vr [Q;"! 9B"ή[129k]8D#Qu눃;J0vEBrD(%k!EY-ZGȑR<UwR

8֑w>rb),&Y!$&'IRiHyZ@1mzSejqp#'ISKN!/)CKN#zxp]?M ijqp?MRC$B^Rf%J9qpF8KzTYZG܁ɉ^R=<4SHL,$B)4s_i&Mojyp&'!&brITq)&J9$qyZM7U8.)&07sK,3$B5+L׭xlG7UVI8ʭ a/9"!/9K"rH~ˍ<-q6zI83xxbr9$&ey3b iuZ`7TYuq|{x(6828lKRiFuZ@1mzSejqp&ϫCKa/9"!/9K"P᡼bʹx݆Dh 80w`RCs`r{9%eqyə^C*q8KzTYZG܁ə^R=<4sHL,3$B)4˃8ަ7UVI<|xhLa19Ĥ"!19SL"rH㰺8s(&MobR#L1)^r{9%eqyə^t{8tU8D&Qu눃;0J902 8,K"rH]slzQ8.\%KXL.!1)CHL.<8W/LVeCd`Uw<xx(6828B1P!NnudU8D$rqp&I><,M/28U@/ ϫ*%ϫ%؏3,K$.rk<<xx(6828bKRiʫAC@/Y%/\G܁KXL.!1)CHL.<߿!xdUمme!DY&:L|xhL.a/"!/K"rH~¤:^rq(+pT눃;0K\br IEBbrD(Iu&!20\G܁EI><4&װ\CbRfEVIRIA8`k]8Uw8J1ɇ%װ\C^Rf\%JGP]Zi k]8D&Qu눃;0JkK,+$B)4T8KVeCK.w`rkSLa1Ĥ"!1yf3l׺,q L.w`RCs`r {-%epPYaD(ġ 96e(KPuLnak-,&Y!$&7IRiOTL*hpMU4ت\GʭJ١֒[HK,Ғw/J9i(C@+YU% +\GqԒ[XKn!-)CHKnԒ8/)!pdU8D%Qu눃;- +'[J,$B)4 Ks(%7WJJI4Òxph:-$Y!$7:Iz7]96ٱk]vaIT:K|rhKna'"!'I"rHËtࡥ%||YhIRiqZ%,+xUw<^rJahO2K1P!̓/ɺ,yIV:Pe>CDM,$C)4ۼ/ ɺ,qIV: L. Q9<9) <,.j<``.KuW\T[r)y"rRf  'J9qFC9Y%9ɪ\G|ՑQ||YIz1y|웝YWtYI8xZCv]M,࠲CG7P!CIq6e,kq@]70z6?P!чWU^]}XZ{nt]tߖ:v߮=k5ez a%+F,TPXH"~n}X~a^* P#–y]wW̚Lf An TV n vCCyӊvk]V`[v?=``ϓ0!,${eȅ"!!SH"P׃3YxW_ z>\(-.l]\uwNq#&3@w*kRL/R_UbN MuYK l]uw$jz^2rEG#ػKZ_Cfjr ew}pa:ڿ,]>C,>C2KaJ9=W:-W D]b`yfXp|r( yX\,İjp|*+O. ,xL*~AeсY8 l(吾eW :,ٔc nE7jUo)6@(1'QY$DM[Q"rHR^%!$Y$$2YWu$Ĥy$o) 2s,"HHP!IHuÂEBc:2fp#HZm kQKA"! VCsaI!OHxu\GB-%!/6'1G1c)QY$$2y&p iBzuX,AHy8^.בr.o>QКEB$!t҄ .!$Y'DDB:RXaZroCHXBp BT Qo3!҄.!$Y'$r]#![G~AH-c-x Desw#rH2Òf B&țvo2Ǜϫ%!xi!$,KGAI"! C%D0K2DvWu$4+vħZ{BtTF,ޜBMJ9 Y\BaI!OHC2vw!C2Fކ(:!*N~"P-U^jq YBʍ0(6" UH5(a 6cȨ,1#*B)4o >%p:&7"jpHjںc )SeYcOE(crlE|,Qm>F/nITԴSئN!*GĦN|8"+`frLUȇ+S'!SAK.u TE>".uKE(GuO54r>]#|Z7R.4T2TDTPA: .K! 4B8LR1 Tuwyf|SH,bu/JG;Jz^-~e-l!0lZGL8[*mJZM22DLDP:B-LxW_ż0kMf9|ЙTp&!3T$59 )Se9ԉ>tZP(6viT94ZGN8ێHjrSȪ,r*B8qQ'!',qz#Id_W{BfuUEB"fL*Y=CwRd;Fw= N"x>QI_'a"'z&о.ˉs``Qd9Hp"v"'#9ȉ]wWw59 ;%`e98؅tZГ⿖Y9֟lE(lU '[F[b3OrĽy* _$GR \`W :,[W))uI-uuEδ<,WM* DBP:BqŕP3D.uY@D.בTN0%,ND* DBqP:B-EhI_笂joTu5ZGI:oBAk-@󊞫 =}әU4_t/kiXPlz5?8.ױ'N^l` KULr!\#Ը!\R\Zx˒ U\.ׁ uB&aŹ y)PY"5N+'B5n8Ẉ!^벂D]#TbB&a [)PYB8M&B5u] osZ4e\G.0:zM. n45f) J9$'@ϐj6%.1ewuwN`^l\}\,r!tZ WRWgV$U]rA%֑ *INp^l{ְ\m\,r!RtZ WJُ[:g\R%4jx\@—,$B)mU|\}*HPAub[_*|Be79Ԓ#W%W9RRKTuZG.%:zM.¦rRpE+WJj=NrjЎG| .NU\PUu䂪R\(ټm*ܗJg/"zD(吾kR_MuY kC tj)º\X|{h|{lUbϤsRɞWWsyX^ oo.z\c]\/_|x?ۇw ~}J_7_{<ۿ~~>>ǻx?޽p?wPK]L̓xl/workbook.xmlO0+U'Z5Al xDpvs.>7l.Fh4:< uiԻo?s7Lnr`"$g-icoD2BDjc4(̟h38 uLx SK!0,Y϶Od}G^&\Iņe4.ɊS+~ TjPK]Lʔx!xl/sharedStrings.xmlX[o~?u5`(ɊxHP H#c:`/lwί?m$T=yHUuiqݶrx8޶^~ˑeml~)mtd)|3"e ێ 6rǹJWYˉ"S-ZN|\ ݨMGtI(Xʝ'uI;?)+h,{$YLc+..x|9oȱRW,)϶jȨeX(ۧs ,N؏頍bINǙl8NC L9Y +i >77y2\LJ vׯr"bGŁK`KoS!rtO![8LX{񓠋"a$;l%'ҩ"/^2t Cf58[ה)p\Ltrz_Б%}:]aZA)I.>Byc Իwrvǚhiݥ5n1pr!p mߔr+6)t/<^љ7< {#UyO\#-@}vyE LTY)zF vФ)b\,y*DkYKu6? oPzHD3GzY͇uʙ,G9HB{jTp6mYjوuq.MLT!*%U -= j$;73mDil!^a0ob3,XDEJ[6jδ RH*Chy4kL7Z$8DXaӌ(BÏ#&*0O? i!ΌfEѠH1}h5qƫt5)=649oQqU64K&:[R>Y yxLcĤOf€GUܜf)W"{bWMn$[,U~vjF"la5.p8T+D}@iwA:*&$ _U\{6ehM*x}YeQ*1}֝04}wɧI9őK~K9;Rˏtxrތh}'U_]gX=9MFAVOhWc'"y/JB6bB)dݩUڵZiDrC`Y~Fr!H.t~R^8Uِ^$ޡrrT,jPW*mkAΦP-Guhҝ ?Xz;A;{Aq~K*T=KqzQ ݶK-}"q{6X(F_GG+ $vy?F~UI4}a r#:uy|<\foe&|$"SgzuھvTwPK]L%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK]Lw4%PdocProps/core.xmln0}q@YIڊS*5U+nGې @zf]\U ,G hn }4t5*ԃGr .HIiO.K1|,:t7)b2ͶS; )?chA7Snà\9 ֳ8^Ʈn2Xc~VêԇSq@u)8X0.u2V ⩏">I @qY<ӢhNׇ7: 7 8PK]La]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK]L7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK]LIK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK]LcY%xl/worksheets/sheet1.xmlPK]L̓ Zxl/workbook.xmlPK]Lʔx![xl/sharedStrings.xmlPK]L%|wcdocProps/app.xmlPK]Lw4%P!edocProps/core.xmlPK]La]I:Ouf[Content_Types].xmlPK]L7 M gxl/styles.xmlPK]LFTR@jxl/theme/theme1.xmlPK]LIK !p_rels/.relsPK]LDu[3qxl/_rels/workbook.xml.relsPK Srcanmatrix-0.9.5/test/reference/from_xls/test.xml000066400000000000000000011712511416730473300220020ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 16751425 16755521 218078273 218078785 218081857 218082369 218082881 218083137 218088183 218088439 218089719 218090230 218090231 419415287 419416567 419417079 419418359 419418615 486517239 486523383 486524407 486524663 486524919 486526199 486526455 PDU_CommandModeControlAPU2 9 APPLICATION 1 true 3 true 17 true 33 true 35 true 37 true 39 true 57 true 59 true 61 true 63 true PDU_CommandModeControl 9 APPLICATION 1 true 3 true 17 true 33 true 35 true 37 true 39 true 57 true 59 true 61 true 63 true PDU_CommandPowerAPU2 9 APPLICATION 7 true 39 true PDU_CommandVFAPU2 8 APPLICATION 7 true 23 true PDU_CommandSetNVParam 9 APPLICATION 7 true 17 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 31 true 39 true 39 true 39 true 39 true 39 true 39 true 55 true 55 true 55 true 55 true 55 true PDU_CommandPower 9 APPLICATION 7 true 39 true PDU_CommandVF 8 APPLICATION 7 true 23 true PDU_CommandFactoryControl 9 APPLICATION 1 true 23 true 39 true PDU_StatusACParameters 8 APPLICATION 7 true 23 true 39 true PDU_StatusBits 8 APPLICATION 3 true 5 true 7 true 9 true 11 true 13 true 15 true 17 true 19 true 21 true 23 true 25 true 27 true 29 true 31 true 33 true 35 true 37 true 39 true 41 true PDU_StatusFaults 8 APPLICATION 1 true 3 true 5 true 7 true 9 true 11 true 13 true 15 true 19 true 23 true 25 true 27 true 29 true 31 true 33 true 42 true 43 true 58 true 59 true PDU_MasterMeasuredPower 9 APPLICATION 7 true 39 true PDU_StatusMeasuredPower 9 APPLICATION 7 true 39 true PDU_StatusCommandedPower 9 APPLICATION 7 true 39 true PDU_StatusCommandVF 8 APPLICATION 7 true 23 true PDU_StatusTemps 8 APPLICATION 7 true 23 true 39 true PDU_StatusLineCurrents 8 APPLICATION 7 true 23 true 39 true PDU_StatusLineVoltages 8 APPLICATION 7 true 23 true 39 true PDU_StatusNVParam 9 APPLICATION 7 true 17 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 31 true 39 true 39 true 39 true 39 true 39 true 39 true 55 true 55 true 55 true 55 true 55 true PDU_softwareRev 9 APPLICATION 7 true 23 true 39 true PDU_StatusControlVoltage 9 APPLICATION 7 true 23 true 39 true 55 true PDU_StatusControlVolts2 9 APPLICATION 7 true 39 true 55 true PDU_StatusDCParameters 8 APPLICATION 7 true 23 true 39 true PDU_serialNumber 8 APPLICATION 7 true PDU_softwareRevHash 8 APPLICATION 7 true FRAME_CommandModeControlAPU2 9 APPLICATION 0 false FRAME_CommandModeControl 9 APPLICATION 0 false FRAME_CommandPowerAPU2 9 APPLICATION 0 false FRAME_CommandVFAPU2 8 APPLICATION 0 false FRAME_CommandSetNVParam 9 APPLICATION 0 false FRAME_CommandPower 9 APPLICATION 0 false FRAME_CommandVF 8 APPLICATION 0 false FRAME_CommandFactoryControl 9 APPLICATION 0 false FRAME_StatusACParameters 8 APPLICATION 0 false FRAME_StatusBits 8 APPLICATION 0 false FRAME_StatusFaults 8 APPLICATION 0 false FRAME_MasterMeasuredPower 9 APPLICATION 0 false FRAME_StatusMeasuredPower 9 APPLICATION 0 false FRAME_StatusCommandedPower 9 APPLICATION 0 false FRAME_StatusCommandVF 8 APPLICATION 0 false FRAME_StatusTemps 8 APPLICATION 0 false FRAME_StatusLineCurrents 8 APPLICATION 0 false FRAME_StatusLineVoltages 8 APPLICATION 0 false FRAME_StatusNVParam 9 APPLICATION 0 false FRAME_softwareRev 9 APPLICATION 0 false FRAME_StatusControlVoltage 9 APPLICATION 0 false FRAME_StatusControlVolts2 9 APPLICATION 0 false FRAME_StatusDCParameters 8 APPLICATION 0 false FRAME_serialNumber 8 APPLICATION 0 false FRAME_softwareRevHash 8 APPLICATION 0 false Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command ReactivePower_command Voltage_command Frequency_command CommandSetNVParam_MUX ThermalOverload Dummy FreqHi FreqVeryLo K2Open MX1Open MX2Close NodeID VOver120 VUnder50pct SA_Mask Baudrate FreqLo K1Open K2Close MX1Close V50to88pct FreqHi FreqVeryLo K1Close MX2Open V110to120pct RealPower_command ReactivePower_command Voltage_command Frequency_command WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured CurrentAC_measured Frequency_measured State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured ReactivePower_measured RealPower_measured ReactivePower_measured RealPower_echo ReactivePower_echo Voltage_echo Frequency_echo TempInlet_measured TempInternal_measured ConverterLosses L1Current_measured L2Current_measured L3Current_measured L1Voltage_measured L2Voltage_measured L3Voltage_measured StatusNVParam_MUX StatusThermalOverload Dummy FreqHi FreqVeryLo StatusK2Open StatusMX1Open StatusMX2Close StatusNodeID VOver120 VUnder50pct StatusSA_Mask FreqLo StatusBaudrate StatusK1Open StatusK2Close StatusMX1Close V50to88pct FreqHi FreqVeryLo StatusK1Close StatusMX2Open V110to120pct ControlSwRev InterfaceRev BuildTime v5p0_Supply v3p3_Supply v24_Supply v15_Supply n15V_Supply DiodeTemperature IGBTTemperature VoltageDCInput_measured VoltageDCBus CurrentDC_measured SerialNumber Hash Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz CommandSetNVParam_MUX ThermalOverload Dummy FreqHi Hz FreqVeryLo ms K2Open ms MX1Open ms MX2Close ms NodeID VOver120 VUnder50pct ms SA_Mask Baudrate FreqLo ms K1Open ms K2Close ms MX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz K1Close ms MX2Open ms V110to120pct ms RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA Voltage_echo Vrms Frequency_echo Hz TempInlet_measured C TempInternal_measured C ConverterLosses W L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms StatusNVParam_MUX StatusThermalOverload Dummy FreqHi Hz FreqVeryLo ms StatusK2Open ms StatusMX1Open ms StatusMX2Close ms StatusNodeID VOver120 VUnder50pct ms StatusSA_Mask FreqLo ms StatusBaudrate StatusK1Open ms StatusK2Close ms StatusMX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz StatusK1Close ms StatusMX2Open ms V110to120pct ms ControlSwRev InterfaceRev BuildTime v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V n15V_Supply V DiodeTemperature C IGBTTemperature C VoltageDCInput_measured V VoltageDCBus V CurrentDC_measured A SerialNumber Hash CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1 1 CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 10.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 45.0 0.1 1 CODING_CommandSetNVParam_MUX Coding for CommandSetNVParam_MUX COMPUMETHOD_CommandSetNVParam_MUX LINEAR 0.0 65535.0 0.0 1 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 0.0 65535.0 0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 40.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 160.0 1 1 CODING_K2Open Coding for K2Open COMPUMETHOD_K2Open LINEAR 0.0 2000.0 0.0 1 1 CODING_MX1Open Coding for MX1Open COMPUMETHOD_MX1Open LINEAR 0.0 5000.0 0.0 1 1 CODING_MX2Close Coding for MX2Close COMPUMETHOD_MX2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_NodeID Coding for NodeID COMPUMETHOD_NodeID LINEAR 0.0 247.0 0.0 1 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 1.0 1 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 1.0 1 1 CODING_SA_Mask Coding for SA_Mask COMPUMETHOD_SA_Mask LINEAR 0.0 255.0 0 1 1 CODING_Baudrate Coding for Baudrate COMPUMETHOD_Baudrate LINEAR 0.0 15.0 0.0 1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 1.0 1 1 CODING_K1Open Coding for K1Open COMPUMETHOD_K1Open LINEAR 0.0 2000.0 0.0 1 1 CODING_K2Close Coding for K2Close COMPUMETHOD_K2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_MX1Close Coding for MX1Close COMPUMETHOD_MX1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 1.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 160.0 1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 40.0 0.1 1 CODING_K1Close Coding for K1Close COMPUMETHOD_K1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_MX2Open Coding for MX2Open COMPUMETHOD_MX2Open LINEAR 0.0 65535.0 0 1 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 1.0 1 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 10.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 45.0 0.1 1 CODING_WriteSerialNumber Coding for WriteSerialNumber COMPUMETHOD_WriteSerialNumber LINEAR 0.0 3.0 0.0 1 1 CODING_FactoryAccess Coding for FactoryAccess COMPUMETHOD_FactoryAccess LINEAR 0.0 65535.0 0 1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0 1 1 CODING_VoltageAC_measured Coding for VoltageAC_measured COMPUMETHOD_VoltageAC_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_CurrentAC_measured Coding for CurrentAC_measured COMPUMETHOD_CurrentAC_measured LINEAR 0.0 65535.0 0 1 1 CODING_Frequency_measured Coding for Frequency_measured COMPUMETHOD_Frequency_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_State_status Coding for State_status COMPUMETHOD_State_status LINEAR 0.0 15.0 0.0 1 1 CODING_Enable_echo Coding for Enable_echo COMPUMETHOD_Enable_echo LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClr_echo Coding for FaultClr_echo COMPUMETHOD_FaultClr_echo LINEAR 0.0 3.0 0.0 1 1 CODING_HardwareEnable_status Coding for HardwareEnable_status COMPUMETHOD_HardwareEnable_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerAvailAC_status Coding for PowerAvailAC_status COMPUMETHOD_PowerAvailAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerAvailDC_status Coding for PowerAvailDC_status COMPUMETHOD_PowerAvailDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerCircuitEnabled_status Coding for PowerCircuitEnabled_status COMPUMETHOD_PowerCircuitEnabled_status LINEAR 0.0 3.0 0.0 1 1 CODING_MX1Permissive_status Coding for MX1Permissive_status COMPUMETHOD_MX1Permissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_MX2Permissive_status Coding for MX2Permissive_status COMPUMETHOD_MX2Permissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_K1PrechargePermissive_status Coding for K1PrechargePermissive_status COMPUMETHOD_K1PrechargePermissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_K2DCRunPermissive_status Coding for K2DCRunPermissive_status COMPUMETHOD_K2DCRunPermissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidModeControl_status Coding for MessageValidModeControl_status COMPUMETHOD_MessageValidModeControl_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidPowerCMD_status Coding for MessageValidPowerCMD_status COMPUMETHOD_MessageValidPowerCMD_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidVF_status Coding for MessageValidVF_status COMPUMETHOD_MessageValidVF_status LINEAR 0.0 3.0 0.0 1 1 CODING_CANbus_status Coding for CANbus_status COMPUMETHOD_CANbus_status LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_echo Coding for EnableUPSMode_echo COMPUMETHOD_EnableUPSMode_echo LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_echo Coding for EnableSplitPhase_echo COMPUMETHOD_EnableSplitPhase_echo LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_status Coding for PhaseRotation_status COMPUMETHOD_PhaseRotation_status LINEAR 0.0 3.0 0.0 1 1 CODING_LineVoltageDetected_status Coding for LineVoltageDetected_status COMPUMETHOD_LineVoltageDetected_status LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_echo Coding for PhaseRotation_echo COMPUMETHOD_PhaseRotation_echo LINEAR 0.0 3.0 0.0 1 1 CODING_GeneralFault_status Coding for GeneralFault_status COMPUMETHOD_GeneralFault_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvercurrentAC_status Coding for OvercurrentAC_status COMPUMETHOD_OvercurrentAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_LossOfAC_status Coding for LossOfAC_status COMPUMETHOD_LossOfAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvercurrentDC_status Coding for OvercurrentDC_status COMPUMETHOD_OvercurrentDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvervoltageDC_status Coding for OvervoltageDC_status COMPUMETHOD_OvervoltageDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_UndervoltageDC_status Coding for UndervoltageDC_status COMPUMETHOD_UndervoltageDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvertempInternal_status Coding for OvertempInternal_status COMPUMETHOD_OvertempInternal_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvertempPowerDevice_status Coding for OvertempPowerDevice_status COMPUMETHOD_OvertempPowerDevice_status LINEAR 0.0 3.0 0.0 1 1 CODING_ControlHardwareFail_status Coding for ControlHardwareFail_status COMPUMETHOD_ControlHardwareFail_status LINEAR 0.0 15.0 0.0 1 1 CODING_LossValidControlMessage_status Coding for LossValidControlMessage_status COMPUMETHOD_LossValidControlMessage_status LINEAR 0.0 15.0 0.0 1 1 CODING_EStopShutdown_status Coding for EStopShutdown_status COMPUMETHOD_EStopShutdown_status LINEAR 0.0 3.0 0.0 1 1 CODING_IllegalTransition_status Coding for IllegalTransition_status COMPUMETHOD_IllegalTransition_status LINEAR 0.0 3.0 0.0 1 1 CODING_InvalidEEHeader_status Coding for InvalidEEHeader_status COMPUMETHOD_InvalidEEHeader_status LINEAR 0.0 3.0 0.0 1 1 CODING_InvalidEESection_status Coding for InvalidEESection_status COMPUMETHOD_InvalidEESection_status LINEAR 0.0 3.0 0.0 1 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_BridgeBFault_status Coding for BridgeBFault_status COMPUMETHOD_BridgeBFault_status LINEAR 0.0 7.0 0.0 1 1 CODING_BridgeBVoltageOk_status Coding for BridgeBVoltageOk_status COMPUMETHOD_BridgeBVoltageOk_status LINEAR 0.0 1.0 0.0 1 1 CODING_BridgeAFault_status Coding for BridgeAFault_status COMPUMETHOD_BridgeAFault_status LINEAR 0.0 7.0 0.0 1 1 CODING_BridgeAVoltageOk_status Coding for BridgeAVoltageOk_status COMPUMETHOD_BridgeAVoltageOk_status LINEAR 0.0 1.0 0.0 1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_RealPower_echo Coding for RealPower_echo COMPUMETHOD_RealPower_echo LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_echo Coding for ReactivePower_echo COMPUMETHOD_ReactivePower_echo LINEAR 0.0 4294967295.0 0 1 1 CODING_Voltage_echo Coding for Voltage_echo COMPUMETHOD_Voltage_echo LINEAR 0.0 65535.0 0 0.1 1 CODING_Frequency_echo Coding for Frequency_echo COMPUMETHOD_Frequency_echo LINEAR 0.0 65535.0 0 0.1 1 CODING_TempInlet_measured Coding for TempInlet_measured COMPUMETHOD_TempInlet_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_TempInternal_measured Coding for TempInternal_measured COMPUMETHOD_TempInternal_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_ConverterLosses Coding for ConverterLosses COMPUMETHOD_ConverterLosses LINEAR 0.0 65535.0 0 1 1 CODING_L1Current_measured Coding for L1Current_measured COMPUMETHOD_L1Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L2Current_measured Coding for L2Current_measured COMPUMETHOD_L2Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L3Current_measured Coding for L3Current_measured COMPUMETHOD_L3Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L1Voltage_measured Coding for L1Voltage_measured COMPUMETHOD_L1Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_L2Voltage_measured Coding for L2Voltage_measured COMPUMETHOD_L2Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_L3Voltage_measured Coding for L3Voltage_measured COMPUMETHOD_L3Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_StatusNVParam_MUX Coding for StatusNVParam_MUX COMPUMETHOD_StatusNVParam_MUX LINEAR 0.0 65535.0 0.0 1 1 CODING_StatusThermalOverload Coding for StatusThermalOverload COMPUMETHOD_StatusThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 5.0 10.0 5.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 40.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 160.0 1 1 CODING_StatusK2Open Coding for StatusK2Open COMPUMETHOD_StatusK2Open LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX1Open Coding for StatusMX1Open COMPUMETHOD_StatusMX1Open LINEAR 0.0 5000.0 0.0 1 1 CODING_StatusMX2Close Coding for StatusMX2Close COMPUMETHOD_StatusMX2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusNodeID Coding for StatusNodeID COMPUMETHOD_StatusNodeID LINEAR 0.0 247.0 0.0 1 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 1.0 1 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 1.0 1 1 CODING_StatusSA_Mask Coding for StatusSA_Mask COMPUMETHOD_StatusSA_Mask LINEAR 0.0 255.0 0 1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 1.0 1 1 CODING_StatusBaudrate Coding for StatusBaudrate COMPUMETHOD_StatusBaudrate LINEAR 0.0 15.0 0.0 1 1 CODING_StatusK1Open Coding for StatusK1Open COMPUMETHOD_StatusK1Open LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusK2Close Coding for StatusK2Close COMPUMETHOD_StatusK2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX1Close Coding for StatusMX1Close COMPUMETHOD_StatusMX1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 1.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 160.0 1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 40.0 0.1 1 CODING_StatusK1Close Coding for StatusK1Close COMPUMETHOD_StatusK1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX2Open Coding for StatusMX2Open COMPUMETHOD_StatusMX2Open LINEAR 0.0 65535.0 0 1 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 1.0 1 1 CODING_ControlSwRev Coding for ControlSwRev COMPUMETHOD_ControlSwRev LINEAR 0.0 65535.0 0 1.0 1 CODING_InterfaceRev Coding for InterfaceRev COMPUMETHOD_InterfaceRev LINEAR 0.0 65535.0 0 1.0 1 CODING_BuildTime Coding for BuildTime COMPUMETHOD_BuildTime LINEAR 0.0 4294967295.0 0 1 1 CODING_v5p0_Supply Coding for v5p0_Supply COMPUMETHOD_v5p0_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v3p3_Supply Coding for v3p3_Supply COMPUMETHOD_v3p3_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v24_Supply Coding for v24_Supply COMPUMETHOD_v24_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v15_Supply Coding for v15_Supply COMPUMETHOD_v15_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_n15V_Supply Coding for n15V_Supply COMPUMETHOD_n15V_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_DiodeTemperature Coding for DiodeTemperature COMPUMETHOD_DiodeTemperature LINEAR 0.0 65535.0 0 1 1 CODING_IGBTTemperature Coding for IGBTTemperature COMPUMETHOD_IGBTTemperature LINEAR 0.0 65535.0 0 1 1 CODING_VoltageDCInput_measured Coding for VoltageDCInput_measured COMPUMETHOD_VoltageDCInput_measured LINEAR 0.0 65535.0 0 1 1 CODING_VoltageDCBus Coding for VoltageDCBus COMPUMETHOD_VoltageDCBus LINEAR 0.0 65535.0 0 1 1 CODING_CurrentDC_measured Coding for CurrentDC_measured COMPUMETHOD_CurrentDC_measured LINEAR 0.0 65535.0 0 1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0 1 1 CODING_Hash Coding for Hash COMPUMETHOD_Hash LINEAR 0.0 268435455.0 0 1 1 canmatrix-0.9.5/test/reference/from_xls/test.yaml000066400000000000000000003217161416730473300221460ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: {} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgCycleTimeActive: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgDelayTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgNrOfRepetitions: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgSendType: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: ENU, type: null} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 16751425 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandModeControlAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 61 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 57 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 71 unit: '' size: 9 transmitter: [] - !!Frame _Id: 16755521 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandModeControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 61 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 57 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 71 unit: '' size: 9 transmitter: [] - !!Frame _Id: 218078273 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218078785 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVFAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 10.0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 45.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218081857 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandSetNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 9: ContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CommandSetNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 40.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 160.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: K2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: MX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: NodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: SA_Mask offset: 0 receiver: [] signalsize: 8 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: Baudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 45 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: K2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 160.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 40.0 receiver: [] signalsize: 16 startbit: 65 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX2Open offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 1.0 receiver: [] signalsize: 16 startbit: 65 unit: ms size: 9 transmitter: [] - !!Frame _Id: 218082369 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218082881 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 10.0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 45.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218083137 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandFactoryControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: WriteSerialNumber offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FactoryAccess offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: '' size: 9 transmitter: [] - !!Frame _Id: 218088183 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusACParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageAC_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentAC_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218088439 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusBits receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Power On Reset, 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: State_status offset: 0.0 receiver: [] signalsize: 4 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClr_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 15 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Not Active, 1: Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: HardwareEnable_status offset: 0.0 receiver: [] signalsize: 2 startbit: 13 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 11 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 9 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerCircuitEnabled_status offset: 0.0 receiver: [] signalsize: 2 startbit: 23 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 19 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1PrechargePermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2DCRunPermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 31 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidModeControl_status offset: 0.0 receiver: [] signalsize: 2 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidPowerCMD_status offset: 0.0 receiver: [] signalsize: 2 startbit: 27 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidVF_status offset: 0.0 receiver: [] signalsize: 2 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CANbus_status offset: 0.0 receiver: [] signalsize: 2 startbit: 39 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_status offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LineVoltageDetected_status offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 45 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218089719 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusFaults receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: GeneralFault_status offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossOfAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 15 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 13 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: UndervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 11 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempInternal_status offset: 0.0 receiver: [] signalsize: 2 startbit: 9 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempPowerDevice_status offset: 0.0 receiver: [] signalsize: 2 startbit: 23 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlHardwareFail_status offset: 0.0 receiver: [] signalsize: 4 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossValidControlMessage_status offset: 0.0 receiver: [] signalsize: 4 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EStopShutdown_status offset: 0.0 receiver: [] signalsize: 2 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IllegalTransition_status offset: 0.0 receiver: [] signalsize: 2 startbit: 27 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEEHeader_status offset: 0.0 receiver: [] signalsize: 2 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEESection_status offset: 0.0 receiver: [] signalsize: 2 startbit: 39 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 43 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 44 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 60 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218090230 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: MasterMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 419415287 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusCommandedPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_echo offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_echo offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 419416567 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_echo offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_echo offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 419417079 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusTemps receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInlet_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInternal_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ConverterLosses offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: W size: 8 transmitter: [] - !!Frame _Id: 419418359 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineCurrents receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: A size: 8 transmitter: [] - !!Frame _Id: 419418615 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineVoltages receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: Vrms size: 8 transmitter: [] - !!Frame _Id: 486517239 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: StatusThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 10.0 min: 5.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 5.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 40.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 160.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusMX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusNodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusSA_Mask offset: 0 receiver: [] signalsize: 8 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusBaudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 45 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 160.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 40.0 receiver: [] signalsize: 16 startbit: 65 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX2Open offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 1.0 receiver: [] signalsize: 16 startbit: 65 unit: ms size: 9 transmitter: [] - !!Frame _Id: 486523383 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: softwareRev receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlSwRev offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InterfaceRev offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BuildTime offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: '' size: 9 transmitter: [] - !!Frame _Id: 486524407 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusControlVoltage receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v5p0_Supply offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v3p3_Supply offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v24_Supply offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v15_Supply offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: V size: 9 transmitter: [] - !!Frame _Id: 486524663 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusControlVolts2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: n15V_Supply offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: DiodeTemperature offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IGBTTemperature offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: C size: 9 transmitter: [] - !!Frame _Id: 486524919 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusDCParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCInput_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCBus offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentDC_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: A size: 8 transmitter: [] - !!Frame _Id: 486526199 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: serialNumber receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526455 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRevHash receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 268435455.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Hash offset: 0 receiver: [] signalsize: 28 startbit: 37 unit: '' size: 8 transmitter: [] globalDefines: {} signalDefines: GenSigSNA: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: STRING, max: null, min: null, type: STRING} valueTables: {} canmatrix-0.9.5/test/reference/from_xlsx/000077500000000000000000000000001416730473300204615ustar00rootroot00000000000000canmatrix-0.9.5/test/reference/from_xlsx/test.arxml000066400000000000000000016441261416730473300225230ustar00rootroot00000000000000 Cluster CAN CAN CommandModeControlAPU2 /Frame/FRAME_CommandModeControlAPU2 /Cluster/CAN/IPDUTRIGG_CommandModeControlAPU2 STANDARD 16751425 CommandModeControl /Frame/FRAME_CommandModeControl /Cluster/CAN/IPDUTRIGG_CommandModeControl STANDARD 16755521 CommandPowerAPU2 /Frame/FRAME_CommandPowerAPU2 /Cluster/CAN/IPDUTRIGG_CommandPowerAPU2 STANDARD 218078273 CommandVFAPU2 /Frame/FRAME_CommandVFAPU2 /Cluster/CAN/IPDUTRIGG_CommandVFAPU2 STANDARD 218078785 CommandSetNVParam /Frame/FRAME_CommandSetNVParam /Cluster/CAN/IPDUTRIGG_CommandSetNVParam STANDARD 218081857 CommandPower /Frame/FRAME_CommandPower /Cluster/CAN/IPDUTRIGG_CommandPower STANDARD 218082369 CommandVF /Frame/FRAME_CommandVF /Cluster/CAN/IPDUTRIGG_CommandVF STANDARD 218082881 CommandFactoryControl /Frame/FRAME_CommandFactoryControl /Cluster/CAN/IPDUTRIGG_CommandFactoryControl STANDARD 218083137 StatusACParameters /Frame/FRAME_StatusACParameters /Cluster/CAN/IPDUTRIGG_StatusACParameters STANDARD 218088183 StatusBits /Frame/FRAME_StatusBits /Cluster/CAN/IPDUTRIGG_StatusBits STANDARD 218088439 StatusFaults /Frame/FRAME_StatusFaults /Cluster/CAN/IPDUTRIGG_StatusFaults STANDARD 218089719 MasterMeasuredPower /Frame/FRAME_MasterMeasuredPower /Cluster/CAN/IPDUTRIGG_MasterMeasuredPower STANDARD 218090230 StatusMeasuredPower /Frame/FRAME_StatusMeasuredPower /Cluster/CAN/IPDUTRIGG_StatusMeasuredPower STANDARD 218090231 StatusCommandedPower /Frame/FRAME_StatusCommandedPower /Cluster/CAN/IPDUTRIGG_StatusCommandedPower STANDARD 419415287 StatusCommandVF /Frame/FRAME_StatusCommandVF /Cluster/CAN/IPDUTRIGG_StatusCommandVF STANDARD 419416567 StatusTemps /Frame/FRAME_StatusTemps /Cluster/CAN/IPDUTRIGG_StatusTemps STANDARD 419417079 StatusLineCurrents /Frame/FRAME_StatusLineCurrents /Cluster/CAN/IPDUTRIGG_StatusLineCurrents STANDARD 419418359 StatusLineVoltages /Frame/FRAME_StatusLineVoltages /Cluster/CAN/IPDUTRIGG_StatusLineVoltages STANDARD 419418615 StatusNVParam /Frame/FRAME_StatusNVParam /Cluster/CAN/IPDUTRIGG_StatusNVParam STANDARD 486517239 softwareRev /Frame/FRAME_softwareRev /Cluster/CAN/IPDUTRIGG_softwareRev STANDARD 486523383 StatusControlVoltage /Frame/FRAME_StatusControlVoltage /Cluster/CAN/IPDUTRIGG_StatusControlVoltage STANDARD 486524407 StatusControlVolts2 /Frame/FRAME_StatusControlVolts2 /Cluster/CAN/IPDUTRIGG_StatusControlVolts2 STANDARD 486524663 StatusDCParameters /Frame/FRAME_StatusDCParameters /Cluster/CAN/IPDUTRIGG_StatusDCParameters STANDARD 486524919 serialNumber /Frame/FRAME_serialNumber /Cluster/CAN/IPDUTRIGG_serialNumber STANDARD 486526199 softwareRevHash /Frame/FRAME_softwareRevHash /Cluster/CAN/IPDUTRIGG_softwareRevHash STANDARD 486526455 IPDUTRIGG_CommandModeControlAPU2 /PDU/PDU_CommandModeControlAPU2 IPDUTRIGG_CommandModeControl /PDU/PDU_CommandModeControl IPDUTRIGG_CommandPowerAPU2 /PDU/PDU_CommandPowerAPU2 IPDUTRIGG_CommandVFAPU2 /PDU/PDU_CommandVFAPU2 IPDUTRIGG_CommandSetNVParam /PDU/PDU_CommandSetNVParam IPDUTRIGG_CommandPower /PDU/PDU_CommandPower IPDUTRIGG_CommandVF /PDU/PDU_CommandVF IPDUTRIGG_CommandFactoryControl /PDU/PDU_CommandFactoryControl IPDUTRIGG_StatusACParameters /PDU/PDU_StatusACParameters IPDUTRIGG_StatusBits /PDU/PDU_StatusBits IPDUTRIGG_StatusFaults /PDU/PDU_StatusFaults IPDUTRIGG_MasterMeasuredPower /PDU/PDU_MasterMeasuredPower IPDUTRIGG_StatusMeasuredPower /PDU/PDU_StatusMeasuredPower IPDUTRIGG_StatusCommandedPower /PDU/PDU_StatusCommandedPower IPDUTRIGG_StatusCommandVF /PDU/PDU_StatusCommandVF IPDUTRIGG_StatusTemps /PDU/PDU_StatusTemps IPDUTRIGG_StatusLineCurrents /PDU/PDU_StatusLineCurrents IPDUTRIGG_StatusLineVoltages /PDU/PDU_StatusLineVoltages IPDUTRIGG_StatusNVParam /PDU/PDU_StatusNVParam IPDUTRIGG_softwareRev /PDU/PDU_softwareRev IPDUTRIGG_StatusControlVoltage /PDU/PDU_StatusControlVoltage IPDUTRIGG_StatusControlVolts2 /PDU/PDU_StatusControlVolts2 IPDUTRIGG_StatusDCParameters /PDU/PDU_StatusDCParameters IPDUTRIGG_serialNumber /PDU/PDU_serialNumber IPDUTRIGG_softwareRevHash /PDU/PDU_softwareRevHash Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command PhaseRotation_command /ISignal/PhaseRotation_command Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command PhaseRotation_command /ISignal/PhaseRotation_command RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command CommandSetNVParam_MUX /ISignal/CommandSetNVParam_MUX ThermalOverload /ISignal/ThermalOverload Dummy /ISignal/Dummy FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo K2Open /ISignal/K2Open MX1Open /ISignal/MX1Open MX2Close /ISignal/MX2Close NodeID /ISignal/NodeID VOver120 /ISignal/VOver120 VUnder50pct /ISignal/VUnder50pct SA_Mask /ISignal/SA_Mask Baudrate /ISignal/Baudrate FreqLo /ISignal/FreqLo K1Open /ISignal/K1Open K2Close /ISignal/K2Close MX1Close /ISignal/MX1Close V50to88pct /ISignal/V50to88pct FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo K1Close /ISignal/K1Close MX2Open /ISignal/MX2Open V110to120pct /ISignal/V110to120pct RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command WriteSerialNumber /ISignal/WriteSerialNumber FactoryAccess /ISignal/FactoryAccess SerialNumber /ISignal/SerialNumber VoltageAC_measured /ISignal/VoltageAC_measured CurrentAC_measured /ISignal/CurrentAC_measured Frequency_measured /ISignal/Frequency_measured State_status /ISignal/State_status Enable_echo /ISignal/Enable_echo FaultClr_echo /ISignal/FaultClr_echo HardwareEnable_status /ISignal/HardwareEnable_status PowerAvailAC_status /ISignal/PowerAvailAC_status PowerAvailDC_status /ISignal/PowerAvailDC_status PowerCircuitEnabled_status /ISignal/PowerCircuitEnabled_status MX1Permissive_status /ISignal/MX1Permissive_status MX2Permissive_status /ISignal/MX2Permissive_status K1PrechargePermissive_status /ISignal/K1PrechargePermissive_status K2DCRunPermissive_status /ISignal/K2DCRunPermissive_status MessageValidModeControl_status /ISignal/MessageValidModeControl_status MessageValidPowerCMD_status /ISignal/MessageValidPowerCMD_status MessageValidVF_status /ISignal/MessageValidVF_status CANbus_status /ISignal/CANbus_status EnableUPSMode_echo /ISignal/EnableUPSMode_echo EnableSplitPhase_echo /ISignal/EnableSplitPhase_echo PhaseRotation_status /ISignal/PhaseRotation_status LineVoltageDetected_status /ISignal/LineVoltageDetected_status PhaseRotation_echo /ISignal/PhaseRotation_echo GeneralFault_status /ISignal/GeneralFault_status OvercurrentAC_status /ISignal/OvercurrentAC_status LossOfAC_status /ISignal/LossOfAC_status OvercurrentDC_status /ISignal/OvercurrentDC_status OvervoltageDC_status /ISignal/OvervoltageDC_status UndervoltageDC_status /ISignal/UndervoltageDC_status OvertempInternal_status /ISignal/OvertempInternal_status OvertempPowerDevice_status /ISignal/OvertempPowerDevice_status ControlHardwareFail_status /ISignal/ControlHardwareFail_status LossValidControlMessage_status /ISignal/LossValidControlMessage_status EStopShutdown_status /ISignal/EStopShutdown_status IllegalTransition_status /ISignal/IllegalTransition_status InvalidEEHeader_status /ISignal/InvalidEEHeader_status InvalidEESection_status /ISignal/InvalidEESection_status ThermalOverload /ISignal/ThermalOverload BridgeBFault_status /ISignal/BridgeBFault_status BridgeBVoltageOk_status /ISignal/BridgeBVoltageOk_status BridgeAFault_status /ISignal/BridgeAFault_status BridgeAVoltageOk_status /ISignal/BridgeAVoltageOk_status RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_echo /ISignal/RealPower_echo ReactivePower_echo /ISignal/ReactivePower_echo Voltage_echo /ISignal/Voltage_echo Frequency_echo /ISignal/Frequency_echo TempInlet_measured /ISignal/TempInlet_measured TempInternal_measured /ISignal/TempInternal_measured ConverterLosses /ISignal/ConverterLosses L1Current_measured /ISignal/L1Current_measured L2Current_measured /ISignal/L2Current_measured L3Current_measured /ISignal/L3Current_measured L1Voltage_measured /ISignal/L1Voltage_measured L2Voltage_measured /ISignal/L2Voltage_measured L3Voltage_measured /ISignal/L3Voltage_measured StatusNVParam_MUX /ISignal/StatusNVParam_MUX StatusThermalOverload /ISignal/StatusThermalOverload Dummy /ISignal/Dummy FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo StatusK2Open /ISignal/StatusK2Open StatusMX1Open /ISignal/StatusMX1Open StatusMX2Close /ISignal/StatusMX2Close StatusNodeID /ISignal/StatusNodeID VOver120 /ISignal/VOver120 VUnder50pct /ISignal/VUnder50pct StatusSA_Mask /ISignal/StatusSA_Mask FreqLo /ISignal/FreqLo StatusBaudrate /ISignal/StatusBaudrate StatusK1Open /ISignal/StatusK1Open StatusK2Close /ISignal/StatusK2Close StatusMX1Close /ISignal/StatusMX1Close V50to88pct /ISignal/V50to88pct FreqHi /ISignal/FreqHi FreqVeryLo /ISignal/FreqVeryLo StatusK1Close /ISignal/StatusK1Close StatusMX2Open /ISignal/StatusMX2Open V110to120pct /ISignal/V110to120pct ControlSwRev /ISignal/ControlSwRev InterfaceRev /ISignal/InterfaceRev BuildTime /ISignal/BuildTime v5p0_Supply /ISignal/v5p0_Supply v3p3_Supply /ISignal/v3p3_Supply v24_Supply /ISignal/v24_Supply v15_Supply /ISignal/v15_Supply n15V_Supply /ISignal/n15V_Supply DiodeTemperature /ISignal/DiodeTemperature IGBTTemperature /ISignal/IGBTTemperature VoltageDCInput_measured /ISignal/VoltageDCInput_measured VoltageDCBus /ISignal/VoltageDCBus CurrentDC_measured /ISignal/CurrentDC_measured SerialNumber /ISignal/SerialNumber Hash /ISignal/Hash Frame FRAME_CommandModeControlAPU2 9 CommandModeControlAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControlAPU2 0 FRAME_CommandModeControl 9 CommandModeControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControl 0 FRAME_CommandPowerAPU2 9 CommandPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPowerAPU2 0 FRAME_CommandVFAPU2 8 CommandVFAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVFAPU2 0 FRAME_CommandSetNVParam 9 CommandSetNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandSetNVParam 0 FRAME_CommandPower 9 CommandPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPower 0 FRAME_CommandVF 8 CommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVF 0 FRAME_CommandFactoryControl 9 CommandFactoryControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandFactoryControl 0 FRAME_StatusACParameters 8 StatusACParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusACParameters 0 FRAME_StatusBits 8 StatusBits MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusBits 0 FRAME_StatusFaults 8 StatusFaults MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusFaults 0 FRAME_MasterMeasuredPower 9 MasterMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPower 0 FRAME_StatusMeasuredPower 9 StatusMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusMeasuredPower 0 FRAME_StatusCommandedPower 9 StatusCommandedPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandedPower 0 FRAME_StatusCommandVF 8 StatusCommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandVF 0 FRAME_StatusTemps 8 StatusTemps MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusTemps 0 FRAME_StatusLineCurrents 8 StatusLineCurrents MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineCurrents 0 FRAME_StatusLineVoltages 8 StatusLineVoltages MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineVoltages 0 FRAME_StatusNVParam 9 StatusNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusNVParam 0 FRAME_softwareRev 9 softwareRev MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRev 0 FRAME_StatusControlVoltage 9 StatusControlVoltage MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVoltage 0 FRAME_StatusControlVolts2 9 StatusControlVolts2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVolts2 0 FRAME_StatusDCParameters 8 StatusDCParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusDCParameters 0 FRAME_serialNumber 8 serialNumber MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_serialNumber 0 FRAME_softwareRevHash 8 softwareRevHash MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRevHash 0 PDU PDU_CommandModeControlAPU2 72 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 6 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 4 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 22 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 38 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 36 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 34 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 32 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 62 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 60 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 58 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 56 PDU_CommandModeControl 72 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 6 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 4 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 22 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 38 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 36 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 34 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 32 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 62 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 60 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 58 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 56 PDU_CommandPowerAPU2 72 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 0 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 32 PDU_CommandVFAPU2 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 0 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 16 PDU_CommandSetNVParam 72 CommandSetNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CommandSetNVParam_MUX 0 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 22 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 16 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 16 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 16 K2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Open 16 MX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Open 16 MX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Close 16 NodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/NodeID 16 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 16 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 16 SA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SA_Mask 24 Baudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Baudrate 32 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 32 K1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Open 32 K2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Close 32 MX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Close 32 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 32 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 48 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 48 K1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Close 48 MX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Open 48 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 48 PDU_CommandPower 72 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 0 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 32 PDU_CommandVF 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 0 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 16 PDU_CommandFactoryControl 72 WriteSerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/WriteSerialNumber 6 FactoryAccess MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FactoryAccess 16 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 32 PDU_StatusACParameters 64 VoltageAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageAC_measured 0 CurrentAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentAC_measured 16 Frequency_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_measured 32 PDU_StatusBits 64 State_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/State_status 4 Enable_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_echo 2 FaultClr_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClr_echo 0 HardwareEnable_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/HardwareEnable_status 14 PowerAvailAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailAC_status 12 PowerAvailDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailDC_status 10 PowerCircuitEnabled_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerCircuitEnabled_status 8 MX1Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Permissive_status 22 MX2Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Permissive_status 20 K1PrechargePermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1PrechargePermissive_status 18 K2DCRunPermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2DCRunPermissive_status 16 MessageValidModeControl_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidModeControl_status 30 MessageValidPowerCMD_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidPowerCMD_status 28 MessageValidVF_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidVF_status 26 CANbus_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CANbus_status 24 EnableUPSMode_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_echo 38 EnableSplitPhase_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_echo 36 PhaseRotation_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_status 34 LineVoltageDetected_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LineVoltageDetected_status 32 PhaseRotation_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_echo 46 PDU_StatusFaults 64 GeneralFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/GeneralFault_status 6 OvercurrentAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentAC_status 4 LossOfAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossOfAC_status 2 OvercurrentDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentDC_status 0 OvervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvervoltageDC_status 14 UndervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/UndervoltageDC_status 12 OvertempInternal_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempInternal_status 10 OvertempPowerDevice_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempPowerDevice_status 8 ControlHardwareFail_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlHardwareFail_status 20 LossValidControlMessage_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossValidControlMessage_status 16 EStopShutdown_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EStopShutdown_status 30 IllegalTransition_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IllegalTransition_status 28 InvalidEEHeader_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEEHeader_status 26 InvalidEESection_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEESection_status 24 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 38 BridgeBFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBFault_status 45 BridgeBVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBVoltageOk_status 44 BridgeAFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAFault_status 61 BridgeAVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAVoltageOk_status 60 PDU_MasterMeasuredPower 72 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 0 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 32 PDU_StatusMeasuredPower 72 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 0 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 32 PDU_StatusCommandedPower 72 RealPower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_echo 0 ReactivePower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_echo 32 PDU_StatusCommandVF 64 Voltage_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_echo 0 Frequency_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_echo 16 PDU_StatusTemps 64 TempInlet_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInlet_measured 0 TempInternal_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInternal_measured 16 ConverterLosses MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ConverterLosses 32 PDU_StatusLineCurrents 64 L1Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Current_measured 0 L2Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Current_measured 16 L3Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Current_measured 32 PDU_StatusLineVoltages 64 L1Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Voltage_measured 0 L2Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Voltage_measured 16 L3Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Voltage_measured 32 PDU_StatusNVParam 72 StatusNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNVParam_MUX 0 StatusThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusThermalOverload 22 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 16 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 16 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 16 StatusK2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Open 16 StatusMX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Open 16 StatusMX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Close 16 StatusNodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNodeID 16 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 16 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 16 StatusSA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusSA_Mask 24 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 32 StatusBaudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusBaudrate 32 StatusK1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Open 32 StatusK2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Close 32 StatusMX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Close 32 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 32 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 48 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 48 StatusK1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Close 48 StatusMX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Open 48 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 48 PDU_softwareRev 72 ControlSwRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlSwRev 0 InterfaceRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InterfaceRev 16 BuildTime MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BuildTime 32 PDU_StatusControlVoltage 72 v5p0_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v5p0_Supply 0 v3p3_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v3p3_Supply 16 v24_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v24_Supply 32 v15_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v15_Supply 48 PDU_StatusControlVolts2 72 n15V_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/n15V_Supply 0 DiodeTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/DiodeTemperature 32 IGBTTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IGBTTemperature 48 PDU_StatusDCParameters 64 VoltageDCInput_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCInput_measured 0 VoltageDCBus MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCBus 16 CurrentDC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentDC_measured 32 PDU_serialNumber 64 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 0 PDU_softwareRevHash 64 Hash MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Hash 0 ISignal Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command MasterFollowerMode_command /Signal/MasterFollowerMode_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command PhaseRotation_command /Signal/PhaseRotation_command Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command MasterFollowerMode_command /Signal/MasterFollowerMode_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command PhaseRotation_command /Signal/PhaseRotation_command RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command CommandSetNVParam_MUX /Signal/CommandSetNVParam_MUX ThermalOverload /Signal/ThermalOverload Dummy /Signal/Dummy FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo K2Open /Signal/K2Open MX1Open /Signal/MX1Open MX2Close /Signal/MX2Close NodeID /Signal/NodeID VOver120 /Signal/VOver120 VUnder50pct /Signal/VUnder50pct SA_Mask /Signal/SA_Mask Baudrate /Signal/Baudrate FreqLo /Signal/FreqLo K1Open /Signal/K1Open K2Close /Signal/K2Close MX1Close /Signal/MX1Close V50to88pct /Signal/V50to88pct FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo K1Close /Signal/K1Close MX2Open /Signal/MX2Open V110to120pct /Signal/V110to120pct RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command WriteSerialNumber /Signal/WriteSerialNumber FactoryAccess /Signal/FactoryAccess SerialNumber /Signal/SerialNumber VoltageAC_measured /Signal/VoltageAC_measured CurrentAC_measured /Signal/CurrentAC_measured Frequency_measured /Signal/Frequency_measured State_status /Signal/State_status Enable_echo /Signal/Enable_echo FaultClr_echo /Signal/FaultClr_echo HardwareEnable_status /Signal/HardwareEnable_status PowerAvailAC_status /Signal/PowerAvailAC_status PowerAvailDC_status /Signal/PowerAvailDC_status PowerCircuitEnabled_status /Signal/PowerCircuitEnabled_status MX1Permissive_status /Signal/MX1Permissive_status MX2Permissive_status /Signal/MX2Permissive_status K1PrechargePermissive_status /Signal/K1PrechargePermissive_status K2DCRunPermissive_status /Signal/K2DCRunPermissive_status MessageValidModeControl_status /Signal/MessageValidModeControl_status MessageValidPowerCMD_status /Signal/MessageValidPowerCMD_status MessageValidVF_status /Signal/MessageValidVF_status CANbus_status /Signal/CANbus_status EnableUPSMode_echo /Signal/EnableUPSMode_echo EnableSplitPhase_echo /Signal/EnableSplitPhase_echo PhaseRotation_status /Signal/PhaseRotation_status LineVoltageDetected_status /Signal/LineVoltageDetected_status PhaseRotation_echo /Signal/PhaseRotation_echo GeneralFault_status /Signal/GeneralFault_status OvercurrentAC_status /Signal/OvercurrentAC_status LossOfAC_status /Signal/LossOfAC_status OvercurrentDC_status /Signal/OvercurrentDC_status OvervoltageDC_status /Signal/OvervoltageDC_status UndervoltageDC_status /Signal/UndervoltageDC_status OvertempInternal_status /Signal/OvertempInternal_status OvertempPowerDevice_status /Signal/OvertempPowerDevice_status ControlHardwareFail_status /Signal/ControlHardwareFail_status LossValidControlMessage_status /Signal/LossValidControlMessage_status EStopShutdown_status /Signal/EStopShutdown_status IllegalTransition_status /Signal/IllegalTransition_status InvalidEEHeader_status /Signal/InvalidEEHeader_status InvalidEESection_status /Signal/InvalidEESection_status ThermalOverload /Signal/ThermalOverload BridgeBFault_status /Signal/BridgeBFault_status BridgeBVoltageOk_status /Signal/BridgeBVoltageOk_status BridgeAFault_status /Signal/BridgeAFault_status BridgeAVoltageOk_status /Signal/BridgeAVoltageOk_status RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_echo /Signal/RealPower_echo ReactivePower_echo /Signal/ReactivePower_echo Voltage_echo /Signal/Voltage_echo Frequency_echo /Signal/Frequency_echo TempInlet_measured /Signal/TempInlet_measured TempInternal_measured /Signal/TempInternal_measured ConverterLosses /Signal/ConverterLosses L1Current_measured /Signal/L1Current_measured L2Current_measured /Signal/L2Current_measured L3Current_measured /Signal/L3Current_measured L1Voltage_measured /Signal/L1Voltage_measured L2Voltage_measured /Signal/L2Voltage_measured L3Voltage_measured /Signal/L3Voltage_measured StatusNVParam_MUX /Signal/StatusNVParam_MUX StatusThermalOverload /Signal/StatusThermalOverload Dummy /Signal/Dummy FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo StatusK2Open /Signal/StatusK2Open StatusMX1Open /Signal/StatusMX1Open StatusMX2Close /Signal/StatusMX2Close StatusNodeID /Signal/StatusNodeID VOver120 /Signal/VOver120 VUnder50pct /Signal/VUnder50pct StatusSA_Mask /Signal/StatusSA_Mask FreqLo /Signal/FreqLo StatusBaudrate /Signal/StatusBaudrate StatusK1Open /Signal/StatusK1Open StatusK2Close /Signal/StatusK2Close StatusMX1Close /Signal/StatusMX1Close V50to88pct /Signal/V50to88pct FreqHi /Signal/FreqHi FreqVeryLo /Signal/FreqVeryLo StatusK1Close /Signal/StatusK1Close StatusMX2Open /Signal/StatusMX2Open V110to120pct /Signal/V110to120pct ControlSwRev /Signal/ControlSwRev InterfaceRev /Signal/InterfaceRev BuildTime /Signal/BuildTime v5p0_Supply /Signal/v5p0_Supply v3p3_Supply /Signal/v3p3_Supply v24_Supply /Signal/v24_Supply v15_Supply /Signal/v15_Supply n15V_Supply /Signal/n15V_Supply DiodeTemperature /Signal/DiodeTemperature IGBTTemperature /Signal/IGBTTemperature VoltageDCInput_measured /Signal/VoltageDCInput_measured VoltageDCBus /Signal/VoltageDCBus CurrentDC_measured /Signal/CurrentDC_measured SerialNumber /Signal/SerialNumber Hash /Signal/Hash Signal Enable_command /DataType/Enable_command 2 FaultClear_command /DataType/FaultClear_command 2 MasterFollowerMode_command /DataType/MasterFollowerMode_command 2 ForceRelayMX1_command /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand /DataType/ForceRelayRelayK2_DCRun_comand 2 InvertHwEnable_command /DataType/InvertHwEnable_command 2 EnableUPSMode_command /DataType/EnableUPSMode_command 2 EnableSplitPhase_command /DataType/EnableSplitPhase_command 2 PhaseRotation_command /DataType/PhaseRotation_command 2 Enable_command /DataType/Enable_command 2 FaultClear_command /DataType/FaultClear_command 2 MasterFollowerMode_command /DataType/MasterFollowerMode_command 2 ForceRelayMX1_command /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand /DataType/ForceRelayRelayK2_DCRun_comand 2 InvertHwEnable_command /DataType/InvertHwEnable_command 2 EnableUPSMode_command /DataType/EnableUPSMode_command 2 EnableSplitPhase_command /DataType/EnableSplitPhase_command 2 PhaseRotation_command /DataType/PhaseRotation_command 2 RealPower_command /DataType/RealPower_command 32 ReactivePower_command /DataType/ReactivePower_command 32 Voltage_command /DataType/Voltage_command 16 Frequency_command /DataType/Frequency_command 16 CommandSetNVParam_MUX /DataType/CommandSetNVParam_MUX 16 ThermalOverload /DataType/ThermalOverload 2 Dummy /DataType/Dummy 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 K2Open /DataType/K2Open 16 MX1Open /DataType/MX1Open 16 MX2Close /DataType/MX2Close 16 NodeID /DataType/NodeID 8 VOver120 /DataType/VOver120 16 VUnder50pct /DataType/VUnder50pct 16 SA_Mask /DataType/SA_Mask 8 Baudrate /DataType/Baudrate 4 FreqLo /DataType/FreqLo 16 K1Open /DataType/K1Open 16 K2Close /DataType/K2Close 16 MX1Close /DataType/MX1Close 16 V50to88pct /DataType/V50to88pct 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 K1Close /DataType/K1Close 16 MX2Open /DataType/MX2Open 16 V110to120pct /DataType/V110to120pct 16 RealPower_command /DataType/RealPower_command 32 ReactivePower_command /DataType/ReactivePower_command 32 Voltage_command /DataType/Voltage_command 16 Frequency_command /DataType/Frequency_command 16 WriteSerialNumber /DataType/WriteSerialNumber 2 FactoryAccess /DataType/FactoryAccess 16 SerialNumber /DataType/SerialNumber 32 VoltageAC_measured /DataType/VoltageAC_measured 16 CurrentAC_measured /DataType/CurrentAC_measured 16 Frequency_measured /DataType/Frequency_measured 16 State_status /DataType/State_status 4 Enable_echo /DataType/Enable_echo 2 FaultClr_echo /DataType/FaultClr_echo 2 HardwareEnable_status /DataType/HardwareEnable_status 2 PowerAvailAC_status /DataType/PowerAvailAC_status 2 PowerAvailDC_status /DataType/PowerAvailDC_status 2 PowerCircuitEnabled_status /DataType/PowerCircuitEnabled_status 2 MX1Permissive_status /DataType/MX1Permissive_status 2 MX2Permissive_status /DataType/MX2Permissive_status 2 K1PrechargePermissive_status /DataType/K1PrechargePermissive_status 2 K2DCRunPermissive_status /DataType/K2DCRunPermissive_status 2 MessageValidModeControl_status /DataType/MessageValidModeControl_status 2 MessageValidPowerCMD_status /DataType/MessageValidPowerCMD_status 2 MessageValidVF_status /DataType/MessageValidVF_status 2 CANbus_status /DataType/CANbus_status 2 EnableUPSMode_echo /DataType/EnableUPSMode_echo 2 EnableSplitPhase_echo /DataType/EnableSplitPhase_echo 2 PhaseRotation_status /DataType/PhaseRotation_status 2 LineVoltageDetected_status /DataType/LineVoltageDetected_status 2 PhaseRotation_echo /DataType/PhaseRotation_echo 2 GeneralFault_status /DataType/GeneralFault_status 2 OvercurrentAC_status /DataType/OvercurrentAC_status 2 LossOfAC_status /DataType/LossOfAC_status 2 OvercurrentDC_status /DataType/OvercurrentDC_status 2 OvervoltageDC_status /DataType/OvervoltageDC_status 2 UndervoltageDC_status /DataType/UndervoltageDC_status 2 OvertempInternal_status /DataType/OvertempInternal_status 2 OvertempPowerDevice_status /DataType/OvertempPowerDevice_status 2 ControlHardwareFail_status /DataType/ControlHardwareFail_status 4 LossValidControlMessage_status /DataType/LossValidControlMessage_status 4 EStopShutdown_status /DataType/EStopShutdown_status 2 IllegalTransition_status /DataType/IllegalTransition_status 2 InvalidEEHeader_status /DataType/InvalidEEHeader_status 2 InvalidEESection_status /DataType/InvalidEESection_status 2 ThermalOverload /DataType/ThermalOverload 2 BridgeBFault_status /DataType/BridgeBFault_status 3 BridgeBVoltageOk_status /DataType/BridgeBVoltageOk_status 1 BridgeAFault_status /DataType/BridgeAFault_status 3 BridgeAVoltageOk_status /DataType/BridgeAVoltageOk_status 1 RealPower_measured /DataType/RealPower_measured 32 ReactivePower_measured /DataType/ReactivePower_measured 32 RealPower_measured /DataType/RealPower_measured 32 ReactivePower_measured /DataType/ReactivePower_measured 32 RealPower_echo /DataType/RealPower_echo 32 ReactivePower_echo /DataType/ReactivePower_echo 32 Voltage_echo /DataType/Voltage_echo 16 Frequency_echo /DataType/Frequency_echo 16 TempInlet_measured /DataType/TempInlet_measured 16 TempInternal_measured /DataType/TempInternal_measured 16 ConverterLosses /DataType/ConverterLosses 16 L1Current_measured /DataType/L1Current_measured 16 L2Current_measured /DataType/L2Current_measured 16 L3Current_measured /DataType/L3Current_measured 16 L1Voltage_measured /DataType/L1Voltage_measured 16 L2Voltage_measured /DataType/L2Voltage_measured 16 L3Voltage_measured /DataType/L3Voltage_measured 16 StatusNVParam_MUX /DataType/StatusNVParam_MUX 16 StatusThermalOverload /DataType/StatusThermalOverload 2 Dummy /DataType/Dummy 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 StatusK2Open /DataType/StatusK2Open 16 StatusMX1Open /DataType/StatusMX1Open 16 StatusMX2Close /DataType/StatusMX2Close 16 StatusNodeID /DataType/StatusNodeID 8 VOver120 /DataType/VOver120 16 VUnder50pct /DataType/VUnder50pct 16 StatusSA_Mask /DataType/StatusSA_Mask 8 FreqLo /DataType/FreqLo 16 StatusBaudrate /DataType/StatusBaudrate 4 StatusK1Open /DataType/StatusK1Open 16 StatusK2Close /DataType/StatusK2Close 16 StatusMX1Close /DataType/StatusMX1Close 16 V50to88pct /DataType/V50to88pct 16 FreqHi /DataType/FreqHi 16 FreqVeryLo /DataType/FreqVeryLo 16 StatusK1Close /DataType/StatusK1Close 16 StatusMX2Open /DataType/StatusMX2Open 16 V110to120pct /DataType/V110to120pct 16 ControlSwRev /DataType/ControlSwRev 16 InterfaceRev /DataType/InterfaceRev 16 BuildTime /DataType/BuildTime 32 v5p0_Supply /DataType/v5p0_Supply 16 v3p3_Supply /DataType/v3p3_Supply 16 v24_Supply /DataType/v24_Supply 16 v15_Supply /DataType/v15_Supply 16 n15V_Supply /DataType/n15V_Supply 16 DiodeTemperature /DataType/DiodeTemperature 16 IGBTTemperature /DataType/IGBTTemperature 16 VoltageDCInput_measured /DataType/VoltageDCInput_measured 16 VoltageDCBus /DataType/VoltageDCBus 16 CurrentDC_measured /DataType/CurrentDC_measured 16 SerialNumber /DataType/SerialNumber 32 Hash /DataType/Hash 28 DataType Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command PhaseRotation_command /DataType/Semantics/PhaseRotation_command Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command PhaseRotation_command /DataType/Semantics/PhaseRotation_command RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command CommandSetNVParam_MUX /DataType/Semantics/CommandSetNVParam_MUX ThermalOverload /DataType/Semantics/ThermalOverload Dummy /DataType/Semantics/Dummy FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo K2Open /DataType/Semantics/K2Open MX1Open /DataType/Semantics/MX1Open MX2Close /DataType/Semantics/MX2Close NodeID /DataType/Semantics/NodeID VOver120 /DataType/Semantics/VOver120 VUnder50pct /DataType/Semantics/VUnder50pct SA_Mask /DataType/Semantics/SA_Mask Baudrate /DataType/Semantics/Baudrate FreqLo /DataType/Semantics/FreqLo K1Open /DataType/Semantics/K1Open K2Close /DataType/Semantics/K2Close MX1Close /DataType/Semantics/MX1Close V50to88pct /DataType/Semantics/V50to88pct FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo K1Close /DataType/Semantics/K1Close MX2Open /DataType/Semantics/MX2Open V110to120pct /DataType/Semantics/V110to120pct RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command WriteSerialNumber /DataType/Semantics/WriteSerialNumber FactoryAccess /DataType/Semantics/FactoryAccess SerialNumber /DataType/Semantics/SerialNumber VoltageAC_measured /DataType/Semantics/VoltageAC_measured CurrentAC_measured /DataType/Semantics/CurrentAC_measured Frequency_measured /DataType/Semantics/Frequency_measured State_status /DataType/Semantics/State_status Enable_echo /DataType/Semantics/Enable_echo FaultClr_echo /DataType/Semantics/FaultClr_echo HardwareEnable_status /DataType/Semantics/HardwareEnable_status PowerAvailAC_status /DataType/Semantics/PowerAvailAC_status PowerAvailDC_status /DataType/Semantics/PowerAvailDC_status PowerCircuitEnabled_status /DataType/Semantics/PowerCircuitEnabled_status MX1Permissive_status /DataType/Semantics/MX1Permissive_status MX2Permissive_status /DataType/Semantics/MX2Permissive_status K1PrechargePermissive_status /DataType/Semantics/K1PrechargePermissive_status K2DCRunPermissive_status /DataType/Semantics/K2DCRunPermissive_status MessageValidModeControl_status /DataType/Semantics/MessageValidModeControl_status MessageValidPowerCMD_status /DataType/Semantics/MessageValidPowerCMD_status MessageValidVF_status /DataType/Semantics/MessageValidVF_status CANbus_status /DataType/Semantics/CANbus_status EnableUPSMode_echo /DataType/Semantics/EnableUPSMode_echo EnableSplitPhase_echo /DataType/Semantics/EnableSplitPhase_echo PhaseRotation_status /DataType/Semantics/PhaseRotation_status LineVoltageDetected_status /DataType/Semantics/LineVoltageDetected_status PhaseRotation_echo /DataType/Semantics/PhaseRotation_echo GeneralFault_status /DataType/Semantics/GeneralFault_status OvercurrentAC_status /DataType/Semantics/OvercurrentAC_status LossOfAC_status /DataType/Semantics/LossOfAC_status OvercurrentDC_status /DataType/Semantics/OvercurrentDC_status OvervoltageDC_status /DataType/Semantics/OvervoltageDC_status UndervoltageDC_status /DataType/Semantics/UndervoltageDC_status OvertempInternal_status /DataType/Semantics/OvertempInternal_status OvertempPowerDevice_status /DataType/Semantics/OvertempPowerDevice_status ControlHardwareFail_status /DataType/Semantics/ControlHardwareFail_status LossValidControlMessage_status /DataType/Semantics/LossValidControlMessage_status EStopShutdown_status /DataType/Semantics/EStopShutdown_status IllegalTransition_status /DataType/Semantics/IllegalTransition_status InvalidEEHeader_status /DataType/Semantics/InvalidEEHeader_status InvalidEESection_status /DataType/Semantics/InvalidEESection_status ThermalOverload /DataType/Semantics/ThermalOverload BridgeBFault_status /DataType/Semantics/BridgeBFault_status BridgeBVoltageOk_status /DataType/Semantics/BridgeBVoltageOk_status BridgeAFault_status /DataType/Semantics/BridgeAFault_status BridgeAVoltageOk_status /DataType/Semantics/BridgeAVoltageOk_status RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_echo /DataType/Semantics/RealPower_echo ReactivePower_echo /DataType/Semantics/ReactivePower_echo Voltage_echo /DataType/Semantics/Voltage_echo Frequency_echo /DataType/Semantics/Frequency_echo TempInlet_measured /DataType/Semantics/TempInlet_measured TempInternal_measured /DataType/Semantics/TempInternal_measured ConverterLosses /DataType/Semantics/ConverterLosses L1Current_measured /DataType/Semantics/L1Current_measured L2Current_measured /DataType/Semantics/L2Current_measured L3Current_measured /DataType/Semantics/L3Current_measured L1Voltage_measured /DataType/Semantics/L1Voltage_measured L2Voltage_measured /DataType/Semantics/L2Voltage_measured L3Voltage_measured /DataType/Semantics/L3Voltage_measured StatusNVParam_MUX /DataType/Semantics/StatusNVParam_MUX StatusThermalOverload /DataType/Semantics/StatusThermalOverload Dummy /DataType/Semantics/Dummy FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo StatusK2Open /DataType/Semantics/StatusK2Open StatusMX1Open /DataType/Semantics/StatusMX1Open StatusMX2Close /DataType/Semantics/StatusMX2Close StatusNodeID /DataType/Semantics/StatusNodeID VOver120 /DataType/Semantics/VOver120 VUnder50pct /DataType/Semantics/VUnder50pct StatusSA_Mask /DataType/Semantics/StatusSA_Mask FreqLo /DataType/Semantics/FreqLo StatusBaudrate /DataType/Semantics/StatusBaudrate StatusK1Open /DataType/Semantics/StatusK1Open StatusK2Close /DataType/Semantics/StatusK2Close StatusMX1Close /DataType/Semantics/StatusMX1Close V50to88pct /DataType/Semantics/V50to88pct FreqHi /DataType/Semantics/FreqHi FreqVeryLo /DataType/Semantics/FreqVeryLo StatusK1Close /DataType/Semantics/StatusK1Close StatusMX2Open /DataType/Semantics/StatusMX2Open V110to120pct /DataType/Semantics/V110to120pct ControlSwRev /DataType/Semantics/ControlSwRev InterfaceRev /DataType/Semantics/InterfaceRev BuildTime /DataType/Semantics/BuildTime v5p0_Supply /DataType/Semantics/v5p0_Supply v3p3_Supply /DataType/Semantics/v3p3_Supply v24_Supply /DataType/Semantics/v24_Supply v15_Supply /DataType/Semantics/v15_Supply n15V_Supply /DataType/Semantics/n15V_Supply DiodeTemperature /DataType/Semantics/DiodeTemperature IGBTTemperature /DataType/Semantics/IGBTTemperature VoltageDCInput_measured /DataType/Semantics/VoltageDCInput_measured VoltageDCBus /DataType/Semantics/VoltageDCBus CurrentDC_measured /DataType/Semantics/CurrentDC_measured SerialNumber /DataType/Semantics/SerialNumber Hash /DataType/Semantics/Hash Semantics Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_command -90000 1 1 ReactivePower_command -90000 1 1 Voltage_command 10 0.1 1 Frequency_command 45 0.1 1 CommandSetNVParam_MUX Param0 0 0 Param0 LVM_ClearingTimes1 1 1 LVM_ClearingTimes1 LVM_ClearingTimes2 2 2 LVM_ClearingTimes2 LFM_Limits 3 3 LFM_Limits LFM_ClearingTimes 4 4 LFM_ClearingTimes J1939_Interface 5 5 J1939_Interface Fault_Config 6 6 Fault_Config ContactorDelays1 7 7 ContactorDelays1 ContactorDelays2 8 8 ContactorDelays2 ContactorDelays3 9 9 ContactorDelays3 0 1 1 ThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 Dummy 0 1 1 FreqHi 40 0.1 1 FreqVeryLo 160 1 1 K2Open 0 1 1 MX1Open 0 1 1 MX2Close 0 1 1 NodeID 0 1 1 VOver120 1 1 1 VUnder50pct 1 1 1 SA_Mask 0 1 1 Baudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 FreqLo 1 1 1 K1Open 0 1 1 K2Close 0 1 1 MX1Close 0 1 1 V50to88pct 1 1 1 FreqHi 160 1 1 FreqVeryLo 40 0.1 1 K1Close 0 1 1 MX2Open 0 1 1 V110to120pct 1 1 1 RealPower_command -90000 1 1 ReactivePower_command -90000 1 1 Voltage_command 10 0.1 1 Frequency_command 45 0.1 1 WriteSerialNumber Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FactoryAccess 0 1 1 SerialNumber 0 1 1 VoltageAC_measured 0 0.1 1 CurrentAC_measured 0 1 1 Frequency_measured 0 0.1 1 State_status Power On Reset 0 0 Power On Reset Ready 1 1 Ready Following 2 2 Following Fault 3 3 Fault Forming 4 4 Forming N/A 5 5 N/A N/A 6 6 N/A N/A 7 7 N/A N/A 8 8 N/A N/A 9 9 N/A N/A 10 10 N/A N/A 11 11 N/A N/A 12 12 N/A N/A 13 13 N/A N/A 14 14 N/A N/A 15 15 N/A 0 1 1 Enable_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClr_echo Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 HardwareEnable_status Not Active 0 0 Not Active Active 1 1 Active Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailAC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailDC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerCircuitEnabled_status Disabled 0 0 Disabled Enabled 1 1 Enabled Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MX2Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K1PrechargePermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K2DCRunPermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidModeControl_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidPowerCMD_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidVF_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 CANbus_status Normal 0 0 Normal Warning 1 1 Warning ErrorPassive 3 3 ErrorPassive N/A 4 4 N/A 0 1 1 EnableUPSMode_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_echo Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_status Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 LineVoltageDetected_status No_Voltage 0 0 No_Voltage Voltage_Detected 1 1 Voltage_Detected Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_echo Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 GeneralFault_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossOfAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 UndervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempInternal_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempPowerDevice_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ControlHardwareFail_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossValidControlMessage_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 EStopShutdown_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 IllegalTransition_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEEHeader_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEESection_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ThermalOverload Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeBFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeBVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeAFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeAVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_echo 0 1 1 ReactivePower_echo 0 1 1 Voltage_echo 0 0.1 1 Frequency_echo 0 0.1 1 TempInlet_measured 0 0.1 1 TempInternal_measured 0 0.1 1 ConverterLosses 0 1 1 L1Current_measured 0 1 1 L2Current_measured 0 1 1 L3Current_measured 0 1 1 L1Voltage_measured 0 0.1 1 L2Voltage_measured 0 0.1 1 L3Voltage_measured 0 0.1 1 StatusNVParam_MUX ActParam0 0 0 ActParam0 ActLVM_ClearingTimes1 1 1 ActLVM_ClearingTimes1 ActLVM_ClearingTimes2 2 2 ActLVM_ClearingTimes2 ActLFM_Limits 3 3 ActLFM_Limits ActLFM_ClearingTimes 4 4 ActLFM_ClearingTimes StatusJ1939_Interface 5 5 StatusJ1939_Interface StatusFault_Config 6 6 StatusFault_Config StatusContactorDelays1 7 7 StatusContactorDelays1 StatusContactorDelays2 8 8 StatusContactorDelays2 StatusContactorDelays3 9 9 StatusContactorDelays3 0 1 1 StatusThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 Dummy 5 1 1 FreqHi 40 0.1 1 FreqVeryLo 160 1 1 StatusK2Open 0 1 1 StatusMX1Open 0 1 1 StatusMX2Close 0 1 1 StatusNodeID 0 1 1 VOver120 1 1 1 VUnder50pct 1 1 1 StatusSA_Mask 0 1 1 FreqLo 1 1 1 StatusBaudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 StatusK1Open 0 1 1 StatusK2Close 0 1 1 StatusMX1Close 0 1 1 V50to88pct 1 1 1 FreqHi 160 1 1 FreqVeryLo 40 0.1 1 StatusK1Close 0 1 1 StatusMX2Open 0 1 1 V110to120pct 1 1 1 ControlSwRev 0 1 1 InterfaceRev 0 1 1 BuildTime 0 1 1 v5p0_Supply 0 0.01 1 v3p3_Supply 0 0.01 1 v24_Supply 0 0.01 1 v15_Supply 0 0.01 1 n15V_Supply 0 0.01 1 DiodeTemperature 0 1 1 IGBTTemperature 0 1 1 VoltageDCInput_measured 0 1 1 VoltageDCBus 0 1 1 CurrentDC_measured 0 1 1 SerialNumber 0 1 1 Hash 0 1 1 Unit Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz CommandSetNVParam_MUX ThermalOverload Dummy FreqHi Hz FreqVeryLo ms K2Open ms MX1Open ms MX2Close ms NodeID VOver120 VUnder50pct ms SA_Mask Baudrate FreqLo ms K1Open ms K2Close ms MX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz K1Close ms MX2Open ms V110to120pct ms RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA Voltage_echo Vrms Frequency_echo Hz TempInlet_measured C TempInternal_measured C ConverterLosses W L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms StatusNVParam_MUX StatusThermalOverload Dummy FreqHi Hz FreqVeryLo ms StatusK2Open ms StatusMX1Open ms StatusMX2Close ms StatusNodeID VOver120 VUnder50pct ms StatusSA_Mask FreqLo ms StatusBaudrate StatusK1Open ms StatusK2Close ms StatusMX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz StatusK1Close ms StatusMX2Open ms V110to120pct ms ControlSwRev InterfaceRev BuildTime v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V n15V_Supply V DiodeTemperature C IGBTTemperature C VoltageDCInput_measured V VoltageDCBus V CurrentDC_measured A SerialNumber Hash ECU IPDUGroup canmatrix-0.9.5/test/reference/from_xlsx/test.csv000066400000000000000000001020611416730473300221550ustar00rootroot00000000000000ID,Frame Name,Cycle Time [ms],Launch Type,Launch Parameter,Signal Byte No.,Signal Bit No.,Signal Name,Signal Function,Signal Length [Bit],Signal Default, Signal Not Available,Byteorder,is signed,Name / Phys. Range,Function / Increment Unit,Value FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,0,Disable FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,1,Enable FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,1,1,Enable_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,1,Clear Faults FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,0,Master FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,1,Follower FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,0,Normal FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,1,Force On FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,0,No invert FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,1,Invert FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,0,Disable FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,1,Enable FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,0,Normal - Three Phase Mode FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,1,Enable Split Phase Mode FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,3,N/A FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,0,Negative FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,1,Positive FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,2,Error FF9B41h,CommandModeControlAPU2,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,0,Disable FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,1,Enable FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,1,1,Enable_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,1,Clear Faults FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,1,3,FaultClear_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,0,Master FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,1,Follower FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,3,1,MasterFollowerMode_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,1,ForceRelayMX1_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,3,ForceRelayMX2_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,5,ForceRelayK1_Precharge_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,0,Normal FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,1,Force On FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,5,7,ForceRelayRelayK2_DCRun_comand,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,0,No invert FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,1,Invert FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,1,InvertHwEnable_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,0,Disable FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,1,Enable FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,3,EnableUPSMode_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,0,Normal - Three Phase Mode FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,1,Enable Split Phase Mode FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,5,EnableSplitPhase_command,,2, ,None,m,u,,3,N/A FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,0,Negative FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,1,Positive FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,2,Error FFAB41h,CommandModeControl,0,,None,8,7,PhaseRotation_command,,2, ,None,m,u,,3,N/A CFF9C41h,CommandPowerAPU2,0,,None,1,7,RealPower_command,,32, ,None,m,u,W,-90000.0..90000.0 CFF9C41h,CommandPowerAPU2,0,,None,5,7,ReactivePower_command,,32, ,None,m,u,VA,-90000.0..90000.0 CFF9E41h,CommandVFAPU2,0,,None,1,7,Voltage_command,,16, ,None,m,u,0.1 Vrms,10.0..500.0 CFF9E41h,CommandVFAPU2,0,,None,3,7,Frequency_command,,16, ,None,m,u,0.1 Hz,45.0..65.0 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,0,Param0 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,1,LVM_ClearingTimes1 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,2,LVM_ClearingTimes2 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,3,LFM_Limits CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,4,LFM_ClearingTimes CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,5,J1939_Interface CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,6,Fault_Config CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,7,ContactorDelays1 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,8,ContactorDelays2 CFFAA41h,CommandSetNVParam,0,,None,1,7,CommandSetNVParam_MUX,Mode Signal: ,16, ,None,m,u,,9,ContactorDelays3 CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,0,Warning CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,1,Fault CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,2,Error CFFAA41h,CommandSetNVParam,0,,None,3,1,ThermalOverload,Mode 6:,2, ,None,m,u,,3,N/A CFFAA41h,CommandSetNVParam,0,,None,3,7,Dummy,Mode 0:,16, ,None,m,u,,0.0..65535.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,FreqHi,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,FreqVeryLo,Mode 4:,16, ,None,m,u,ms,160.0..160.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,K2Open,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,MX1Open,Mode 7:,16, ,None,m,u,ms,0.0..5000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,MX2Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,NodeID,Mode 5:,8, ,None,m,u,,0.0..247.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,VOver120,Mode 2:,16, ,None,m,u,,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,3,7,VUnder50pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,4,7,SA_Mask,Mode 5:,8, ,None,m,u,,0.0..255.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,0,125K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,1,250K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,2,500K CFFAA41h,CommandSetNVParam,0,,None,5,7,Baudrate,Mode 5:,4, ,None,m,u,,3,1M CFFAA41h,CommandSetNVParam,0,,None,5,7,FreqLo,Mode 4:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,K1Open,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,K2Close,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,MX1Close,Mode 7:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,5,7,V50to88pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,FreqHi,Mode 4:,16, ,None,m,u,ms,160.0..160.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,FreqVeryLo,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,K1Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,MX2Open,Mode 7:,16, ,None,m,u,ms,0.0..65535.0 CFFAA41h,CommandSetNVParam,0,,None,7,7,V110to120pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 CFFAC41h,CommandPower,0,,None,1,7,RealPower_command,,32, ,None,m,u,W,-90000.0..90000.0 CFFAC41h,CommandPower,0,,None,5,7,ReactivePower_command,,32, ,None,m,u,VA,-90000.0..90000.0 CFFAE41h,CommandVF,0,,None,1,7,Voltage_command,,16, ,None,m,u,0.1 Vrms,10.0..500.0 CFFAE41h,CommandVF,0,,None,3,7,Frequency_command,,16, ,None,m,u,0.1 Hz,45.0..65.0 CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,0,Disable CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,1,Enable CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,2,Error CFFAF41h,CommandFactoryControl,0,,None,1,1,WriteSerialNumber,,2, ,None,m,u,,3,N/A CFFAF41h,CommandFactoryControl,0,,None,3,7,FactoryAccess,,16, ,None,m,u,,0.0..65535.0 CFFAF41h,CommandFactoryControl,0,,None,5,7,SerialNumber,,32, ,None,m,u,,0.0..4294967295.0 CFFC2F7h,StatusACParameters,100,,None,1,7,VoltageAC_measured,,16, ,None,m,u,0.1 V,0.0..65535.0 CFFC2F7h,StatusACParameters,100,,None,3,7,CurrentAC_measured,,16, ,None,m,u,A,0.0..65535.0 CFFC2F7h,StatusACParameters,100,,None,5,7,Frequency_measured,,16, ,None,m,u,0.1 Hz,0.0..65535.0 CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,0,Power On Reset CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,1,Ready CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,2,Following CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,3,Fault CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,4,Forming CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,5,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,6,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,7,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,8,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,9,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,10,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,11,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,12,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,13,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,14,N/A CFFC3F7h,StatusBits,100,,None,1,3,State_status,,4, ,None,m,u,,15,N/A CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,0,Disable CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,1,Enable CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,1,5,Enable_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,0,Normal CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,1,Clear Faults CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,1,7,FaultClr_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,0,Not Active CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,1,Active CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,1,HardwareEnable_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,0,None CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,1,Available CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,3,PowerAvailAC_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,0,None CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,1,Available CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,5,PowerAvailDC_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,0,Disabled CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,1,Enabled CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,2,7,PowerCircuitEnabled_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,1,MX1Permissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,3,MX2Permissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,5,K1PrechargePermissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,0,Open CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,1,Closed CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,3,7,K2DCRunPermissive_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,1,MessageValidModeControl_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,3,MessageValidPowerCMD_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,0,Invalid CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,1,Valid CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,4,5,MessageValidVF_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,0,Normal CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,1,Warning CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,3,ErrorPassive CFFC3F7h,StatusBits,100,,None,4,7,CANbus_status,,2, ,None,m,u,,4,N/A CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,0,Disable CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,1,Enable CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,1,EnableUPSMode_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,0,Normal - Three Phase Mode CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,1,Enable Split Phase Mode CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,3,EnableSplitPhase_echo,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,0,Negative CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,1,Positive CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,5,PhaseRotation_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,0,No_Voltage CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,1,Voltage_Detected CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,5,7,LineVoltageDetected_status,,2, ,None,m,u,,3,N/A CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,0,Negative CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,1,Positive CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,2,Error CFFC3F7h,StatusBits,100,,None,6,1,PhaseRotation_echo,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,1,GeneralFault_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,3,OvercurrentAC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,5,LossOfAC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,1,7,OvercurrentDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,1,OvervoltageDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,3,UndervoltageDC_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,5,OvertempInternal_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,2,7,OvertempPowerDevice_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,3,3,ControlHardwareFail_status,,4, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,3,7,LossValidControlMessage_status,,4, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,1,EStopShutdown_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,3,IllegalTransition_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,5,InvalidEEHeader_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,4,7,InvalidEESection_status,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,5,1,ThermalOverload,,2, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,1,FLT_A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,2,N/A CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,3,FLT_C CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,4,OverVoltage CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,5,FLT_B CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,6,Overcurrent CFFC8F7h,StatusFaults,100,,None,6,2,BridgeBFault_status,,3, ,None,m,u,,7,5V CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,6,3,BridgeBVoltageOk_status,,1, ,None,m,u,,3,N/A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,1,FLT_A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,2,N/A CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,3,FLT_C CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,4,OverVoltage CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,5,FLT_B CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,6,Overcurrent CFFC8F7h,StatusFaults,100,,None,8,2,BridgeAFault_status,,3, ,None,m,u,,7,5V CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,0,Normal CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,1,Fault Active CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,2,Error CFFC8F7h,StatusFaults,100,,None,8,3,BridgeAVoltageOk_status,,1, ,None,m,u,,3,N/A CFFCAF6h,MasterMeasuredPower,0,,None,1,7,RealPower_measured,,32, ,None,m,u,W,0.0..4294967295.0 CFFCAF6h,MasterMeasuredPower,0,,None,5,7,ReactivePower_measured,,32, ,None,m,u,VA,0.0..4294967295.0 CFFCAF7h,StatusMeasuredPower,100,,None,1,7,RealPower_measured,,32, ,None,m,u,W,0.0..4294967295.0 CFFCAF7h,StatusMeasuredPower,100,,None,5,7,ReactivePower_measured,,32, ,None,m,u,VA,0.0..4294967295.0 18FFC4F7h,StatusCommandedPower,100,,None,1,7,RealPower_echo,,32, ,None,m,u,W,0.0..4294967295.0 18FFC4F7h,StatusCommandedPower,100,,None,5,7,ReactivePower_echo,,32, ,None,m,u,VA,0.0..4294967295.0 18FFC9F7h,StatusCommandVF,100,,None,1,7,Voltage_echo,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFC9F7h,StatusCommandVF,100,,None,3,7,Frequency_echo,,16, ,None,m,u,0.1 Hz,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,1,7,TempInlet_measured,,16, ,None,m,u,0.1 C,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,3,7,TempInternal_measured,,16, ,None,m,u,0.1 C,0.0..65535.0 18FFCBF7h,StatusTemps,100,,None,5,7,ConverterLosses,,16, ,None,m,u,W,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,1,7,L1Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,3,7,L2Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD0F7h,StatusLineCurrents,100,,None,5,7,L3Current_measured,,16, ,None,m,u,A,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,1,7,L1Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,3,7,L2Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 18FFD1F7h,StatusLineVoltages,100,,None,5,7,L3Voltage_measured,,16, ,None,m,u,0.1 Vrms,0.0..65535.0 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,0,ActParam0 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,1,ActLVM_ClearingTimes1 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,2,ActLVM_ClearingTimes2 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,3,ActLFM_Limits 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,4,ActLFM_ClearingTimes 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,5,StatusJ1939_Interface 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,6,StatusFault_Config 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,7,StatusContactorDelays1 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,8,StatusContactorDelays2 1CFFA9F7h,StatusNVParam,0,,None,1,7,StatusNVParam_MUX,Mode Signal: ,16, ,None,m,u,,9,StatusContactorDelays3 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,0,Warning 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,1,Fault 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,2,Error 1CFFA9F7h,StatusNVParam,0,,None,3,1,StatusThermalOverload,Mode 6:,2, ,None,m,u,,3,N/A 1CFFA9F7h,StatusNVParam,0,,None,3,7,Dummy,Mode 0:,16, ,None,m,u,,5.0..10.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,FreqHi,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,FreqVeryLo,Mode 4:,16, ,None,m,u,ms,160.0..160.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusK2Open,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusMX1Open,Mode 7:,16, ,None,m,u,ms,0.0..5000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusMX2Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,StatusNodeID,Mode 5:,8, ,None,m,u,,0.0..247.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,VOver120,Mode 2:,16, ,None,m,u,,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,3,7,VUnder50pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,4,7,StatusSA_Mask,Mode 5:,8, ,None,m,u,,0.0..255.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,FreqLo,Mode 4:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,0,125K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,1,250K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,2,500K 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusBaudrate,Mode 5:,4, ,None,m,u,,3,1M 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusK1Open,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusK2Close,Mode 9:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,StatusMX1Close,Mode 7:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,5,7,V50to88pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,FreqHi,Mode 4:,16, ,None,m,u,ms,160.0..160.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,FreqVeryLo,Mode 3:,16, ,None,m,u,0.1 Hz,40.0..70.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,StatusK1Close,Mode 8:,16, ,None,m,u,ms,0.0..2000.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,StatusMX2Open,Mode 7:,16, ,None,m,u,ms,0.0..65535.0 1CFFA9F7h,StatusNVParam,0,,None,7,7,V110to120pct,Mode 1:,16, ,None,m,u,ms,1.0..30000.0 1CFFC1F7h,softwareRev,0,,None,1,7,ControlSwRev,,16, ,None,m,u,,0.0..65535.0 1CFFC1F7h,softwareRev,0,,None,3,7,InterfaceRev,,16, ,None,m,u,,0.0..65535.0 1CFFC1F7h,softwareRev,0,,None,5,7,BuildTime,,32, ,None,m,u,,0.0..4294967295.0 1CFFC5F7h,StatusControlVoltage,100,,None,1,7,v5p0_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,3,7,v3p3_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,5,7,v24_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC5F7h,StatusControlVoltage,100,,None,7,7,v15_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,1,7,n15V_Supply,,16, ,None,m,u,0.01 V,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,5,7,DiodeTemperature,,16, ,None,m,u,C,0.0..65535.0 1CFFC6F7h,StatusControlVolts2,100,,None,7,7,IGBTTemperature,,16, ,None,m,u,C,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,1,7,VoltageDCInput_measured,,16, ,None,m,u,V,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,3,7,VoltageDCBus,,16, ,None,m,u,V,0.0..65535.0 1CFFC7F7h,StatusDCParameters,100,,None,5,7,CurrentDC_measured,,16, ,None,m,u,A,0.0..65535.0 1CFFCCF7h,serialNumber,0,,None,1,7,SerialNumber,,32, ,None,m,u,,0.0..4294967295.0 1CFFCDF7h,softwareRevHash,0,,None,1,7,Hash,,28, ,None,m,u,,0.0..268435455.0 canmatrix-0.9.5/test/reference/from_xlsx/test.dbc000066400000000000000000000500261416730473300221150ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: BO_ 16751425 CommandModeControlAPU2: 9 Vector__XXX SG_ Enable_command : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 62|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 60|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 58|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 56|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 16755521 CommandModeControl: 9 Vector__XXX SG_ Enable_command : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClear_command : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MasterFollowerMode_command : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX1_command : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayMX2_command : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayK1_Precharge_command : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ForceRelayRelayK2_DCRun_comand : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvertHwEnable_command : 62|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_command : 60|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_command : 58|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_command : 56|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 218078273 CommandPowerAPU2: 9 Vector__XXX SG_ RealPower_command : 0|32@0+ (1,-90000) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 32|32@0+ (1,-90000) [-90000|90000] "VA" Vector__XXX BO_ 218078785 CommandVFAPU2: 8 Vector__XXX SG_ Voltage_command : 0|16@0+ (0.1,10) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 16|16@0+ (0.1,45) [45|65] "Hz" Vector__XXX BO_ 218081857 CommandSetNVParam: 9 Vector__XXX SG_ CommandSetNVParam_MUX M : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ ThermalOverload m6 : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ Dummy m0 : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ FreqHi0 m3 : 16|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m4 : 16|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ K2Open m9 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX1Open m7 : 16|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ MX2Close m8 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ NodeID m5 : 16|8@0+ (1,0) [0|247] "" Vector__XXX SG_ VOver120 m2 : 16|16@0+ (1,1) [1|30000] "" Vector__XXX SG_ VUnder50pct m1 : 16|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ SA_Mask m5 : 24|8@0+ (1,0) [0|255] "" Vector__XXX SG_ Baudrate m5 : 32|4@0+ (1,0) [0|15] "" Vector__XXX SG_ FreqLo m4 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ K1Open m8 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ K2Close m9 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX1Close m7 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ V50to88pct m1 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 48|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ FreqVeryLo1 m3 : 48|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ K1Close m8 : 48|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ MX2Open m7 : 48|16@0+ (1,0) [0|65535] "ms" Vector__XXX SG_ V110to120pct m1 : 48|16@0+ (1,1) [1|30000] "ms" Vector__XXX BO_ 218082369 CommandPower: 9 Vector__XXX SG_ RealPower_command : 0|32@0+ (1,-90000) [-90000|90000] "W" Vector__XXX SG_ ReactivePower_command : 32|32@0+ (1,-90000) [-90000|90000] "VA" Vector__XXX BO_ 218082881 CommandVF: 8 Vector__XXX SG_ Voltage_command : 0|16@0+ (0.1,10) [10|500] "Vrms" Vector__XXX SG_ Frequency_command : 16|16@0+ (0.1,45) [45|65] "Hz" Vector__XXX BO_ 218083137 CommandFactoryControl: 9 Vector__XXX SG_ WriteSerialNumber : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FactoryAccess : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ SerialNumber : 32|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 218088183 StatusACParameters: 8 Vector__XXX SG_ VoltageAC_measured : 0|16@0+ (0.1,0) [0|65535] "V" Vector__XXX SG_ CurrentAC_measured : 16|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ Frequency_measured : 32|16@0+ (0.1,0) [0|65535] "Hz" Vector__XXX BO_ 218088439 StatusBits: 8 Vector__XXX SG_ State_status : 4|4@0+ (1,0) [0|15] "" Vector__XXX SG_ Enable_echo : 2|2@0+ (1,0) [0|3] "" Vector__XXX SG_ FaultClr_echo : 0|2@0+ (1,0) [0|3] "" Vector__XXX SG_ HardwareEnable_status : 14|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailAC_status : 12|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerAvailDC_status : 10|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PowerCircuitEnabled_status : 8|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MX1Permissive_status : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MX2Permissive_status : 20|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K1PrechargePermissive_status : 18|2@0+ (1,0) [0|3] "" Vector__XXX SG_ K2DCRunPermissive_status : 16|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidModeControl_status : 30|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidPowerCMD_status : 28|2@0+ (1,0) [0|3] "" Vector__XXX SG_ MessageValidVF_status : 26|2@0+ (1,0) [0|3] "" Vector__XXX SG_ CANbus_status : 24|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableUPSMode_echo : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ EnableSplitPhase_echo : 36|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_status : 34|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LineVoltageDetected_status : 32|2@0+ (1,0) [0|3] "" Vector__XXX SG_ PhaseRotation_echo : 46|2@0+ (1,0) [0|3] "" Vector__XXX BO_ 218089719 StatusFaults: 8 Vector__XXX SG_ GeneralFault_status : 6|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvercurrentAC_status : 4|2@0+ (1,0) [0|3] "" Vector__XXX SG_ LossOfAC_status : 2|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvercurrentDC_status : 0|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvervoltageDC_status : 14|2@0+ (1,0) [0|3] "" Vector__XXX SG_ UndervoltageDC_status : 12|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempInternal_status : 10|2@0+ (1,0) [0|3] "" Vector__XXX SG_ OvertempPowerDevice_status : 8|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ControlHardwareFail_status : 20|4@0+ (1,0) [0|15] "" Vector__XXX SG_ LossValidControlMessage_status : 16|4@0+ (1,0) [0|15] "" Vector__XXX SG_ EStopShutdown_status : 30|2@0+ (1,0) [0|3] "" Vector__XXX SG_ IllegalTransition_status : 28|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEEHeader_status : 26|2@0+ (1,0) [0|3] "" Vector__XXX SG_ InvalidEESection_status : 24|2@0+ (1,0) [0|3] "" Vector__XXX SG_ ThermalOverload : 38|2@0+ (1,0) [0|3] "" Vector__XXX SG_ BridgeBFault_status : 45|3@0+ (1,0) [0|7] "" Vector__XXX SG_ BridgeBVoltageOk_status : 44|1@0+ (1,0) [0|1] "" Vector__XXX SG_ BridgeAFault_status : 61|3@0+ (1,0) [0|7] "" Vector__XXX SG_ BridgeAVoltageOk_status : 60|1@0+ (1,0) [0|1] "" Vector__XXX BO_ 218090230 MasterMeasuredPower: 9 Vector__XXX SG_ RealPower_measured : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_measured : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 218090231 StatusMeasuredPower: 9 Vector__XXX SG_ RealPower_measured : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_measured : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 419415287 StatusCommandedPower: 9 Vector__XXX SG_ RealPower_echo : 0|32@0+ (1,0) [0|4294967295] "W" Vector__XXX SG_ ReactivePower_echo : 32|32@0+ (1,0) [0|4294967295] "VA" Vector__XXX BO_ 419416567 StatusCommandVF: 8 Vector__XXX SG_ Voltage_echo : 0|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ Frequency_echo : 16|16@0+ (0.1,0) [0|65535] "Hz" Vector__XXX BO_ 419417079 StatusTemps: 8 Vector__XXX SG_ TempInlet_measured : 0|16@0+ (0.1,0) [0|65535] "C" Vector__XXX SG_ TempInternal_measured : 16|16@0+ (0.1,0) [0|65535] "C" Vector__XXX SG_ ConverterLosses : 32|16@0+ (1,0) [0|65535] "W" Vector__XXX BO_ 419418359 StatusLineCurrents: 8 Vector__XXX SG_ L1Current_measured : 0|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ L2Current_measured : 16|16@0+ (1,0) [0|65535] "A" Vector__XXX SG_ L3Current_measured : 32|16@0+ (1,0) [0|65535] "A" Vector__XXX BO_ 419418615 StatusLineVoltages: 8 Vector__XXX SG_ L1Voltage_measured : 0|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ L2Voltage_measured : 16|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX SG_ L3Voltage_measured : 32|16@0+ (0.1,0) [0|65535] "Vrms" Vector__XXX BO_ 486517239 StatusNVParam: 9 Vector__XXX SG_ StatusNVParam_MUX M : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ StatusThermalOverload m6 : 22|2@0+ (1,0) [0|3] "" Vector__XXX SG_ Dummy m0 : 16|16@0+ (1,5) [5|10] "" Vector__XXX SG_ FreqHi0 m3 : 16|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ FreqVeryLo0 m4 : 16|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ StatusK2Open m9 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX1Open m7 : 16|16@0+ (1,0) [0|5000] "ms" Vector__XXX SG_ StatusMX2Close m8 : 16|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusNodeID m5 : 16|8@0+ (1,0) [0|247] "" Vector__XXX SG_ VOver120 m2 : 16|16@0+ (1,1) [1|30000] "" Vector__XXX SG_ VUnder50pct m1 : 16|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ StatusSA_Mask m5 : 24|8@0+ (1,0) [0|255] "" Vector__XXX SG_ FreqLo m4 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ StatusBaudrate m5 : 32|4@0+ (1,0) [0|15] "" Vector__XXX SG_ StatusK1Open m8 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusK2Close m9 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX1Close m7 : 32|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ V50to88pct m1 : 32|16@0+ (1,1) [1|30000] "ms" Vector__XXX SG_ FreqHi1 m4 : 48|16@0+ (1,160) [160|160] "ms" Vector__XXX SG_ FreqVeryLo1 m3 : 48|16@0+ (0.1,40) [40|70] "Hz" Vector__XXX SG_ StatusK1Close m8 : 48|16@0+ (1,0) [0|2000] "ms" Vector__XXX SG_ StatusMX2Open m7 : 48|16@0+ (1,0) [0|65535] "ms" Vector__XXX SG_ V110to120pct m1 : 48|16@0+ (1,1) [1|30000] "ms" Vector__XXX BO_ 486523383 softwareRev: 9 Vector__XXX SG_ ControlSwRev : 0|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ InterfaceRev : 16|16@0+ (1,0) [0|65535] "" Vector__XXX SG_ BuildTime : 32|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 486524407 StatusControlVoltage: 9 Vector__XXX SG_ v5p0_Supply : 0|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v3p3_Supply : 16|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v24_Supply : 32|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ v15_Supply : 48|16@0+ (0.01,0) [0|65535] "V" Vector__XXX BO_ 486524663 StatusControlVolts2: 9 Vector__XXX SG_ n15V_Supply : 0|16@0+ (0.01,0) [0|65535] "V" Vector__XXX SG_ DiodeTemperature : 32|16@0+ (1,0) [0|65535] "C" Vector__XXX SG_ IGBTTemperature : 48|16@0+ (1,0) [0|65535] "C" Vector__XXX BO_ 486524919 StatusDCParameters: 8 Vector__XXX SG_ VoltageDCInput_measured : 0|16@0+ (1,0) [0|65535] "V" Vector__XXX SG_ VoltageDCBus : 16|16@0+ (1,0) [0|65535] "V" Vector__XXX SG_ CurrentDC_measured : 32|16@0+ (1,0) [0|65535] "A" Vector__XXX BO_ 486526199 serialNumber: 8 Vector__XXX SG_ SerialNumber : 0|32@0+ (1,0) [0|4294967295] "" Vector__XXX BO_ 486526455 softwareRevHash: 8 Vector__XXX SG_ Hash : 0|28@0+ (1,0) [0|268435455] "" Vector__XXX BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_DEF_ BO_ "GenMsgCycleTimeActive" INT 0 65535; BA_DEF_ BO_ "GenMsgDelayTime" INT 0 65535; BA_DEF_ BO_ "GenMsgNrOfRepetitions" INT 0 65535; BA_DEF_ BO_ "GenMsgSendType" ENU; BA_DEF_ BO_ "VFrameFormat" ENUM "StandardCAN","ExtendedCAN","StandardCAN_FD","ExtendedCAN_FD","J1939PG"; BA_DEF_ SG_ "GenSigSNA" STRING; BA_DEF_ "BusType" STRING; BA_ "BusType" "CAN FD"; BA_ "GenMsgCycleTime" BO_ 16751425 0; BA_ "GenMsgSendType" BO_ 16751425 ""; BA_ "VFrameFormat" BO_ 16751425 2; BA_ "GenMsgCycleTime" BO_ 16755521 0; BA_ "GenMsgSendType" BO_ 16755521 ""; BA_ "VFrameFormat" BO_ 16755521 2; BA_ "GenMsgCycleTime" BO_ 218078273 0; BA_ "GenMsgSendType" BO_ 218078273 ""; BA_ "VFrameFormat" BO_ 218078273 2; BA_ "GenMsgCycleTime" BO_ 218078785 0; BA_ "GenMsgSendType" BO_ 218078785 ""; BA_ "VFrameFormat" BO_ 218078785 0; BA_ "GenMsgCycleTime" BO_ 218081857 0; BA_ "GenMsgSendType" BO_ 218081857 ""; BA_ "VFrameFormat" BO_ 218081857 2; BA_ "GenMsgCycleTime" BO_ 218082369 0; BA_ "GenMsgSendType" BO_ 218082369 ""; BA_ "VFrameFormat" BO_ 218082369 2; BA_ "GenMsgCycleTime" BO_ 218082881 0; BA_ "GenMsgSendType" BO_ 218082881 ""; BA_ "VFrameFormat" BO_ 218082881 0; BA_ "GenMsgCycleTime" BO_ 218083137 0; BA_ "GenMsgSendType" BO_ 218083137 ""; BA_ "VFrameFormat" BO_ 218083137 2; BA_ "GenMsgCycleTime" BO_ 218088183 100; BA_ "GenMsgSendType" BO_ 218088183 ""; BA_ "VFrameFormat" BO_ 218088183 0; BA_ "GenMsgCycleTime" BO_ 218088439 100; BA_ "GenMsgSendType" BO_ 218088439 ""; BA_ "VFrameFormat" BO_ 218088439 0; BA_ "GenMsgCycleTime" BO_ 218089719 100; BA_ "GenMsgSendType" BO_ 218089719 ""; BA_ "VFrameFormat" BO_ 218089719 0; BA_ "GenMsgCycleTime" BO_ 218090230 0; BA_ "GenMsgSendType" BO_ 218090230 ""; BA_ "VFrameFormat" BO_ 218090230 2; BA_ "GenMsgCycleTime" BO_ 218090231 100; BA_ "GenMsgSendType" BO_ 218090231 ""; BA_ "VFrameFormat" BO_ 218090231 2; BA_ "GenMsgCycleTime" BO_ 419415287 100; BA_ "GenMsgSendType" BO_ 419415287 ""; BA_ "VFrameFormat" BO_ 419415287 2; BA_ "GenMsgCycleTime" BO_ 419416567 100; BA_ "GenMsgSendType" BO_ 419416567 ""; BA_ "VFrameFormat" BO_ 419416567 0; BA_ "GenMsgCycleTime" BO_ 419417079 100; BA_ "GenMsgSendType" BO_ 419417079 ""; BA_ "VFrameFormat" BO_ 419417079 0; BA_ "GenMsgCycleTime" BO_ 419418359 100; BA_ "GenMsgSendType" BO_ 419418359 ""; BA_ "VFrameFormat" BO_ 419418359 0; BA_ "GenMsgCycleTime" BO_ 419418615 100; BA_ "GenMsgSendType" BO_ 419418615 ""; BA_ "VFrameFormat" BO_ 419418615 0; BA_ "GenMsgCycleTime" BO_ 486517239 0; BA_ "GenMsgSendType" BO_ 486517239 ""; BA_ "VFrameFormat" BO_ 486517239 2; BA_ "GenMsgCycleTime" BO_ 486523383 0; BA_ "GenMsgSendType" BO_ 486523383 ""; BA_ "VFrameFormat" BO_ 486523383 2; BA_ "GenMsgCycleTime" BO_ 486524407 100; BA_ "GenMsgSendType" BO_ 486524407 ""; BA_ "VFrameFormat" BO_ 486524407 2; BA_ "GenMsgCycleTime" BO_ 486524663 100; BA_ "GenMsgSendType" BO_ 486524663 ""; BA_ "VFrameFormat" BO_ 486524663 2; BA_ "GenMsgCycleTime" BO_ 486524919 100; BA_ "GenMsgSendType" BO_ 486524919 ""; BA_ "VFrameFormat" BO_ 486524919 0; BA_ "GenMsgCycleTime" BO_ 486526199 0; BA_ "GenMsgSendType" BO_ 486526199 ""; BA_ "VFrameFormat" BO_ 486526199 0; BA_ "GenMsgCycleTime" BO_ 486526455 0; BA_ "GenMsgSendType" BO_ 486526455 ""; BA_ "VFrameFormat" BO_ 486526455 0; VAL_ 16751425 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16751425 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 16751425 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16751425 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 16751425 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16751425 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 16751425 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 16755521 Enable_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16755521 FaultClear_command 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 16755521 MasterFollowerMode_command 0 "Master" 1 "Follower" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayMX1_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayMX2_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayK1_Precharge_command 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 ForceRelayRelayK2_DCRun_comand 0 "Normal" 1 "Force On" 2 "Error" 3 "N/A"; VAL_ 16755521 InvertHwEnable_command 0 "No invert" 1 "Invert" 2 "Error" 3 "N/A"; VAL_ 16755521 EnableUPSMode_command 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 16755521 EnableSplitPhase_command 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 16755521 PhaseRotation_command 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218081857 CommandSetNVParam_MUX 0 "Param0" 1 "LVM_ClearingTimes1" 2 "LVM_ClearingTimes2" 3 "LFM_Limits" 4 "LFM_ClearingTimes" 5 "J1939_Interface" 6 "Fault_Config" 7 "ContactorDelays1" 8 "ContactorDelays2" 9 "ContactorDelays3"; VAL_ 218081857 ThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 218081857 Baudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; VAL_ 218083137 WriteSerialNumber 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 State_status 0 "Power On Reset" 1 "Ready" 2 "Following" 3 "Fault" 4 "Forming" 5 "N/A" 6 "N/A" 7 "N/A" 8 "N/A" 9 "N/A" 10 "N/A" 11 "N/A" 12 "N/A" 13 "N/A" 14 "N/A" 15 "N/A"; VAL_ 218088439 Enable_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 FaultClr_echo 0 "Normal" 1 "Clear Faults" 2 "Error" 3 "N/A"; VAL_ 218088439 HardwareEnable_status 0 "Not Active" 1 "Active" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerAvailAC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerAvailDC_status 0 "None" 1 "Available" 2 "Error" 3 "N/A"; VAL_ 218088439 PowerCircuitEnabled_status 0 "Disabled" 1 "Enabled" 2 "Error" 3 "N/A"; VAL_ 218088439 MX1Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 MX2Permissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 K1PrechargePermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 K2DCRunPermissive_status 0 "Open" 1 "Closed" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidModeControl_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidPowerCMD_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 MessageValidVF_status 0 "Invalid" 1 "Valid" 2 "Error" 3 "N/A"; VAL_ 218088439 CANbus_status 0 "Normal" 1 "Warning" 3 "ErrorPassive" 4 "N/A"; VAL_ 218088439 EnableUPSMode_echo 0 "Disable" 1 "Enable" 2 "Error" 3 "N/A"; VAL_ 218088439 EnableSplitPhase_echo 0 "Normal - Three Phase Mode" 1 "Enable Split Phase Mode" 2 "Error" 3 "N/A"; VAL_ 218088439 PhaseRotation_status 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218088439 LineVoltageDetected_status 0 "No_Voltage" 1 "Voltage_Detected" 2 "Error" 3 "N/A"; VAL_ 218088439 PhaseRotation_echo 0 "Negative" 1 "Positive" 2 "Error" 3 "N/A"; VAL_ 218089719 GeneralFault_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvercurrentAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 LossOfAC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvercurrentDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 UndervoltageDC_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvertempInternal_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 OvertempPowerDevice_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 ControlHardwareFail_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 LossValidControlMessage_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 EStopShutdown_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 IllegalTransition_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 InvalidEEHeader_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 InvalidEESection_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 ThermalOverload 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 BridgeBFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 218089719 BridgeBVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 218089719 BridgeAFault_status 0 "Normal" 1 "FLT_A" 2 "N/A" 3 "FLT_C" 4 "OverVoltage" 5 "FLT_B" 6 "Overcurrent" 7 "5V"; VAL_ 218089719 BridgeAVoltageOk_status 0 "Normal" 1 "Fault Active" 2 "Error" 3 "N/A"; VAL_ 486517239 StatusNVParam_MUX 0 "ActParam0" 1 "ActLVM_ClearingTimes1" 2 "ActLVM_ClearingTimes2" 3 "ActLFM_Limits" 4 "ActLFM_ClearingTimes" 5 "StatusJ1939_Interface" 6 "StatusFault_Config" 7 "StatusContactorDelays1" 8 "StatusContactorDelays2" 9 "StatusContactorDelays3"; VAL_ 486517239 StatusThermalOverload 0 "Warning" 1 "Fault" 2 "Error" 3 "N/A"; VAL_ 486517239 StatusBaudrate 0 "125K" 1 "250K" 2 "500K" 3 "1M"; canmatrix-0.9.5/test/reference/from_xlsx/test.dbf000066400000000000000000000704021416730473300221200ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [1.7.2] [NUMBER_OF_MESSAGES] 25 [START_MSG] CommandModeControlAPU2,16751425,9,11,1,S,Vector__XXX [START_SIGNALS] Enable_command,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,9,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandModeControl,16755521,9,11,1,S,Vector__XXX [START_SIGNALS] Enable_command,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClear_command,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MasterFollowerMode_command,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Master",0 [VALUE_DESCRIPTION] "Follower",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX1_command,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayMX2_command,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayK1_Precharge_command,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ForceRelayRelayK2_DCRun_comand,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Force On",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvertHwEnable_command,2,8,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No invert",0 [VALUE_DESCRIPTION] "Invert",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableUPSMode_command,2,8,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_command,2,8,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_command,2,9,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] CommandPowerAPU2,218078273,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_command,32,5,1,U,90000.0,-90000.0,0,-90000.0,1,W,, [START_SIGNALS] ReactivePower_command,32,9,1,U,90000.0,-90000.0,0,-90000.0,1,VA,, [END_MSG] [START_MSG] CommandVFAPU2,218078785,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_command,16,3,1,U,5000.0,100.0,0,10.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,5,1,U,650.0,450.0,0,45.0,0.1,Hz,, [END_MSG] [START_MSG] CommandSetNVParam,218081857,9,23,1,S,Vector__XXX [START_SIGNALS] CommandSetNVParam_MUX,16,3,1,U,65535.0,0.0,0,0.0,1,,M, [VALUE_DESCRIPTION] "Param0",0 [VALUE_DESCRIPTION] "LVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "LVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "LFM_Limits",3 [VALUE_DESCRIPTION] "LFM_ClearingTimes",4 [VALUE_DESCRIPTION] "J1939_Interface",5 [VALUE_DESCRIPTION] "Fault_Config",6 [VALUE_DESCRIPTION] "ContactorDelays1",7 [VALUE_DESCRIPTION] "ContactorDelays2",8 [VALUE_DESCRIPTION] "ContactorDelays3",9 [START_SIGNALS] ThermalOverload,2,3,5,U,3.0,0.0,0,0.0,1,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Dummy,16,5,1,U,65535.0,0.0,0,0,1,,m0, [START_SIGNALS] FreqHi,16,5,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,5,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] K2Open,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] MX1Open,16,5,1,U,5000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] MX2Close,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] NodeID,8,4,1,U,247.0,0.0,0,0.0,1,,m5, [START_SIGNALS] VOver120,16,5,1,U,30000.0,1.0,0,1.0,1,,m2, [START_SIGNALS] VUnder50pct,16,5,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] SA_Mask,8,5,1,U,255.0,0.0,0,0,1,,m5, [START_SIGNALS] Baudrate,4,6,5,U,15.0,0.0,0,0.0,1,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] FreqLo,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m4, [START_SIGNALS] K1Open,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] K2Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] MX1Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] V50to88pct,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] FreqHi,16,9,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] FreqVeryLo,16,9,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] K1Close,16,9,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] MX2Open,16,9,1,U,65535.0,0.0,0,0,1,ms,m7, [START_SIGNALS] V110to120pct,16,9,1,U,30000.0,1.0,0,1.0,1,ms,m1, [END_MSG] [START_MSG] CommandPower,218082369,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_command,32,5,1,U,90000.0,-90000.0,0,-90000.0,1,W,, [START_SIGNALS] ReactivePower_command,32,9,1,U,90000.0,-90000.0,0,-90000.0,1,VA,, [END_MSG] [START_MSG] CommandVF,218082881,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_command,16,3,1,U,5000.0,100.0,0,10.0,0.1,Vrms,, [START_SIGNALS] Frequency_command,16,5,1,U,650.0,450.0,0,45.0,0.1,Hz,, [END_MSG] [START_MSG] CommandFactoryControl,218083137,9,3,1,S,Vector__XXX [START_SIGNALS] WriteSerialNumber,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FactoryAccess,16,5,1,U,65535.0,0.0,0,0,1,,, [START_SIGNALS] SerialNumber,32,9,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] StatusACParameters,218088183,8,3,1,S,Vector__XXX [START_SIGNALS] VoltageAC_measured,16,3,1,U,655350.0,0.0,0,0,0.1,V,, [START_SIGNALS] CurrentAC_measured,16,5,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] Frequency_measured,16,7,1,U,655350.0,0.0,0,0,0.1,Hz,, [END_MSG] [START_MSG] StatusBits,218088439,8,20,1,S,Vector__XXX [START_SIGNALS] State_status,4,1,1,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Power On Reset",0 [VALUE_DESCRIPTION] "Ready",1 [VALUE_DESCRIPTION] "Following",2 [VALUE_DESCRIPTION] "Fault",3 [VALUE_DESCRIPTION] "Forming",4 [VALUE_DESCRIPTION] "N/A",5 [VALUE_DESCRIPTION] "N/A",6 [VALUE_DESCRIPTION] "N/A",7 [VALUE_DESCRIPTION] "N/A",8 [VALUE_DESCRIPTION] "N/A",9 [VALUE_DESCRIPTION] "N/A",10 [VALUE_DESCRIPTION] "N/A",11 [VALUE_DESCRIPTION] "N/A",12 [VALUE_DESCRIPTION] "N/A",13 [VALUE_DESCRIPTION] "N/A",14 [VALUE_DESCRIPTION] "N/A",15 [START_SIGNALS] Enable_echo,2,1,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] FaultClr_echo,2,2,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Clear Faults",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] HardwareEnable_status,2,2,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Not Active",0 [VALUE_DESCRIPTION] "Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailAC_status,2,2,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerAvailDC_status,2,2,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "None",0 [VALUE_DESCRIPTION] "Available",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PowerCircuitEnabled_status,2,3,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disabled",0 [VALUE_DESCRIPTION] "Enabled",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX1Permissive_status,2,3,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MX2Permissive_status,2,3,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K1PrechargePermissive_status,2,3,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] K2DCRunPermissive_status,2,4,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Open",0 [VALUE_DESCRIPTION] "Closed",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidModeControl_status,2,4,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidPowerCMD_status,2,4,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] MessageValidVF_status,2,4,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Invalid",0 [VALUE_DESCRIPTION] "Valid",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] CANbus_status,2,5,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Warning",1 [VALUE_DESCRIPTION] "ErrorPassive",3 [VALUE_DESCRIPTION] "N/A",4 [START_SIGNALS] EnableUPSMode_echo,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Disable",0 [VALUE_DESCRIPTION] "Enable",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EnableSplitPhase_echo,2,5,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal - Three Phase Mode",0 [VALUE_DESCRIPTION] "Enable Split Phase Mode",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_status,2,5,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LineVoltageDetected_status,2,6,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "No_Voltage",0 [VALUE_DESCRIPTION] "Voltage_Detected",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] PhaseRotation_echo,2,6,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Negative",0 [VALUE_DESCRIPTION] "Positive",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] StatusFaults,218089719,8,19,1,S,Vector__XXX [START_SIGNALS] GeneralFault_status,2,1,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentAC_status,2,1,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossOfAC_status,2,1,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvercurrentDC_status,2,2,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvervoltageDC_status,2,2,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] UndervoltageDC_status,2,2,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempInternal_status,2,2,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] OvertempPowerDevice_status,2,3,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ControlHardwareFail_status,4,3,1,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] LossValidControlMessage_status,4,4,5,U,15.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] EStopShutdown_status,2,4,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] IllegalTransition_status,2,4,3,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEEHeader_status,2,4,1,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] InvalidEESection_status,2,5,7,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] ThermalOverload,2,5,5,U,3.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeBFault_status,3,6,3,U,7.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeBVoltageOk_status,1,6,4,U,1.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] BridgeAFault_status,3,8,3,U,7.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "FLT_A",1 [VALUE_DESCRIPTION] "N/A",2 [VALUE_DESCRIPTION] "FLT_C",3 [VALUE_DESCRIPTION] "OverVoltage",4 [VALUE_DESCRIPTION] "FLT_B",5 [VALUE_DESCRIPTION] "Overcurrent",6 [VALUE_DESCRIPTION] "5V",7 [START_SIGNALS] BridgeAVoltageOk_status,1,8,4,U,1.0,0.0,0,0.0,1,,, [VALUE_DESCRIPTION] "Normal",0 [VALUE_DESCRIPTION] "Fault Active",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [END_MSG] [START_MSG] MasterMeasuredPower,218090230,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_measured,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_measured,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusMeasuredPower,218090231,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_measured,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_measured,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusCommandedPower,419415287,9,2,1,S,Vector__XXX [START_SIGNALS] RealPower_echo,32,5,1,U,4294967295.0,0.0,0,0,1,W,, [START_SIGNALS] ReactivePower_echo,32,9,1,U,4294967295.0,0.0,0,0,1,VA,, [END_MSG] [START_MSG] StatusCommandVF,419416567,8,2,1,S,Vector__XXX [START_SIGNALS] Voltage_echo,16,3,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] Frequency_echo,16,5,1,U,655350.0,0.0,0,0,0.1,Hz,, [END_MSG] [START_MSG] StatusTemps,419417079,8,3,1,S,Vector__XXX [START_SIGNALS] TempInlet_measured,16,3,1,U,655350.0,0.0,0,0,0.1,C,, [START_SIGNALS] TempInternal_measured,16,5,1,U,655350.0,0.0,0,0,0.1,C,, [START_SIGNALS] ConverterLosses,16,7,1,U,65535.0,0.0,0,0,1,W,, [END_MSG] [START_MSG] StatusLineCurrents,419418359,8,3,1,S,Vector__XXX [START_SIGNALS] L1Current_measured,16,3,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] L2Current_measured,16,5,1,U,65535.0,0.0,0,0,1,A,, [START_SIGNALS] L3Current_measured,16,7,1,U,65535.0,0.0,0,0,1,A,, [END_MSG] [START_MSG] StatusLineVoltages,419418615,8,3,1,S,Vector__XXX [START_SIGNALS] L1Voltage_measured,16,3,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] L2Voltage_measured,16,5,1,U,655350.0,0.0,0,0,0.1,Vrms,, [START_SIGNALS] L3Voltage_measured,16,7,1,U,655350.0,0.0,0,0,0.1,Vrms,, [END_MSG] [START_MSG] StatusNVParam,486517239,9,23,1,S,Vector__XXX [START_SIGNALS] StatusNVParam_MUX,16,3,1,U,65535.0,0.0,0,0.0,1,,M, [VALUE_DESCRIPTION] "ActParam0",0 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes1",1 [VALUE_DESCRIPTION] "ActLVM_ClearingTimes2",2 [VALUE_DESCRIPTION] "ActLFM_Limits",3 [VALUE_DESCRIPTION] "ActLFM_ClearingTimes",4 [VALUE_DESCRIPTION] "StatusJ1939_Interface",5 [VALUE_DESCRIPTION] "StatusFault_Config",6 [VALUE_DESCRIPTION] "StatusContactorDelays1",7 [VALUE_DESCRIPTION] "StatusContactorDelays2",8 [VALUE_DESCRIPTION] "StatusContactorDelays3",9 [START_SIGNALS] StatusThermalOverload,2,3,5,U,3.0,0.0,0,0.0,1,,m6, [VALUE_DESCRIPTION] "Warning",0 [VALUE_DESCRIPTION] "Fault",1 [VALUE_DESCRIPTION] "Error",2 [VALUE_DESCRIPTION] "N/A",3 [START_SIGNALS] Dummy,16,5,1,U,10.0,5.0,0,5.0,1,,m0, [START_SIGNALS] FreqHi,16,5,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] FreqVeryLo,16,5,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] StatusK2Open,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] StatusMX1Open,16,5,1,U,5000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] StatusMX2Close,16,5,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusNodeID,8,4,1,U,247.0,0.0,0,0.0,1,,m5, [START_SIGNALS] VOver120,16,5,1,U,30000.0,1.0,0,1.0,1,,m2, [START_SIGNALS] VUnder50pct,16,5,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] StatusSA_Mask,8,5,1,U,255.0,0.0,0,0,1,,m5, [START_SIGNALS] FreqLo,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m4, [START_SIGNALS] StatusBaudrate,4,6,5,U,15.0,0.0,0,0.0,1,,m5, [VALUE_DESCRIPTION] "125K",0 [VALUE_DESCRIPTION] "250K",1 [VALUE_DESCRIPTION] "500K",2 [VALUE_DESCRIPTION] "1M",3 [START_SIGNALS] StatusK1Open,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusK2Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m9, [START_SIGNALS] StatusMX1Close,16,7,1,U,2000.0,0.0,0,0.0,1,ms,m7, [START_SIGNALS] V50to88pct,16,7,1,U,30000.0,1.0,0,1.0,1,ms,m1, [START_SIGNALS] FreqHi,16,9,1,U,160.0,160.0,0,160.0,1,ms,m4, [START_SIGNALS] FreqVeryLo,16,9,1,U,700.0,400.0,0,40.0,0.1,Hz,m3, [START_SIGNALS] StatusK1Close,16,9,1,U,2000.0,0.0,0,0.0,1,ms,m8, [START_SIGNALS] StatusMX2Open,16,9,1,U,65535.0,0.0,0,0,1,ms,m7, [START_SIGNALS] V110to120pct,16,9,1,U,30000.0,1.0,0,1.0,1,ms,m1, [END_MSG] [START_MSG] softwareRev,486523383,9,3,1,S,Vector__XXX [START_SIGNALS] ControlSwRev,16,3,1,U,65535.0,0.0,0,0,1.0,,, [START_SIGNALS] InterfaceRev,16,5,1,U,65535.0,0.0,0,0,1.0,,, [START_SIGNALS] BuildTime,32,9,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] StatusControlVoltage,486524407,9,4,1,S,Vector__XXX [START_SIGNALS] v5p0_Supply,16,3,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v3p3_Supply,16,5,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v24_Supply,16,7,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] v15_Supply,16,9,1,U,6553500.0,0.0,0,0,0.01,V,, [END_MSG] [START_MSG] StatusControlVolts2,486524663,9,3,1,S,Vector__XXX [START_SIGNALS] n15V_Supply,16,3,1,U,6553500.0,0.0,0,0,0.01,V,, [START_SIGNALS] DiodeTemperature,16,7,1,U,65535.0,0.0,0,0,1,C,, [START_SIGNALS] IGBTTemperature,16,9,1,U,65535.0,0.0,0,0,1,C,, [END_MSG] [START_MSG] StatusDCParameters,486524919,8,3,1,S,Vector__XXX [START_SIGNALS] VoltageDCInput_measured,16,3,1,U,65535.0,0.0,0,0,1,V,, [START_SIGNALS] VoltageDCBus,16,5,1,U,65535.0,0.0,0,0,1,V,, [START_SIGNALS] CurrentDC_measured,16,7,1,U,65535.0,0.0,0,0,1,A,, [END_MSG] [START_MSG] serialNumber,486526199,8,1,1,S,Vector__XXX [START_SIGNALS] SerialNumber,32,5,1,U,4294967295.0,0.0,0,0,1,,, [END_MSG] [START_MSG] softwareRevHash,486526455,8,1,1,S,Vector__XXX [START_SIGNALS] Hash,28,5,5,U,268435455.0,0.0,0,0,1,,, [END_MSG] [NODE] [START_DESC] [START_DESC_MSG] [END_DESC_MSG] [START_DESC_NODE] [END_DESC_NODE] [START_DESC_SIG] 16751425 S Enable_command ""; 16751425 S FaultClear_command ""; 16751425 S MasterFollowerMode_command ""; 16751425 S ForceRelayMX1_command ""; 16751425 S ForceRelayMX2_command ""; 16751425 S ForceRelayK1_Precharge_command ""; 16751425 S ForceRelayRelayK2_DCRun_comand ""; 16751425 S InvertHwEnable_command ""; 16751425 S EnableUPSMode_command ""; 16751425 S EnableSplitPhase_command ""; 16751425 S PhaseRotation_command ""; 16755521 S Enable_command ""; 16755521 S FaultClear_command ""; 16755521 S MasterFollowerMode_command ""; 16755521 S ForceRelayMX1_command ""; 16755521 S ForceRelayMX2_command ""; 16755521 S ForceRelayK1_Precharge_command ""; 16755521 S ForceRelayRelayK2_DCRun_comand ""; 16755521 S InvertHwEnable_command ""; 16755521 S EnableUPSMode_command ""; 16755521 S EnableSplitPhase_command ""; 16755521 S PhaseRotation_command ""; 218078273 S RealPower_command ""; 218078273 S ReactivePower_command ""; 218078785 S Voltage_command ""; 218078785 S Frequency_command ""; 218081857 S CommandSetNVParam_MUX ""; 218081857 S ThermalOverload ""; 218081857 S Dummy ""; 218081857 S FreqHi ""; 218081857 S FreqVeryLo ""; 218081857 S K2Open ""; 218081857 S MX1Open ""; 218081857 S MX2Close ""; 218081857 S NodeID ""; 218081857 S VOver120 ""; 218081857 S VUnder50pct ""; 218081857 S SA_Mask ""; 218081857 S Baudrate ""; 218081857 S FreqLo ""; 218081857 S K1Open ""; 218081857 S K2Close ""; 218081857 S MX1Close ""; 218081857 S V50to88pct ""; 218081857 S FreqHi ""; 218081857 S FreqVeryLo ""; 218081857 S K1Close ""; 218081857 S MX2Open ""; 218081857 S V110to120pct ""; 218082369 S RealPower_command ""; 218082369 S ReactivePower_command ""; 218082881 S Voltage_command ""; 218082881 S Frequency_command ""; 218083137 S WriteSerialNumber ""; 218083137 S FactoryAccess ""; 218083137 S SerialNumber ""; 218088183 S VoltageAC_measured ""; 218088183 S CurrentAC_measured ""; 218088183 S Frequency_measured ""; 218088439 S State_status ""; 218088439 S Enable_echo ""; 218088439 S FaultClr_echo ""; 218088439 S HardwareEnable_status ""; 218088439 S PowerAvailAC_status ""; 218088439 S PowerAvailDC_status ""; 218088439 S PowerCircuitEnabled_status ""; 218088439 S MX1Permissive_status ""; 218088439 S MX2Permissive_status ""; 218088439 S K1PrechargePermissive_status ""; 218088439 S K2DCRunPermissive_status ""; 218088439 S MessageValidModeControl_status ""; 218088439 S MessageValidPowerCMD_status ""; 218088439 S MessageValidVF_status ""; 218088439 S CANbus_status ""; 218088439 S EnableUPSMode_echo ""; 218088439 S EnableSplitPhase_echo ""; 218088439 S PhaseRotation_status ""; 218088439 S LineVoltageDetected_status ""; 218088439 S PhaseRotation_echo ""; 218089719 S GeneralFault_status ""; 218089719 S OvercurrentAC_status ""; 218089719 S LossOfAC_status ""; 218089719 S OvercurrentDC_status ""; 218089719 S OvervoltageDC_status ""; 218089719 S UndervoltageDC_status ""; 218089719 S OvertempInternal_status ""; 218089719 S OvertempPowerDevice_status ""; 218089719 S ControlHardwareFail_status ""; 218089719 S LossValidControlMessage_status ""; 218089719 S EStopShutdown_status ""; 218089719 S IllegalTransition_status ""; 218089719 S InvalidEEHeader_status ""; 218089719 S InvalidEESection_status ""; 218089719 S ThermalOverload ""; 218089719 S BridgeBFault_status ""; 218089719 S BridgeBVoltageOk_status ""; 218089719 S BridgeAFault_status ""; 218089719 S BridgeAVoltageOk_status ""; 218090230 S RealPower_measured ""; 218090230 S ReactivePower_measured ""; 218090231 S RealPower_measured ""; 218090231 S ReactivePower_measured ""; 419415287 S RealPower_echo ""; 419415287 S ReactivePower_echo ""; 419416567 S Voltage_echo ""; 419416567 S Frequency_echo ""; 419417079 S TempInlet_measured ""; 419417079 S TempInternal_measured ""; 419417079 S ConverterLosses ""; 419418359 S L1Current_measured ""; 419418359 S L2Current_measured ""; 419418359 S L3Current_measured ""; 419418615 S L1Voltage_measured ""; 419418615 S L2Voltage_measured ""; 419418615 S L3Voltage_measured ""; 486517239 S StatusNVParam_MUX ""; 486517239 S StatusThermalOverload ""; 486517239 S Dummy ""; 486517239 S FreqHi ""; 486517239 S FreqVeryLo ""; 486517239 S StatusK2Open ""; 486517239 S StatusMX1Open ""; 486517239 S StatusMX2Close ""; 486517239 S StatusNodeID ""; 486517239 S VOver120 ""; 486517239 S VUnder50pct ""; 486517239 S StatusSA_Mask ""; 486517239 S FreqLo ""; 486517239 S StatusBaudrate ""; 486517239 S StatusK1Open ""; 486517239 S StatusK2Close ""; 486517239 S StatusMX1Close ""; 486517239 S V50to88pct ""; 486517239 S FreqHi ""; 486517239 S FreqVeryLo ""; 486517239 S StatusK1Close ""; 486517239 S StatusMX2Open ""; 486517239 S V110to120pct ""; 486523383 S ControlSwRev ""; 486523383 S InterfaceRev ""; 486523383 S BuildTime ""; 486524407 S v5p0_Supply ""; 486524407 S v3p3_Supply ""; 486524407 S v24_Supply ""; 486524407 S v15_Supply ""; 486524663 S n15V_Supply ""; 486524663 S DiodeTemperature ""; 486524663 S IGBTTemperature ""; 486524919 S VoltageDCInput_measured ""; 486524919 S VoltageDCBus ""; 486524919 S CurrentDC_measured ""; 486526199 S SerialNumber ""; 486526455 S Hash ""; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,65535,0 "GenMsgCycleTimeActive",INT,0,65535,0 "GenMsgDelayTime",INT,0,65535,0 "GenMsgNrOfRepetitions",INT,0,65535,0 "GenMsgSendType",ENU,0 [END_PARAM_MSG] [START_PARAM_SIG] "GenSigSNA",STRING,0 [END_PARAM_SIG] [START_PARAM_VAL] [START_PARAM_NODE_VAL] [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 16751425,S,"GenMsgCycleTime","0" 16751425,S,"GenMsgSendType","" 16755521,S,"GenMsgCycleTime","0" 16755521,S,"GenMsgSendType","" 218078273,S,"GenMsgCycleTime","0" 218078273,S,"GenMsgSendType","" 218078785,S,"GenMsgCycleTime","0" 218078785,S,"GenMsgSendType","" 218081857,S,"GenMsgCycleTime","0" 218081857,S,"GenMsgSendType","" 218082369,S,"GenMsgCycleTime","0" 218082369,S,"GenMsgSendType","" 218082881,S,"GenMsgCycleTime","0" 218082881,S,"GenMsgSendType","" 218083137,S,"GenMsgCycleTime","0" 218083137,S,"GenMsgSendType","" 218088183,S,"GenMsgCycleTime","100" 218088183,S,"GenMsgSendType","" 218088439,S,"GenMsgCycleTime","100" 218088439,S,"GenMsgSendType","" 218089719,S,"GenMsgCycleTime","100" 218089719,S,"GenMsgSendType","" 218090230,S,"GenMsgCycleTime","0" 218090230,S,"GenMsgSendType","" 218090231,S,"GenMsgCycleTime","100" 218090231,S,"GenMsgSendType","" 419415287,S,"GenMsgCycleTime","100" 419415287,S,"GenMsgSendType","" 419416567,S,"GenMsgCycleTime","100" 419416567,S,"GenMsgSendType","" 419417079,S,"GenMsgCycleTime","100" 419417079,S,"GenMsgSendType","" 419418359,S,"GenMsgCycleTime","100" 419418359,S,"GenMsgSendType","" 419418615,S,"GenMsgCycleTime","100" 419418615,S,"GenMsgSendType","" 486517239,S,"GenMsgCycleTime","0" 486517239,S,"GenMsgSendType","" 486523383,S,"GenMsgCycleTime","0" 486523383,S,"GenMsgSendType","" 486524407,S,"GenMsgCycleTime","100" 486524407,S,"GenMsgSendType","" 486524663,S,"GenMsgCycleTime","100" 486524663,S,"GenMsgSendType","" 486524919,S,"GenMsgCycleTime","100" 486524919,S,"GenMsgSendType","" 486526199,S,"GenMsgCycleTime","0" 486526199,S,"GenMsgSendType","" 486526455,S,"GenMsgCycleTime","0" 486526455,S,"GenMsgSendType","" [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] canmatrix-0.9.5/test/reference/from_xlsx/test.json000066400000000000000000001611111416730473300223340ustar00rootroot00000000000000{ "messages": [ { "id": 16751425, "is_extended_frame": false, "name": "CommandModeControlAPU2", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 61 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 57 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 71 } ] }, { "id": 16755521, "is_extended_frame": false, "name": "CommandModeControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_command", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClear_command", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MasterFollowerMode_command", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX1_command", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayMX2_command", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayK1_Precharge_command", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ForceRelayRelayK2_DCRun_comand", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvertHwEnable_command", "offset": 0.0, "start_bit": 61 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_command", "offset": 0.0, "start_bit": 59 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_command", "offset": 0.0, "start_bit": 57 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_command", "offset": 0.0, "start_bit": 71 } ] }, { "id": 218078273, "is_extended_frame": false, "name": "CommandPowerAPU2", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_command", "offset": -90000.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_command", "offset": -90000.0, "start_bit": 65 } ] }, { "id": 218078785, "is_extended_frame": false, "name": "CommandVFAPU2", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 10.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 45.0, "start_bit": 33 } ] }, { "id": 218081857, "is_extended_frame": false, "name": "CommandSetNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CommandSetNVParam_MUX", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 21 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 40.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 160.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Close", "offset": 0.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "NodeID", "offset": 0.0, "start_bit": 25 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 1.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 1.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SA_Mask", "offset": 0.0, "start_bit": 33 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Baudrate", "offset": 0.0, "start_bit": 45 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Open", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 160.0, "start_bit": 65 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 40.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1Close", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Open", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 1.0, "start_bit": 65 } ] }, { "id": 218082369, "is_extended_frame": false, "name": "CommandPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_command", "offset": -90000.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_command", "offset": -90000.0, "start_bit": 65 } ] }, { "id": 218082881, "is_extended_frame": false, "name": "CommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_command", "offset": 10.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_command", "offset": 45.0, "start_bit": 33 } ] }, { "id": 218083137, "is_extended_frame": false, "name": "CommandFactoryControl", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "WriteSerialNumber", "offset": 0.0, "start_bit": 5 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FactoryAccess", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 65 } ] }, { "id": 218088183, "is_extended_frame": false, "name": "StatusACParameters", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageAC_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CurrentAC_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 218088439, "is_extended_frame": false, "name": "StatusBits", "signals": [ { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "State_status", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Enable_echo", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FaultClr_echo", "offset": 0.0, "start_bit": 15 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "HardwareEnable_status", "offset": 0.0, "start_bit": 13 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailAC_status", "offset": 0.0, "start_bit": 11 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerAvailDC_status", "offset": 0.0, "start_bit": 9 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PowerCircuitEnabled_status", "offset": 0.0, "start_bit": 23 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX1Permissive_status", "offset": 0.0, "start_bit": 21 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MX2Permissive_status", "offset": 0.0, "start_bit": 19 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K1PrechargePermissive_status", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "K2DCRunPermissive_status", "offset": 0.0, "start_bit": 31 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidModeControl_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidPowerCMD_status", "offset": 0.0, "start_bit": 27 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "MessageValidVF_status", "offset": 0.0, "start_bit": 25 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CANbus_status", "offset": 0.0, "start_bit": 39 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableUPSMode_echo", "offset": 0.0, "start_bit": 37 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EnableSplitPhase_echo", "offset": 0.0, "start_bit": 35 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_status", "offset": 0.0, "start_bit": 33 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LineVoltageDetected_status", "offset": 0.0, "start_bit": 47 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "PhaseRotation_echo", "offset": 0.0, "start_bit": 45 } ] }, { "id": 218089719, "is_extended_frame": false, "name": "StatusFaults", "signals": [ { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "GeneralFault_status", "offset": 0.0, "start_bit": 5 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentAC_status", "offset": 0.0, "start_bit": 3 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossOfAC_status", "offset": 0.0, "start_bit": 1 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvercurrentDC_status", "offset": 0.0, "start_bit": 15 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvervoltageDC_status", "offset": 0.0, "start_bit": 13 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "UndervoltageDC_status", "offset": 0.0, "start_bit": 11 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempInternal_status", "offset": 0.0, "start_bit": 9 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "OvertempPowerDevice_status", "offset": 0.0, "start_bit": 23 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlHardwareFail_status", "offset": 0.0, "start_bit": 17 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "LossValidControlMessage_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "EStopShutdown_status", "offset": 0.0, "start_bit": 29 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IllegalTransition_status", "offset": 0.0, "start_bit": 27 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEEHeader_status", "offset": 0.0, "start_bit": 25 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InvalidEESection_status", "offset": 0.0, "start_bit": 39 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ThermalOverload", "offset": 0.0, "start_bit": 37 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBFault_status", "offset": 0.0, "start_bit": 43 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeBVoltageOk_status", "offset": 0.0, "start_bit": 44 }, { "bit_length": 3, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAFault_status", "offset": 0.0, "start_bit": 59 }, { "bit_length": 1, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BridgeAVoltageOk_status", "offset": 0.0, "start_bit": 60 } ] }, { "id": 218090230, "is_extended_frame": false, "name": "MasterMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 65 } ] }, { "id": 218090231, "is_extended_frame": false, "name": "StatusMeasuredPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_measured", "offset": 0.0, "start_bit": 65 } ] }, { "id": 419415287, "is_extended_frame": false, "name": "StatusCommandedPower", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "RealPower_echo", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ReactivePower_echo", "offset": 0.0, "start_bit": 65 } ] }, { "id": 419416567, "is_extended_frame": false, "name": "StatusCommandVF", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Voltage_echo", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Frequency_echo", "offset": 0.0, "start_bit": 33 } ] }, { "id": 419417079, "is_extended_frame": false, "name": "StatusTemps", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "TempInlet_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "TempInternal_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ConverterLosses", "offset": 0.0, "start_bit": 49 } ] }, { "id": 419418359, "is_extended_frame": false, "name": "StatusLineCurrents", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Current_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Current_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Current_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 419418615, "is_extended_frame": false, "name": "StatusLineVoltages", "signals": [ { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L1Voltage_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L2Voltage_measured", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "L3Voltage_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 486517239, "is_extended_frame": false, "name": "StatusNVParam", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusNVParam_MUX", "offset": 0.0, "start_bit": 17 }, { "bit_length": 2, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusThermalOverload", "offset": 0.0, "start_bit": 21 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Dummy", "offset": 5.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 40.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 160.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Open", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Close", "offset": 0.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusNodeID", "offset": 0.0, "start_bit": 25 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VOver120", "offset": 1.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VUnder50pct", "offset": 1.0, "start_bit": 33 }, { "bit_length": 8, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusSA_Mask", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqLo", "offset": 1.0, "start_bit": 49 }, { "bit_length": 4, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusBaudrate", "offset": 0.0, "start_bit": 45 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Open", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK2Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX1Close", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V50to88pct", "offset": 1.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqHi", "offset": 160.0, "start_bit": 65 }, { "bit_length": 16, "factor": 0.1, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "FreqVeryLo", "offset": 40.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusK1Close", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "StatusMX2Open", "offset": 0.0, "start_bit": 65 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "V110to120pct", "offset": 1.0, "start_bit": 65 } ] }, { "id": 486523383, "is_extended_frame": false, "name": "softwareRev", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "ControlSwRev", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "InterfaceRev", "offset": 0.0, "start_bit": 33 }, { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "BuildTime", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524407, "is_extended_frame": false, "name": "StatusControlVoltage", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v5p0_Supply", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v3p3_Supply", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v24_Supply", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "v15_Supply", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524663, "is_extended_frame": false, "name": "StatusControlVolts2", "signals": [ { "bit_length": 16, "factor": 0.01, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "n15V_Supply", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "DiodeTemperature", "offset": 0.0, "start_bit": 49 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "IGBTTemperature", "offset": 0.0, "start_bit": 65 } ] }, { "id": 486524919, "is_extended_frame": false, "name": "StatusDCParameters", "signals": [ { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageDCInput_measured", "offset": 0.0, "start_bit": 17 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "VoltageDCBus", "offset": 0.0, "start_bit": 33 }, { "bit_length": 16, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "CurrentDC_measured", "offset": 0.0, "start_bit": 49 } ] }, { "id": 486526199, "is_extended_frame": false, "name": "serialNumber", "signals": [ { "bit_length": 32, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "SerialNumber", "offset": 0.0, "start_bit": 33 } ] }, { "id": 486526455, "is_extended_frame": false, "name": "softwareRevHash", "signals": [ { "bit_length": 28, "factor": 1.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "Hash", "offset": 0.0, "start_bit": 37 } ] } ] }canmatrix-0.9.5/test/reference/from_xlsx/test.kcd000066400000000000000000001262371416730473300221360ustar00rootroot00000000000000 some text canmatrix-0.9.5/test/reference/from_xlsx/test.sym000066400000000000000000000432561416730473300222040ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="canmatrix-Export" {ENUMS} enum Baudrate(0="125K", 1="250K", 2="500K", 3="1M") enum BridgeAFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeAVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum BridgeBFault_status(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum BridgeBVoltageOk_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum CANbus_status(0="Normal", 1="Warning", 3="ErrorPassive", 4="N/A") enum ControlHardwareFail_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EStopShutdown_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum EnableSplitPhase_command(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableSplitPhase_echo(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum EnableUPSMode_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum EnableUPSMode_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_command(0="Disable", 1="Enable", 2="Error", 3="N/A") enum Enable_echo(0="Disable", 1="Enable", 2="Error", 3="N/A") enum FaultClear_command(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum FaultClr_echo(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum ForceRelayK1_Precharge_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX1_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayMX2_command(0="Normal", 1="Force On", 2="Error", 3="N/A") enum ForceRelayRelayK2_DCRun_comand(0="Normal", 1="Force On", 2="Error", 3="N/A") enum GeneralFault_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum HardwareEnable_status(0="Not Active", 1="Active", 2="Error", 3="N/A") enum IllegalTransition_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEEHeader_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvalidEESection_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum InvertHwEnable_command(0="No invert", 1="Invert", 2="Error", 3="N/A") enum K1PrechargePermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum K2DCRunPermissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum LineVoltageDetected_status(0="No_Voltage", 1="Voltage_Detected", 2="Error", 3="N/A") enum LossOfAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum LossValidControlMessage_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum MX1Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MX2Permissive_status(0="Open", 1="Closed", 2="Error", 3="N/A") enum MasterFollowerMode_command(0="Master", 1="Follower", 2="Error", 3="N/A") enum MessageValidModeControl_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidPowerCMD_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum MessageValidVF_status(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum OvercurrentAC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvercurrentDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempInternal_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvertempPowerDevice_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum OvervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum PhaseRotation_command(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_echo(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PhaseRotation_status(0="Negative", 1="Positive", 2="Error", 3="N/A") enum PowerAvailAC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerAvailDC_status(0="None", 1="Available", 2="Error", 3="N/A") enum PowerCircuitEnabled_status(0="Disabled", 1="Enabled", 2="Error", 3="N/A") enum State_status(0="Power On Reset", 1="Ready", 2="Following", 3="Fault", 4="Forming", 5="N/A", 6="N/A", 7="N/A", 8="N/A", 9="N/A", 10="N/A", 11="N/A", 12="N/A", 13="N/A", 14="N/A", 15="N/A") enum StatusBaudrate(0="125K", 1="250K", 2="500K", 3="1M") enum StatusThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum ThermalOverload(0="Warning", 1="Fault", 2="Error", 3="N/A") enum UndervoltageDC_status(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum WriteSerialNumber(0="Disable", 1="Enable", 2="Error", 3="N/A") {SENDRECEIVE} [CommandModeControlAPU2] ID=FF9B41h Type=Standard DLC=9 CycleTime=0 Var=Enable_command unsigned 1,2 -m /min:0 /max:3 /e:Enable_command Var=FaultClear_command unsigned 3,2 -m /min:0 /max:3 /e:FaultClear_command Var=MasterFollowerMode_command unsigned 17,2 -m /min:0 /max:3 /e:MasterFollowerMode_command Var=ForceRelayMX1_command unsigned 33,2 -m /min:0 /max:3 /e:ForceRelayMX1_command Var=ForceRelayMX2_command unsigned 35,2 -m /min:0 /max:3 /e:ForceRelayMX2_command Var=ForceRelayK1_Precharge_command unsigned 37,2 -m /min:0 /max:3 /e:ForceRelayK1_Precharge_command Var=ForceRelayRelayK2_DCRun_comand unsigned 39,2 -m /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand Var=InvertHwEnable_command unsigned 57,2 -m /min:0 /max:3 /e:InvertHwEnable_command Var=EnableUPSMode_command unsigned 59,2 -m /min:0 /max:3 /e:EnableUPSMode_command Var=EnableSplitPhase_command unsigned 61,2 -m /min:0 /max:3 /e:EnableSplitPhase_command Var=PhaseRotation_command unsigned 63,2 -m /min:0 /max:3 /e:PhaseRotation_command [CommandModeControl] ID=FFAB41h Type=Standard DLC=9 CycleTime=0 Var=Enable_command unsigned 1,2 -m /min:0 /max:3 /e:Enable_command Var=FaultClear_command unsigned 3,2 -m /min:0 /max:3 /e:FaultClear_command Var=MasterFollowerMode_command unsigned 17,2 -m /min:0 /max:3 /e:MasterFollowerMode_command Var=ForceRelayMX1_command unsigned 33,2 -m /min:0 /max:3 /e:ForceRelayMX1_command Var=ForceRelayMX2_command unsigned 35,2 -m /min:0 /max:3 /e:ForceRelayMX2_command Var=ForceRelayK1_Precharge_command unsigned 37,2 -m /min:0 /max:3 /e:ForceRelayK1_Precharge_command Var=ForceRelayRelayK2_DCRun_comand unsigned 39,2 -m /min:0 /max:3 /e:ForceRelayRelayK2_DCRun_comand Var=InvertHwEnable_command unsigned 57,2 -m /min:0 /max:3 /e:InvertHwEnable_command Var=EnableUPSMode_command unsigned 59,2 -m /min:0 /max:3 /e:EnableUPSMode_command Var=EnableSplitPhase_command unsigned 61,2 -m /min:0 /max:3 /e:EnableSplitPhase_command Var=PhaseRotation_command unsigned 63,2 -m /min:0 /max:3 /e:PhaseRotation_command [CommandPowerAPU2] ID=CFF9C41h Type=Standard DLC=9 CycleTime=0 Var=RealPower_command unsigned 7,32 -m /u:W /o:-90000 /min:-90000 /max:90000 Var=ReactivePower_command unsigned 39,32 -m /u:VA /o:-90000 /min:-90000 /max:90000 [CommandVFAPU2] ID=CFF9E41h Type=Standard DLC=8 CycleTime=0 Var=Voltage_command unsigned 7,16 -m /u:Vrms /f:0.1 /o:10 /min:10 /max:500 Var=Frequency_command unsigned 23,16 -m /u:Hz /f:0.1 /o:45 /min:45 /max:65 [CommandSetNVParam] ID=CFFAA41h Type=Standard DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX0 7,16 0 -m Var=Dummy unsigned 23,16 -m /min:0 /max:65535 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX1 7,16 1 -m Var=VUnder50pct unsigned 23,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V50to88pct unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V110to120pct unsigned 55,16 -m /u:ms /o:1 /min:1 /max:30000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX2 7,16 2 -m Var=VOver120 unsigned 23,16 -m /o:1 /min:1 /max:30000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX3 7,16 3 -m Var=FreqHi unsigned 23,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 Var=FreqVeryLo unsigned 55,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX4 7,16 4 -m Var=FreqVeryLo unsigned 23,16 -m /u:ms /o:160 /min:160 /max:160 Var=FreqLo unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=FreqHi unsigned 55,16 -m /u:ms /o:160 /min:160 /max:160 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX5 7,16 5 -m Var=NodeID unsigned 23,8 -m /min:0 /max:247 Var=SA_Mask unsigned 31,8 -m /min:0 /max:255 Var=Baudrate unsigned 39,4 -m /min:0 /max:15 /e:Baudrate [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX6 7,16 6 -m Var=ThermalOverload unsigned 17,2 -m /min:0 /max:3 /e:ThermalOverload [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX7 7,16 7 -m Var=MX1Open unsigned 23,16 -m /u:ms /min:0 /max:5000 Var=MX1Close unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=MX2Open unsigned 55,16 -m /u:ms /min:0 /max:65535 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX8 7,16 8 -m Var=MX2Close unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=K1Open unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=K1Close unsigned 55,16 -m /u:ms /min:0 /max:2000 [CommandSetNVParam] DLC=9 CycleTime=0 Mux=CommandSetNVParam_MUX9 7,16 9 -m Var=K2Open unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=K2Close unsigned 39,16 -m /u:ms /min:0 /max:2000 [CommandPower] ID=CFFAC41h Type=Standard DLC=9 CycleTime=0 Var=RealPower_command unsigned 7,32 -m /u:W /o:-90000 /min:-90000 /max:90000 Var=ReactivePower_command unsigned 39,32 -m /u:VA /o:-90000 /min:-90000 /max:90000 [CommandVF] ID=CFFAE41h Type=Standard DLC=8 CycleTime=0 Var=Voltage_command unsigned 7,16 -m /u:Vrms /f:0.1 /o:10 /min:10 /max:500 Var=Frequency_command unsigned 23,16 -m /u:Hz /f:0.1 /o:45 /min:45 /max:65 [CommandFactoryControl] ID=CFFAF41h Type=Standard DLC=9 CycleTime=0 Var=WriteSerialNumber unsigned 1,2 -m /min:0 /max:3 /e:WriteSerialNumber Var=FactoryAccess unsigned 23,16 -m /min:0 /max:65535 Var=SerialNumber unsigned 39,32 -m /min:0 /max:4294967295 [StatusACParameters] ID=CFFC2F7h Type=Standard DLC=8 CycleTime=100 Var=VoltageAC_measured unsigned 7,16 -m /u:V /f:0.1 /min:0 /max:65535 Var=CurrentAC_measured unsigned 23,16 -m /u:A /min:0 /max:65535 Var=Frequency_measured unsigned 39,16 -m /u:Hz /f:0.1 /min:0 /max:65535 [StatusBits] ID=CFFC3F7h Type=Standard DLC=8 CycleTime=100 Var=State_status unsigned 3,4 -m /min:0 /max:15 /e:State_status Var=Enable_echo unsigned 5,2 -m /min:0 /max:3 /e:Enable_echo Var=FaultClr_echo unsigned 7,2 -m /min:0 /max:3 /e:FaultClr_echo Var=HardwareEnable_status unsigned 9,2 -m /min:0 /max:3 /e:HardwareEnable_status Var=PowerAvailAC_status unsigned 11,2 -m /min:0 /max:3 /e:PowerAvailAC_status Var=PowerAvailDC_status unsigned 13,2 -m /min:0 /max:3 /e:PowerAvailDC_status Var=PowerCircuitEnabled_status unsigned 15,2 -m /min:0 /max:3 /e:PowerCircuitEnabled_status Var=MX1Permissive_status unsigned 17,2 -m /min:0 /max:3 /e:MX1Permissive_status Var=MX2Permissive_status unsigned 19,2 -m /min:0 /max:3 /e:MX2Permissive_status Var=K1PrechargePermissive_status unsigned 21,2 -m /min:0 /max:3 /e:K1PrechargePermissive_status Var=K2DCRunPermissive_status unsigned 23,2 -m /min:0 /max:3 /e:K2DCRunPermissive_status Var=MessageValidModeControl_status unsigned 25,2 -m /min:0 /max:3 /e:MessageValidModeControl_status Var=MessageValidPowerCMD_status unsigned 27,2 -m /min:0 /max:3 /e:MessageValidPowerCMD_status Var=MessageValidVF_status unsigned 29,2 -m /min:0 /max:3 /e:MessageValidVF_status Var=CANbus_status unsigned 31,2 -m /min:0 /max:3 /e:CANbus_status Var=EnableUPSMode_echo unsigned 33,2 -m /min:0 /max:3 /e:EnableUPSMode_echo Var=EnableSplitPhase_echo unsigned 35,2 -m /min:0 /max:3 /e:EnableSplitPhase_echo Var=PhaseRotation_status unsigned 37,2 -m /min:0 /max:3 /e:PhaseRotation_status Var=LineVoltageDetected_status unsigned 39,2 -m /min:0 /max:3 /e:LineVoltageDetected_status Var=PhaseRotation_echo unsigned 41,2 -m /min:0 /max:3 /e:PhaseRotation_echo [StatusFaults] ID=CFFC8F7h Type=Standard DLC=8 CycleTime=100 Var=GeneralFault_status unsigned 1,2 -m /min:0 /max:3 /e:GeneralFault_status Var=OvercurrentAC_status unsigned 3,2 -m /min:0 /max:3 /e:OvercurrentAC_status Var=LossOfAC_status unsigned 5,2 -m /min:0 /max:3 /e:LossOfAC_status Var=OvercurrentDC_status unsigned 7,2 -m /min:0 /max:3 /e:OvercurrentDC_status Var=OvervoltageDC_status unsigned 9,2 -m /min:0 /max:3 /e:OvervoltageDC_status Var=UndervoltageDC_status unsigned 11,2 -m /min:0 /max:3 /e:UndervoltageDC_status Var=OvertempInternal_status unsigned 13,2 -m /min:0 /max:3 /e:OvertempInternal_status Var=OvertempPowerDevice_status unsigned 15,2 -m /min:0 /max:3 /e:OvertempPowerDevice_status Var=ControlHardwareFail_status unsigned 19,4 -m /min:0 /max:15 /e:ControlHardwareFail_status Var=LossValidControlMessage_status unsigned 23,4 -m /min:0 /max:15 /e:LossValidControlMessage_status Var=EStopShutdown_status unsigned 25,2 -m /min:0 /max:3 /e:EStopShutdown_status Var=IllegalTransition_status unsigned 27,2 -m /min:0 /max:3 /e:IllegalTransition_status Var=InvalidEEHeader_status unsigned 29,2 -m /min:0 /max:3 /e:InvalidEEHeader_status Var=InvalidEESection_status unsigned 31,2 -m /min:0 /max:3 /e:InvalidEESection_status Var=ThermalOverload unsigned 33,2 -m /min:0 /max:3 /e:ThermalOverload Var=BridgeBFault_status unsigned 42,3 -m /min:0 /max:7 /e:BridgeBFault_status Var=BridgeBVoltageOk_status unsigned 43,1 -m /min:0 /max:1 /e:BridgeBVoltageOk_status Var=BridgeAFault_status unsigned 58,3 -m /min:0 /max:7 /e:BridgeAFault_status Var=BridgeAVoltageOk_status unsigned 59,1 -m /min:0 /max:1 /e:BridgeAVoltageOk_status [MasterMeasuredPower] ID=CFFCAF6h Type=Standard DLC=9 CycleTime=0 Var=RealPower_measured unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_measured unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusMeasuredPower] ID=CFFCAF7h Type=Standard DLC=9 CycleTime=100 Var=RealPower_measured unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_measured unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusCommandedPower] ID=18FFC4F7h Type=Standard DLC=9 CycleTime=100 Var=RealPower_echo unsigned 7,32 -m /u:W /min:0 /max:4294967295 Var=ReactivePower_echo unsigned 39,32 -m /u:VA /min:0 /max:4294967295 [StatusCommandVF] ID=18FFC9F7h Type=Standard DLC=8 CycleTime=100 Var=Voltage_echo unsigned 7,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=Frequency_echo unsigned 23,16 -m /u:Hz /f:0.1 /min:0 /max:65535 [StatusTemps] ID=18FFCBF7h Type=Standard DLC=8 CycleTime=100 Var=TempInlet_measured unsigned 7,16 -m /u:C /f:0.1 /min:0 /max:65535 Var=TempInternal_measured unsigned 23,16 -m /u:C /f:0.1 /min:0 /max:65535 Var=ConverterLosses unsigned 39,16 -m /u:W /min:0 /max:65535 [StatusLineCurrents] ID=18FFD0F7h Type=Standard DLC=8 CycleTime=100 Var=L1Current_measured unsigned 7,16 -m /u:A /min:0 /max:65535 Var=L2Current_measured unsigned 23,16 -m /u:A /min:0 /max:65535 Var=L3Current_measured unsigned 39,16 -m /u:A /min:0 /max:65535 [StatusLineVoltages] ID=18FFD1F7h Type=Standard DLC=8 CycleTime=100 Var=L1Voltage_measured unsigned 7,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=L2Voltage_measured unsigned 23,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 Var=L3Voltage_measured unsigned 39,16 -m /u:Vrms /f:0.1 /min:0 /max:65535 [StatusNVParam] ID=1CFFA9F7h Type=Standard DLC=9 CycleTime=0 Mux=StatusNVParam_MUX0 7,16 0 -m Var=Dummy unsigned 23,16 -m /o:5 /min:5 /max:10 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX1 7,16 1 -m Var=VUnder50pct unsigned 23,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V50to88pct unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=V110to120pct unsigned 55,16 -m /u:ms /o:1 /min:1 /max:30000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX2 7,16 2 -m Var=VOver120 unsigned 23,16 -m /o:1 /min:1 /max:30000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX3 7,16 3 -m Var=FreqHi unsigned 23,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 Var=FreqVeryLo unsigned 55,16 -m /u:Hz /f:0.1 /o:40 /min:40 /max:70 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX4 7,16 4 -m Var=FreqVeryLo unsigned 23,16 -m /u:ms /o:160 /min:160 /max:160 Var=FreqLo unsigned 39,16 -m /u:ms /o:1 /min:1 /max:30000 Var=FreqHi unsigned 55,16 -m /u:ms /o:160 /min:160 /max:160 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX5 7,16 5 -m Var=StatusNodeID unsigned 23,8 -m /min:0 /max:247 Var=StatusSA_Mask unsigned 31,8 -m /min:0 /max:255 Var=StatusBaudrate unsigned 39,4 -m /min:0 /max:15 /e:StatusBaudrate [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX6 7,16 6 -m Var=StatusThermalOverload unsigned 17,2 -m /min:0 /max:3 /e:StatusThermalOverload [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX7 7,16 7 -m Var=StatusMX1Open unsigned 23,16 -m /u:ms /min:0 /max:5000 Var=StatusMX1Close unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=StatusMX2Open unsigned 55,16 -m /u:ms /min:0 /max:65535 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX8 7,16 8 -m Var=StatusMX2Close unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=StatusK1Open unsigned 39,16 -m /u:ms /min:0 /max:2000 Var=StatusK1Close unsigned 55,16 -m /u:ms /min:0 /max:2000 [StatusNVParam] DLC=9 CycleTime=0 Mux=StatusNVParam_MUX9 7,16 9 -m Var=StatusK2Open unsigned 23,16 -m /u:ms /min:0 /max:2000 Var=StatusK2Close unsigned 39,16 -m /u:ms /min:0 /max:2000 [softwareRev] ID=1CFFC1F7h Type=Standard DLC=9 CycleTime=0 Var=ControlSwRev unsigned 7,16 -m /min:0 /max:65535 Var=InterfaceRev unsigned 23,16 -m /min:0 /max:65535 Var=BuildTime unsigned 39,32 -m /min:0 /max:4294967295 [StatusControlVoltage] ID=1CFFC5F7h Type=Standard DLC=9 CycleTime=100 Var=v5p0_Supply unsigned 7,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v3p3_Supply unsigned 23,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v24_Supply unsigned 39,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=v15_Supply unsigned 55,16 -m /u:V /f:0.01 /min:0 /max:65535 [StatusControlVolts2] ID=1CFFC6F7h Type=Standard DLC=9 CycleTime=100 Var=n15V_Supply unsigned 7,16 -m /u:V /f:0.01 /min:0 /max:65535 Var=DiodeTemperature unsigned 39,16 -m /u:C /min:0 /max:65535 Var=IGBTTemperature unsigned 55,16 -m /u:C /min:0 /max:65535 [StatusDCParameters] ID=1CFFC7F7h Type=Standard DLC=8 CycleTime=100 Var=VoltageDCInput_measured unsigned 7,16 -m /u:V /min:0 /max:65535 Var=VoltageDCBus unsigned 23,16 -m /u:V /min:0 /max:65535 Var=CurrentDC_measured unsigned 39,16 -m /u:A /min:0 /max:65535 [serialNumber] ID=1CFFCCF7h Type=Standard DLC=8 CycleTime=0 Var=SerialNumber unsigned 7,32 -m /min:0 /max:4294967295 [softwareRevHash] ID=1CFFCDF7h Type=Standard DLC=8 CycleTime=0 Var=Hash unsigned 7,28 -m /min:0 /max:268435455 canmatrix-0.9.5/test/reference/from_xlsx/test.xls000066400000000000000000002640001416730473300221720ustar00rootroot00000000000000ࡱ>   \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     ` K-Matrix 3E %ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment UnitFF9B41hCommandModeControlAPU20Enable_command mDisableEnableErrorN/AFaultClear_commandNormal Clear FaultsMasterFollowerMode_commandMasterFollowerForceRelayMX1_commandForce OnForceRelayMX2_commandForceRelayK1_Precharge_commandForceRelayRelayK2_DCRun_comandInvertHwEnable_command No invertInvertEnableUPSMode_commandEnableSplitPhase_commandNormal - Three Phase ModeEnable Split Phase ModePhaseRotation_commandNegativePositiveFFAB41hCommandModeControlCFF9C41hCommandPowerAPU2RealPower_command -90000..90000WReactivePower_commandVACFF9E41h CommandVFAPU2Voltage_command10..500 0.1 VrmsFrequency_command45..650.1 HzCFFAA41hCommandSetNVParamCommandSetNVParam_MUX Mode Signal: Param0LVM_ClearingTimes1LVM_ClearingTimes2 LFM_LimitsLFM_ClearingTimesJ1939_Interface Fault_ConfigContactorDelays1ContactorDelays2ContactorDelays3ThermalOverloadMode 6:WarningFaultDummyMode 0:0..65535FreqHiMode 3:40..70 FreqVeryLoMode 4:160..160msK2OpenMode 9:0..2000MX1OpenMode 7:0..5000MX2CloseMode 8:NodeIDMode 5:0..247VOver120Mode 2:1..30000 VUnder50pctMode 1:SA_Mask0..255Baudrate125K250K500K1MFreqLoK1OpenK2CloseMX1Close V50to88pctK1CloseMX2Open V110to120pctCFFAC41h CommandPowerCFFAE41h CommandVFCFFAF41hCommandFactoryControlWriteSerialNumber FactoryAccess SerialNumber0..4.29497e+09CFFC2F7hStatusACParameters100VoltageAC_measured0.1 VCurrentAC_measuredAFrequency_measuredCFFC3F7h StatusBits State_statusPower On ResetReady FollowingForming Enable_echo FaultClr_echoHardwareEnable_status Not ActiveActivePowerAvailAC_statusNone AvailablePowerAvailDC_statusPowerCircuitEnabled_statusDisabledEnabledMX1Permissive_statusOpenClosedMX2Permissive_statusK1PrechargePermissive_statusK2DCRunPermissive_statusMessageValidModeControl_statusInvalidValidMessageValidPowerCMD_statusMessageValidVF_status CANbus_status ErrorPassiveEnableUPSMode_echoEnableSplitPhase_echoPhaseRotation_statusLineVoltageDetected_status No_VoltageVoltage_DetectedPhaseRotation_echoCFFC8F7h StatusFaultsGeneralFault_status Fault ActiveOvercurrentAC_statusLossOfAC_statusOvercurrentDC_statusOvervoltageDC_statusUndervoltageDC_statusOvertempInternal_statusOvertempPowerDevice_statusControlHardwareFail_statusLossValidControlMessage_statusEStopShutdown_statusIllegalTransition_statusInvalidEEHeader_statusInvalidEESection_statusBridgeBFault_statusFLT_AFLT_C OverVoltageFLT_B Overcurrent5VBridgeBVoltageOk_statusBridgeAFault_statusBridgeAVoltageOk_statusCFFCAF6hMasterMeasuredPowerRealPower_measuredReactivePower_measuredCFFCAF7hStatusMeasuredPower 18FFC4F7hStatusCommandedPowerRealPower_echoReactivePower_echo 18FFC9F7hStatusCommandVF Voltage_echoFrequency_echo 18FFCBF7h StatusTempsTempInlet_measured0.1 CTempInternal_measuredConverterLosses 18FFD0F7hStatusLineCurrentsL1Current_measuredL2Current_measuredL3Current_measured 18FFD1F7hStatusLineVoltagesL1Voltage_measuredL2Voltage_measuredL3Voltage_measured 1CFFA9F7h StatusNVParamStatusNVParam_MUX ActParam0ActLVM_ClearingTimes1ActLVM_ClearingTimes2 ActLFM_LimitsActLFM_ClearingTimesStatusJ1939_InterfaceStatusFault_ConfigStatusContactorDelays1StatusContactorDelays2StatusContactorDelays3StatusThermalOverload5..10 StatusK2Open StatusMX1OpenStatusMX2Close StatusNodeID StatusSA_MaskStatusBaudrate StatusK1Open StatusK2CloseStatusMX1Close StatusK1Close StatusMX2Open 1CFFC1F7h softwareRev ControlSwRev InterfaceRev BuildTime 1CFFC5F7hStatusControlVoltage v5p0_Supply0.01 V v3p3_Supply v24_Supply v15_Supply 1CFFC6F7hStatusControlVolts2 n15V_SupplyDiodeTemperatureCIGBTTemperature 1CFFC7F7hStatusDCParametersVoltageDCInput_measuredV VoltageDCBusCurrentDC_measured 1CFFCCF7h serialNumber 1CFFCDF7hsoftwareRevHashHash0..2.68435e+08    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                     ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~           ~    ~           ~    ~           ~    ~           ~    ~            ~    ~         ~       ~   !      ~       ~         ~       ~        "~       ~        "~       ~   !     "~       ~        "~       ~        #~       ~        #~       ~   !     #~       ~        #~       ~        $~       ~        $~       ~   !     $~       ~        $~       ~       " %~       ~   &    " %~       ~   '    " %~       ~         " % ~    ~   ! ! ! ! !!" !(!~ !  ! !  ! ~ !  !!" " " " """ "("~ "  " "  " ~ "  ""# # # # ##" #(#~ #  # #  # ~ #  ##$ $ $ $ $$" $($~ $  $ $  $ ~ $  $$% % % % %%" %)%~ %  % %  % ~ %  %*%& & & & &&" &)&~ &  & &  & ~ &  &+&' ' ' ' ''" ')'~ '  ' '  ' ~ '  ''( ( ( ( ((" ()(~ (  ( (  ( ~ (  (() ) ) ) ))" ),)~ )  ) )  ) ~ )  )-)* * * * **" *,*~ *  * *  * ~ *  *.*+ + + + ++" +,+~ +  + +  + ~ +  ++, , , , ,," ,,,~ ,  , ,  , ~ ,  ,,- -/ -0 - -- --~ -  - -  - ~ -  --. ./ .0 . .. ..~ .  . .  . ~ .  ../ // /0 / // //~ /  / /  / ~ /  //0 0/ 00 0 00 00~ 0  0 0  0 ~ 0  001 1/ 10 1 11 11~ 1  1 1  1 ~ 1  112 2/ 20 2 22 22~ 2  2 2  2 ~ 2  223 3/ 30 3 33 33~ 3  3 3  3 ~ 3  334 4/ 40 4 44 44~ 4  4 4  4 ~ 4  445 5/ 50 5 55 55~ 5  5 5  5 ~ 5  556 6/ 60 6 66 66~ 6  6 6  6 ~ 6  667 7/ 70 7 77 77~ 7  7 7  7 ~ 7  778 8/ 80 8 88 88~ 8  8 8  8 ~ 8  889 9/ 90 9 99 9 9~ 9  9 9  9 ~ 9  99: :/ :0 : :: : :~ :  : :  : ~ :  :!:; ;/ ;0 ; ;; ; ;~ ;  ; ;  ; ~ ;  ;;< </ <0 < << < <~ <  < <  < ~ <  <<= =/ =0 = == ="=~ =  = =  = ~ =  ==> >/ >0 > >> >">~ >  > >  > ~ >  >!>? ?/ ?0 ? ?? ?"?~ ?  ? ?  ? ~ ?  ??@ @/ @0 @ @@ @"@~ @  @ @  @ ~ @  @@A A/ A0 A AA A#A~ A  A A  A ~ A  AAB B/ B0 B BB B#B~ B  B B  B ~ B  B!BC C/ C0 C CC C#C~ C  C C  C ~ C  CCD D/ D0 D DD D#D~ D  D D  D ~ D  DDE E/ E0 E EE E$E~ E  E E  E ~ E  EEF F/ F0 F FF F$F~ F  F F  F ~ F  F!FG G/ G0 G GG G$G~ G  G G  G ~ G  GGH H/ H0 H HH H$H~ H  H H  H ~ H  HHI I/ I0 I II" I%I~ I  I I  I ~ I  I&IJ J/ J0 J JJ" J%J~ J  J J  J ~ J  J'JK K/ K0 K KK" K%K~ K  K K  K ~ K  KKL L/ L0 L LL" L%L~ L  L L  L ~ L  LLM M/ M0 M MM" M(M~ M  M M  M ~ M  MMN N/ N0 N NN" N(N~ N  N N  N ~ N  NNO O/ O0 O OO" O(O~ O  O O  O ~ O  OOP P/ P0 P PP" P(P~ P  P P  P ~ P  PPQ Q/ Q0 Q QQ" Q)Q~ Q  Q Q  Q ~ Q  Q*QR R/ R0 R RR" R)R~ R  R R  R ~ R  R+RS S/ S0 S SS" S)S~ S  S S  S ~ S  SST T/ T0 T TT" T)T~ T  T T  T ~ T  TTU U/ U0 U UU" U,U~ U  U U  U ~ U  U-UV V/ V0 V VV" V,V~ V  V V  V ~ V  V.VW W/ W0 W WW" W,W~ W  W W  W ~ W  WWX X/ X0 X XX" X,X~ X  X X  X ~ X  XXY Y1 Y2 Y YY Y3Y~ Y  Y Y  Y Y  Y4 Y5Z Z1 Z2 Z ZZ Z6Z~ Z  Z Z  Z Z  Z4 Z7[ [8 [9 [ [[ [:[~ [ B [ [  [ [  [; [<\ \8 \9 \ \\ \=\~ \ B \ \  \ \  \> \?] ]@ ]A ] ]] ]B ]C~ ] B ] ]  ] ~ ]  ]D]^ ^@ ^A ^ ^^ ^B ^C~ ^ B ^ ^  ^ ~ ^  ^E^_ _@ _A _ __ _B _C~ _ B _ _  _ ~ _  _F_` `@ `A ` `` `B `C~ ` B ` `  ` ~ `  `G`a a@ aA a aa aB aC~ a B a a  a ~ a  aHab b@ bA b bb bB bC~ b B b b  b ~ b  bIbc c@ cA c cc cB cC~ c B c c  c ~ c  cJcd d@ dA d dd dB dC~ d B d d  d ~ d  dKde e@ eA e ee eB eC~ e B e e  e ~ e " eLef f@ fA f ff fB fC~ f B f f  f ~ f & fMfg g@ gA g gg gN gO~ g  g g  g ~ g  gPgh h@ hA h hh hN hO~ h  h h  h ~ h  hQhi i@ iA i ii iN iO~ i  i i  i ~ i  iij j@ jA j jj jN jO~ j  j j  j ~ j  jjk k@ kA k kk kR kS~ k B k k  k k  kTkl l@ lA l ll lU lV~ l B l l  l l  lW l?m m@ mA m mm mX mY~ m B m m  m m  mZ m[n n@ nA n nn n\ n]~ n B n n  n n  n^ n[o o@ oA o oo o_ o`~ o B o o  o o  oa o[p p@ pA p pp pb pc~ p B p p  p p  p^ p[q q@ qA q qq qd qe~ q " q q  q q  qfqr r@ rA r rr rg rh~ r B r r  r r  rirs s@ sA s ss sj sk~ s B s s  s s  si s[t t@ tA t tt tl te~ t " t t  t t  tmtu u@ uA u uu un ue~ u  u u  u ~ u  uouv v@ vA v vv vn ve~ v  v v  v ~ v  vpvw w@ wA w ww wn we~ w  w w  w ~ w  wqwx x@ xA x xx xn xe~ x  x x  x ~ x  xrxy y@ yA y yy ys yY~ y B y y  y y  yi y[z z@ zA z zz zt zc~ z B z z  z z  z^ z[{ {@ {A { {{ {u {]~ { B { {  { {  {^ {[| |@ |A | || |v |`~ | B | |  | |  |^ |[} }@ }A } }} }w }k~ } B } }  } }  }i }[~ ~@ ~A ~ ~~ ~U ~Y~ ~ B ~ ~  ~ ~  ~Z ~[ @ A   X V~  B       W ? @ A   x c~ B     ^ [ @ A   y `~ B     T [ @ A   z k~ B     i [ { |   3~      4 5 { |   6~      4 7 } ~   :~ B     ; < } ~   =~ B     > ?     ~    ~       ~    ~       ~    ~       ~    ~       ~ B     T     ~           ~ B     T      ~ B     T      ~ B     T ?     ~    ~       ~    ~       ~    ~       ~    ~  Q     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~ "      ~    ~ &      ~    ~ *      ~    ~ .      ~    ~ 2      ~    ~ 6      ~    ~ :      ~    ~ >      ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  P     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  *     ~    ~  +     ~    ~       ~    ~       ~    ~  -     ~    ~  .     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~  -     ~    ~  .     ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~       ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~       ~         ~       ~         ~       ~         ~       ~         ~       ~         ~       ~         ~       ~         ~       ~         ~       ~            ~        ~             ~        ~             ~        ~            ~        ~            ~        ~         ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~        ~       ~           ~        ~    ! ! ! ! !! !!~ !  ! !  ! ~ !  !!" " " " "" ""~ "  " "  " ~ "  ""# # # # ## ##~ #  # #  # ~ #  ##$ $ $ $ $$ $N$~ $  $ $  $ ~ $  $$% % % % %% %N%~ %  % %  % ~ %  %%& & & & && &N&~ &  & &  & ~ &  &&' ' ' ' '' 'N'~ '  ' '  ' ~ '  ''( ( ( ( ((  ((~ (  ( (  ( ~ (  (() ) ) ) ))  ))~ )  ) )  ) ~ )  ))* * * * **  **~ *  * *  * ~ *  **+ + + + ++  ++~ +  + +  + ~ +  ++, , , , ,,  ,,~ ,  , ,  , ~ ,  ,,- - - - --  --~ -  - -  - ~ -  --. . . . ..  ..~ .  . .  . ~ .  ../ / / / //  //~ /  / /  / ~ /  //0 0 0 0 00 00~ 0  0 0  0 ~ 0  001 1 1 1 11 11~ 1  1 1  1 ~ 1  112 2 2 2 22 22~ 2  2 2  2 ~ 2  223 3 3 3 33 33~ 3  3 3  3 ~ 3  334 4 4 4 44"  44~ 4  4 4  4 ~ 4  445 5 5 5 55"  55~ 5  5 5  5 ~ 5  556 6 6 6 66"  66~ 6  6 6  6 ~ 6  667 7 7 7 77"  77~ 7  7 7  7 ~ 7  778 8 8 8 88"  88~ 8  8 8  8 ~ 8  889 9 9 9 99"  99~ 9  9 9  9 ~ 9  99: : : : ::"  ::~ :  : :  : ~ :  ::; ; ; ; ;;"  ;;~ ;  ; ;  ; ~ ;  ;;< < < < <<" <<~ <  < <  < ~ <  <<= = = = ==" ==~ =  = =  = ~ =  ==> > > > >>" >>~ >  > >  > ~ >  >>? ? ? ? ??" ??~ ?  ? ?  ? ~ ?  ??@ @ @ @ @@ @@~ @  @ @  @ @  @ @5A A A A AA AA~ A  A A  A A  A A7B B B B BB BB~ B  B B  B B  B B5C C C C CC CC~ C  C C  C C  C C7D D D D DD DD~ D  D D  D D  D D5E E E E EE EE~ E  E E  E E  E E7F F F F FF FF~ F B F F  F F  FT F<G G G G GG GG~ G B G G  G G  GT G?H H H H HH HH~ H B H H  H H  HT HI I I I II II~ I B I I  I I  IT IJ J J J JJ JJ~ J B J J  J J  JT J5K K K K KK KK~ K B K K  K K  KT KL L L L LL LL~ L B L L  L L  LT LM M M M MM MM~ M B M M  M M  MT MN N N N NN NN~ N B N N  N N  NT N<O O O O OO OO~ O B O O  O O  OT O<P P P P PP PP~ P B P P  P P  PT P<Q Q Q Q QQ Q QC~ Q B Q Q  Q ~ Q  QQR R R R RR R RC~ R B R R  R ~ R  RRS S S S SS S SC~ S B S S  S ~ S  SST T T T TT T TC~ T B T T  T ~ T  TTU U U U UU U UC~ U B U U  U ~ U  UUV V V V VV V VC~ V B V V  V ~ V  VVW W W W WW W WC~ W B W W  W ~ W  WWX X X X XX X XC~ X B X X  X ~ X  XXY Y Y Y YY Y YC~ Y B Y Y  Y ~ Y " YYZ Z Z Z ZZ Z ZC~ Z B Z Z  Z ~ Z & ZZ[ [ [ [ [[ [ [O~ [  [ [  [ ~ [  [P[\ \ \ \ \\ \ \O~ \  \ \  \ ~ \  \Q\] ] ] ] ]] ] ]O~ ]  ] ]  ] ~ ]  ]]^ ^ ^ ^ ^^ ^ ^O~ ^  ^ ^  ^ ~ ^  ^^_ _ _ _ __ _R _S~ _ B _ _  _ _  __` ` ` ` `` `U `V~ ` B ` `  ` `  `W `?a a a a aa aX aY~ a B a a  a a  aZ a[b b b b bb b b]~ b B b b  b b  b^ b[c c c c cc c c`~ c B c c  c c  ca c[d d d d dd d dc~ d B d d  d d  d^ d[e e e e ee e ee~ e " e e  e e  efef f f f ff fg fh~ f B f f  f f  fifg g g g gg gj gk~ g B g g  g g  gi g[h h h h hh h he~ h " h h  h h  hmhi i i i ii is iY~ i B i i  i i  ii i[j j j j jj j je~ j  j j  j ~ j  jojk k k k kk k ke~ k  k k  k ~ k  kpkl l l l ll l le~ l  l l  l ~ l  lqlm m m m mm m me~ m  m m  m ~ m  mrmn n n n nn n nc~ n B n n  n n  n^ n[o o o o oo o o]~ o B o o  o o  o^ o[p p p p pp p p`~ p B p p  p p  p^ p[q q q q qq qw qk~ q B q q  q q  qi q[r r r r rr rU rY~ r B r r  r r  rZ r[s s s s ss sX sV~ s B s s  s s  sW s?t t t t tt t tc~ t B t t  t t  t^ t[u u u u uu u u`~ u B u u  u u  uT u[v v v v vv vz vk~ v B v v  v v  vi v[w w w w ww w w~ w B w w  w w  wTwx x x x xx x x~ x B x x  x x  xTxy y y y yy y y~ y  y y  y y  yyz z  z  z zz zz~ z B z z  z z  zT z{ {  {  { {{ {{~ { B { {  { {  {T {| |  |  | || ||~ | B | |  | |  |T |} }  }  } }} }}~ } B } }  } }  }T }~ ~ ~ ~ ~~ ~~~ ~ B ~ ~  ~ ~  ~T ~     ~  B       T      ~  B       T      ~  B       T      ~  B       T      ~  B       T       ~          ! "   #~  r       $>@A    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryWorkbook`canmatrix-0.9.5/test/reference/from_xlsx/test.xml000066400000000000000000011712511416730473300221720ustar00rootroot00000000000000 CAN Canmatrix Export clusterShort clusterDesc 500 false MONOTONE CAN 20 CANCHANNEL01 Can Channel Description 16751425 16755521 218078273 218078785 218081857 218082369 218082881 218083137 218088183 218088439 218089719 218090230 218090231 419415287 419416567 419417079 419418359 419418615 486517239 486523383 486524407 486524663 486524919 486526199 486526455 PDU_CommandModeControlAPU2 9 APPLICATION 1 true 3 true 17 true 33 true 35 true 37 true 39 true 57 true 59 true 61 true 63 true PDU_CommandModeControl 9 APPLICATION 1 true 3 true 17 true 33 true 35 true 37 true 39 true 57 true 59 true 61 true 63 true PDU_CommandPowerAPU2 9 APPLICATION 7 true 39 true PDU_CommandVFAPU2 8 APPLICATION 7 true 23 true PDU_CommandSetNVParam 9 APPLICATION 7 true 17 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 31 true 39 true 39 true 39 true 39 true 39 true 39 true 55 true 55 true 55 true 55 true 55 true PDU_CommandPower 9 APPLICATION 7 true 39 true PDU_CommandVF 8 APPLICATION 7 true 23 true PDU_CommandFactoryControl 9 APPLICATION 1 true 23 true 39 true PDU_StatusACParameters 8 APPLICATION 7 true 23 true 39 true PDU_StatusBits 8 APPLICATION 3 true 5 true 7 true 9 true 11 true 13 true 15 true 17 true 19 true 21 true 23 true 25 true 27 true 29 true 31 true 33 true 35 true 37 true 39 true 41 true PDU_StatusFaults 8 APPLICATION 1 true 3 true 5 true 7 true 9 true 11 true 13 true 15 true 19 true 23 true 25 true 27 true 29 true 31 true 33 true 42 true 43 true 58 true 59 true PDU_MasterMeasuredPower 9 APPLICATION 7 true 39 true PDU_StatusMeasuredPower 9 APPLICATION 7 true 39 true PDU_StatusCommandedPower 9 APPLICATION 7 true 39 true PDU_StatusCommandVF 8 APPLICATION 7 true 23 true PDU_StatusTemps 8 APPLICATION 7 true 23 true 39 true PDU_StatusLineCurrents 8 APPLICATION 7 true 23 true 39 true PDU_StatusLineVoltages 8 APPLICATION 7 true 23 true 39 true PDU_StatusNVParam 9 APPLICATION 7 true 17 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 23 true 31 true 39 true 39 true 39 true 39 true 39 true 39 true 55 true 55 true 55 true 55 true 55 true PDU_softwareRev 9 APPLICATION 7 true 23 true 39 true PDU_StatusControlVoltage 9 APPLICATION 7 true 23 true 39 true 55 true PDU_StatusControlVolts2 9 APPLICATION 7 true 39 true 55 true PDU_StatusDCParameters 8 APPLICATION 7 true 23 true 39 true PDU_serialNumber 8 APPLICATION 7 true PDU_softwareRevHash 8 APPLICATION 7 true FRAME_CommandModeControlAPU2 9 APPLICATION 0 false FRAME_CommandModeControl 9 APPLICATION 0 false FRAME_CommandPowerAPU2 9 APPLICATION 0 false FRAME_CommandVFAPU2 8 APPLICATION 0 false FRAME_CommandSetNVParam 9 APPLICATION 0 false FRAME_CommandPower 9 APPLICATION 0 false FRAME_CommandVF 8 APPLICATION 0 false FRAME_CommandFactoryControl 9 APPLICATION 0 false FRAME_StatusACParameters 8 APPLICATION 0 false FRAME_StatusBits 8 APPLICATION 0 false FRAME_StatusFaults 8 APPLICATION 0 false FRAME_MasterMeasuredPower 9 APPLICATION 0 false FRAME_StatusMeasuredPower 9 APPLICATION 0 false FRAME_StatusCommandedPower 9 APPLICATION 0 false FRAME_StatusCommandVF 8 APPLICATION 0 false FRAME_StatusTemps 8 APPLICATION 0 false FRAME_StatusLineCurrents 8 APPLICATION 0 false FRAME_StatusLineVoltages 8 APPLICATION 0 false FRAME_StatusNVParam 9 APPLICATION 0 false FRAME_softwareRev 9 APPLICATION 0 false FRAME_StatusControlVoltage 9 APPLICATION 0 false FRAME_StatusControlVolts2 9 APPLICATION 0 false FRAME_StatusDCParameters 8 APPLICATION 0 false FRAME_serialNumber 8 APPLICATION 0 false FRAME_softwareRevHash 8 APPLICATION 0 false Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command ReactivePower_command Voltage_command Frequency_command CommandSetNVParam_MUX ThermalOverload Dummy FreqHi FreqVeryLo K2Open MX1Open MX2Close NodeID VOver120 VUnder50pct SA_Mask Baudrate FreqLo K1Open K2Close MX1Close V50to88pct FreqHi FreqVeryLo K1Close MX2Open V110to120pct RealPower_command ReactivePower_command Voltage_command Frequency_command WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured CurrentAC_measured Frequency_measured State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured ReactivePower_measured RealPower_measured ReactivePower_measured RealPower_echo ReactivePower_echo Voltage_echo Frequency_echo TempInlet_measured TempInternal_measured ConverterLosses L1Current_measured L2Current_measured L3Current_measured L1Voltage_measured L2Voltage_measured L3Voltage_measured StatusNVParam_MUX StatusThermalOverload Dummy FreqHi FreqVeryLo StatusK2Open StatusMX1Open StatusMX2Close StatusNodeID VOver120 VUnder50pct StatusSA_Mask FreqLo StatusBaudrate StatusK1Open StatusK2Close StatusMX1Close V50to88pct FreqHi FreqVeryLo StatusK1Close StatusMX2Open V110to120pct ControlSwRev InterfaceRev BuildTime v5p0_Supply v3p3_Supply v24_Supply v15_Supply n15V_Supply DiodeTemperature IGBTTemperature VoltageDCInput_measured VoltageDCBus CurrentDC_measured SerialNumber Hash Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command Enable_command FaultClear_command MasterFollowerMode_command ForceRelayMX1_command ForceRelayMX2_command ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand InvertHwEnable_command EnableUPSMode_command EnableSplitPhase_command PhaseRotation_command RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz CommandSetNVParam_MUX ThermalOverload Dummy FreqHi Hz FreqVeryLo ms K2Open ms MX1Open ms MX2Close ms NodeID VOver120 VUnder50pct ms SA_Mask Baudrate FreqLo ms K1Open ms K2Close ms MX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz K1Close ms MX2Open ms V110to120pct ms RealPower_command W ReactivePower_command VA Voltage_command Vrms Frequency_command Hz WriteSerialNumber FactoryAccess SerialNumber VoltageAC_measured V CurrentAC_measured A Frequency_measured Hz State_status Enable_echo FaultClr_echo HardwareEnable_status PowerAvailAC_status PowerAvailDC_status PowerCircuitEnabled_status MX1Permissive_status MX2Permissive_status K1PrechargePermissive_status K2DCRunPermissive_status MessageValidModeControl_status MessageValidPowerCMD_status MessageValidVF_status CANbus_status EnableUPSMode_echo EnableSplitPhase_echo PhaseRotation_status LineVoltageDetected_status PhaseRotation_echo GeneralFault_status OvercurrentAC_status LossOfAC_status OvercurrentDC_status OvervoltageDC_status UndervoltageDC_status OvertempInternal_status OvertempPowerDevice_status ControlHardwareFail_status LossValidControlMessage_status EStopShutdown_status IllegalTransition_status InvalidEEHeader_status InvalidEESection_status ThermalOverload BridgeBFault_status BridgeBVoltageOk_status BridgeAFault_status BridgeAVoltageOk_status RealPower_measured W ReactivePower_measured VA RealPower_measured W ReactivePower_measured VA RealPower_echo W ReactivePower_echo VA Voltage_echo Vrms Frequency_echo Hz TempInlet_measured C TempInternal_measured C ConverterLosses W L1Current_measured A L2Current_measured A L3Current_measured A L1Voltage_measured Vrms L2Voltage_measured Vrms L3Voltage_measured Vrms StatusNVParam_MUX StatusThermalOverload Dummy FreqHi Hz FreqVeryLo ms StatusK2Open ms StatusMX1Open ms StatusMX2Close ms StatusNodeID VOver120 VUnder50pct ms StatusSA_Mask FreqLo ms StatusBaudrate StatusK1Open ms StatusK2Close ms StatusMX1Close ms V50to88pct ms FreqHi ms FreqVeryLo Hz StatusK1Close ms StatusMX2Open ms V110to120pct ms ControlSwRev InterfaceRev BuildTime v5p0_Supply V v3p3_Supply V v24_Supply V v15_Supply V n15V_Supply V DiodeTemperature C IGBTTemperature C VoltageDCInput_measured V VoltageDCBus V CurrentDC_measured A SerialNumber Hash CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1 1 CODING_Enable_command Coding for Enable_command COMPUMETHOD_Enable_command LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClear_command Coding for FaultClear_command COMPUMETHOD_FaultClear_command LINEAR 0.0 3.0 0.0 1 1 CODING_MasterFollowerMode_command Coding for MasterFollowerMode_command COMPUMETHOD_MasterFollowerMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX1_command Coding for ForceRelayMX1_command COMPUMETHOD_ForceRelayMX1_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayMX2_command Coding for ForceRelayMX2_command COMPUMETHOD_ForceRelayMX2_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayK1_Precharge_command Coding for ForceRelayK1_Precharge_command COMPUMETHOD_ForceRelayK1_Precharge_command LINEAR 0.0 3.0 0.0 1 1 CODING_ForceRelayRelayK2_DCRun_comand Coding for ForceRelayRelayK2_DCRun_comand COMPUMETHOD_ForceRelayRelayK2_DCRun_comand LINEAR 0.0 3.0 0.0 1 1 CODING_InvertHwEnable_command Coding for InvertHwEnable_command COMPUMETHOD_InvertHwEnable_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_command Coding for EnableUPSMode_command COMPUMETHOD_EnableUPSMode_command LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_command Coding for EnableSplitPhase_command COMPUMETHOD_EnableSplitPhase_command LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_command Coding for PhaseRotation_command COMPUMETHOD_PhaseRotation_command LINEAR 0.0 3.0 0.0 1 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 10.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 45.0 0.1 1 CODING_CommandSetNVParam_MUX Coding for CommandSetNVParam_MUX COMPUMETHOD_CommandSetNVParam_MUX LINEAR 0.0 65535.0 0.0 1 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 0.0 65535.0 0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 40.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 160.0 1 1 CODING_K2Open Coding for K2Open COMPUMETHOD_K2Open LINEAR 0.0 2000.0 0.0 1 1 CODING_MX1Open Coding for MX1Open COMPUMETHOD_MX1Open LINEAR 0.0 5000.0 0.0 1 1 CODING_MX2Close Coding for MX2Close COMPUMETHOD_MX2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_NodeID Coding for NodeID COMPUMETHOD_NodeID LINEAR 0.0 247.0 0.0 1 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 1.0 1 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 1.0 1 1 CODING_SA_Mask Coding for SA_Mask COMPUMETHOD_SA_Mask LINEAR 0.0 255.0 0 1 1 CODING_Baudrate Coding for Baudrate COMPUMETHOD_Baudrate LINEAR 0.0 15.0 0.0 1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 1.0 1 1 CODING_K1Open Coding for K1Open COMPUMETHOD_K1Open LINEAR 0.0 2000.0 0.0 1 1 CODING_K2Close Coding for K2Close COMPUMETHOD_K2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_MX1Close Coding for MX1Close COMPUMETHOD_MX1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 1.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 160.0 1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 40.0 0.1 1 CODING_K1Close Coding for K1Close COMPUMETHOD_K1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_MX2Open Coding for MX2Open COMPUMETHOD_MX2Open LINEAR 0.0 65535.0 0 1 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 1.0 1 1 CODING_RealPower_command Coding for RealPower_command COMPUMETHOD_RealPower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_ReactivePower_command Coding for ReactivePower_command COMPUMETHOD_ReactivePower_command LINEAR -90000.0 90000.0 -90000.0 1 1 CODING_Voltage_command Coding for Voltage_command COMPUMETHOD_Voltage_command LINEAR 10.0 500.0 10.0 0.1 1 CODING_Frequency_command Coding for Frequency_command COMPUMETHOD_Frequency_command LINEAR 45.0 65.0 45.0 0.1 1 CODING_WriteSerialNumber Coding for WriteSerialNumber COMPUMETHOD_WriteSerialNumber LINEAR 0.0 3.0 0.0 1 1 CODING_FactoryAccess Coding for FactoryAccess COMPUMETHOD_FactoryAccess LINEAR 0.0 65535.0 0 1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0 1 1 CODING_VoltageAC_measured Coding for VoltageAC_measured COMPUMETHOD_VoltageAC_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_CurrentAC_measured Coding for CurrentAC_measured COMPUMETHOD_CurrentAC_measured LINEAR 0.0 65535.0 0 1 1 CODING_Frequency_measured Coding for Frequency_measured COMPUMETHOD_Frequency_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_State_status Coding for State_status COMPUMETHOD_State_status LINEAR 0.0 15.0 0.0 1 1 CODING_Enable_echo Coding for Enable_echo COMPUMETHOD_Enable_echo LINEAR 0.0 3.0 0.0 1 1 CODING_FaultClr_echo Coding for FaultClr_echo COMPUMETHOD_FaultClr_echo LINEAR 0.0 3.0 0.0 1 1 CODING_HardwareEnable_status Coding for HardwareEnable_status COMPUMETHOD_HardwareEnable_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerAvailAC_status Coding for PowerAvailAC_status COMPUMETHOD_PowerAvailAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerAvailDC_status Coding for PowerAvailDC_status COMPUMETHOD_PowerAvailDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_PowerCircuitEnabled_status Coding for PowerCircuitEnabled_status COMPUMETHOD_PowerCircuitEnabled_status LINEAR 0.0 3.0 0.0 1 1 CODING_MX1Permissive_status Coding for MX1Permissive_status COMPUMETHOD_MX1Permissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_MX2Permissive_status Coding for MX2Permissive_status COMPUMETHOD_MX2Permissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_K1PrechargePermissive_status Coding for K1PrechargePermissive_status COMPUMETHOD_K1PrechargePermissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_K2DCRunPermissive_status Coding for K2DCRunPermissive_status COMPUMETHOD_K2DCRunPermissive_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidModeControl_status Coding for MessageValidModeControl_status COMPUMETHOD_MessageValidModeControl_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidPowerCMD_status Coding for MessageValidPowerCMD_status COMPUMETHOD_MessageValidPowerCMD_status LINEAR 0.0 3.0 0.0 1 1 CODING_MessageValidVF_status Coding for MessageValidVF_status COMPUMETHOD_MessageValidVF_status LINEAR 0.0 3.0 0.0 1 1 CODING_CANbus_status Coding for CANbus_status COMPUMETHOD_CANbus_status LINEAR 0.0 3.0 0.0 1 1 CODING_EnableUPSMode_echo Coding for EnableUPSMode_echo COMPUMETHOD_EnableUPSMode_echo LINEAR 0.0 3.0 0.0 1 1 CODING_EnableSplitPhase_echo Coding for EnableSplitPhase_echo COMPUMETHOD_EnableSplitPhase_echo LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_status Coding for PhaseRotation_status COMPUMETHOD_PhaseRotation_status LINEAR 0.0 3.0 0.0 1 1 CODING_LineVoltageDetected_status Coding for LineVoltageDetected_status COMPUMETHOD_LineVoltageDetected_status LINEAR 0.0 3.0 0.0 1 1 CODING_PhaseRotation_echo Coding for PhaseRotation_echo COMPUMETHOD_PhaseRotation_echo LINEAR 0.0 3.0 0.0 1 1 CODING_GeneralFault_status Coding for GeneralFault_status COMPUMETHOD_GeneralFault_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvercurrentAC_status Coding for OvercurrentAC_status COMPUMETHOD_OvercurrentAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_LossOfAC_status Coding for LossOfAC_status COMPUMETHOD_LossOfAC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvercurrentDC_status Coding for OvercurrentDC_status COMPUMETHOD_OvercurrentDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvervoltageDC_status Coding for OvervoltageDC_status COMPUMETHOD_OvervoltageDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_UndervoltageDC_status Coding for UndervoltageDC_status COMPUMETHOD_UndervoltageDC_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvertempInternal_status Coding for OvertempInternal_status COMPUMETHOD_OvertempInternal_status LINEAR 0.0 3.0 0.0 1 1 CODING_OvertempPowerDevice_status Coding for OvertempPowerDevice_status COMPUMETHOD_OvertempPowerDevice_status LINEAR 0.0 3.0 0.0 1 1 CODING_ControlHardwareFail_status Coding for ControlHardwareFail_status COMPUMETHOD_ControlHardwareFail_status LINEAR 0.0 15.0 0.0 1 1 CODING_LossValidControlMessage_status Coding for LossValidControlMessage_status COMPUMETHOD_LossValidControlMessage_status LINEAR 0.0 15.0 0.0 1 1 CODING_EStopShutdown_status Coding for EStopShutdown_status COMPUMETHOD_EStopShutdown_status LINEAR 0.0 3.0 0.0 1 1 CODING_IllegalTransition_status Coding for IllegalTransition_status COMPUMETHOD_IllegalTransition_status LINEAR 0.0 3.0 0.0 1 1 CODING_InvalidEEHeader_status Coding for InvalidEEHeader_status COMPUMETHOD_InvalidEEHeader_status LINEAR 0.0 3.0 0.0 1 1 CODING_InvalidEESection_status Coding for InvalidEESection_status COMPUMETHOD_InvalidEESection_status LINEAR 0.0 3.0 0.0 1 1 CODING_ThermalOverload Coding for ThermalOverload COMPUMETHOD_ThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_BridgeBFault_status Coding for BridgeBFault_status COMPUMETHOD_BridgeBFault_status LINEAR 0.0 7.0 0.0 1 1 CODING_BridgeBVoltageOk_status Coding for BridgeBVoltageOk_status COMPUMETHOD_BridgeBVoltageOk_status LINEAR 0.0 1.0 0.0 1 1 CODING_BridgeAFault_status Coding for BridgeAFault_status COMPUMETHOD_BridgeAFault_status LINEAR 0.0 7.0 0.0 1 1 CODING_BridgeAVoltageOk_status Coding for BridgeAVoltageOk_status COMPUMETHOD_BridgeAVoltageOk_status LINEAR 0.0 1.0 0.0 1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_RealPower_measured Coding for RealPower_measured COMPUMETHOD_RealPower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_measured Coding for ReactivePower_measured COMPUMETHOD_ReactivePower_measured LINEAR 0.0 4294967295.0 0 1 1 CODING_RealPower_echo Coding for RealPower_echo COMPUMETHOD_RealPower_echo LINEAR 0.0 4294967295.0 0 1 1 CODING_ReactivePower_echo Coding for ReactivePower_echo COMPUMETHOD_ReactivePower_echo LINEAR 0.0 4294967295.0 0 1 1 CODING_Voltage_echo Coding for Voltage_echo COMPUMETHOD_Voltage_echo LINEAR 0.0 65535.0 0 0.1 1 CODING_Frequency_echo Coding for Frequency_echo COMPUMETHOD_Frequency_echo LINEAR 0.0 65535.0 0 0.1 1 CODING_TempInlet_measured Coding for TempInlet_measured COMPUMETHOD_TempInlet_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_TempInternal_measured Coding for TempInternal_measured COMPUMETHOD_TempInternal_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_ConverterLosses Coding for ConverterLosses COMPUMETHOD_ConverterLosses LINEAR 0.0 65535.0 0 1 1 CODING_L1Current_measured Coding for L1Current_measured COMPUMETHOD_L1Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L2Current_measured Coding for L2Current_measured COMPUMETHOD_L2Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L3Current_measured Coding for L3Current_measured COMPUMETHOD_L3Current_measured LINEAR 0.0 65535.0 0 1 1 CODING_L1Voltage_measured Coding for L1Voltage_measured COMPUMETHOD_L1Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_L2Voltage_measured Coding for L2Voltage_measured COMPUMETHOD_L2Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_L3Voltage_measured Coding for L3Voltage_measured COMPUMETHOD_L3Voltage_measured LINEAR 0.0 65535.0 0 0.1 1 CODING_StatusNVParam_MUX Coding for StatusNVParam_MUX COMPUMETHOD_StatusNVParam_MUX LINEAR 0.0 65535.0 0.0 1 1 CODING_StatusThermalOverload Coding for StatusThermalOverload COMPUMETHOD_StatusThermalOverload LINEAR 0.0 3.0 0.0 1 1 CODING_Dummy Coding for Dummy COMPUMETHOD_Dummy LINEAR 5.0 10.0 5.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 40.0 70.0 40.0 0.1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 160.0 160.0 160.0 1 1 CODING_StatusK2Open Coding for StatusK2Open COMPUMETHOD_StatusK2Open LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX1Open Coding for StatusMX1Open COMPUMETHOD_StatusMX1Open LINEAR 0.0 5000.0 0.0 1 1 CODING_StatusMX2Close Coding for StatusMX2Close COMPUMETHOD_StatusMX2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusNodeID Coding for StatusNodeID COMPUMETHOD_StatusNodeID LINEAR 0.0 247.0 0.0 1 1 CODING_VOver120 Coding for VOver120 COMPUMETHOD_VOver120 LINEAR 1.0 30000.0 1.0 1 1 CODING_VUnder50pct Coding for VUnder50pct COMPUMETHOD_VUnder50pct LINEAR 1.0 30000.0 1.0 1 1 CODING_StatusSA_Mask Coding for StatusSA_Mask COMPUMETHOD_StatusSA_Mask LINEAR 0.0 255.0 0 1 1 CODING_FreqLo Coding for FreqLo COMPUMETHOD_FreqLo LINEAR 1.0 30000.0 1.0 1 1 CODING_StatusBaudrate Coding for StatusBaudrate COMPUMETHOD_StatusBaudrate LINEAR 0.0 15.0 0.0 1 1 CODING_StatusK1Open Coding for StatusK1Open COMPUMETHOD_StatusK1Open LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusK2Close Coding for StatusK2Close COMPUMETHOD_StatusK2Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX1Close Coding for StatusMX1Close COMPUMETHOD_StatusMX1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_V50to88pct Coding for V50to88pct COMPUMETHOD_V50to88pct LINEAR 1.0 30000.0 1.0 1 1 CODING_FreqHi Coding for FreqHi COMPUMETHOD_FreqHi LINEAR 160.0 160.0 160.0 1 1 CODING_FreqVeryLo Coding for FreqVeryLo COMPUMETHOD_FreqVeryLo LINEAR 40.0 70.0 40.0 0.1 1 CODING_StatusK1Close Coding for StatusK1Close COMPUMETHOD_StatusK1Close LINEAR 0.0 2000.0 0.0 1 1 CODING_StatusMX2Open Coding for StatusMX2Open COMPUMETHOD_StatusMX2Open LINEAR 0.0 65535.0 0 1 1 CODING_V110to120pct Coding for V110to120pct COMPUMETHOD_V110to120pct LINEAR 1.0 30000.0 1.0 1 1 CODING_ControlSwRev Coding for ControlSwRev COMPUMETHOD_ControlSwRev LINEAR 0.0 65535.0 0 1.0 1 CODING_InterfaceRev Coding for InterfaceRev COMPUMETHOD_InterfaceRev LINEAR 0.0 65535.0 0 1.0 1 CODING_BuildTime Coding for BuildTime COMPUMETHOD_BuildTime LINEAR 0.0 4294967295.0 0 1 1 CODING_v5p0_Supply Coding for v5p0_Supply COMPUMETHOD_v5p0_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v3p3_Supply Coding for v3p3_Supply COMPUMETHOD_v3p3_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v24_Supply Coding for v24_Supply COMPUMETHOD_v24_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_v15_Supply Coding for v15_Supply COMPUMETHOD_v15_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_n15V_Supply Coding for n15V_Supply COMPUMETHOD_n15V_Supply LINEAR 0.0 65535.0 0 0.01 1 CODING_DiodeTemperature Coding for DiodeTemperature COMPUMETHOD_DiodeTemperature LINEAR 0.0 65535.0 0 1 1 CODING_IGBTTemperature Coding for IGBTTemperature COMPUMETHOD_IGBTTemperature LINEAR 0.0 65535.0 0 1 1 CODING_VoltageDCInput_measured Coding for VoltageDCInput_measured COMPUMETHOD_VoltageDCInput_measured LINEAR 0.0 65535.0 0 1 1 CODING_VoltageDCBus Coding for VoltageDCBus COMPUMETHOD_VoltageDCBus LINEAR 0.0 65535.0 0 1 1 CODING_CurrentDC_measured Coding for CurrentDC_measured COMPUMETHOD_CurrentDC_measured LINEAR 0.0 65535.0 0 1 1 CODING_SerialNumber Coding for SerialNumber COMPUMETHOD_SerialNumber LINEAR 0.0 4294967295.0 0 1 1 CODING_Hash Coding for Hash COMPUMETHOD_Hash LINEAR 0.0 268435455.0 0 1 1 canmatrix-0.9.5/test/reference/from_xlsx/test.yaml000066400000000000000000003217161416730473300223360ustar00rootroot00000000000000!!python/object:canmatrix.canmatrix.CanMatrix attributes: {} boardUnits: !!python/object:canmatrix.canmatrix.BoardUnitList _list: [] buDefines: {} envVars: {} frameDefines: GenMsgCycleTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgCycleTimeActive: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgDelayTime: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgNrOfRepetitions: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: INT 0 65535, max: 65535, min: 0, type: INT} GenMsgSendType: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: ENU, type: null} frames: !!python/object:canmatrix.canmatrix.FrameList _list: - !!Frame _Id: 16751425 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandModeControlAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 61 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 57 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 71 unit: '' size: 9 transmitter: [] - !!Frame _Id: 16755521 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandModeControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClear_command offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Master, 1: Follower, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MasterFollowerMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX1_command offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayMX2_command offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayK1_Precharge_command offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Force On, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ForceRelayRelayK2_DCRun_comand offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No invert, 1: Invert, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvertHwEnable_command offset: 0.0 receiver: [] signalsize: 2 startbit: 61 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_command offset: 0.0 receiver: [] signalsize: 2 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_command offset: 0.0 receiver: [] signalsize: 2 startbit: 57 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_command offset: 0.0 receiver: [] signalsize: 2 startbit: 71 unit: '' size: 9 transmitter: [] - !!Frame _Id: 218078273 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandPowerAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218078785 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVFAPU2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 10.0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 45.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218081857 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandSetNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Param0, 1: LVM_ClearingTimes1, 2: LVM_ClearingTimes2, 3: LFM_Limits, 4: LFM_ClearingTimes, 5: J1939_Interface, 6: Fault_Config, 7: ContactorDelays1, 8: ContactorDelays2, 9: ContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CommandSetNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 40.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 160.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: K2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: MX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: NodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: SA_Mask offset: 0 receiver: [] signalsize: 8 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: Baudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 45 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: K2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 160.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 40.0 receiver: [] signalsize: 16 startbit: 65 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: K1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: MX2Open offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 1.0 receiver: [] signalsize: 16 startbit: 65 unit: ms size: 9 transmitter: [] - !!Frame _Id: 218082369 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 90000.0 min: -90000.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_command offset: -90000.0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218082881 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: CommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 500.0 min: 10.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_command offset: 10.0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65.0 min: 45.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_command offset: 45.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218083137 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: CommandFactoryControl receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: WriteSerialNumber offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FactoryAccess offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: '' size: 9 transmitter: [] - !!Frame _Id: 218088183 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusACParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageAC_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentAC_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 218088439 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusBits receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Power On Reset, 1: Ready, 2: Following, 3: Fault, 4: Forming, 5: N/A, 6: N/A, 7: N/A, 8: N/A, 9: N/A, 10: N/A, 11: N/A, 12: N/A, 13: N/A, 14: N/A, 15: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: State_status offset: 0.0 receiver: [] signalsize: 4 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Enable_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Clear Faults, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: FaultClr_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 15 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Not Active, 1: Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: HardwareEnable_status offset: 0.0 receiver: [] signalsize: 2 startbit: 13 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 11 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: None, 1: Available, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerAvailDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 9 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disabled, 1: Enabled, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PowerCircuitEnabled_status offset: 0.0 receiver: [] signalsize: 2 startbit: 23 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX1Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MX2Permissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 19 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K1PrechargePermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Open, 1: Closed, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: K2DCRunPermissive_status offset: 0.0 receiver: [] signalsize: 2 startbit: 31 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidModeControl_status offset: 0.0 receiver: [] signalsize: 2 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidPowerCMD_status offset: 0.0 receiver: [] signalsize: 2 startbit: 27 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Invalid, 1: Valid, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: MessageValidVF_status offset: 0.0 receiver: [] signalsize: 2 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Warning, 3: ErrorPassive, 4: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CANbus_status offset: 0.0 receiver: [] signalsize: 2 startbit: 39 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Disable, 1: Enable, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableUPSMode_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal - Three Phase Mode, 1: Enable Split Phase Mode, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EnableSplitPhase_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 35 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_status offset: 0.0 receiver: [] signalsize: 2 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: No_Voltage, 1: Voltage_Detected, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LineVoltageDetected_status offset: 0.0 receiver: [] signalsize: 2 startbit: 47 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Negative, 1: Positive, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: PhaseRotation_echo offset: 0.0 receiver: [] signalsize: 2 startbit: 45 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218089719 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusFaults receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: GeneralFault_status offset: 0.0 receiver: [] signalsize: 2 startbit: 5 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 3 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossOfAC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 1 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvercurrentDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 15 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 13 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: UndervoltageDC_status offset: 0.0 receiver: [] signalsize: 2 startbit: 11 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempInternal_status offset: 0.0 receiver: [] signalsize: 2 startbit: 9 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: OvertempPowerDevice_status offset: 0.0 receiver: [] signalsize: 2 startbit: 23 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlHardwareFail_status offset: 0.0 receiver: [] signalsize: 4 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: LossValidControlMessage_status offset: 0.0 receiver: [] signalsize: 4 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: EStopShutdown_status offset: 0.0 receiver: [] signalsize: 2 startbit: 29 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IllegalTransition_status offset: 0.0 receiver: [] signalsize: 2 startbit: 27 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEEHeader_status offset: 0.0 receiver: [] signalsize: 2 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InvalidEESection_status offset: 0.0 receiver: [] signalsize: 2 startbit: 39 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 37 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 43 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeBVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 44 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: FLT_A, 2: N/A, 3: FLT_C, 4: OverVoltage, 5: FLT_B, 6: Overcurrent, 7: 5V} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 7.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAFault_status offset: 0.0 receiver: [] signalsize: 3 startbit: 59 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Normal, 1: Fault Active, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 1.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BridgeAVoltageOk_status offset: 0.0 receiver: [] signalsize: 1 startbit: 60 unit: '' size: 8 transmitter: [] - !!Frame _Id: 218090230 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: MasterMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 218090231 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusMeasuredPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_measured offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_measured offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 419415287 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusCommandedPower receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: RealPower_echo offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: W - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ReactivePower_echo offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: VA size: 9 transmitter: [] - !!Frame _Id: 419416567 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusCommandVF receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Voltage_echo offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Frequency_echo offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: Hz size: 8 transmitter: [] - !!Frame _Id: 419417079 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusTemps receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInlet_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: TempInternal_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ConverterLosses offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: W size: 8 transmitter: [] - !!Frame _Id: 419418359 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineCurrents receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: A - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Current_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: A size: 8 transmitter: [] - !!Frame _Id: 419418615 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusLineVoltages receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L1Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L2Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: Vrms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: L3Voltage_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: Vrms size: 8 transmitter: [] - !!Frame _Id: 486517239 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusNVParam receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {0: ActParam0, 1: ActLVM_ClearingTimes1, 2: ActLVM_ClearingTimes2, 3: ActLFM_Limits, 4: ActLFM_ClearingTimes, 5: StatusJ1939_Interface, 6: StatusFault_Config, 7: StatusContactorDelays1, 8: StatusContactorDelays2, 9: StatusContactorDelays3} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: true is_signed: false max: 65535.0 min: 0.0 multiplex: Multiplexor muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: StatusNVParam_MUX offset: 0.0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {0: Warning, 1: Fault, 2: Error, 3: N/A} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 3.0 min: 0.0 multiplex: 6 muxValMax: 0 muxValMin: 0 mux_val: 6 mux_value: null muxerForSignal: null name: StatusThermalOverload offset: 0.0 receiver: [] signalsize: 2 startbit: 21 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 10.0 min: 5.0 multiplex: 0 muxValMax: 0 muxValMin: 0 mux_val: 0 mux_value: null muxerForSignal: null name: Dummy offset: 5.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqHi offset: 40.0 receiver: [] signalsize: 16 startbit: 33 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 160.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 5000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusMX2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 247.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusNodeID offset: 0.0 receiver: [] signalsize: 8 startbit: 25 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 2 muxValMax: 0 muxValMin: 0 mux_val: 2 mux_value: null muxerForSignal: null name: VOver120 offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: VUnder50pct offset: 1.0 receiver: [] signalsize: 16 startbit: 33 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 255.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusSA_Mask offset: 0 receiver: [] signalsize: 8 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqLo offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {0: 125K, 1: 250K, 2: 500K, 3: 1M} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 15.0 min: 0.0 multiplex: 5 muxValMax: 0 muxValMin: 0 mux_val: 5 mux_value: null muxerForSignal: null name: StatusBaudrate offset: 0.0 receiver: [] signalsize: 4 startbit: 45 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Open offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 9 muxValMax: 0 muxValMin: 0 mux_val: 9 mux_value: null muxerForSignal: null name: StatusK2Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V50to88pct offset: 1.0 receiver: [] signalsize: 16 startbit: 49 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 160.0 min: 160.0 multiplex: 4 muxValMax: 0 muxValMin: 0 mux_val: 4 mux_value: null muxerForSignal: null name: FreqHi offset: 160.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 70.0 min: 40.0 multiplex: 3 muxValMax: 0 muxValMin: 0 mux_val: 3 mux_value: null muxerForSignal: null name: FreqVeryLo offset: 40.0 receiver: [] signalsize: 16 startbit: 65 unit: Hz - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 2000.0 min: 0.0 multiplex: 8 muxValMax: 0 muxValMin: 0 mux_val: 8 mux_value: null muxerForSignal: null name: StatusK1Close offset: 0.0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: 7 muxValMax: 0 muxValMin: 0 mux_val: 7 mux_value: null muxerForSignal: null name: StatusMX2Open offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: ms - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 30000.0 min: 1.0 multiplex: 1 muxValMax: 0 muxValMin: 0 mux_val: 1 mux_value: null muxerForSignal: null name: V110to120pct offset: 1.0 receiver: [] signalsize: 16 startbit: 65 unit: ms size: 9 transmitter: [] - !!Frame _Id: 486523383 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: softwareRev receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: ControlSwRev offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1.0 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: InterfaceRev offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: '' - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: BuildTime offset: 0 receiver: [] signalsize: 32 startbit: 65 unit: '' size: 9 transmitter: [] - !!Frame _Id: 486524407 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusControlVoltage receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v5p0_Supply offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v3p3_Supply offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v24_Supply offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: v15_Supply offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: V size: 9 transmitter: [] - !!Frame _Id: 486524663 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: true is_j1939: false mux_names: {} name: StatusControlVolts2 receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 0.01 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: n15V_Supply offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: DiodeTemperature offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: C - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: IGBTTemperature offset: 0 receiver: [] signalsize: 16 startbit: 65 unit: C size: 9 transmitter: [] - !!Frame _Id: 486524919 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '100', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: StatusDCParameters receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCInput_measured offset: 0 receiver: [] signalsize: 16 startbit: 17 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: VoltageDCBus offset: 0 receiver: [] signalsize: 16 startbit: 33 unit: V - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 65535.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: CurrentDC_measured offset: 0 receiver: [] signalsize: 16 startbit: 49 unit: A size: 8 transmitter: [] - !!Frame _Id: 486526199 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: serialNumber receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 4294967295.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: SerialNumber offset: 0 receiver: [] signalsize: 32 startbit: 33 unit: '' size: 8 transmitter: [] - !!Frame _Id: 486526455 _j1939_pgn: null _j1939_prio: 0 _j1939_source: 0 attributes: {GenMsgCycleTime: '0', GenMsgSendType: ''} comment: null extended: false is_complex_multiplexed: false is_fd: false is_j1939: false mux_names: {} name: softwareRevHash receiver: [] signalGroups: [] signals: - !!python/object:canmatrix.canmatrix.Signal _values: {} attributes: {} calc_max_for_none: true calc_min_for_none: true comment: '' comments: {} enumeration: null factor: 1 is_float: false is_little_endian: false is_multiplexer: false is_signed: false max: 268435455.0 min: 0.0 multiplex: null muxValMax: 0 muxValMin: 0 mux_val: null mux_value: null muxerForSignal: null name: Hash offset: 0 receiver: [] signalsize: 28 startbit: 37 unit: '' size: 8 transmitter: [] globalDefines: {} signalDefines: GenSigSNA: !!python/object:canmatrix.canmatrix.Define {defaultValue: null, definition: STRING, max: null, min: null, type: STRING} valueTables: {} canmatrix-0.9.5/test/test.arxml000066400000000000000000017070401416730473300165370ustar00rootroot00000000000000 Cluster CAN CAN CommandModeControl /Frame/FRAME_CommandModeControl /Cluster/CAN/IPDUTRIGG_CommandModeControl EXTENDED 16755521 CommandPower /Frame/FRAME_CommandPower /Cluster/CAN/IPDUTRIGG_CommandPower EXTENDED 218082369 CommandVF /Frame/FRAME_CommandVF /Cluster/CAN/IPDUTRIGG_CommandVF EXTENDED 218082881 MasterMeasuredPower /Frame/FRAME_MasterMeasuredPower /Cluster/CAN/IPDUTRIGG_MasterMeasuredPower EXTENDED 218090230 CommandFactoryControl /Frame/FRAME_CommandFactoryControl /Cluster/CAN/IPDUTRIGG_CommandFactoryControl EXTENDED 218083137 CommandSetNVParam /Frame/FRAME_CommandSetNVParam /Cluster/CAN/IPDUTRIGG_CommandSetNVParam EXTENDED 218081857 CommandModeControlAPU2 /Frame/FRAME_CommandModeControlAPU2 /Cluster/CAN/IPDUTRIGG_CommandModeControlAPU2 EXTENDED 16751425 CommandPowerAPU2 /Frame/FRAME_CommandPowerAPU2 /Cluster/CAN/IPDUTRIGG_CommandPowerAPU2 EXTENDED 218078273 CommandVFAPU2 /Frame/FRAME_CommandVFAPU2 /Cluster/CAN/IPDUTRIGG_CommandVFAPU2 EXTENDED 218078785 MasterMeasuredPowerAPU2 /Frame/FRAME_MasterMeasuredPowerAPU2 /Cluster/CAN/IPDUTRIGG_MasterMeasuredPowerAPU2 EXTENDED 218090231 justString /Frame/FRAME_justString /Cluster/CAN/IPDUTRIGG_justString EXTENDED 486517952 stringAndOther /Frame/FRAME_stringAndOther /Cluster/CAN/IPDUTRIGG_stringAndOther EXTENDED 486517696 StatusMeasuredPower /Frame/FRAME_StatusMeasuredPower /Cluster/CAN/IPDUTRIGG_StatusMeasuredPower EXTENDED 218090231 StatusCommandedPower /Frame/FRAME_StatusCommandedPower /Cluster/CAN/IPDUTRIGG_StatusCommandedPower EXTENDED 419415287 StatusBits /Frame/FRAME_StatusBits /Cluster/CAN/IPDUTRIGG_StatusBits EXTENDED 218088439 StatusControlVoltage /Frame/FRAME_StatusControlVoltage /Cluster/CAN/IPDUTRIGG_StatusControlVoltage EXTENDED 486524407 StatusTemps /Frame/FRAME_StatusTemps /Cluster/CAN/IPDUTRIGG_StatusTemps EXTENDED 419417079 StatusFaults /Frame/FRAME_StatusFaults /Cluster/CAN/IPDUTRIGG_StatusFaults EXTENDED 218089719 StatusACParameters /Frame/FRAME_StatusACParameters /Cluster/CAN/IPDUTRIGG_StatusACParameters EXTENDED 218088183 StatusDCParameters /Frame/FRAME_StatusDCParameters /Cluster/CAN/IPDUTRIGG_StatusDCParameters EXTENDED 486524919 StatusControlVolts2 /Frame/FRAME_StatusControlVolts2 /Cluster/CAN/IPDUTRIGG_StatusControlVolts2 EXTENDED 486524663 softwareRev /Frame/FRAME_softwareRev /Cluster/CAN/IPDUTRIGG_softwareRev EXTENDED 486523383 StatusCommandVF /Frame/FRAME_StatusCommandVF /Cluster/CAN/IPDUTRIGG_StatusCommandVF EXTENDED 419416567 serialNumber /Frame/FRAME_serialNumber /Cluster/CAN/IPDUTRIGG_serialNumber EXTENDED 486526199 softwareRevHash /Frame/FRAME_softwareRevHash /Cluster/CAN/IPDUTRIGG_softwareRevHash EXTENDED 486526455 StatusNVParam /Frame/FRAME_StatusNVParam /Cluster/CAN/IPDUTRIGG_StatusNVParam EXTENDED 486517239 StatusLineCurrents /Frame/FRAME_StatusLineCurrents /Cluster/CAN/IPDUTRIGG_StatusLineCurrents EXTENDED 419418359 StatusLineVoltages /Frame/FRAME_StatusLineVoltages /Cluster/CAN/IPDUTRIGG_StatusLineVoltages EXTENDED 419418615 IPDUTRIGG_CommandModeControl /PDU/PDU_CommandModeControl IPDUTRIGG_CommandPower /PDU/PDU_CommandPower IPDUTRIGG_CommandVF /PDU/PDU_CommandVF IPDUTRIGG_MasterMeasuredPower /PDU/PDU_MasterMeasuredPower IPDUTRIGG_CommandFactoryControl /PDU/PDU_CommandFactoryControl IPDUTRIGG_CommandSetNVParam /PDU/PDU_CommandSetNVParam IPDUTRIGG_CommandModeControlAPU2 /PDU/PDU_CommandModeControlAPU2 IPDUTRIGG_CommandPowerAPU2 /PDU/PDU_CommandPowerAPU2 IPDUTRIGG_CommandVFAPU2 /PDU/PDU_CommandVFAPU2 IPDUTRIGG_MasterMeasuredPowerAPU2 /PDU/PDU_MasterMeasuredPowerAPU2 IPDUTRIGG_justString /PDU/PDU_justString IPDUTRIGG_stringAndOther /PDU/PDU_stringAndOther IPDUTRIGG_StatusMeasuredPower /PDU/PDU_StatusMeasuredPower IPDUTRIGG_StatusCommandedPower /PDU/PDU_StatusCommandedPower IPDUTRIGG_StatusBits /PDU/PDU_StatusBits IPDUTRIGG_StatusControlVoltage /PDU/PDU_StatusControlVoltage IPDUTRIGG_StatusTemps /PDU/PDU_StatusTemps IPDUTRIGG_StatusFaults /PDU/PDU_StatusFaults IPDUTRIGG_StatusACParameters /PDU/PDU_StatusACParameters IPDUTRIGG_StatusDCParameters /PDU/PDU_StatusDCParameters IPDUTRIGG_StatusControlVolts2 /PDU/PDU_StatusControlVolts2 IPDUTRIGG_softwareRev /PDU/PDU_softwareRev IPDUTRIGG_StatusCommandVF /PDU/PDU_StatusCommandVF IPDUTRIGG_serialNumber /PDU/PDU_serialNumber IPDUTRIGG_softwareRevHash /PDU/PDU_softwareRevHash IPDUTRIGG_StatusNVParam /PDU/PDU_StatusNVParam IPDUTRIGG_StatusLineCurrents /PDU/PDU_StatusLineCurrents IPDUTRIGG_StatusLineVoltages /PDU/PDU_StatusLineVoltages Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower command /ISignal/RealPower command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured WriteSerialNumber /ISignal/WriteSerialNumber SerialNumber /ISignal/SerialNumber FactoryAccess /ISignal/FactoryAccess CommandSetNVParam_MUX /ISignal/CommandSetNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi NodeID /ISignal/NodeID SA_Mask /ISignal/SA_Mask Baudrate /ISignal/Baudrate ThermalOverload /ISignal/ThermalOverload MX1Open /ISignal/MX1Open MX1Close /ISignal/MX1Close MX2Open /ISignal/MX2Open MX2Close /ISignal/MX2Close K1Open /ISignal/K1Open K1Close /ISignal/K1Close K2Open /ISignal/K2Open K2Close /ISignal/K2Close Enable_command /ISignal/Enable_command FaultClear_command /ISignal/FaultClear_command InvertHwEnable_command /ISignal/InvertHwEnable_command EnableUPSMode_command /ISignal/EnableUPSMode_command EnableSplitPhase_command /ISignal/EnableSplitPhase_command ForceRelayMX1_command /ISignal/ForceRelayMX1_command ForceRelayMX2_command /ISignal/ForceRelayMX2_command ForceRelayK1_Precharge_command /ISignal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /ISignal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /ISignal/PhaseRotation_command MasterFollowerMode_command /ISignal/MasterFollowerMode_command RealPower_command /ISignal/RealPower_command ReactivePower_command /ISignal/ReactivePower_command Voltage_command /ISignal/Voltage_command Frequency_command /ISignal/Frequency_command RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_measured /ISignal/RealPower_measured RealPower_measured /ISignal/RealPower_measured ReactivePower_measured /ISignal/ReactivePower_measured RealPower_echo /ISignal/RealPower_echo ReactivePower_echo /ISignal/ReactivePower_echo State_status /ISignal/State_status MX2Permissive_status /ISignal/MX2Permissive_status PowerAvailAC_status /ISignal/PowerAvailAC_status PowerAvailDC_status /ISignal/PowerAvailDC_status PowerCircuitEnabled_status /ISignal/PowerCircuitEnabled_status HardwareEnable_status /ISignal/HardwareEnable_status Enable_echo /ISignal/Enable_echo FaultClr_echo /ISignal/FaultClr_echo MessageValidModeControl_status /ISignal/MessageValidModeControl_status MX1Permissive_status /ISignal/MX1Permissive_status K2DCRunPermissive_status /ISignal/K2DCRunPermissive_status K1PrechargePermissive_status /ISignal/K1PrechargePermissive_status MessageValidPowerCMD_status /ISignal/MessageValidPowerCMD_status MessageValidVF_status /ISignal/MessageValidVF_status CANbus_status /ISignal/CANbus_status EnableUPSMode_echo /ISignal/EnableUPSMode_echo EnableSplitPhase_echo /ISignal/EnableSplitPhase_echo PhaseRotation_status /ISignal/PhaseRotation_status LineVoltageDetected_status /ISignal/LineVoltageDetected_status PhaseRotation_echo /ISignal/PhaseRotation_echo v5p0_Supply /ISignal/v5p0_Supply v3p3_Supply /ISignal/v3p3_Supply v24_Supply /ISignal/v24_Supply v15_Supply /ISignal/v15_Supply TempInlet_measured /ISignal/TempInlet_measured TempInternal_measured /ISignal/TempInternal_measured ConverterLosses /ISignal/ConverterLosses BridgeAVoltageOk_status /ISignal/BridgeAVoltageOk_status OvercurrentAC_status /ISignal/OvercurrentAC_status BridgeBVoltageOk_status /ISignal/BridgeBVoltageOk_status OvervoltageDC_status /ISignal/OvervoltageDC_status OvertempPowerDevice_status /ISignal/OvertempPowerDevice_status OvertempInternal_status /ISignal/OvertempInternal_status LossValidControlMessage_status /ISignal/LossValidControlMessage_status UndervoltageDC_status /ISignal/UndervoltageDC_status ControlHardwareFail_status /ISignal/ControlHardwareFail_status OvercurrentDC_status /ISignal/OvercurrentDC_status GeneralFault_status /ISignal/GeneralFault_status LossOfAC_status /ISignal/LossOfAC_status EStopShutdown_status /ISignal/EStopShutdown_status BridgeAFault_status /ISignal/BridgeAFault_status BridgeBFault_status /ISignal/BridgeBFault_status IllegalTransition_status /ISignal/IllegalTransition_status InvalidEEHeader_status /ISignal/InvalidEEHeader_status InvalidEESection_status /ISignal/InvalidEESection_status ThermalOverload /ISignal/ThermalOverload VoltageAC_measured /ISignal/VoltageAC_measured CurrentAC_measured /ISignal/CurrentAC_measured Frequency_measured /ISignal/Frequency_measured VoltageDCBus /ISignal/VoltageDCBus CurrentDC_measured /ISignal/CurrentDC_measured VoltageDCInput_measured /ISignal/VoltageDCInput_measured n15V_Supply /ISignal/n15V_Supply DiodeTemperature /ISignal/DiodeTemperature IGBTTemperature /ISignal/IGBTTemperature InterfaceRev /ISignal/InterfaceRev ControlSwRev /ISignal/ControlSwRev BuildTime /ISignal/BuildTime Voltage_echo /ISignal/Voltage_echo Frequency_echo /ISignal/Frequency_echo SerialNumber /ISignal/SerialNumber Hash /ISignal/Hash StatusNVParam_MUX /ISignal/StatusNVParam_MUX Dummy /ISignal/Dummy VUnder50pct /ISignal/VUnder50pct V50to88pct /ISignal/V50to88pct V110to120pct /ISignal/V110to120pct VOver120 /ISignal/VOver120 FreqHi /ISignal/FreqHi FreqLo /ISignal/FreqLo FreqVeryLo /ISignal/FreqVeryLo FreqVeryLo /ISignal/FreqVeryLo FreqLo /ISignal/FreqLo FreqHi /ISignal/FreqHi StatusNodeID /ISignal/StatusNodeID StatusSA_Mask /ISignal/StatusSA_Mask StatusBaudrate /ISignal/StatusBaudrate StatusThermalOverload /ISignal/StatusThermalOverload StatusMX1Open /ISignal/StatusMX1Open StatusMX1Close /ISignal/StatusMX1Close StatusMX2Open /ISignal/StatusMX2Open StatusMX2Close /ISignal/StatusMX2Close StatusK1Open /ISignal/StatusK1Open StatusK1Close /ISignal/StatusK1Close StatusK2Open /ISignal/StatusK2Open StatusK2Close /ISignal/StatusK2Close L1Current_measured /ISignal/L1Current_measured L2Current_measured /ISignal/L2Current_measured L3Current_measured /ISignal/L3Current_measured L1Voltage_measured /ISignal/L1Voltage_measured L2Voltage_measured /ISignal/L2Voltage_measured L3Voltage_measured /ISignal/L3Voltage_measured Frame FRAME_CommandModeControl Operational commands are received by the module via control bits within this message. 8 CommandModeControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControl 0 FRAME_CommandPower Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPower 0 FRAME_CommandVF Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVF 0 FRAME_MasterMeasuredPower Returns the actual measured power. 8 MasterMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPower 0 FRAME_CommandFactoryControl 8 CommandFactoryControl MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandFactoryControl 0 FRAME_CommandSetNVParam Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') 8 CommandSetNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandSetNVParam 0 FRAME_CommandModeControlAPU2 Operational commands are received by the module via control bits within this message. 8 CommandModeControlAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandModeControlAPU2 0 FRAME_CommandPowerAPU2 Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. 8 CommandPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandPowerAPU2 0 FRAME_CommandVFAPU2 Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. 8 CommandVFAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_CommandVFAPU2 0 FRAME_MasterMeasuredPowerAPU2 Returns the actual measured power. 8 MasterMeasuredPowerAPU2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_MasterMeasuredPowerAPU2 0 FRAME_justString 8 justString MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_justString 0 FRAME_stringAndOther 8 stringAndOther MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_stringAndOther 0 FRAME_StatusMeasuredPower Returns the actual measured power. 8 StatusMeasuredPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusMeasuredPower 0 FRAME_StatusCommandedPower Echoes the commanded power (P&Q) as received in CommandPQ. 8 StatusCommandedPower MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandedPower 0 FRAME_StatusBits Bits representing the status of the power module. 8 StatusBits MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusBits 0 FRAME_StatusControlVoltage Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) 8 StatusControlVoltage MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVoltage 0 FRAME_StatusTemps Returns the inlet water temperature to the module as well as module internal ambient temperature. 8 StatusTemps MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusTemps 0 FRAME_StatusFaults Fault bits. 8 StatusFaults MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusFaults 0 FRAME_StatusACParameters RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. 8 StatusACParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusACParameters 0 FRAME_StatusDCParameters Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. 8 StatusDCParameters MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusDCParameters 0 FRAME_StatusControlVolts2 Present voltage of the -15V power supply on the control board. 8 StatusControlVolts2 MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusControlVolts2 0 FRAME_softwareRev Software revision. 8 softwareRev MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRev 0 FRAME_StatusCommandVF Echoes the voltage and frequency commands from commandVF. 8 StatusCommandVF MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusCommandVF 0 FRAME_serialNumber Serial number of the power module. 8 serialNumber MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_serialNumber 0 FRAME_softwareRevHash Unique software revision identification hashcode. 8 softwareRevHash MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_softwareRevHash 0 FRAME_StatusNVParam Echos back parameter values. 8 StatusNVParam MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusNVParam 0 FRAME_StatusLineCurrents Measured RMS line currents. 8 StatusLineCurrents MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineCurrents 0 FRAME_StatusLineVoltages Measured RMS line voltages. 8 StatusLineVoltages MOST-SIGNIFICANT-BYTE-LAST /PDU/PDU_StatusLineVoltages 0 PDU PDU_CommandModeControl 64 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 1 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 3 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 57 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 59 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 61 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 33 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 35 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 37 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 39 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 63 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 17 PDU_CommandPower 64 RealPower command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower command 7 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 39 PDU_CommandVF 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 7 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 23 PDU_MasterMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_CommandFactoryControl 64 WriteSerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/WriteSerialNumber 1 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 39 FactoryAccess MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FactoryAccess 23 PDU_CommandSetNVParam 64 CommandSetNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CommandSetNVParam_MUX 7 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 23 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 23 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 39 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 55 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 23 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 55 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 55 NodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/NodeID 23 SA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SA_Mask 31 Baudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Baudrate 39 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 17 MX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Open 23 MX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Close 39 MX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Open 55 MX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Close 23 K1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Open 39 K1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1Close 55 K2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Open 23 K2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2Close 39 PDU_CommandModeControlAPU2 64 Enable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_command 1 FaultClear_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClear_command 3 InvertHwEnable_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvertHwEnable_command 57 EnableUPSMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_command 59 EnableSplitPhase_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_command 61 ForceRelayMX1_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX1_command 33 ForceRelayMX2_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayMX2_command 35 ForceRelayK1_Precharge_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayK1_Precharge_command 37 ForceRelayRelayK2_DCRun_comand MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ForceRelayRelayK2_DCRun_comand 39 PhaseRotation_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_command 63 MasterFollowerMode_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MasterFollowerMode_command 17 PDU_CommandPowerAPU2 64 RealPower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_command 7 ReactivePower_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_command 39 PDU_CommandVFAPU2 64 Voltage_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_command 7 Frequency_command MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_command 23 PDU_MasterMeasuredPowerAPU2 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_justString 64 PDU_stringAndOther 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 PDU_StatusMeasuredPower 64 RealPower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_measured 7 ReactivePower_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_measured 39 PDU_StatusCommandedPower 64 RealPower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/RealPower_echo 7 ReactivePower_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ReactivePower_echo 39 PDU_StatusBits 64 State_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/State_status 3 MX2Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX2Permissive_status 19 PowerAvailAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailAC_status 11 PowerAvailDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerAvailDC_status 13 PowerCircuitEnabled_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PowerCircuitEnabled_status 15 HardwareEnable_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/HardwareEnable_status 9 Enable_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Enable_echo 5 FaultClr_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FaultClr_echo 7 MessageValidModeControl_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidModeControl_status 25 MX1Permissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MX1Permissive_status 17 K2DCRunPermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K2DCRunPermissive_status 23 K1PrechargePermissive_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/K1PrechargePermissive_status 21 MessageValidPowerCMD_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidPowerCMD_status 27 MessageValidVF_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/MessageValidVF_status 29 CANbus_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CANbus_status 31 EnableUPSMode_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableUPSMode_echo 33 EnableSplitPhase_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EnableSplitPhase_echo 35 PhaseRotation_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_status 37 LineVoltageDetected_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LineVoltageDetected_status 39 PhaseRotation_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/PhaseRotation_echo 41 PDU_StatusControlVoltage 64 v5p0_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v5p0_Supply 7 v3p3_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v3p3_Supply 23 v24_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v24_Supply 39 v15_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/v15_Supply 55 PDU_StatusTemps 64 TempInlet_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInlet_measured 7 TempInternal_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/TempInternal_measured 23 ConverterLosses MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ConverterLosses 39 PDU_StatusFaults 64 BridgeAVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAVoltageOk_status 59 OvercurrentAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentAC_status 3 BridgeBVoltageOk_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBVoltageOk_status 43 OvervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvervoltageDC_status 9 OvertempPowerDevice_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempPowerDevice_status 15 OvertempInternal_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvertempInternal_status 13 LossValidControlMessage_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossValidControlMessage_status 23 UndervoltageDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/UndervoltageDC_status 11 ControlHardwareFail_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlHardwareFail_status 19 OvercurrentDC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/OvercurrentDC_status 7 GeneralFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/GeneralFault_status 1 LossOfAC_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/LossOfAC_status 5 EStopShutdown_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/EStopShutdown_status 25 BridgeAFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeAFault_status 58 BridgeBFault_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BridgeBFault_status 42 IllegalTransition_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IllegalTransition_status 27 InvalidEEHeader_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEEHeader_status 29 InvalidEESection_status MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InvalidEESection_status 31 ThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ThermalOverload 33 PDU_StatusACParameters 64 VoltageAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageAC_measured 7 CurrentAC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentAC_measured 23 Frequency_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_measured 39 PDU_StatusDCParameters 64 VoltageDCBus MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCBus 23 CurrentDC_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/CurrentDC_measured 39 VoltageDCInput_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VoltageDCInput_measured 7 PDU_StatusControlVolts2 64 n15V_Supply MOST-SIGNIFICANT-BYTE-FIRST /ISignal/n15V_Supply 7 DiodeTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/DiodeTemperature 39 IGBTTemperature MOST-SIGNIFICANT-BYTE-FIRST /ISignal/IGBTTemperature 55 PDU_softwareRev 64 InterfaceRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/InterfaceRev 23 ControlSwRev MOST-SIGNIFICANT-BYTE-FIRST /ISignal/ControlSwRev 7 BuildTime MOST-SIGNIFICANT-BYTE-FIRST /ISignal/BuildTime 39 PDU_StatusCommandVF 64 Voltage_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Voltage_echo 7 Frequency_echo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Frequency_echo 23 PDU_serialNumber 64 SerialNumber MOST-SIGNIFICANT-BYTE-FIRST /ISignal/SerialNumber 7 PDU_softwareRevHash 64 Hash MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Hash 7 PDU_StatusNVParam 64 StatusNVParam_MUX MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNVParam_MUX 7 Dummy MOST-SIGNIFICANT-BYTE-FIRST /ISignal/Dummy 23 VUnder50pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VUnder50pct 23 V50to88pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V50to88pct 39 V110to120pct MOST-SIGNIFICANT-BYTE-FIRST /ISignal/V110to120pct 55 VOver120 MOST-SIGNIFICANT-BYTE-FIRST /ISignal/VOver120 23 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 55 FreqVeryLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqVeryLo 23 FreqLo MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqLo 39 FreqHi MOST-SIGNIFICANT-BYTE-FIRST /ISignal/FreqHi 55 StatusNodeID MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusNodeID 23 StatusSA_Mask MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusSA_Mask 31 StatusBaudrate MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusBaudrate 39 StatusThermalOverload MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusThermalOverload 17 StatusMX1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Open 23 StatusMX1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX1Close 39 StatusMX2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Open 55 StatusMX2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusMX2Close 23 StatusK1Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Open 39 StatusK1Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK1Close 55 StatusK2Open MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Open 23 StatusK2Close MOST-SIGNIFICANT-BYTE-FIRST /ISignal/StatusK2Close 39 PDU_StatusLineCurrents 64 L1Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Current_measured 7 L2Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Current_measured 23 L3Current_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Current_measured 39 PDU_StatusLineVoltages 64 L1Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L1Voltage_measured 7 L2Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L2Voltage_measured 23 L3Voltage_measured MOST-SIGNIFICANT-BYTE-FIRST /ISignal/L3Voltage_measured 39 ISignal Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower command /Signal/RealPower command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured WriteSerialNumber /Signal/WriteSerialNumber SerialNumber /Signal/SerialNumber FactoryAccess /Signal/FactoryAccess CommandSetNVParam_MUX /Signal/CommandSetNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi NodeID /Signal/NodeID SA_Mask /Signal/SA_Mask Baudrate /Signal/Baudrate ThermalOverload /Signal/ThermalOverload MX1Open /Signal/MX1Open MX1Close /Signal/MX1Close MX2Open /Signal/MX2Open MX2Close /Signal/MX2Close K1Open /Signal/K1Open K1Close /Signal/K1Close K2Open /Signal/K2Open K2Close /Signal/K2Close Enable_command /Signal/Enable_command FaultClear_command /Signal/FaultClear_command InvertHwEnable_command /Signal/InvertHwEnable_command EnableUPSMode_command /Signal/EnableUPSMode_command EnableSplitPhase_command /Signal/EnableSplitPhase_command ForceRelayMX1_command /Signal/ForceRelayMX1_command ForceRelayMX2_command /Signal/ForceRelayMX2_command ForceRelayK1_Precharge_command /Signal/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /Signal/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /Signal/PhaseRotation_command MasterFollowerMode_command /Signal/MasterFollowerMode_command RealPower_command /Signal/RealPower_command ReactivePower_command /Signal/ReactivePower_command Voltage_command /Signal/Voltage_command Frequency_command /Signal/Frequency_command RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_measured /Signal/RealPower_measured RealPower_measured /Signal/RealPower_measured ReactivePower_measured /Signal/ReactivePower_measured RealPower_echo /Signal/RealPower_echo ReactivePower_echo /Signal/ReactivePower_echo State_status /Signal/State_status MX2Permissive_status /Signal/MX2Permissive_status PowerAvailAC_status /Signal/PowerAvailAC_status PowerAvailDC_status /Signal/PowerAvailDC_status PowerCircuitEnabled_status /Signal/PowerCircuitEnabled_status HardwareEnable_status /Signal/HardwareEnable_status Enable_echo /Signal/Enable_echo FaultClr_echo /Signal/FaultClr_echo MessageValidModeControl_status /Signal/MessageValidModeControl_status MX1Permissive_status /Signal/MX1Permissive_status K2DCRunPermissive_status /Signal/K2DCRunPermissive_status K1PrechargePermissive_status /Signal/K1PrechargePermissive_status MessageValidPowerCMD_status /Signal/MessageValidPowerCMD_status MessageValidVF_status /Signal/MessageValidVF_status CANbus_status /Signal/CANbus_status EnableUPSMode_echo /Signal/EnableUPSMode_echo EnableSplitPhase_echo /Signal/EnableSplitPhase_echo PhaseRotation_status /Signal/PhaseRotation_status LineVoltageDetected_status /Signal/LineVoltageDetected_status PhaseRotation_echo /Signal/PhaseRotation_echo v5p0_Supply /Signal/v5p0_Supply v3p3_Supply /Signal/v3p3_Supply v24_Supply /Signal/v24_Supply v15_Supply /Signal/v15_Supply TempInlet_measured /Signal/TempInlet_measured TempInternal_measured /Signal/TempInternal_measured ConverterLosses /Signal/ConverterLosses BridgeAVoltageOk_status /Signal/BridgeAVoltageOk_status OvercurrentAC_status /Signal/OvercurrentAC_status BridgeBVoltageOk_status /Signal/BridgeBVoltageOk_status OvervoltageDC_status /Signal/OvervoltageDC_status OvertempPowerDevice_status /Signal/OvertempPowerDevice_status OvertempInternal_status /Signal/OvertempInternal_status LossValidControlMessage_status /Signal/LossValidControlMessage_status UndervoltageDC_status /Signal/UndervoltageDC_status ControlHardwareFail_status /Signal/ControlHardwareFail_status OvercurrentDC_status /Signal/OvercurrentDC_status GeneralFault_status /Signal/GeneralFault_status LossOfAC_status /Signal/LossOfAC_status EStopShutdown_status /Signal/EStopShutdown_status BridgeAFault_status /Signal/BridgeAFault_status BridgeBFault_status /Signal/BridgeBFault_status IllegalTransition_status /Signal/IllegalTransition_status InvalidEEHeader_status /Signal/InvalidEEHeader_status InvalidEESection_status /Signal/InvalidEESection_status ThermalOverload /Signal/ThermalOverload VoltageAC_measured /Signal/VoltageAC_measured CurrentAC_measured /Signal/CurrentAC_measured Frequency_measured /Signal/Frequency_measured VoltageDCBus /Signal/VoltageDCBus CurrentDC_measured /Signal/CurrentDC_measured VoltageDCInput_measured /Signal/VoltageDCInput_measured n15V_Supply /Signal/n15V_Supply DiodeTemperature /Signal/DiodeTemperature IGBTTemperature /Signal/IGBTTemperature InterfaceRev /Signal/InterfaceRev ControlSwRev /Signal/ControlSwRev BuildTime /Signal/BuildTime Voltage_echo /Signal/Voltage_echo Frequency_echo /Signal/Frequency_echo SerialNumber /Signal/SerialNumber Hash /Signal/Hash StatusNVParam_MUX /Signal/StatusNVParam_MUX Dummy /Signal/Dummy VUnder50pct /Signal/VUnder50pct V50to88pct /Signal/V50to88pct V110to120pct /Signal/V110to120pct VOver120 /Signal/VOver120 FreqHi /Signal/FreqHi FreqLo /Signal/FreqLo FreqVeryLo /Signal/FreqVeryLo FreqVeryLo /Signal/FreqVeryLo FreqLo /Signal/FreqLo FreqHi /Signal/FreqHi StatusNodeID /Signal/StatusNodeID StatusSA_Mask /Signal/StatusSA_Mask StatusBaudrate /Signal/StatusBaudrate StatusThermalOverload /Signal/StatusThermalOverload StatusMX1Open /Signal/StatusMX1Open StatusMX1Close /Signal/StatusMX1Close StatusMX2Open /Signal/StatusMX2Open StatusMX2Close /Signal/StatusMX2Close StatusK1Open /Signal/StatusK1Open StatusK1Close /Signal/StatusK1Close StatusK2Open /Signal/StatusK2Open StatusK2Close /Signal/StatusK2Close L1Current_measured /Signal/L1Current_measured L2Current_measured /Signal/L2Current_measured L3Current_measured /Signal/L3Current_measured L1Voltage_measured /Signal/L1Voltage_measured L2Voltage_measured /Signal/L2Voltage_measured L3Voltage_measured /Signal/L3Voltage_measured Signal Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 32760 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 WriteSerialNumber /DataType/WriteSerialNumber 2 SerialNumber /DataType/SerialNumber 32 FactoryAccess /DataType/FactoryAccess 16 CommandSetNVParam_MUX /DataType/CommandSetNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VUnder50pct 16 V50to88pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V50to88pct 16 V110to120pct Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/V110to120pct 16 VOver120 Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. /DataType/VOver120 16 FreqHi Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. /DataType/FreqHi 16 FreqLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqLo 16 FreqVeryLo Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. /DataType/FreqVeryLo 16 FreqVeryLo Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqVeryLo 16 FreqLo Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqLo 16 FreqHi Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. /DataType/FreqHi 16 NodeID J1939 Source Address node for the module. /DataType/NodeID 8 SA_Mask Not presently used. /DataType/SA_Mask 8 Baudrate CAN baudrate /DataType/Baudrate 4 ThermalOverload Configures action to take when thermal overload input is active. /DataType/ThermalOverload 2 MX1Open Maximum time required for the MX1 contactor to open. /DataType/MX1Open 16 MX1Close Maximum time required for the MX1 contactor to close. /DataType/MX1Close 16 MX2Open Maximum time required for the MX2 contactor to open. /DataType/MX2Open 16 MX2Close Maximum time required for the MX2 contactor to open. /DataType/MX2Close 16 K1Open Maximum time required for the K1 contactor to open. /DataType/K1Open 16 K1Close Maximum time required for the K1 contactor to close. /DataType/K1Close 16 K2Open Maximum time required for the K2 contactor to open. /DataType/K2Open 16 K2Close Maximum time required for the K2 contactor to close. /DataType/K2Close 16 Enable_command Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. /DataType/Enable_command 2 FaultClear_command Clears the latched fault message. /DataType/FaultClear_command 2 InvertHwEnable_command Inverts the logic of the Hardware Enable input. /DataType/InvertHwEnable_command 2 EnableUPSMode_command Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. /DataType/EnableUPSMode_command 2 EnableSplitPhase_command Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. /DataType/EnableSplitPhase_command 2 ForceRelayMX1_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX1_command 2 ForceRelayMX2_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayMX2_command 2 ForceRelayK1_Precharge_command If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayK1_Precharge_command 2 ForceRelayRelayK2_DCRun_comand If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. /DataType/ForceRelayRelayK2_DCRun_comand 2 PhaseRotation_command Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING /DataType/PhaseRotation_command 2 MasterFollowerMode_command Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. /DataType/MasterFollowerMode_command 2 RealPower_command Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. /DataType/RealPower_command 32 ReactivePower_command Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. /DataType/ReactivePower_command 32 Voltage_command Desired output voltage while in grid forming mode. /DataType/Voltage_command 16 Frequency_command Desired output frequency while in grid forming mode. /DataType/Frequency_command 16 RealPower_measured Measured real power of master unit. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power of master unit. /DataType/ReactivePower_measured 32 RealPower_measured Measured real power. /DataType/RealPower_measured 32 RealPower_measured Measured real power. /DataType/RealPower_measured 32 ReactivePower_measured Measured reactive power. /DataType/ReactivePower_measured 32 RealPower_echo Echoed real power command. /DataType/RealPower_echo 32 ReactivePower_echo Echoed reactive power command. /DataType/ReactivePower_echo 32 State_status Active control mode. /DataType/State_status 4 MX2Permissive_status MX2 relay status /DataType/MX2Permissive_status 2 PowerAvailAC_status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. /DataType/PowerAvailAC_status 2 PowerAvailDC_status Indicates that DC bus voltage is within operating range. /DataType/PowerAvailDC_status 2 PowerCircuitEnabled_status Indicates whether the switching devices are active. /DataType/PowerCircuitEnabled_status 2 HardwareEnable_status Status of the hardware enable. /DataType/HardwareEnable_status 2 Enable_echo Echos the state of the Enable command withing the CommandModeControl message. /DataType/Enable_echo 2 FaultClr_echo Echos the state of the FaultClear command withing the CommandModeControl message. /DataType/FaultClr_echo 2 MessageValidModeControl_status Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidModeControl_status 2 MX1Permissive_status MX1 relay status /DataType/MX1Permissive_status 2 K2DCRunPermissive_status K2 DC Run relay status. /DataType/K2DCRunPermissive_status 2 K1PrechargePermissive_status K1 precharge relay status. /DataType/K1PrechargePermissive_status 2 MessageValidPowerCMD_status Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidPowerCMD_status 2 MessageValidVF_status Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. /DataType/MessageValidVF_status 2 CANbus_status Operational status of the CAN bus driver. /DataType/CANbus_status 2 EnableUPSMode_echo Echos the state of the EnableUPSMode command withing the CommandModeControl message. /DataType/EnableUPSMode_echo 2 EnableSplitPhase_echo Echos the state of the EnableSplitPhase command withing the CommandModeControl message. /DataType/EnableSplitPhase_echo 2 PhaseRotation_status Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. /DataType/PhaseRotation_status 2 LineVoltageDetected_status Flag indicating if voltage is detected on L1, L2 or L3. /DataType/LineVoltageDetected_status 2 PhaseRotation_echo Echos the state of PhaseRotation_command withing the CommandModeControl message. /DataType/PhaseRotation_echo 2 v5p0_Supply Present voltage of the control board 5V power suppy. /DataType/v5p0_Supply 16 v3p3_Supply Present voltage of the control board 3.3V power supply. /DataType/v3p3_Supply 16 v24_Supply Present voltage of the control board 24V power supply. /DataType/v24_Supply 16 v15_Supply Present voltage of the control board 15V power supply. /DataType/v15_Supply 16 TempInlet_measured Coolant inlet temperature /DataType/TempInlet_measured 16 TempInternal_measured Internal ambient temperature /DataType/TempInternal_measured 16 ConverterLosses Power converter thermal loss /DataType/ConverterLosses 16 BridgeAVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeAVoltageOk_status 1 OvercurrentAC_status Set immediately upon the software detection of AC current exceeding the threshold value. /DataType/OvercurrentAC_status 2 BridgeBVoltageOk_status Indicates whether a hardware trip has been activated. /DataType/BridgeBVoltageOk_status 1 OvervoltageDC_status Set immediately upon the software detection of DC voltage exceeding the threshold value. /DataType/OvervoltageDC_status 2 OvertempPowerDevice_status Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. /DataType/OvertempPowerDevice_status 2 OvertempInternal_status Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. /DataType/OvertempInternal_status 2 LossValidControlMessage_status Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. /DataType/LossValidControlMessage_status 4 UndervoltageDC_status Indicates loss of DC source voltage. /DataType/UndervoltageDC_status 2 ControlHardwareFail_status Set upon the failure of control hardware to return expected response. /DataType/ControlHardwareFail_status 4 OvercurrentDC_status Set immediately upon the software detection of DC current exceeding the threshold value. /DataType/OvercurrentDC_status 2 GeneralFault_status Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. /DataType/GeneralFault_status 2 LossOfAC_status In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. /DataType/LossOfAC_status 2 EStopShutdown_status Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. /DataType/EStopShutdown_status 2 BridgeAFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeAFault_status 3 BridgeBFault_status Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. /DataType/BridgeBFault_status 3 IllegalTransition_status Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. /DataType/IllegalTransition_status 2 InvalidEEHeader_status Indicates that reading of non-volatile parameters at power-up failed. /DataType/InvalidEEHeader_status 2 InvalidEESection_status Indicates that reading or writing of an non-volatile parameter section failed. /DataType/InvalidEESection_status 2 ThermalOverload /DataType/ThermalOverload 2 VoltageAC_measured Measured RMS AC voltage. /DataType/VoltageAC_measured 16 CurrentAC_measured Measured RMS AC current. /DataType/CurrentAC_measured 16 Frequency_measured Measured frequency. /DataType/Frequency_measured 16 VoltageDCBus Measured DC bus voltage. /DataType/VoltageDCBus 16 CurrentDC_measured Measured DC current. /DataType/CurrentDC_measured 16 VoltageDCInput_measured Estimated DC input voltage. /DataType/VoltageDCInput_measured 16 n15V_Supply Present voltage of the control board -15V power supply. /DataType/n15V_Supply 16 DiodeTemperature Hottest diode /DataType/DiodeTemperature 16 IGBTTemperature Hottest IGBT /DataType/IGBTTemperature 16 InterfaceRev Software revision of the CAN communication interface. /DataType/InterfaceRev 16 ControlSwRev Software revision of the control firmware. /DataType/ControlSwRev 16 BuildTime Build timestamp. /DataType/BuildTime 32 Voltage_echo Echoed voltage command /DataType/Voltage_echo 16 Frequency_echo Echoed frequency command. /DataType/Frequency_echo 16 SerialNumber Serial number of the power module. /DataType/SerialNumber 32 Hash Unique revision identification hashcode. /DataType/Hash 28 StatusNVParam_MUX /DataType/StatusNVParam_MUX 16 Dummy /DataType/Dummy 16 VUnder50pct /DataType/VUnder50pct 16 V50to88pct /DataType/V50to88pct 16 V110to120pct /DataType/V110to120pct 16 VOver120 /DataType/VOver120 16 FreqHi /DataType/FreqHi 16 FreqLo /DataType/FreqLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqVeryLo /DataType/FreqVeryLo 16 FreqLo /DataType/FreqLo 16 FreqHi /DataType/FreqHi 16 StatusNodeID J1939 Source Address node for the module /DataType/StatusNodeID 8 StatusSA_Mask Mask used to configure from which master source addresses to accept commands. /DataType/StatusSA_Mask 8 StatusBaudrate /DataType/StatusBaudrate 4 StatusThermalOverload Configured action to take when thermal overload input is active. /DataType/StatusThermalOverload 2 StatusMX1Open Maximum time required for the MX1 contactor to open. /DataType/StatusMX1Open 16 StatusMX1Close Maximum time required for the MX1 contactor to close. /DataType/StatusMX1Close 16 StatusMX2Open Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Open 16 StatusMX2Close Maximum time required for the MX2 contactor to open. /DataType/StatusMX2Close 16 StatusK1Open Maximum time required for the K1 contactor to open. /DataType/StatusK1Open 16 StatusK1Close Maximum time required for the K1 contactor to close. /DataType/StatusK1Close 16 StatusK2Open Maximum time required for the K2 contactor to open. /DataType/StatusK2Open 16 StatusK2Close Maximum time required for the K2 contactor to close. /DataType/StatusK2Close 16 L1Current_measured Measured L1 RMS line current. /DataType/L1Current_measured 16 L2Current_measured Measured L2 RMS line current. /DataType/L2Current_measured 16 L3Current_measured Measured L3 RMS line current. /DataType/L3Current_measured 16 L1Voltage_measured Measured L1 RMS line-neutral voltage /DataType/L1Voltage_measured 16 L2Voltage_measured Measured L2 RMS line-neutral voltage /DataType/L2Voltage_measured 16 L3Voltage_measured Measured L3 RMS line-neutral voltage /DataType/L3Voltage_measured 16 DataType Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower command /DataType/Semantics/RealPower command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured WriteSerialNumber /DataType/Semantics/WriteSerialNumber SerialNumber /DataType/Semantics/SerialNumber FactoryAccess /DataType/Semantics/FactoryAccess CommandSetNVParam_MUX /DataType/Semantics/CommandSetNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi NodeID /DataType/Semantics/NodeID SA_Mask /DataType/Semantics/SA_Mask Baudrate /DataType/Semantics/Baudrate ThermalOverload /DataType/Semantics/ThermalOverload MX1Open /DataType/Semantics/MX1Open MX1Close /DataType/Semantics/MX1Close MX2Open /DataType/Semantics/MX2Open MX2Close /DataType/Semantics/MX2Close K1Open /DataType/Semantics/K1Open K1Close /DataType/Semantics/K1Close K2Open /DataType/Semantics/K2Open K2Close /DataType/Semantics/K2Close Enable_command /DataType/Semantics/Enable_command FaultClear_command /DataType/Semantics/FaultClear_command InvertHwEnable_command /DataType/Semantics/InvertHwEnable_command EnableUPSMode_command /DataType/Semantics/EnableUPSMode_command EnableSplitPhase_command /DataType/Semantics/EnableSplitPhase_command ForceRelayMX1_command /DataType/Semantics/ForceRelayMX1_command ForceRelayMX2_command /DataType/Semantics/ForceRelayMX2_command ForceRelayK1_Precharge_command /DataType/Semantics/ForceRelayK1_Precharge_command ForceRelayRelayK2_DCRun_comand /DataType/Semantics/ForceRelayRelayK2_DCRun_comand PhaseRotation_command /DataType/Semantics/PhaseRotation_command MasterFollowerMode_command /DataType/Semantics/MasterFollowerMode_command RealPower_command /DataType/Semantics/RealPower_command ReactivePower_command /DataType/Semantics/ReactivePower_command Voltage_command /DataType/Semantics/Voltage_command Frequency_command /DataType/Semantics/Frequency_command RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_measured /DataType/Semantics/RealPower_measured RealPower_measured /DataType/Semantics/RealPower_measured ReactivePower_measured /DataType/Semantics/ReactivePower_measured RealPower_echo /DataType/Semantics/RealPower_echo ReactivePower_echo /DataType/Semantics/ReactivePower_echo State_status /DataType/Semantics/State_status MX2Permissive_status /DataType/Semantics/MX2Permissive_status PowerAvailAC_status /DataType/Semantics/PowerAvailAC_status PowerAvailDC_status /DataType/Semantics/PowerAvailDC_status PowerCircuitEnabled_status /DataType/Semantics/PowerCircuitEnabled_status HardwareEnable_status /DataType/Semantics/HardwareEnable_status Enable_echo /DataType/Semantics/Enable_echo FaultClr_echo /DataType/Semantics/FaultClr_echo MessageValidModeControl_status /DataType/Semantics/MessageValidModeControl_status MX1Permissive_status /DataType/Semantics/MX1Permissive_status K2DCRunPermissive_status /DataType/Semantics/K2DCRunPermissive_status K1PrechargePermissive_status /DataType/Semantics/K1PrechargePermissive_status MessageValidPowerCMD_status /DataType/Semantics/MessageValidPowerCMD_status MessageValidVF_status /DataType/Semantics/MessageValidVF_status CANbus_status /DataType/Semantics/CANbus_status EnableUPSMode_echo /DataType/Semantics/EnableUPSMode_echo EnableSplitPhase_echo /DataType/Semantics/EnableSplitPhase_echo PhaseRotation_status /DataType/Semantics/PhaseRotation_status LineVoltageDetected_status /DataType/Semantics/LineVoltageDetected_status PhaseRotation_echo /DataType/Semantics/PhaseRotation_echo v5p0_Supply /DataType/Semantics/v5p0_Supply v3p3_Supply /DataType/Semantics/v3p3_Supply v24_Supply /DataType/Semantics/v24_Supply v15_Supply /DataType/Semantics/v15_Supply TempInlet_measured /DataType/Semantics/TempInlet_measured TempInternal_measured /DataType/Semantics/TempInternal_measured ConverterLosses /DataType/Semantics/ConverterLosses BridgeAVoltageOk_status /DataType/Semantics/BridgeAVoltageOk_status OvercurrentAC_status /DataType/Semantics/OvercurrentAC_status BridgeBVoltageOk_status /DataType/Semantics/BridgeBVoltageOk_status OvervoltageDC_status /DataType/Semantics/OvervoltageDC_status OvertempPowerDevice_status /DataType/Semantics/OvertempPowerDevice_status OvertempInternal_status /DataType/Semantics/OvertempInternal_status LossValidControlMessage_status /DataType/Semantics/LossValidControlMessage_status UndervoltageDC_status /DataType/Semantics/UndervoltageDC_status ControlHardwareFail_status /DataType/Semantics/ControlHardwareFail_status OvercurrentDC_status /DataType/Semantics/OvercurrentDC_status GeneralFault_status /DataType/Semantics/GeneralFault_status LossOfAC_status /DataType/Semantics/LossOfAC_status EStopShutdown_status /DataType/Semantics/EStopShutdown_status BridgeAFault_status /DataType/Semantics/BridgeAFault_status BridgeBFault_status /DataType/Semantics/BridgeBFault_status IllegalTransition_status /DataType/Semantics/IllegalTransition_status InvalidEEHeader_status /DataType/Semantics/InvalidEEHeader_status InvalidEESection_status /DataType/Semantics/InvalidEESection_status ThermalOverload /DataType/Semantics/ThermalOverload VoltageAC_measured /DataType/Semantics/VoltageAC_measured CurrentAC_measured /DataType/Semantics/CurrentAC_measured Frequency_measured /DataType/Semantics/Frequency_measured VoltageDCBus /DataType/Semantics/VoltageDCBus CurrentDC_measured /DataType/Semantics/CurrentDC_measured VoltageDCInput_measured /DataType/Semantics/VoltageDCInput_measured n15V_Supply /DataType/Semantics/n15V_Supply DiodeTemperature /DataType/Semantics/DiodeTemperature IGBTTemperature /DataType/Semantics/IGBTTemperature InterfaceRev /DataType/Semantics/InterfaceRev ControlSwRev /DataType/Semantics/ControlSwRev BuildTime /DataType/Semantics/BuildTime Voltage_echo /DataType/Semantics/Voltage_echo Frequency_echo /DataType/Semantics/Frequency_echo SerialNumber /DataType/Semantics/SerialNumber Hash /DataType/Semantics/Hash StatusNVParam_MUX /DataType/Semantics/StatusNVParam_MUX Dummy /DataType/Semantics/Dummy VUnder50pct /DataType/Semantics/VUnder50pct V50to88pct /DataType/Semantics/V50to88pct V110to120pct /DataType/Semantics/V110to120pct VOver120 /DataType/Semantics/VOver120 FreqHi /DataType/Semantics/FreqHi FreqLo /DataType/Semantics/FreqLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqVeryLo /DataType/Semantics/FreqVeryLo FreqLo /DataType/Semantics/FreqLo FreqHi /DataType/Semantics/FreqHi StatusNodeID /DataType/Semantics/StatusNodeID StatusSA_Mask /DataType/Semantics/StatusSA_Mask StatusBaudrate /DataType/Semantics/StatusBaudrate StatusThermalOverload /DataType/Semantics/StatusThermalOverload StatusMX1Open /DataType/Semantics/StatusMX1Open StatusMX1Close /DataType/Semantics/StatusMX1Close StatusMX2Open /DataType/Semantics/StatusMX2Open StatusMX2Close /DataType/Semantics/StatusMX2Close StatusK1Open /DataType/Semantics/StatusK1Open StatusK1Close /DataType/Semantics/StatusK1Close StatusK2Open /DataType/Semantics/StatusK2Open StatusK2Close /DataType/Semantics/StatusK2Close L1Current_measured /DataType/Semantics/L1Current_measured L2Current_measured /DataType/Semantics/L2Current_measured L3Current_measured /DataType/Semantics/L3Current_measured L1Voltage_measured /DataType/Semantics/L1Voltage_measured L2Voltage_measured /DataType/Semantics/L2Voltage_measured L3Voltage_measured /DataType/Semantics/L3Voltage_measured Semantics Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 WriteSerialNumber Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 SerialNumber 0 1 1 FactoryAccess 0 1 1 CommandSetNVParam_MUX Param0 0 0 Param0 LVM_ClearingTimes1 1 1 LVM_ClearingTimes1 LVM_ClearingTimes2 2 2 LVM_ClearingTimes2 LFM_Limits 3 3 LFM_Limits LFM_ClearingTimes 4 4 LFM_ClearingTimes J1939_Interface 5 5 J1939_Interface Fault_Config 6 6 Fault_Config ContactorDelays1 7 7 ContactorDelays1 ContactorDelays2 8 8 ContactorDelays2 ContactorDelays3 10 10 ContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 NodeID 0 1 1 SA_Mask 0 1 1 Baudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 ThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Open 0 1 1 MX1Close 0 1 1 MX2Open 0 1 1 MX2Close 0 1 1 K1Open 0 1 1 K1Close 0 1 1 K2Open 0 1 1 K2Close 0 1 1 Enable_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClear_command Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 InvertHwEnable_command No invert 0 0 No invert Invert 1 1 Invert Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableUPSMode_command Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_command Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX1_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayMX2_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayK1_Precharge_command Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 ForceRelayRelayK2_DCRun_comand Normal 0 0 Normal Force On 1 1 Force On Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_command Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 MasterFollowerMode_command Master 0 0 Master Follower 1 1 Follower Error 2 2 Error N/A 3 3 N/A 0 1 1 RealPower_command 0 1 1 ReactivePower_command 0 1 1 Voltage_command 0 0.1 1 Frequency_command 0 0.1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_measured 0 1 1 RealPower_measured 0 1 1 ReactivePower_measured 0 1 1 RealPower_echo 0 1 1 ReactivePower_echo 0 1 1 State_status Power On Reset, and a quoted comma 0 0 Power On Reset, and a quoted comma Ready 1 1 Ready Following 2 2 Following Fault 3 3 Fault Forming 4 4 Forming N/A 5 5 N/A N/A 6 6 N/A N/A 7 7 N/A N/A 8 8 N/A N/A 9 9 N/A N/A 10 10 N/A N/A 11 11 N/A N/A 12 12 N/A N/A 13 13 N/A N/A 14 14 N/A N/A 15 15 N/A 0 1 1 MX2Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailAC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerAvailDC_status None 0 0 None Available 1 1 Available Error 2 2 Error N/A 3 3 N/A 0 1 1 PowerCircuitEnabled_status Disabled 0 0 Disabled Enabled 1 1 Enabled Error 2 2 Error N/A 3 3 N/A 0 1 1 HardwareEnable_status Not Active 0 0 Not Active Active 1 1 Active Error 2 2 Error N/A 3 3 N/A 0 1 1 Enable_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 FaultClr_echo Normal 0 0 Normal Clear Faults 1 1 Clear Faults Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidModeControl_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MX1Permissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K2DCRunPermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 K1PrechargePermissive_status Open 0 0 Open Closed 1 1 Closed Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidPowerCMD_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 MessageValidVF_status Invalid 0 0 Invalid Valid 1 1 Valid Error 2 2 Error N/A 3 3 N/A 0 1 1 CANbus_status Normal 0 0 Normal Warning 1 1 Warning ErrorPassive 3 3 ErrorPassive N/A 4 4 N/A 0 1 1 EnableUPSMode_echo Disable 0 0 Disable Enable 1 1 Enable Error 2 2 Error N/A 3 3 N/A 0 1 1 EnableSplitPhase_echo Normal - Three Phase Mode 0 0 Normal - Three Phase Mode Enable Split Phase Mode 1 1 Enable Split Phase Mode Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_status Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 LineVoltageDetected_status No_Voltage 0 0 No_Voltage Voltage_Detected 1 1 Voltage_Detected Error 2 2 Error N/A 3 3 N/A 0 1 1 PhaseRotation_echo Negative 0 0 Negative Positive 1 1 Positive Error 2 2 Error N/A 3 3 N/A 0 1 1 v5p0_Supply 0 0.01 1 v3p3_Supply 0 0.01 1 v24_Supply 0 0.01 1 v15_Supply 0 0.01 1 TempInlet_measured 0 0.1 1 TempInternal_measured 0 0.1 1 ConverterLosses 0 1 1 BridgeAVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeBVoltageOk_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempPowerDevice_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvertempInternal_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossValidControlMessage_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 UndervoltageDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ControlHardwareFail_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 OvercurrentDC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 GeneralFault_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 LossOfAC_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 EStopShutdown_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 BridgeAFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 BridgeBFault_status Normal 0 0 Normal FLT_A 1 1 FLT_A N/A 2 2 N/A FLT_C 3 3 FLT_C OverVoltage 4 4 OverVoltage FLT_B 5 5 FLT_B Overcurrent 6 6 Overcurrent 5V 7 7 5V 0 1 1 IllegalTransition_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEEHeader_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 InvalidEESection_status Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 ThermalOverload Normal 0 0 Normal Fault Active 1 1 Fault Active Error 2 2 Error N/A 3 3 N/A 0 1 1 VoltageAC_measured 0 0.1 1 CurrentAC_measured 0 1 1 Frequency_measured 0 0.1 1 VoltageDCBus 0 1 1 CurrentDC_measured 0 1 1 VoltageDCInput_measured 0 1 1 n15V_Supply 0 0.01 1 DiodeTemperature 0 1 1 IGBTTemperature 0 1 1 InterfaceRev 0 0.01 1 ControlSwRev 0 0.01 1 BuildTime 0 1 1 Voltage_echo 0 0.1 1 Frequency_echo 0 0.1 1 SerialNumber 0 1 1 Hash 0 1 1 StatusNVParam_MUX ActParam0 0 0 ActParam0 ActLVM_ClearingTimes1 1 1 ActLVM_ClearingTimes1 ActLVM_ClearingTimes2 2 2 ActLVM_ClearingTimes2 ActLFM_Limits 3 3 ActLFM_Limits ActLFM_ClearingTimes 4 4 ActLFM_ClearingTimes StatusJ1939_Interface 5 5 StatusJ1939_Interface StatusFault_Config 6 6 StatusFault_Config StatusContactorDelays1 7 7 StatusContactorDelays1 StatusContactorDelays2 8 8 StatusContactorDelays2 StatusContactorDelays3 9 9 StatusContactorDelays3 0 1 1 Dummy 0 1 1 VUnder50pct 0 1 1 V50to88pct 0 1 1 V110to120pct 0 1 1 VOver120 0 1 1 FreqHi 0 0.1 1 FreqLo 0 0.1 1 FreqVeryLo 0 0.1 1 FreqVeryLo 0 1 1 FreqLo 0 1 1 FreqHi 0 1 1 StatusNodeID 0 1 1 StatusSA_Mask 0 1 1 StatusBaudrate 125K 0 0 125K 250K 1 1 250K 500K 2 2 500K 1M 3 3 1M 0 1 1 StatusThermalOverload Warning 0 0 Warning Fault 1 1 Fault Error 2 2 Error N/A 3 3 N/A 0 1 1 StatusMX1Open 0 1 1 StatusMX1Close 0 1 1 StatusMX2Open 0 1 1 StatusMX2Close 0 1 1 StatusK1Open 0 1 1 StatusK1Close 0 1 1 StatusK2Open 0 1 1 StatusK2Close 0 1 1 L1Current_measured 0 1 1 L2Current_measured 0 1 1 L3Current_measured 0 1 1 L1Voltage_measured 0 0.1 1 L2Voltage_measured 0 0.1 1 L3Voltage_measured 0 0.1 1 ECU IPDUGroup canmatrix-0.9.5/test/test.dbc000066400000000000000000000012111416730473300161260ustar00rootroot00000000000000VERSION "created by canmatrix" NS_ : BS_: BU_: testBU recBU BO_ 291 testFrame1: 8 testBU SG_ someTestSignal : 3|11@0+ (5,1) [0.0|500.0] "specialCharUnit$" recBU SG_ Signal : 20|3@1+ (1,0) [0.0|6.0] "someUnit" recBU BO_ 2147483666 extendedFrame: 8 testBU CM_ BO_ 291 "Multi Line Frame comment"; CM_ SG_ 291 someTestSignal "Multi Line Signal comment with a-umlaut: "; CM_ BU_ testBU "sender ECU"; CM_ BU_ recBU "receiver ECU"; BA_DEF_ BO_ "GenMsgCycleTime" INT 0 65535; BA_DEF_ BU_ "NetworkNode" INT 0 65535; BA_ "NetworkNode" BU_ testBU 273; BA_ "GenMsgCycleTime" BO_ 291 100; VAL_ 291 Signal 1 "one" 2 "two" 3 "three"; canmatrix-0.9.5/test/test.dbf000066400000000000000000000032011416730473300161320ustar00rootroot00000000000000//******************************BUSMASTER Messages and signals Database ******************************// [DATABASE_VERSION] 1.3 [PROTOCOL] CAN [BUSMASTER_VERSION] [2.6.0] [NUMBER_OF_MESSAGES] 2 [START_MSG] testFrame1,291,8,2,1,S,testBU [START_SIGNALS] someTestSignal,11,2,1,U,100,0,0,1,5,specialCharUnit$,,recBU [START_SIGNALS] Signal,3,3,4,U,6,0,1,0,1,someUnit,,recBU [VALUE_DESCRIPTION] "one",1 [VALUE_DESCRIPTION] "two",2 [VALUE_DESCRIPTION] "three",3 [END_MSG] [START_MSG] extendedFrame,18,8,0,1,X,testBU [END_MSG] [START_VALUE_TABLE] [END_VALUE_TABLE] [NODE] testBU,recBU [START_DESC] [START_DESC_NET] [END_DESC_NET] [START_DESC_NODE] testBU "sender ECU"; recBU "receiver ECU"; [END_DESC_NODE] [START_DESC_MSG] 291 S "Multi Line Frame comment"; [END_DESC_MSG] [START_DESC_SIG] 291 S someTestSignal "Multi Line Signal comment with a-umlaut: "; [END_DESC_SIG] [END_DESC] [START_PARAM] [START_PARAM_NET] [END_PARAM_NET] [START_PARAM_NODE] "NetworkNode",INT,0,0,65535 [END_PARAM_NODE] [START_PARAM_MSG] "GenMsgCycleTime",INT,0,0,65535 [END_PARAM_MSG] [START_PARAM_SIG] [END_PARAM_SIG] [START_PARAM_NODE_RX_SIG] [END_PARAM_NODE_RX_SIG] [START_PARAM_NODE_TX_MSG] [END_PARAM_NODE_TX_MSG] [END_PARAM] [START_PARAM_VAL] [START_PARAM_NET_VAL] [END_PARAM_NET_VAL] [START_PARAM_NODE_VAL] testBU,"NetworkNode",273 [END_PARAM_NODE_VAL] [START_PARAM_MSG_VAL] 291,S,"GenMsgCycleTime",100 [END_PARAM_MSG_VAL] [START_PARAM_SIG_VAL] [END_PARAM_SIG_VAL] [END_PARAM_VAL] [START_NOT_SUPPORTED] [END_NOT_SUPPORTED] [START_NOT_PROCESSED] OF_: [END_NOT_PROCESSED] canmatrix-0.9.5/test/test.json000066400000000000000000000030241416730473300163530ustar00rootroot00000000000000{ "messages": [ { "attributes": { "GenMsgCycleTime": "100" }, "comment": "Multi\nLine\nFrame comment", "id": 291, "is_extended_frame": false, "name": "testFrame1", "signals": [ { "attributes": {}, "bit_length": 11, "comment": "Multi\nLine\nSignal comment with a-umlaut: \u00e4", "factor": 5.0, "is_big_endian": true, "is_float": false, "is_signed": false, "name": "someTestSignal", "offset": 1.0, "start_bit": 9, "unit": "specialCharUnit\u00b0$" }, { "attributes": {}, "bit_length": 3, "comment": null, "factor": 1.0, "is_big_endian": false, "is_float": false, "is_signed": false, "name": "Signal", "offset": 0.0, "start_bit": 20, "unit": "someUnit" } ] }, { "attributes": { "GenMsgCycleTime": null }, "comment": null, "id": 18, "is_extended_frame": true, "name": "extendedFrame", "signals": [] } ] }canmatrix-0.9.5/test/test.kcd000066400000000000000000001735161416730473300161610ustar00rootroot00000000000000 some text Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. Desired output frequency while in grid forming mode. Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. J1939 Source Address node for the module. Not presently used. CAN baudrate Configures action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. Maximum time required for the MX1 contactor to close. Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Operational commands are received by the module via control bits within this message. Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Clears the latched fault message. Inverts the logic of the Hardware Enable input. Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Desired output voltage while in grid forming mode. Desired output frequency while in grid forming mode. Returns the actual measured power. Measured real power of master unit. Measured reactive power of master unit. Returns the actual measured power. Measured real power. Measured reactive power. Echoes the commanded power (P&Q) as received in CommandPQ. Echoed real power command. Echoed reactive power command. Bits representing the status of the power module. Active control mode. MX2 relay status Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Indicates that DC bus voltage is within operating range. Indicates whether the switching devices are active. Status of the hardware enable. Echos the state of the Enable command withing the CommandModeControl message. Echos the state of the FaultClear command withing the CommandModeControl message. Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. MX1 relay status K2 DC Run relay status. K1 precharge relay status. Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Operational status of the CAN bus driver. Echos the state of the EnableUPSMode command withing the CommandModeControl message. Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Flag indicating if voltage is detected on L1, L2 or L3. Echos the state of PhaseRotation_command withing the CommandModeControl message. Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Present voltage of the control board 5V power suppy. Present voltage of the control board 3.3V power supply. Present voltage of the control board 24V power supply. Present voltage of the control board 15V power supply. Returns the inlet water temperature to the module as well as module internal ambient temperature. Coolant inlet temperature Internal ambient temperature Power converter thermal loss Fault bits. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of AC current exceeding the threshold value. Indicates whether a hardware trip has been activated. Set immediately upon the software detection of DC voltage exceeding the threshold value. Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Indicates loss of DC source voltage. Set upon the failure of control hardware to return expected response. Set immediately upon the software detection of DC current exceeding the threshold value. Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Indicates that reading of non-volatile parameters at power-up failed. Indicates that reading or writing of an non-volatile parameter section failed. RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Measured RMS AC voltage. Measured RMS AC current. Measured frequency. Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Measured DC bus voltage. Measured DC current. Estimated DC input voltage. Present voltage of the -15V power supply on the control board. Present voltage of the control board -15V power supply. Hottest diode Hottest IGBT Software revision. Software revision of the CAN communication interface. Software revision of the control firmware. Build timestamp. Echoes the voltage and frequency commands from commandVF. Echoed voltage command Echoed frequency command. Serial number of the power module. Serial number of the power module. Unique software revision identification hashcode. Unique revision identification hashcode. Echos back parameter values. J1939 Source Address node for the module Mask used to configure from which master source addresses to accept commands. Configured action to take when thermal overload input is active. Maximum time required for the MX1 contactor to open. Maximum time required for the MX1 contactor to close. Maximum time required for the MX2 contactor to open. Maximum time required for the MX2 contactor to open. Maximum time required for the K1 contactor to open. Maximum time required for the K1 contactor to close. Maximum time required for the K2 contactor to open. Maximum time required for the K2 contactor to close. Measured RMS line currents. Measured L1 RMS line current. Measured L2 RMS line current. Measured L3 RMS line current. Measured RMS line voltages. Measured L1 RMS line-neutral voltage Measured L2 RMS line-neutral voltage Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/test.py000077500000000000000000000060001416730473300160320ustar00rootroot00000000000000#!/usr/bin/env python3 from __future__ import absolute_import, division, print_function import copy import os import shutil import subprocess import sys sys.path.append('../src') import canmatrix.convert import canmatrix.formats import canmatrix.log if sys.version_info > (3, 2): if shutil.which("diff") is None: print("ERROR: this test needs the tool 'diff' in your path to work") sys.exit() logger = canmatrix.log.setup_logger() canmatrix.log.set_log_level(logger, -1) def run_tests(): export_types = [] import_types = [] for canFormat, features in canmatrix.formats.supportedFormats.items(): if "dump" in features: export_types.append(canmatrix.formats.extensionMapping[canFormat]) if "load" in features: import_types.append(canmatrix.formats.extensionMapping[canFormat]) # for f in os.listdir('../canmatrix'): # m = re.match('^export(.*).py$', f) # if m is not None and m.group(1) != 'all': # export_types.append(m.group(1)) # m = re.match('^import(.*).py$', f) # if m is not None and m.group(1) != 'all' and m.group(1) != 'any': # import_types.append(m.group(1)) export_types.sort() # TODO: support testing of xlsx # export_types.remove('xlsx') if "xlsx" in import_types: # todo issue #541 import_types.remove("xlsx") if "fibex" in export_types: export_types.remove('fibex') import_types.sort() test_file_base = 'test' converted_path = 'converted' try: shutil.rmtree(converted_path) except OSError: # it's already not there... pass for i in import_types: in_file = test_file_base + '.' + i.lower() if not os.path.isfile(in_file): print('Skipping conversion from missing file ' + in_file) else: to = copy.copy(export_types) try: to.remove(i) except ValueError: # TODO: support testing of xlsx pass print('{} -> {}'.format(i, to)) for t in to: out_file = os.path.basename(test_file_base) # out_file = os.path.splitext(out_file)[0] out_file += '.' + t.lower() directory = os.path.join(converted_path, 'from_' + i) try: os.makedirs(directory) except OSError: # TODO: be more specific: OSError: [Errno 17] File exists: # 'converted/from_arxml' pass out_file = os.path.join(directory, out_file) canmatrix.convert.convert(in_file, out_file) exit_code = subprocess.call(['diff', '-qr', 'reference', 'converted']) if exit_code: # difference found message = 'difference found' else: # no difference found message = 'no difference' print('\n\n Testing completed: {message}'.format(**locals())) if __name__ == "__main__": run_tests() canmatrix-0.9.5/test/test.sym000066400000000000000000000677421416730473300162330ustar00rootroot00000000000000FormatVersion=5.0 // Do not edit this line! Title="AFE_CAN_ID0" {ENUMS} enum State(0="Power On Reset, and a quoted comma", 1="Ready", 2="Following", 3="Fault", 4="Forming", 5="N/A", 6="N/A", 7="N/A", 8="N/A", 9="N/A", 10="N/A", 11="N/A", 12="N/A", 13="N/A", 14="N/A", 15="N/A") enum Relay(0="Open", 1="Closed", 2="Error", 3="N/A") enum PowerAvail(0="None", 1="Available", 2="Error", 3="N/A") enum IGBTsEnabled(0="Disabled", 1="Enabled", 2="Error", 3="N/A") enum WakeUpSignal(0="Not Active", 1="Active", 2="Error", 3="N/A") enum Enable(0="Disable", 1="Enable", 2="Error", 3="N/A") enum MessageValid(0="Invalid", 1="Valid", 2="Error", 3="N/A") enum FaultClear(0="Normal", 1="Clear Faults", 2="Error", 3="N/A") enum BridgeFlt(0="Normal", 1="FLT_A", 2="N/A", 3="FLT_C", 4="OverVoltage", 5="FLT_B", 6="Overcurrent", 7="5V") enum Fault(0="Normal", 1="Fault Active", 2="Error", 3="N/A") enum CANStatus(0="Normal", 1="Warning", 3="ErrorPassive", 4="N/A") enum InvertHwEnable(0="No invert", 1="Invert", 2="Error", 3="N/A") enum EnableUPSMode(0="Disable", 1="Enable", 2="Error", 3="N/A") enum EnableSplitPhase(0="Normal - Three Phase Mode", 1="Enable Split Phase Mode", 2="Error", 3="N/A") enum RelayCommand(0="Normal", 1="Force On", 2="Error", 3="N/A") enum PhaseRotation(0="Negative", 1="Positive", 2="Error", 3="N/A") enum LineVoltagePresent(0="No_Voltage", 1="Voltage_Detected", 2="Error", 3="N/A") enum Baudrate(0="125K", 1="250K", 2="500K", 3="1M") enum FaultConfig(0="Warning", 1="Fault", 2="Error", 3="N/A") enum MasterFollower(0="Master", // Master or standalone mode 1="Follower", 2="Error", 3="N/A") {SEND} [CommandModeControl] ID=00FFAB41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command unsigned 6,2 -m /max:1 /e:Enable // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command unsigned 4,2 -m /max:1 /e:FaultClear // Clears the latched fault message. Var=InvertHwEnable_command unsigned 62,2 -m /max:1 /e:InvertHwEnable // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command unsigned 60,2 -m /max:1 /e:EnableUPSMode // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command unsigned 58,2 -m /max:1 /e:EnableSplitPhase // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command unsigned 38,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command unsigned 36,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command unsigned 34,2 -m /max:1 /p:0 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand unsigned 32,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command unsigned 56,2 -m /max:1 /e:PhaseRotation // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. Var=MasterFollowerMode_command unsigned 22,2 -m /max:1 /e:MasterFollower // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [CommandPower] ID=0CFFAC41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var="RealPower command" signed 0,32 -m /u:W /min:-90000 /max:90000 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 32,32 -m /u:VA /min:-90000 /max:90000 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [CommandVF] ID=0CFFAE41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command unsigned 0,16 -m /u:Vrms /f:0.1 /min:10 /max:500 /d:240 // Desired output voltage while in grid forming mode. Var=Frequency_command unsigned 16,16 -m /u:Hz /f:0.1 /min:45 /max:65 /d:50 // Desired output frequency while in grid forming mode. [MasterMeasuredPower] ID=0CFFCAF6h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /u:W // Measured real power of master unit. Var=ReactivePower_measured signed 32,32 -m /u:VA // Measured reactive power of master unit. [CommandFactoryControl] ID=0CFFAF41h Type=Extended DLC=8 Var=WriteSerialNumber unsigned 6,2 -m /e:Enable Var=SerialNumber unsigned 32,32 -m Var=FactoryAccess unsigned 16,16 -m [CommandSetNVParam] ID=0CFFAA41h // Provides access to configure non-volatile parameters. Note that these parameters can only be set when the inverter's power stage is disabled (PowerCircuitEnabled_status in StatusBits message is 'Disabled.') Type=Extended DLC=8 Mux=Param0 0,16 0 -m Var=Dummy unsigned 16,16 -m [CommandSetNVParam] DLC=8 Mux=LVM_ClearingTimes1 0,16 1 -m // Line Voltage Monitor fault times. Var=VUnder50pct unsigned 16,16 -m /u:ms /min:1 /max:30000 /d:160 // Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V50to88pct unsigned 32,16 -m /u:ms /min:1 /max:30000 /d:2000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. Var=V110to120pct unsigned 48,16 -m /u:ms /min:1 /max:30000 /d:1000 // Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=LVM_ClearingTimes2 0,16 2 -m // Line Voltage Monitor fault times. Var=VOver120 unsigned 16,16 -m /min:1 /max:30000 /d:160 // Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=LFM_Limits 0,16 3 -m // Line Frequency Monitor limits. Var=FreqHi unsigned 16,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:60.5 // Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux. Var=FreqLo unsigned 32,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:59.8 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. Var=FreqVeryLo unsigned 48,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:57 // Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux. [CommandSetNVParam] DLC=8 Mux=LFM_ClearingTimes 0,16 4 -m // Line Frequency Monitor Trip times Var=FreqVeryLo unsigned 16,16 -m /u:ms /min:160 /max:160 /d:160 // Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Var=FreqLo unsigned 32,16 -m /u:ms /min:1 /max:30000 /d:160 // Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. Var=FreqHi unsigned 48,16 -m /u:ms /min:160 /max:160 /d:160 // Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode. [CommandSetNVParam] DLC=8 Mux=J1939_Interface 0,16 5 -m // J1939 interface parameters Var=NodeID unsigned 16,8 -m /max:247 /d:247 // J1939 Source Address node for the module. Var=SA_Mask unsigned 24,8 -m /d:65 // Not presently used. Var=Baudrate unsigned 32,4 -m /max:3 /e:Baudrate /d:2 // CAN baudrate [CommandSetNVParam] DLC=8 Mux=Fault_Config 0,16 6 -m // Allows configuration of various fault conditions to either trip the drive, or provide a warning status via CAN Var=ThermalOverload unsigned 22,2 -m /max:1 /e:FaultConfig // Configures action to take when thermal overload input is active. [CommandSetNVParam] DLC=8 Mux=ContactorDelays1 0,16 7 -m // Sets the time the controller assumes it will take for contactors to open/close. Var=MX1Open unsigned 16,16 -m /u:ms /max:5000 /d:100 // Maximum time required for the MX1 contactor to open. Var=MX1Close unsigned 32,16 -m /u:ms /max:2000 /d:100 // Maximum time required for the MX1 contactor to close. Var=MX2Open unsigned 48,16 -m /u:ms /max:1 // Maximum time required for the MX2 contactor to open. [CommandSetNVParam] DLC=8 Mux=ContactorDelays2 0,16 8 -m // Sets the time the controller assumes it will take for contactors to open/close. Var=MX2Close unsigned 16,16 -m /u:ms /max:2000 // Maximum time required for the MX2 contactor to open. Var=K1Open unsigned 32,16 -m /u:ms /max:2000 // Maximum time required for the K1 contactor to open. Var=K1Close unsigned 48,16 -m /u:ms /max:2000 // Maximum time required for the K1 contactor to close. [CommandSetNVParam] DLC=8 Mux=ContactorDelays3 0,16 Ah -m // Sets the time the controller assumes it will take for contactors to open/close. Var=K2Open unsigned 16,16 -m /u:ms /max:2000 // Maximum time required for the K2 contactor to open. Var=K2Close unsigned 32,16 -m /u:ms /max:2000 // Maximum time required for the K2 contactor to close. [CommandModeControlAPU2] ID=00FF9B41h // Operational commands are received by the module via control bits within this message. Type=Extended DLC=8 Var=Enable_command unsigned 6,2 -m /max:1 /e:Enable // Run command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state. Var=FaultClear_command unsigned 4,2 -m /max:1 /e:FaultClear // Clears the latched fault message. Var=InvertHwEnable_command unsigned 62,2 -m /max:1 /e:InvertHwEnable // Inverts the logic of the Hardware Enable input. Var=EnableUPSMode_command unsigned 60,2 -m /max:1 /e:EnableUPSMode // Enables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power. Var=EnableSplitPhase_command unsigned 58,2 -m /max:1 /e:EnableSplitPhase // Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system. Var=ForceRelayMX1_command unsigned 38,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayMX2_command unsigned 36,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayK1_Precharge_command unsigned 34,2 -m /max:1 /p:0 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=ForceRelayRelayK2_DCRun_comand unsigned 32,2 -m /max:1 /e:RelayCommand // If set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only. Var=PhaseRotation_command unsigned 56,2 -m /max:1 /e:PhaseRotation // Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING Var=MasterFollowerMode_command unsigned 22,2 -m /max:1 /e:MasterFollower // Specifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used. [CommandPowerAPU2] ID=0CFF9C41h // Sets the desired real (P) and reactive (Q) power levels for the module to follow while in the GRID FOLLOWING mode. Type=Extended DLC=8 Var=RealPower_command signed 0,32 -m /u:W /min:-90000 /max:90000 // Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. Var=ReactivePower_command signed 32,32 -m /u:VA /min:-90000 /max:90000 // Commanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor. [CommandVFAPU2] ID=0CFF9E41h // Sets the desired voltage and frequency for the module to produce while in the GRID FORMING mode. In addition, while in the READY and GRID FOLLOWING modes, this message is used to set the nominal voltage levels for detection of acceptable AC line voltage. Type=Extended DLC=8 Var=Voltage_command unsigned 0,16 -m /u:Vrms /f:0.1 /min:10 /max:500 /d:240 // Desired output voltage while in grid forming mode. Var=Frequency_command unsigned 16,16 -m /u:Hz /f:0.1 /min:45 /max:65 /d:50 // Desired output frequency while in grid forming mode. [MasterMeasuredPowerAPU2] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 Var=RealPower_measured signed 0,32 -m /u:W // Measured real power of master unit. Var=ReactivePower_measured signed 32,32 -m /u:VA // Measured reactive power of master unit. {SENDRECEIVE} [justString] ID=1CFFACC0h Type=Extended DLC=8 Var=rev string 0,64 -m /d:"ICUx-03i" [stringAndOther] ID=1CFFABC0h Type=Extended DLC=8 Var=rev string 0,64 -m /d:"ICUx-03i" Var=RealPower_measured signed 0,32 -m /u:W // Measured real power. [StatusMeasuredPower] ID=0CFFCAF7h // Returns the actual measured power. Type=Extended DLC=8 CycleTime=100 Var=RealPower_measured signed 0,32 -m /u:W // Measured real power. Var=ReactivePower_measured signed 32,32 -m /u:VA // Measured reactive power. [StatusCommandedPower] ID=18FFC4F7h // Echoes the commanded power (P&Q) as received in CommandPQ. Type=Extended DLC=8 CycleTime=100 Var=RealPower_echo signed 0,32 -m /u:W // Echoed real power command. Var=ReactivePower_echo signed 32,32 -m /u:VA // Echoed reactive power command. [StatusBits] ID=0CFFC3F7h // Bits representing the status of the power module. Type=Extended DLC=8 CycleTime=100 Var=State_status unsigned 4,4 -m /max:7 /e:State // Active control mode. Var=MX2Permissive_status unsigned 20,2 -m /e:Relay // MX2 relay status Var=PowerAvailAC_status unsigned 12,2 -m /e:PowerAvail // Indicates that AC power is connected and that voltage and frequency are within nominal ranges. Var=PowerAvailDC_status unsigned 10,2 -m /e:PowerAvail // Indicates that DC bus voltage is within operating range. Var=PowerCircuitEnabled_status unsigned 8,2 -m /e:IGBTsEnabled // Indicates whether the switching devices are active. Var=HardwareEnable_status unsigned 14,2 -m /e:WakeUpSignal // Status of the hardware enable. Var=Enable_echo unsigned 2,2 -m /e:Enable // Echos the state of the Enable command withing the CommandModeControl message. Var=FaultClr_echo unsigned 0,2 -m /e:FaultClear // Echos the state of the FaultClear command withing the CommandModeControl message. Var=MessageValidModeControl_status unsigned 30,2 -m /e:MessageValid // Indicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MX1Permissive_status unsigned 22,2 -m /e:Relay // MX1 relay status Var=K2DCRunPermissive_status unsigned 16,2 -m /e:Relay // K2 DC Run relay status. Var=K1PrechargePermissive_status unsigned 18,2 -m /e:Relay // K1 precharge relay status. Var=MessageValidPowerCMD_status unsigned 28,2 -m /e:MessageValid // Indicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid. Var=MessageValidVF_status unsigned 26,2 -m /e:MessageValid // Indicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid. Var=CANbus_status unsigned 24,2 -m /e:CANStatus // Operational status of the CAN bus driver. Var=EnableUPSMode_echo unsigned 38,2 -m /e:EnableUPSMode // Echos the state of the EnableUPSMode command withing the CommandModeControl message. Var=EnableSplitPhase_echo unsigned 36,2 -m /e:EnableSplitPhase // Echos the state of the EnableSplitPhase command withing the CommandModeControl message. Var=PhaseRotation_status unsigned 34,2 -m /max:1 /e:PhaseRotation // Phase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive. Var=LineVoltageDetected_status unsigned 32,2 -m /max:1 /e:LineVoltagePresent // Flag indicating if voltage is detected on L1, L2 or L3. Var=PhaseRotation_echo unsigned 46,2 -m /max:1 /e:PhaseRotation // Echos the state of PhaseRotation_command withing the CommandModeControl message. [StatusControlVoltage] ID=1CFFC5F7h // Lists present voltage of each power supply on the control board (24V, 15V, 5V, and 3.3V.) Type=Extended DLC=8 CycleTime=100 Var=v5p0_Supply signed 0,16 -m /u:V /f:0.01 // Present voltage of the control board 5V power suppy. Var=v3p3_Supply signed 16,16 -m /u:V /f:0.01 // Present voltage of the control board 3.3V power supply. Var=v24_Supply signed 32,16 -m /u:V /f:0.01 // Present voltage of the control board 24V power supply. Var=v15_Supply signed 48,16 -m /u:V /f:0.01 // Present voltage of the control board 15V power supply. [StatusTemps] ID=18FFCBF7h // Returns the inlet water temperature to the module as well as module internal ambient temperature. Type=Extended DLC=8 CycleTime=100 Var=TempInlet_measured signed 0,16 -m /u:C /f:0.1 // Coolant inlet temperature Var=TempInternal_measured signed 16,16 -m /u:C /f:0.1 // Internal ambient temperature Var=ConverterLosses unsigned 32,16 -m /u:W /max:1 // Power converter thermal loss [StatusFaults] ID=0CFFC8F7h // Fault bits. Type=Extended DLC=8 CycleTime=100 Var=BridgeAVoltageOk_status unsigned 60,1 -m /e:Fault // Indicates whether a hardware trip has been activated. Var=OvercurrentAC_status unsigned 4,2 -m /e:Fault // Set immediately upon the software detection of AC current exceeding the threshold value. Var=BridgeBVoltageOk_status unsigned 44,1 -m /e:Fault // Indicates whether a hardware trip has been activated. Var=OvervoltageDC_status unsigned 14,2 -m /e:Fault // Set immediately upon the software detection of DC voltage exceeding the threshold value. Var=OvertempPowerDevice_status unsigned 8,2 -m /e:Fault // Set immediately upon the software detection of an IGBT temperature exceeding the threshold value. Var=OvertempInternal_status unsigned 10,2 -m /e:Fault // Set immediately upon the software detection of an internal inverter temperature exceeding the threshold value. Var=LossValidControlMessage_status unsigned 16,4 -m /e:Fault // Set whenever a control message required for operation contains out of range data or has not been received within the required timeout period. Var=UndervoltageDC_status unsigned 12,2 -m /e:Fault // Indicates loss of DC source voltage. Var=ControlHardwareFail_status unsigned 20,4 -m /e:Fault // Set upon the failure of control hardware to return expected response. Var=OvercurrentDC_status unsigned 0,2 -m /e:Fault // Set immediately upon the software detection of DC current exceeding the threshold value. Var=GeneralFault_status unsigned 6,2 -m /e:Fault // Will be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor. Var=LossOfAC_status unsigned 2,2 -m /e:Fault // In grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message. Var=EStopShutdown_status unsigned 30,2 -m /e:Fault // Set when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active. Var=BridgeAFault_status unsigned 61,3 -m /e:BridgeFlt // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=BridgeBFault_status unsigned 45,3 -m /e:BridgeFlt // Each bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active. Var=IllegalTransition_status unsigned 28,2 -m /max:1 /e:Fault // Indicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available. Var=InvalidEEHeader_status unsigned 26,2 -m /max:1 /e:Fault // Indicates that reading of non-volatile parameters at power-up failed. Var=InvalidEESection_status unsigned 24,2 -m /max:1 /e:Fault // Indicates that reading or writing of an non-volatile parameter section failed. Var=ThermalOverload unsigned 38,2 -m /max:1 /e:Fault [StatusACParameters] ID=0CFFC2F7h // RMS AC Voltage, current, and frequency measured by line A, B and C feedbacks. Type=Extended DLC=8 CycleTime=100 Var=VoltageAC_measured signed 0,16 -m /u:V /f:0.1 // Measured RMS AC voltage. Var=CurrentAC_measured signed 16,16 -m /u:A // Measured RMS AC current. Var=Frequency_measured signed 32,16 -m /u:Hz /f:0.1 // Measured frequency. [StatusDCParameters] ID=1CFFC7F7h // Measured (boosted) DC Bus voltage, DC Current, and estimated DC Input voltage. Type=Extended DLC=8 CycleTime=100 Var=VoltageDCBus signed 16,16 -m /u:V // Measured DC bus voltage. Var=CurrentDC_measured signed 32,16 -m /u:A // Measured DC current. Var=VoltageDCInput_measured signed 0,16 -m /u:V // Estimated DC input voltage. [StatusControlVolts2] ID=1CFFC6F7h // Present voltage of the -15V power supply on the control board. Type=Extended DLC=8 CycleTime=100 Var=n15V_Supply signed 0,16 -m /u:V /f:0.01 // Present voltage of the control board -15V power supply. Var=DiodeTemperature unsigned 32,16 -m /u:C /max:1 // Hottest diode Var=IGBTTemperature unsigned 48,16 -m /u:C /max:1 // Hottest IGBT [softwareRev] ID=1CFFC1F7h // Software revision. Type=Extended DLC=8 Var=InterfaceRev unsigned 16,16 -m /f:0.01 /p:2 // Software revision of the CAN communication interface. Var=ControlSwRev unsigned 0,16 -m /f:0.01 /p:2 // Software revision of the control firmware. Var=BuildTime unsigned 32,32 -m // Build timestamp. [StatusCommandVF] ID=18FFC9F7h // Echoes the voltage and frequency commands from commandVF. Type=Extended DLC=8 CycleTime=100 Var=Voltage_echo unsigned 0,16 -m /u:Vrms /f:0.1 // Echoed voltage command Var=Frequency_echo unsigned 16,16 -m /u:Hz /f:0.1 // Echoed frequency command. [serialNumber] ID=1CFFCCF7h // Serial number of the power module. Type=Extended DLC=8 Var=SerialNumber unsigned 0,32 -m // Serial number of the power module. [softwareRevHash] ID=1CFFCDF7h // Unique software revision identification hashcode. Type=Extended DLC=8 Var=Hash unsigned 0,28 -h -m // Unique revision identification hashcode. [StatusNVParam] ID=1CFFA9F7h // Echos back parameter values. Type=Extended DLC=8 Mux=ActParam0 0,16 0 -m Var=Dummy unsigned 16,16 -m /min:5 /max:10 [StatusNVParam] DLC=8 Mux=ActLVM_ClearingTimes1 0,16 1 -m Var=VUnder50pct unsigned 16,16 -m /u:ms /min:1 /max:30000 /d:160 Var=V50to88pct unsigned 32,16 -m /u:ms /min:1 /max:30000 /d:2000 Var=V110to120pct unsigned 48,16 -m /u:ms /min:1 /max:30000 /d:1000 [StatusNVParam] DLC=8 Mux=ActLVM_ClearingTimes2 0,16 2 -m Var=VOver120 unsigned 16,16 -m /min:1 /max:30000 /d:160 [StatusNVParam] DLC=8 Mux=ActLFM_Limits 0,16 3 -m Var=FreqHi unsigned 16,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:60.5 Var=FreqLo unsigned 32,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:59.8 Var=FreqVeryLo unsigned 48,16 -m /u:Hz /f:0.1 /min:40 /max:70 /d:57 [StatusNVParam] DLC=8 Mux=ActLFM_ClearingTimes 0,16 4 -m Var=FreqVeryLo unsigned 16,16 -m /u:ms /min:160 /max:160 /d:160 Var=FreqLo unsigned 32,16 -m /u:ms /min:1 /max:30000 /d:160 Var=FreqHi unsigned 48,16 -m /u:ms /min:160 /max:160 /d:160 [StatusNVParam] DLC=8 Mux=StatusJ1939_Interface 0,16 5 -m // J1939 interface parameters Var=StatusNodeID unsigned 16,8 -m /max:247 /d:247 // J1939 Source Address node for the module Var=StatusSA_Mask unsigned 24,8 -m /d:65 // Mask used to configure from which master source addresses to accept commands. Var=StatusBaudrate unsigned 32,4 -m /max:3 /e:Baudrate /d:2 [StatusNVParam] DLC=8 Mux=StatusFault_Config 0,16 6 -m // configuration of various fault conditions to either trip the drive, or provide a warning status via CAN Var=StatusThermalOverload unsigned 22,2 -m /max:1 /e:FaultConfig // Configured action to take when thermal overload input is active. [StatusNVParam] DLC=8 Mux=StatusContactorDelays1 0,16 7 -m // Sets the time the controller assumes it will take for contactors to open/close. Var=StatusMX1Open unsigned 16,16 -m /u:ms /max:5000 /d:100 // Maximum time required for the MX1 contactor to open. Var=StatusMX1Close unsigned 32,16 -m /u:ms /max:2000 /d:100 // Maximum time required for the MX1 contactor to close. Var=StatusMX2Open unsigned 48,16 -m /u:ms /max:1 // Maximum time required for the MX2 contactor to open. [StatusNVParam] DLC=8 Mux=StatusContactorDelays2 0,16 8 -m // Sets the time the controller assumes it will take for contactors to open/close. Var=StatusMX2Close unsigned 16,16 -m /u:ms /max:2000 // Maximum time required for the MX2 contactor to open. Var=StatusK1Open unsigned 32,16 -m /u:ms /max:2000 // Maximum time required for the K1 contactor to open. Var=StatusK1Close unsigned 48,16 -m /u:ms /max:2000 // Maximum time required for the K1 contactor to close. [StatusNVParam] DLC=8 Mux=StatusContactorDelays3 0,16 9 -m // Sets the time the controller assumes it will take for contactors to open/close. Var=StatusK2Open unsigned 16,16 -m /u:ms /max:2000 // Maximum time required for the K2 contactor to open. Var=StatusK2Close unsigned 32,16 -m /u:ms /max:2000 // Maximum time required for the K2 contactor to close. [StatusLineCurrents] ID=18FFD0F7h // Measured RMS line currents. Type=Extended DLC=8 CycleTime=100 Var=L1Current_measured unsigned 0,16 -m /u:A /max:1 // Measured L1 RMS line current. Var=L2Current_measured unsigned 16,16 -m /u:A /max:1 // Measured L2 RMS line current. Var=L3Current_measured unsigned 32,16 -m /u:A /max:1 // Measured L3 RMS line current. [StatusLineVoltages] ID=18FFD1F7h // Measured RMS line voltages. Type=Extended DLC=8 CycleTime=100 Var=L1Voltage_measured unsigned 0,16 -m /u:Vrms /f:0.1 /max:1 // Measured L1 RMS line-neutral voltage Var=L2Voltage_measured unsigned 16,16 -m /u:Vrms /f:0.1 /max:1 // Measured L2 RMS line-neutral voltage Var=L3Voltage_measured unsigned 32,16 -m /u:Vrms /f:0.1 /max:1 // Measured L3 RMS line-neutral voltage canmatrix-0.9.5/test/test.xls000066400000000000000000003140001416730473300162070ustar00rootroot00000000000000ࡱ>   \pNone Ba=c@=Z?N*8X"1Arial1Arial1Arial1Arial1Arial1Arial1Verdana1Verdana1 Verdana1Verdana General-(pattern: pattern solid, fore-colour rose                   @     `b: K-Matrix B ID Frame NameCycle Time [ms] Launch TypeLaunch ParameterSignal Byte No.Signal Bit No. Signal NameSignal FunctionSignal Length [Bit]Signal Default Signal Not Available ByteorderValueName / Phys. RangeFunction / Increment UnitFF9B41xhCommandModeControlAPU2FaultClear_command!Clears the latched fault message. mNormal Clear FaultsErrorN/AEnable_commandRun command. When set to a value of 'Enable', causes transition to grid forming or grid following mode depending on whether AC power is detected. Must be set to 'Disable' to leave POR or FAULTED state.DisableEnableMasterFollowerMode_commandSpecifies what power command the inverter will follow in GRID FOLLOWING mode. When configured as Master, CommandPower will be used as the power command. When configured as Slave, the values in StatusMeasuredPower of the master inverter will be used.MasterFollowerForceRelayRelayK2_DCRun_comandIf set to 'Force On,' will force the relay closed, overriding firmware state machine commands. Meant for diagnostic purposes only.Force OnForceRelayK1_Precharge_commandForceRelayMX2_commandForceRelayMX1_commandPhaseRotation_command_Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMINGNegativePositiveEnableSplitPhase_command|Dictates to the module whether it is connected to a three-phase (four wire) or split phase (L1, L2 and N) electrical system.Normal - Three Phase ModeEnable Split Phase ModeEnableUPSMode_commandEnables uninterruptible operation when transitioning from GRID FOLLOWING to GRID FORMING operation. If operating in GRID FOLLOWING mode, and AC grid voltage is interrupted, the module will transition to GRID FORMING mode, with no interruption in power.InvertHwEnable_command/Inverts the logic of the Hardware Enable input. No invertInvertFFAB41xhCommandModeControl`Specifies phase rotation direction. Only active while transitioning from READY to GRID_FORMING. CFF9C41xhCommandPowerAPU2RealPower_command~Commanded real power (W) while in grid following mode - positive real power is defined as power being put into the ac network. -90000..90000WReactivePower_commandCommanded reactive power (VA) while in grid following mode - positive reactive power is defined as the converter having a leading power factor.VA CFF9E41xh CommandVFAPU2Voltage_command2Desired output voltage while in grid forming mode.10..500 0.1 VrmsFrequency_command4Desired output frequency while in grid forming mode.45..650.1 Hz CFFAA41xhCommandSetNVParamCommandSetNVParam_MUX Mode Signal: Param0LVM_ClearingTimes1LVM_ClearingTimes2 LFM_LimitsLFM_ClearingTimesJ1939_Interface Fault_ConfigContactorDelays1ContactorDelays2ContactorDelays3DummyMode 0:0..65535FreqHiMode 3:Determines the upper bound, above which the frequency monitor will trip if the line frequency remains for the time specified in FreqHi of the LFM_ClearingTimes Mux.40..70 FreqVeryLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains below the value specified in FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.160..160msK2Open;Mode 10:Maximum time required for the K2 contactor to open.0..2000MX1Open;Mode 7:Maximum time required for the MX1 contactor to open.0..5000MX2Close;Mode 8:Maximum time required for the MX2 contactor to open.NodeID0Mode 5:J1939 Source Address node for the module.0..247VOver120Mode 2:Determines the fault trip time when Line-to-line rms voltage for a phase remains Over 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.1..30000 VUnder50pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains under 50 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.ThermalOverloadGMode 6:Configures action to take when thermal overload input is active.WarningFaultSA_MaskMode 5:Not presently used.0..255BaudrateMode 5:CAN baudrate125K250K500K1MFreqLoMode 4:Determines the time it will take for a fault trip to occur when line frequency remains between the value specified in FreqLo and FreqVeryLo of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.K1Open:Mode 8:Maximum time required for the K1 contactor to open.K2Close<Mode 10:Maximum time required for the K2 contactor to close.MX1Close<Mode 7:Maximum time required for the MX1 contactor to close. V50to88pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 50 and 88 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode.Mode 4:Determines the time it will take for a fault trip to occur when line frequency remains above the value specified in FreqHi of the LFM_Limits Mux when the inverter is in GRID FOLLOWING mode.Mode 3:Determines the upper bound, in which the frequency monitor will trip if the line frequency remains below this bound but above the value of FreqVeryLo for the time specified in FreqLo of the LFM_ClearingTimes Mux.K1Close;Mode 8:Maximum time required for the K1 contactor to close.MX2Open;Mode 7:Maximum time required for the MX2 contactor to open. V110to120pctMode 1:Determines the fault trip time when Line-to-line rms voltage for a phase remains between 110 and 120 percent of the nominal value specified in the CommandVF message while the inverter is running in GRID FOLLOWING mode. CFFAC41xh CommandPowerRealPower command CFFAE41xh CommandVF CFFAF41xhCommandFactoryControlWriteSerialNumber FactoryAccess SerialNumber0..4.29497e+09 CFFC2F7xhStatusACParameters100VoltageAC_measuredMeasured RMS AC voltage.-3276.8..3276.70.1 VCurrentAC_measuredMeasured RMS AC current. -32768..32767AFrequency_measuredMeasured frequency. CFFC3F7xh StatusBits FaultClr_echoQEchos the state of the FaultClear command withing the CommandModeControl message. Enable_echoMEchos the state of the Enable command withing the CommandModeControl message. State_statusActive control mode."Power On Reset, and a quoted commaReady FollowingFormingPowerCircuitEnabled_status3Indicates whether the switching devices are active.DisabledEnabledPowerAvailDC_status8Indicates that DC bus voltage is within operating range.None AvailablePowerAvailAC_status^Indicates that AC power is connected and that voltage and frequency are within nominal ranges.HardwareEnable_statusStatus of the hardware enable. Not ActiveActiveK2DCRunPermissive_statusK2 DC Run relay status.OpenClosedK1PrechargePermissive_statusK1 precharge relay status.MX2Permissive_statusMX2 relay statusMX1Permissive_statusMX1 relay status CANbus_status)Operational status of the CAN bus driver. ErrorPassiveMessageValidVF_statusIndicates the validity of the CommandVF message. Message must be received at least once per second and parameter data within range to be considered valid.InvalidValidMessageValidPowerCMD_statusIndicates the validity of the CommandPQ message. Message must be received at least once per second and parameter data within range to be considered valid.MessageValidModeControl_statusIndicates the validity of the CommandModeControl message. Message must be received at least once per second and parameter data within range to be considered valid.LineVoltageDetected_status7Flag indicating if voltage is detected on L1, L2 or L3. No_VoltageVoltage_DetectedPhaseRotation_statusaPhase rotation order. When L1 phase angle leads L2 phase angle, rotation is considered positive.EnableSplitPhase_echoWEchos the state of the EnableSplitPhase command withing the CommandModeControl message.EnableUPSMode_e<choTEchos the state of the EnableUPSMode command withing the CommandModeControl message.PhaseRotation_echoPEchos the state of PhaseRotation_command withing the CommandModeControl message. CFFC8F7xh StatusFaultsOvercurrentDC_statusXSet immediately upon the software detection of DC current exceeding the threshold value. Fault ActiveLossOfAC_statusIn grid following mode, this fault will be triggered if AC voltage or frequency goes outside of nominal bounds and EnableUPSMode is not set in the CommandModeControl message.OvercurrentAC_statusXSet immediately upon the software detection of AC current exceeding the threshold value.GeneralFault_statuspWill be set any time a fault shutdown has occurred. It is always accompanied by an additional fault descriptor.OvertempPowerDevice_statusaSet immediately upon the software detection of an IGBT temperature exceeding the threshold value.OvertempInternal_statusnSet immediately upon the software detection of an internal inverter temperature exceeding the threshold value.UndervoltageDC_status$Indicates loss of DC source voltage.OvervoltageDC_statusXSet immediately upon the software detection of DC voltage exceeding the threshold value.LossValidControlMessage_statusSet whenever a control message required for operation contains out of range data or has not been received within the required timeout period.ControlHardwareFail_statusESet upon the failure of control hardware to return expected response.InvalidEESection_statusNIndicates that reading or writing of an non-volatile parameter section failed.InvalidEEHeader_statusEIndicates that reading of non-volatile parameters at power-up failed.IllegalTransition_statusIndicates that an illegal state transition was requested. For example, this fault will occur if Enable is commanded and line voltage is detected but AC power is not available.EStopShutdown_statusSet when an enable request has been sent whithout the WakeUpSignal flag (hardware enable) in the StatusBits message being active.BridgeBVoltageOk_status5Indicates whether a hardware trip has been activated.BridgeBFault_statusEach bridge has hardware protection features as a backup to software protection. This bitfield indicates which, if any of these protection trips is active.FLT_AFLT_C OverVoltageFLT_B Overcurrent5VBridgeAVoltageOk_statusBridgeAFault_status CFFCAF6xhMasterMeasuredPowerRealPower_measured#Measured real power of master unit.-2.14748e+09..2.14748e+09ReactivePower_measured'Measured reactive power of master unit. CFFCAF7xhStatusMeasuredPowerMeasured real power.Measured reactive power. 18FFC4F7xhStatusCommandedPowerRealPower_echoEchoed real power command.ReactivePower_echoEchoed reactive power command. 18FFC9F7xhStatusCommandVF Voltage_echoEchoed voltage command 0..6553.5Frequency_echoEchoed frequency command. 18FFCBF7xh StatusTempsTempInlet_measuredCoolant inlet temperature0.1 CTempInternal_measuredInternal ambient temperatureConverterLossesPower converter thermal loss 18FFD0F7xhStatusLineCurrentsL1Current_measuredMeasured L1 RMS line current.L2Current_measuredMeasured L2 RMS line current.L3Current_measuredMeasured L3 RMS line current. 18FFD1F7xhStatusLineVoltagesL1Voltage_measured$Measured L1 RMS line-neutral voltageL2Voltage_measured$Measured L2 RMS line-neutral voltageL3Voltage_measured$Measured L3 RMS line-neutral voltage 1CFFA9F7xh StatusNVParamStatusNVParam_MUX ActParam0ActLVM_ClearingTimes1ActLVM_ClearingTimes2 ActLFM_LimitsActLFM_ClearingTimesStatusJ1939_InterfaceStatusFault_ConfigStatusContactorDelays1StatusContactorDelays2StatusContactorDelays35..10Mode 3:Mode 4: StatusK2Open:Mode 9:Maximum time required for the K2 contactor to open. StatusMX1OpenStatusMX2Close StatusNodeID/Mode 5:J1939 Source Address node for the moduleMode 2:Mode 1:StatusThermalOverloadGMode 6:Configured action to take when thermal overload input is active. StatusSA_MaskTMode 5:Mask used to configure from which master source addresses to accept commands.StatusBaudrateMode 5: StatusK1Open StatusK2Close;Mode 9:Maximum time required for the K2 contactor to close.StatusMX1Close StatusK1Close StatusMX2Open 1CFFABC0xhstringAndOther 1CFFACC0xh justString 1CFFC1F7xh softwareRev ControlSwRev*Software revision of the control firmware. 0..655.350.01 - InterfaceRev5Software revision of the CAN communication interface. BuildTimeBuild timestamp. 1CFFC5F7xhStatusControlVoltage v5p0_Supply4Present voltage of the control board 5V power suppy.-327.68..327.670.01 V v3p3_Supply7Present voltage of the control board 3.3V power supply. v24_Supply6Present voltage of the control board 24V power supply. v15_Supply6Present voltage of the control board 15V power supply. 1CFFC6F7xhStatusControlVolts2 n15V_Supply7Present voltage of the control board -15V power supply.DiodeTemperature Hottest diodeCIGBTTemperature Hottest IGBT 1CFFC7F7xhStatusDCParametersVoltageDCInput_measuredEstimated DC input voltage.V VoltageDCBusMeasured DC bus voltage.CurrentDC_measuredMeasured DC current. 1CFFCCF7xh serialNumber"Serial number of the power module. 1CFFCDF7xhsoftwareRevHashHash(Unique revision identification hashcode.0..2.68435e+08    dMbP?_% } W} } W}  } W} W} W} } a} W} W} W} W} W} }  *+&P&F&333333?'333333?(Q?)Gz?" d,,??c                     ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~        ~          ~    ~           ~    ~  !        ~    ~          ~    ~         " #~    ~       " #~        ~   $    " #~        ~       " #~        ~        % #~        ~        % #~        ~   $     % #~        ~        % #~        ~       & #~        ~       & #~        ~   $    & #~        ~       & #~        ~       ' #~        ~       ' #~        ~   $    ' #~        ~       ' #~        ~      " ( )~        ~   *   " ( )~        ~   +   " ( )~        ~        " ( )~    ~   ! ! ! !!"  !, !-~ !  !  !  ! ~ !  !.!" " " """  ", "-~ "  "  "  " ~ "  "/"# # # ##"  #, #-~ #  #  #  # ~ #  ##$ $ $ $$"  $, $-~ $  $  $  $ ~ $  $$% % % %%" %0 %1~ %  %  %  % ~ %  %%& & & &&" &0 &1~ &  &  &  & ~ &  &&' ' ' ''" '0 '1~ '  '  '  ' ~ '  ''( ( ( ((" (0 (1~ (  (  (  ( ~ (  (() ) ) ))" )2 )3~ )  )  )  ) ~ )  )4)* * * **" *2 *3~ *  *  *  * ~ *  *5*+ + + ++" +2 +3~ +  +  +  + ~ +  ++, , , ,," ,2 ,3~ ,  ,  ,  , ~ ,  ,,- -6 -7 -- - -~ -  -  -  - ~ -  --. .6 .7 .. . .~ .  .  .  . ~ .  ../ /6 /7 // / /~ /  /  /  / ~ /  //0 06 07 00 0 0~ 0  0  0  0 ~ 0  001 16 17 11 1 1~ 1  1  1  1 ~ 1  112 26 27 22 2 2~ 2  2  2  2 ~ 2  223 36 37 33 3 3~ 3  3  3  3 ~ 3  334 46 47 44 4 4~ 4  4  4  4 ~ 4  445 56 57 55 5 5~ 5  5  5  5 ~ 5  5 56 66 67 66 6 6~ 6  6  6  6 ~ 6  6!67 76 77 77 7 7~ 7  7  7  7 ~ 7  778 86 87 88 8 8~ 8  8  8  8 ~ 8  889 96 97 99 9" 9#~ 9  9  9  9 ~ 9  99: :6 :7 :: :" :#~ :  :  :  : ~ :  :$:; ;6 ;7 ;; ;" ;#~ ;  ;  ;  ; ~ ;  ;;< <6 <7 << <" <#~ <  <  <  < ~ <  <<= =6 =7 ==  =% =#~ =  =  =  = ~ =  ==> >6 >7 >>  >% >#~ >  >  >  > ~ >  >$>? ?6 ?7 ??  ?% ?#~ ?  ?  ?  ? ~ ?  ??@ @6 @7 @@  @% @#~ @  @  @  @ ~ @  @@A A6 A7 AA A& A#~ A  A  A  A ~ A  AAB B6 B7 BB B& B#~ B  B  B  B ~ B  B$BC C6 C7 CC C& C#~ C  C  C  C ~ C  CCD D6 D7 DD D& D#~ D  D  D  D ~ D  DDE E6 E7 EE E' E#~ E  E  E  E ~ E  EEF F6 F7 FF F' F#~ F  F  F  F ~ F  F$FG G6 G7 GG G' G#~ G  G  G  G ~ G  GGH H6 H7 HH H' H#~ H  H  H  H ~ H  HHI I6 I7 II" I( I8~ I  I  I  I ~ I  I*IJ J6 J7 JJ" J( J8~ J  J  J  J ~ J  J+JK K6 K7 KK" K( K8~ K  K  K  K ~ K  KKL L6 L7 LL" L( L8~ L  L  L  L ~ L  LLM M6 M7 MM"  M, M-~ M  M  M  M ~ M  M.MN N6 N7 NN"  N, N-~ N  N  N  N ~ N  N/NO O6 O7 OO"  O, O-~ O  O  O  O ~ O  OOP P6 P7 PP"  P, P-~ P  P  P  P ~ P  PPQ Q6 Q7 QQ" Q0 Q1~ Q  Q  Q  Q ~ Q  QQR R6 R7 RR" R0 R1~ R  R  R  R ~ R  RRS S6 S7 SS" S0 S1~ S  S  S  S ~ S  SST T6 T7 TT" T0 T1~ T  T  T  T ~ T  TTU U6 U7 UU" U2 U3~ U  U  U  U ~ U  U4UV V6 V7 VV" V2 V3~ V  V  V  V ~ V  V5VW W6 W7 WW" W2 W3~ W  W  W  W ~ W  WWX X6 X7 XX" X2 X3~ X  X  X  X ~ X  XXY Y9 Y: YY Y; Y<~ Y  Y  Y  Y Y  Y= Y>Z Z9 Z: ZZ Z? Z@~ Z  Z  Z  Z Z  Z= ZA[ [B [C [[ [D [E~ [ B [  [  [ [  [F [G\ \B \C \\ \H \I~ \ B \  \  \ \  \J \K] ]L ]M ]] ]N ]O~ ] B ]  ]  ] ~ ]  ]P]^ ^L ^M ^^ ^N ^O~ ^ B ^  ^  ^ ~ ^  ^Q^_ _L _M __ _N _O~ _ B _  _  _ ~ _  _R_` `L `M `` `N `O~ ` B `  `  ` ~ `  `S`a aL aM aa aN aO~ a B a  a  a ~ a  aTab bL bM bb bN bO~ b B b  b  b ~ b  bUbc cL cM cc cN cO~ c B c  c  c ~ c  cVcd dL dM dd dN dO~ d B d  d  d ~ d  dWde eL eM ee eN eO~ e B e  e  e ~ e " eXef fL fM ff fN fO~ f B f  f  f ~ f * fYfg gL gM gg gZ g[~ g B g  g  g g  g\gh hL hM hh h] h^~ h B h  h  h h  h_ hKi iL iM ii i` ia~ i B i  i  i i  ib icj jL jM jj jd je~ j B j  j  j j  jf jck kL kM kk kg kh~ k B k  k  k k  ki kcl lL lM ll lj lk~ l B l  l  l l  lf lcm mL mM mm ml mm~ m " m  m  m m  mnmn nL nM nn no np~ n B n  n  n n  nqno oL oM oo or os~ o B o  o  o o  oq ocp pL pM pp pt pu~ p  p  p  p ~ p  pvpq qL qM qq qt qu~ q  q  q  q ~ q  qwqr rL rM rr rt ru~ r  r  r  r ~ r  rrs sL sM ss st su~ s  s  s  s ~ s  sst tL tM tt tx ty~ t " t  t  t t  tztu uL uM uu u{ u|~ u  u  u  u ~ u  u}uv vL vM vv v{ v|~ v  v  v  v ~ v  v~vw wL wM ww w{ w|~ w  w  w  w ~ w  wwx xL xM xx x{ x|~ x  x  x  x ~ x  xxy yL yM yy y y~ y B y  y  y y  yq ycz zL zM zz z z~ z B z  z  z z  zf zc{ {L {M {{ { {~ { B {  {  { {  {f {c| |L |M || | |~ | B |  |  | |  |f |c} }L }M }} } }~ } B }  }  } }  }q }c~ ~L ~M ~~ ~] ~~ ~ B ~  ~  ~ ~  ~b ~c L M  ` ~  B        _ K L M   ~ B     f c L M   ~ B     c L M   ~ B     q c     <~      = >    ? @~      = A    D E~ B     F G    H I~ B     J K    ~    ~      ~    ~      ~    ~      ~    ~      ~ B     \    ~            ~ B            ~ B            ~ B      K      ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  w      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~ "       ~    ~ &       ~    ~ *       ~    ~ .       ~    ~ 2       ~    ~ 6       ~    ~ :       ~    ~ >        ~    ~         ~    ~         ~    ~         ~    ~          ~    ~          ~    ~          ~    ~          ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  v      ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~  *       ~    ~  +       ~    ~         ~    ~        ~    ~  .      ~    ~  /      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~  *      ~    ~  +      ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~        ~    ~         ~    ~         ~    ~         ~    ~         ~    ~          ~        ~           ~        ~           ~        ~           ~        ~          ~        ~          ~        ~          ~        ~          ~        ~          ~        ~            ~        ~             ~        ~             ~        ~            ~        ~            ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~         ~        ~          ~        ~          ~        ~          ~        ~          ~        ~         ~        ~         ~        ~         ~        ~         ~        ~           ~        ~    ! ! ! ! !! ! !~ !  !  !  ! ~ !  !!" " " " "" " "~ "  "  "  " ~ "  ""# # # # ## # #~ #  #  #  # ~ #  ##$ $ $ $ $$ $t$~ $  $  $  $ ~ $  $$% % % % %% %t%~ %  %  %  % ~ %  %%& & & & && &t&~ &  &  &  & ~ &  &&' ' ' ' '' 't'~ '  '  '  ' ~ '  ''( ( ( ( (( ( (~ (  (  (  ( ~ (  (() ) ) ) )) ) )~ )  )  )  ) ~ )  ))* * * * ** * *~ *  *  *  * ~ *  **+ + + + ++ + +~ +  +  +  + ~ +  ++, , , , ,, , ,~ ,  ,  ,  , ~ ,  ,,- - - - -- - -~ -  -  -  - ~ -  - -. . . . .. . .~ .  .  .  . ~ .  ../ / / / // / /~ /  /  /  / ~ /  / /0 0 0 0 00 0 0~ 0  0  0  0 ~ 0  0 01 1 1 1 11 1 1~ 1  1  1  1 ~ 1  1 12 2 2 2 22 2 2~ 2  2  2  2 ~ 2  2 23 3 3 3 33 3 3~ 3  3  3  3 ~ 3  334 4 4 4 44" 4 4~ 4  4  4  4 ~ 4  445 5 5 5 55" 5 5~ 5  5  5  5 ~ 5  556 6 6 6 66" 6 6~ 6  6  6  6 ~ 6  667 7 7 7 77" 7 7~ 7  7  7  7 ~ 7  778 8 8 8 88" 8 8~ 8  8  8  8 ~ 8  889 9 9 9 99" 9 9~ 9  9  9  9 ~ 9  9 9: : : : ::" : :~ :  :  :  : ~ :  ::; ; ; ; ;;" ; ;~ ;  ;  ;  ; ~ ;  ; ;< < < < <<" < <~ <  <  <  < ~ <  < <= = = = ==" = =~ =  =  =  = ~ =  = => > > > >>" > >~ >  >  >  > ~ >  > >? ? ? ? ??" ? ?~ ?  ?  ?  ? ~ ?  ??@ @ @ @@ @ @~ @  @  @  @ @  @ @>A A A AA A A~ A  A  A  A A  A AAB B B B BB B B~ B  B  B  B B  B B>C C C C CC C C~ C  C  C  C C  C CAD D D D DD D D~ D  D  D  D D  D D>E E E E EE E  E!~ E  E  E  E E  E EAF F" F# F FF F$ F%~ F B F  F  F F  F& FGG G" G# G GG G' G(~ G B G  G  G G  G& GKH H) H* H HH H+ H,~ H B H  H  H H  H H-I I) I* I II I. I/~ I B I  I  I I  I I-J J) J* J JJ J0 J1~ J B J  J  J  J  J>K K2 K3 K KK K4 K5~ K B K  K  K  K  KL L2 L3 L LL L6 L7~ L B L  L  L  L  LM M2 M3 M MM M8 M9~ M B M  M  M  M  MN N: N; N NN N< N=~ N B N  N  N  N  NGO O: O; O OO O> O?~ O B O  O  O  O  OGP P: P; P PP P@ PA~ P B P  P  P  P  PGQ QB QC QQ QD QO~ Q B Q  Q  Q ~ Q  QEQR RB RC RR RD RO~ R B R  R  R ~ R  RFRS SB SC SS SD SO~ S B S  S  S ~ S  SGST TB TC TT TD TO~ T B T  T  T ~ T  THTU UB UC UU UD UO~ U B U  U  U ~ U  UIUV VB VC VV VD VO~ V B V  V  V ~ V  VJVW WB WC WW WD WO~ W B W  W  W ~ W  WKWX XB XC XX XD XO~ X B X  X  X ~ X  XLXY YB YC YY YD YO~ Y B Y  Y  Y ~ Y " YMYZ ZB ZC ZZ ZD ZO~ Z B Z  Z  Z ~ Z & ZNZ[ [B [C [[ [Z [[~ [ B [  [  [ [  [O[\ \B \C \\ \] \P~ \ B \  \  \ \  \_ \K] ]B ]C ]] ]` ]Q~ ] B ]  ]  ] ]  ]b ]c^ ^B ^C ^^ ^R ^S~ ^ B ^  ^  ^ ^  ^f ^c_ _B _C __ _T _h~ _ B _  _  _ _  _i _c` `B `C `` `U `k~ ` B `  `  ` `  `f `ca aB aC aa aV aW~ a " a  a  a a  anab bB bC bb bo bX~ b B b  b  b b  bqbc cB cC cc cr cY~ c B c  c  c c  cq ccd dB dC dd dZ d[~ d  d  d  d ~ d  dvde eB eC ee eZ e[~ e  e  e  e ~ e  ewef fB fC ff fZ f[~ f  f  f  f ~ f  ffg gB gC gg gZ g[~ g  g  g  g ~ g  ggh hB hC hh h\ h]~ h " h  h  h h  hzhi iB iC ii i iQ~ i B i  i  i i  iq icj jB jC jj j^ j_~ j  j  j  j ~ j  j}jk kB kC kk k^ k_~ k  k  k  k ~ k  k~kl lB lC ll l^ l_~ l  l  l  l ~ l  llm mB mC mm m^ m_~ m  m  m  m ~ m  mmn nB nC nn n` n~ n B n  n  n n  nf nco oB oC oo oa ob~ o B o  o  o o  of ocp pB pC pp pc p~ p B p  p  p p  pf pcq qB qC qq q qY~ q B q  q  q q  qq qcr rB rC rr r] rQ~ r B r  r  r r  rb rcs sB sC ss s` sP~ s B s  s  s s  s_ sKt tB tC tt td t~ t B t  t  t t  tf tcu uB uC uu ue u~ u B u  u  u  u  ucv vB vC vv v vY~ v B v  v  v v  vq vcw wf wg ww w w~ w  w  w  w w  w w>x xh xi"xy yj yk yy yl ym~ y B y  y  y y  yn yoz zj zk zz zp zq~ z B z  z  z z  zn zo{ {j {k {{ {r {s~ {  {  {  { {  {{| |t |u | || |v |w~ | B |  |  | |  |x |y} }t }u } }} }z }{~ } B }  }  } }  }x }y~ ~t ~u ~ ~~ ~| ~}~ ~ B ~  ~  ~ ~  ~x ~y t u   ~ ~  B        x y      ~  B        x y      ~  B               ~  B               ~  B               ~  B               ~  B              ~               ~  r        >@A    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntryWorkbookcanmatrix-0.9.5/test/test.xlsx000066400000000000000000000772201416730473300164110ustar00rootroot00000000000000PK!YYLxl/worksheets/sheet1.xml_Ǖo>BiPau<]}sPʵrc!!+QY(?>w_^~_˫~?|W7ǯO>|?W/?OO/~2p{^_x`?0?0|<.DK/}]XBK//DKqdH}å2ׯCҏK?>/X_օ2~ ./\z>qdH}åG^j~l\)yǗ^"K_ֺPݛXxN[T ~7=K8IEH}䥟_zԗ~/}]XB_KK#ԗ^^_ǑM"zz8K$/KK}Z\%\ .DK^^_ǑM"_~_Ǘ^"֗.u\K .=WK/_K//&_+/}^m\W|p-S_{~QYQ)syWet$2ejN 3`˲%X XB]YQ)p \Y X8,p8Y,t^>xx&dz{fe`A2`ʊJWKD$. , dz{f! XDeEtG+φkfA2cBe8Y,&~ YG%$e4!*+*;:p \Y XlL@2`h _2짚3ҰKXCˀxCTVTʽ,L \Y X"8Yx,҉C~aj]B#Z,@$R9baXȂdBe0 GHEZVj.-`QYQ)Ѭ@=un=I$<dqf X8.[,d=c PB dMdA2`!22YH8Gˀu~ڑwd%-"xGTVTʽb,kdM`25 Ae=lAwQ @_.".YzK;Z,;R.]BdMdA2`!2YHxGˀw zG.-xzK;Z,;R.G7p(g,-QYQ)('YY XL@2`!w_hy>w XwDeEGiM܀H͉ew Xm^ Xz>-QYQ) XȂdBe Qc/ޱBC; hL 2X8 J\X ;R2R8ĝZC; hʊJ"x dBe Q@C; hʊJ ,ϦvM]g,$-~G{& Xz!-QYQ)p \Y XL@2`}L#gB; hʊJW!bk"  QL@ Q}0/w2`2D4& yG,$eB8;rC:wK/~ʊJWui[Ewb ǃs^Ǚ2Dž`{ `{p8KՌ Y XfDeE G`A'X X4L@2`!joD3b{ҌCV3TdA2`2, KĂO 7d!h7=h7Y8ЀɀhFTVTpX4,H,DQ& h7=hi1G0`2nqV2===w2wh?3`!G0 ͈ʊJ,Ds5ɀH3`!-Q4cҌcV3TdA2`r( eMdA2`!jo B2`!joS=Ռ8 ͈ʊJWH3ʚȂdBmЌ G͈zf/=4Ռ8 ͈ʊJ xs oej4vY& FˀўIQq`A2`Ÿ}%X4,H,?Ͽd~%joq籥l{; FTVTʽ,L rF 7d!h7Bqz1-QYQ)}ZD$"(w XG/c;Z,;Rvc4֞[]@=d!h7/Ǭw2`2X84XH|zL@2`!joqw25 #*+*ezpY5,_K7&2erQ{$ޱ/w2`2u תeMd!q;)2YHxGˀqXwqJxGˀxGTVTq LD[{Z,D2YH7Z,D6A_gB;N hʊJW@ >ɚȂdBe GX~xv,d {EY:dMdA2`!jo B2`!joFV{S;Z,;R1b!Z,$nY& h7N/4z:w XwDeELOu/D[{Z,Ds Bv mZsqJxGˀxGTVTt~`!w5;d!-~ljޑwqJxGˀxGTVTʴD,D& `!l Q$VS;Z,;R;8ESe QDB;Y8'ejfxGTVT|m5 &Lg,$2ejN 6A_gB; hʊJ#x B;Αw B;Z,D3# s;Y8'e#*+*eD,D& ;d!h;Yz9-QYQ)G,S x:XHxDf X8zzp dz{f!w XwDeEGV4X65֞Q& ~Gˀў- ~9w XwDeEG5Y7XL@2`!wqw2`r( SĂܪ,ȺB(DeB8w~8g yX~ZDd`!2YHxGˀqw~w2`2Gs4֞1w B2`!wg)[s; hʊJ,D?_-k"  w B;Z,D3#nk`A2r=:>u7ښdi!2!joR3.145TA2r( Q{ 0H0L! Df `K C3^d<#*+*:G0D& 00$Dc"Y0D WƥזhfE0H0@4RK k  KC4&2eC/W;ȖifM0H04R莎& p aHDf `8ƱqU㵥/8ha݁`ie%cCB&f2!!t$: 3MCGgAѧ3]ё|HHZ!YZY*{鸄tHH%#]Lh:D_u_LWtd]C:$D:+YZY*{C:deCBBЦ!qrڇxԭS]m|%YZY* (`'/lgB+7$Y |Dg0,["Aw?P8-ǡMCDb$,N,{_!Ix=tr+ ÙLC/#$+3MCd"$,ӐеI~~I>$?PʭԂd!(^51y4DLfbbO/L9Ɋ/ɇ$:p9RZD?xOr,%$=Lh9Yȉ= 0$L$r{ )KVjqr 9L N,ŷk̉HǡMCJNi&']ڦvj!pѦTn'Qp+~Us){:Rc"sDh0vLY?="-QDDEieJ-(}x:@a 85/2P@o?+*S SVʭԢ"v>zQQZY*{88|pqh8i]Aus]񑖪]FZ|PTns~Q 㭛u/TWxujѩ"ԩ(,xL!\a)<"c~GS@OuGZvj!ARgyTqy)ӑmƣ&B=> x+(ִXS  ZSVʭ_Q< XSMvAC!PdEtLB|hB$GƖZ|ЖT5ʌKǂm#n!Ss=>!tKڒ^2BBKRKi|ʄMӑA>MCgs=>!uGZ^2BTVf|X|t!Dh\W|%N-D>NQZY*Rcq Elb};·{gDu* uj!BujOTRMuzIKFZPTn'C|GMთӑ;M6 ৶jsVB9BEieJ-Nq=o,!DZHЦ!r2y SmN*Q"'T(,[I؟zS{CGN2Ц!rU{‰69I;KƩZЩTn'arÏ{j'qL"dT-DNؤjOC'D%-W/j!rBRdoΣDZ2#Vw &m"&\?ѣzIKƶZжTn%mHC&>PWջ󁄒mM6 saPksdH +J+KVjQv^D>[R['PIL ;TiPϸW r+589^$dSo=uNG"'2 9I6 58AMՆ"-\ppEieJ-(^c Fo=?lNG(2Ц!BU{ܰJI_7Y)Ke/21nEKinR|>Hksj\,iqO{֞ 89iEieJxOZ-SN$YMCĄ՞1PkWub?T*WxK+Ke/qTpiy|SBЦ!RQ{nh>-U{iL,ELUQZY*RýjOk8IF&B = tZQ9՝I^.R=^ţ.,/Q4yZpZaqh8.e6)V?-J{:PRד|i>!qLhi~3i=Lo4bECZtFH(J+Ke/9 'HC}wiICFЦ!j>zov}Z|҇)4X4P}T/4}w4dzKMC!ݤ}0)izsKҠ)0PpTnnr {jamKMC |6bU m €}&J+KVj!( |wA2BdRz hAL_kX\RfO04J lLLSL:de"idP_Ӏ^YIRGRB&JVjN>z\H,ENGz2V34Dzh5iuRKtPRGRB{JQ*R-()ׁON,U{w# =DhaO>Y0ZC?wVFXHJXԥ}8JVlDSt$n`88iOE~p+D|{]0S^rfdVKf,EfL{"3W0#]|i~oHA0c)2#)a觡|dRd&20"3G 6WI^uH{A0c)2#)a|dRd&20"3mc_ȷ M: R0C!Reyf=s_N_Nma&ӊj!243cюb_ɌHmRKijLtg$Be>;ꊙ 3"3fyQ*{əBfldRd&8ҳ!d`!2sό⎱9ꊙmF0{T3s ՒKH608i}GTW̤M(VI{ Mx2`8:ўu[Oёma&#-DfOoN\AH[R&%4Cs%4ZBc)Bh6 /e=<s]A{U@VX^rh[- ls4ZЄ7kAS\WФUR"4)B&l9xn9I>KȌC ea&-Df9>xN`M}ԛpi=Ҁm ls3Cq1B=Eh>xN`MBC|/94蓮C ls4l!B6GO㹮I95EhR>xF%&}u4"4m&-DhYt0w4M:K620"3aosi/NG"36y4DfF=Eh2"4)| eЄwu4"4 9MF[ЄxGӴ״ lM_iQ*{ɡ !0h,Eh`d:-Dheh״ dLJ_)Q*{ə o!0f,EfBs  ;"ik_S.XSd&傯t([9ʫ34ϸ3` 3XM3ה I+e0Je/94QBcXЄ2X4l!Bv_Eˎii|M`M TCs V\Bc)Bv&l!Bv_E(sG W/GxfFS`fOݙa%cI`  o˸; K3q"3JM E f,Ձ3X 3`_ :} niZHC"4@%&MàdAh2Wh}8EhZ6kq =u6x/94Aà:uB 3x TWdecf22XS d0Ke/93}u3"3 9LBjL; cN3q"3JM0f,53X 3`_ :} hZYeR2XSR F%&}u44](m@m. GM״]w))Bm0Je/94o: K3X 4`_ :hGs<3iܥlLw(D!g0f,EfBls Հ3xv4]SwiܥdLJSf($3Q|Ry= Xj3}Af6_ 9.;;{Фep"4) 2^rhD: KP&#u5& GMwiܥlMw(Ќ!4eKh,Eh`$:}5& GM3ҥep"3)QT33̘X%3"3 9LFjL; .K`M Q*җ3Ei=X f`$:}5`& )S&- I26R&6`] :#4i.m I6kuK3X 4`_ :pG e%%5f,Ef.(̜FC23櫩\.v I ]0JVjh.}G0c̄6t[̄2Es \L_Q*{əa0f,EfBls  ;/t ͥ/i|I`M KL2u3"3u28ibe3S]1V I@f%g&OcRd&T6ɨ` ~&|<3i|I`M Tn~&~G4sJMsK _u2  e"3i|I`M T3#aX̄& 3l!2_h4M%m/))22`^rf'[1c)2vd&l!2v_s? E%%5EfR"BRKLqcRd&6Ɉ` +""=%5EfRBRZ(>SJMSK^u2  m | 3}))0c)2T2s3aFS`=fMC`{n}))2==0Je/93]Ȍ 3"3aOAf2="3aOp/*㩮I{>5EfRF%g&8[1c)2z`d5EfRF%g&u3"3aGAf2"3aGp/*fGp}k̤z3`:y4DfS`Cs S&XSd&eǁKqjKd&c-Dfhi1ǔ I*1FV+XЄ=6[Є=`2*xL`M Q*{əBfdŒLm2Q"3a(* &xL`M iQ*RkC>Gz0c̄w9L"3]m nh7&xL`M iQ*{ə !V+X̄& 3l!26beCTcZ))BR#U0Je/94蓮V mBi  Gs`LR#NGL)84Df¦`fS6sk HJiQ*{I9[-9 `&4f)x TsZ))BR3U0Je/94]I 4]M)84Dh¦6i6i$oMC$l佊&ioi{{M[MޢTn%f9]EcNhOGL74DfF^f#5mo){)2W[^rfB{kf,Efߛ{9LZ̄WUikZ^SVS&oԷ(mOZRBiM6 *̴yY}%OX;3,d̜Gkft`S53#53Ц[74h9ꊙ|LZʘeJ9`F4T7{n>3FLhyuzCL~I>f&co-e޲T3s%3eɌLpkg$쭆LȻ_hZշ_[K4з,!4ZR9Ц!B}4|sdcf2FR .Ke/93} 3"3%u2"3Q#>z|BiIuV~I>&#y-e@TC(']@c)B[Y 4 !B40'4_gch2R /Ke/94~ 4"4%uBp"4G<qhZ2_`K4,!4ZRfIfBM`_V/o:k$C2h`Y*{ɡYBhK%&a3MChg@#6x~ hZ6_`K4,[YM͞5Dḧ́6 Wi5]w))0#)a F%e mXt 9L"itQ3>}t:4iܥtMJw(OZƚy MBḧ́6 w >v:ꊙR:XSd&;`^rf{ 3%d&MCd&jG#5mp]k̤l=u`6;O2s.>zdf$]Hdqh9.{̤mp"3) d6^rfBlfR6t$2Ц!2Ns]A]kФlpGRKMhmMw 9M[D]hԔ]Zw))2e0Je/93 3)܅2 3l!25N]SwiܥdMJw(Є2V+Фdp`ddM;uMܥep"4)QTC`[@](mB"4G:ةk.- I2kV`Bs IgBMpC}4x\64h.(МFXМhl@m4 NҴ|=Fnw RKkaKo&#t8iD'şv): %)")r+ϣ$ED缀K]AI<m")Ё{$HDFO(Xo3LL *u%U9Ysg# +2 Yy4DVO0~UI ދER'%x/([Bs%NXaBOJ^(xQ*R8Jxt.|w4'Jxd8iBxqSJ7%KM)ce~TGɊ8[oJuL`E&!+CJ}^iFR~߽Wx,ExR~BRϣGDaKLBx6 [= |z|\ u+B4BZ~RKJi@Hy D !Ц!2/L6H㹮IՁ> 7,,t!!4”ńdm"!}_:"$M;O a7-J+Ke/9![ aJĄdm"!^|O>z|\W T 7,,!!4”DŽp!qh 9Z]|)>zxnޟuEHZ"KKڌ~RKNbK#!L !CLHNЦ!r}HHBwBwB |#R$7,,䄌!!4”2Ƅdn{m"!^#!\W T 7,,L!!4”2ńdnrm"!G=ZG"$RBHHmDaie%'d 9&$sGDh 9J+uEHu`b)R7~RFI{9ݷW?G4&B[q}z|`EEڣ))RARZTwm}G78Pߣt "sDh yf󘶩cʦj (,[iԊu[ =>?$$4N{c8I;1T5ENTQZY*R9u~Ma#r:iNM6 6㺺ڤr")t(,[EJxQ$ HBJNЦ!;{ڤr")t(,[EJجz={K*ߝ$dUMC$ͪ4TkSUS$r+H {UGRЫ)Lj"iUU-OH 1%X5E,(XQZY*R 1ĂZVs<Ƚ\Ц!r1 {fV\Ҫ"Ԫ(,[Eؖ:/vu[KIu:piKM6 %LXzuLUMUVʭ"%} #2JA q_l~Z֫cJjPTؓ.M 9dm"!' BZg\WUR"!T(,\CBdiBH5$$Ӳm"!GQl->93 SڱN)Ǫ)2ѱTr 4)r:9H"iLx~GS@OuHZN))BRyI)ӑ!dܪݪ<Xa6SʤjXФTnwФN"vͷgؤ$EƤZ\Фړ1j3M2")4(,[EJhRpBH@ɈDhA M[AV 2"!4(,䄄ݪ4!R$x$VM6 ş1#!^\Weꔒ"!(,䄄ݪ4!R$d t&BHH#]hU~x+BZuJiUMjUV^rBnU[b)2dUMC$$II+Wu<!i:tHu*J+KVjCoO"JG|N'nw>X3>54DD-{DWRkZN))BRZ]rhP>;IH&BH VqF6II)W5ERWQZY*RugGܾWR[YOGR2Ц!VV{B4HӞuNyVMr+5H9±M[KǾ#$B@=bODRmRuN WM WVʭ_B{s%)Һ7 X;H@DhApݫ 2"'4(,[Ih`gэFB-92p"'\$ŜsʿjпTn'(Ete|$%#`MC4GT%a甇IEieJ-R ~E%[OGR88i $.X뜒"(,[E:7o-e[׸U&,2"d'+[WڤTv㋕;yo\:QV^(-r<eǡMC>Q/d%+Y3>[OᇎI, KoXzb-KXzfYX^Xz*UguYn9uR| LQZY*{970ե\S|`*?L-zO55=,FRPQDieJ9x M]BS{KDPxK zK}DR-T\DIMr+5EV5VOG⛼LBTMC@eu_@O49Sr{@F]*{IoN$VM$BЦ!QxTE$*BHSF%JVjFIIt:ГЦ!COXIO`.&KJMʭzW "RuR,5e'#5-Dz(5i=jғJR)r+5i謕[O+# =љm"=4K5i"߂~FR q |┮h ȞAX28m",){Pz,Ez2zؗRZoTrc)ns$BO"=?JnYF]TPQI =u@ ˱1Jan̾[OA$dTMCD (gDqQ~uo=5 ]^jAfW&22fB$fWO:=[P.lK^ʭK;ͺꭧ^D^ ^ycOE5-{qI@+/JVjl`R񗶦HG&!=Ц!s =j:ﵥtCݪ[Ok-,aie%}WWֱLڅNG'2"dI9?#0 .Ġ.,\B li GlCA}^iC~çoo~_?},}Ï_~~9oa?~O_}_>> ?}Ӈoǟ?|~^?_,7?PK!ۓxl/workbook.xml_O0)J7l.Fh4:dC]!.?۫s`s-2sxEŧMo˳1/kC}"Wp77-jRpO"ZՈQQYpaOXa%^kP=ĢܻZM%>1޶xCLq Q iz<خI2^BTBY&[6ѩtY8N=HݿKAQja5:d RY:~>U}M+cӟ[90Ua|Mʳ"!MJ"5˱z= J7+>Ӕ쥄o5.v/r )$/4= \C@SD*gc'Y\sPKaO-bX!\y;@jr@p"&2i7:& 9)]Q%-@w}@OxsK/%܂(9YhG&za}Nl N NBw/l GZD;i^cnнD["?D-zz5 n-`c}?}M1 D_`^[c#×PO#!IY_,>N_!> L>twrUN)pd'\"7ze d]&@ۘ*уeU #}̔grp s \<'\]Z1<)OD8\bB$BWę;:*&Wz`0szΪ ~aJ#gx, !j0t.6{e"o-d80?AVnie"[\ʓ*QA2gvBOTJVHBZ o7 nqǹqs;o'X :ҥyƺQQr|<3}kxn0CoKk`/5|KKf/'f>x)T㿇cBaXd[h 6(h GLK&_W}f}Yc*ڻ(u1np_`4ǿ 7F|'X>zcP@'-%S<: :n,xR" F-y⠺Veno^a6 HV)P7NtRO^0UN'[o41@B,f}aP^nmn =K{mI92B^Y89ӍsdъjD֫0l9016sQweŎ4L< bܻu)杓mFR;3kxaRb_iǎ;K[2`yo(Śr"Fe`'ȝ>KU14jg ײ ?[s$$֟3 lKƀ9r#Z:AUw5pF<|p&MJiE\ո%&^N8#H>x8G+X!Z%jû=_D/8Ϭudjw iuGdo!es{Į}RȾۣc,X4K?/oCr+*XqAXL;N춡c OȼMzbգ18Ջ~e!֓\lʮ==`pv:N`3?kw@-#7fW{)I1~6!3[׾=BGQ6=7F69Y]7ô.mсl@ [/b˵7/' JCPtvA*@`1*[^ۯ~^5}|C2~ 5``7IV=N~k?PLlD`)P8,O:Fnn[,F5';aU F'[RGR;Fӏ!U6_x=M#:qJPSV,/% ГѭCkUgsͫQ.O\/]KykRhit|zᅰ(G];=f[c# ɤlի al4rLMw!ƨyd:uF (NƖO9Uy[/7}QXc;<@vX5tUn[y[j7d9ၧѷl:ڴ~Ά塿+9必9;T1+KLE`apSNor״>x4/F=`t|%K[9zY ]²3FBJATTeQdLp|v=<XlgJjt+;bPPK!%|docProps/app.xmlRn0 + 90H;XH9ʒ!F 4Hc# "CoBi//8![Embh1EʒBJJ256@S2d*k>=exd%v4gUkZ&?YBѠSrTh-Z>\i*NG~fxա3Ԗ" }Bt-xgٹk+ՈLJ)_b$p-c#,;"#bx &̞=f"^.`M >PWziw/&նeZ8P)Zt~]?`y|nߟ^,y:/YPK!0%PdocProps/core.xmlj0} -1mɩBSZz~:~*N$SvvQة.53J|`Zh-[ʍWg, '=F,-(QXke B |B׍1t@,go͆Qp* 7'qr<}gl9\RO5;`—E<\|Xo$!7ގ@$1==)5))Ң\9-KZȫ3Pxr_PK!a]I:O[Content_Types].xmln0E*1tQUE\{B, P[QMdsǎ<-- '2:맥x!=jO$.DZ9GŘ@q69 iök(Owbr?y7J| \{os>~PK!7 M xl/styles.xml_o0),l IHiZi XdBxw;g'y$:atJ %\I]LWLS>fo{ɟZ΁ A݇(res7gjcTmrV9dl"ńYR א!K yfˊi%@<1Z4S.V؀%׀V4t0 Jh&=IƖM)c˅c=#R>yޟz.h;IOHۚi]*T Dn)nڶa<% qcKځ6fvVk1ۣ d,Dlg%96;ُ.r~<  nZ쭫]?t%A0t" qegο^_znϙRg [NgS˼5V~x|cwZݮW-v7+MAx s9d #,([ˮ>Qr- .V4AjPP kw-_.meMU(P ȫ?zz᳓?OПO}K3^~_0|Փߟ=yg|x4&"`AQ "L+8SQxk !UL]#1Q܍ pshn&K7gfb0>2 moB&SnD*j36IB1!{VG}%)tF Pn25)f.pfbCH(L, :(51ӑ7LJN_qT0zDs[L+bDưi\E E&M̹nԨ3M"CbϕQ ^l qpߥD02'Hvg"ʮ]1MjƌB7~ߌgmx4Jt ^6fg@@cǃb lU(uAWNSהxfiޙl͛P gY/DC`FYX.OR,tnie1j֊x_9g{sg{_{g^.Q[;䫥?>ށ҄)YMzG/c/HPK!IK _rels/.relsN0 @|EnH &4>$nă@ iqgwo Hk3H"xR㋔d&AsQnQ.IiWbk@ƈM| k@7*wH{rCuj\,*r*09a8Iͻ 9>/qW;~p6ڿ0#PK!YYLxl/worksheets/sheet1.xmlPK!ۓYxl/workbook.xmlPK!IJ@K[xl/sharedStrings.xmlPK!%|mdocProps/app.xmlPK!0%PndocProps/core.xmlPK!a]I:Op[Content_Types].xmlPK!7 M qxl/styles.xmlPK!FTRsxl/theme/theme1.xmlPK!IK y_rels/.relsPK!Du[zxl/_rels/workbook.xml.relsPK {canmatrix-0.9.5/test/test_codec.py000077500000000000000000000067461416730473300172100ustar00rootroot00000000000000#!/usr/bin/env python # -*- coding: utf-8 -*- """Tests for `canmatrix` package.""" import unittest import tempfile import os from canmatrix import formats from canmatrix.canmatrix import Signal class TestCanmatrixCodec(unittest.TestCase): """Tests for `canmatrix` package.""" def setUp(self): """Set up test fixtures, if any.""" def tearDown(self): """Tear down test fixtures, if any.""" def test_bitstruct_format(self): """""" s1 = Signal('signal') self.assertEqual(s1.bitstruct_format(), 's8') def test_encode_canmatrix(self): db_path = os.path.join( os.path.dirname(__file__), "..", "test", "test.dbc") for bus in formats.loadp(db_path).values(): test_frame1 = 0x123 data = { 'Signal': 2, 'someTestSignal': 101, } data_bytes = tuple(bytearray(bus.encode(test_frame1, data))) assert data_bytes == (0, 0x28, 0x04, 0, 0, 0, 0, 0) def test_encode_decode_signal_value(self): db_path = os.path.join( os.path.dirname(__file__), "..", "test", "test.dbc") for bus in formats.loadp(db_path).values(): test_frame1 = 0x123 data = { 'Signal': 2, 'someTestSignal': 101, } data_bytes = tuple(bytearray(bus.encode(test_frame1, data))) decoded = bus.decode(test_frame1, data_bytes, False) for k, v in data.items(): assert decoded[k] == v def test_encode_decode_signal_value_choice_unicode(self): db_path = os.path.join( os.path.dirname(__file__), "..", "test", "test.dbc") for bus in formats.loadp(db_path).values(): test_frame1 = 0x123 data = { 'Signal': u'two' } data_bytes = tuple(bytearray(bus.encode(test_frame1, data))) decoded = bus.decode(test_frame1, data_bytes, True) for k, v in data.items(): assert str(decoded[k]) == v def test_encode_decode_signal_value_choice_str(self): db_path = os.path.join( os.path.dirname(__file__), "..", "test", "test.dbc") for bus in formats.loadp(db_path).values(): test_frame1 = 0x123 data = { 'Signal': 'two' } data_bytes = tuple(bytearray(bus.encode(test_frame1, data))) decoded = bus.decode(test_frame1, data_bytes, True) for k, v in data.items(): assert str(decoded[k]) == v def test_import_export_additional_frame_info(self): db_path = os.path.join( os.path.dirname(__file__), "..", "test", "test.dbc") dbs = formats.loadp(db_path) tmp_dir = tempfile.mkdtemp() for extension in ['csv', 'json']: out_file_name = tmp_dir + "/output." + extension formats.dumpp(dbs, out_file_name, additionalFrameAttributes="UserFrameAttr") with open(out_file_name, "r") as file: data = file.read() self.assertIn("UserFrameAttr", data) if __name__ == "__main__": unittest.main() canmatrix-0.9.5/tox.ini000066400000000000000000000016221416730473300150370ustar00rootroot00000000000000[tox] envlist = py{27,35,36,37,38,39,310}, pypy{,3}, mypy [testenv] extras = arxml test xls deps= coverage pytest-cov passenv= TOXENV CI TRAVIS TRAVIS_* APPVEYOR APPVEYOR_* commands= python -c 'import sys; print(sys.version)' pytest -s --basetemp={envtmpdir} canmatrix --cov-config={toxinidir}/.coveragerc --cov=canmatrix --pyargs {posargs} coverage report [testenv:dist] envdir={toxworkdir}/{envname}_env commands= python -c 'import sys; print(sys.version)' python setup.py sdist --formats=gztar,zip --dist-dir={toxinidir}/dist python setup.py bdist_wheel --universal --dist-dir={toxinidir}/dist [testenv:codecov] deps= codecov==2.0.15 commands= codecov [testenv:old_tests] commands= ./test.sh [testenv:mypy] description = type check basepython = python3.6 deps= mypy commands= python -m mypy src --config-file mypy.ini canmatrix-0.9.5/versioneer.py000066400000000000000000002060031416730473300162570ustar00rootroot00000000000000 # Version: 0.18 """The Versioneer - like a rocketeer, but for versions. The Versioneer ============== * like a rocketeer, but for versions! * https://github.com/warner/python-versioneer * Brian Warner * License: Public Domain * Compatible With: python2.6, 2.7, 3.2, 3.3, 3.4, 3.5, 3.6, and pypy * [![Latest Version] (https://pypip.in/version/versioneer/badge.svg?style=flat) ](https://pypi.python.org/pypi/versioneer/) * [![Build Status] (https://travis-ci.org/warner/python-versioneer.png?branch=master) ](https://travis-ci.org/warner/python-versioneer) This is a tool for managing a recorded version number in distutils-based python projects. The goal is to remove the tedious and error-prone "update the embedded version string" step from your release process. Making a new release should be as easy as recording a new tag in your version-control system, and maybe making new tarballs. ## Quick Install * `pip install versioneer` to somewhere to your $PATH * add a `[versioneer]` section to your setup.cfg (see below) * run `versioneer install` in your source tree, commit the results ## Version Identifiers Source trees come from a variety of places: * a version-control system checkout (mostly used by developers) * a nightly tarball, produced by build automation * a snapshot tarball, produced by a web-based VCS browser, like github's "tarball from tag" feature * a release tarball, produced by "setup.py sdist", distributed through PyPI Within each source tree, the version identifier (either a string or a number, this tool is format-agnostic) can come from a variety of places: * ask the VCS tool itself, e.g. "git describe" (for checkouts), which knows about recent "tags" and an absolute revision-id * the name of the directory into which the tarball was unpacked * an expanded VCS keyword ($Id$, etc) * a `_version.py` created by some earlier build step For released software, the version identifier is closely related to a VCS tag. Some projects use tag names that include more than just the version string (e.g. "myproject-1.2" instead of just "1.2"), in which case the tool needs to strip the tag prefix to extract the version identifier. For unreleased software (between tags), the version identifier should provide enough information to help developers recreate the same tree, while also giving them an idea of roughly how old the tree is (after version 1.2, before version 1.3). Many VCS systems can report a description that captures this, for example `git describe --tags --dirty --always` reports things like "0.7-1-g574ab98-dirty" to indicate that the checkout is one revision past the 0.7 tag, has a unique revision id of "574ab98", and is "dirty" (it has uncommitted changes. The version identifier is used for multiple purposes: * to allow the module to self-identify its version: `myproject.__version__` * to choose a name and prefix for a 'setup.py sdist' tarball ## Theory of Operation Versioneer works by adding a special `_version.py` file into your source tree, where your `__init__.py` can import it. This `_version.py` knows how to dynamically ask the VCS tool for version information at import time. `_version.py` also contains `$Revision$` markers, and the installation process marks `_version.py` to have this marker rewritten with a tag name during the `git archive` command. As a result, generated tarballs will contain enough information to get the proper version. To allow `setup.py` to compute a version too, a `versioneer.py` is added to the top level of your source tree, next to `setup.py` and the `setup.cfg` that configures it. This overrides several distutils/setuptools commands to compute the version when invoked, and changes `setup.py build` and `setup.py sdist` to replace `_version.py` with a small static file that contains just the generated version data. ## Installation See [INSTALL.md](./INSTALL.md) for detailed installation instructions. ## Version-String Flavors Code which uses Versioneer can learn about its version string at runtime by importing `_version` from your main `__init__.py` file and running the `get_versions()` function. From the "outside" (e.g. in `setup.py`), you can import the top-level `versioneer.py` and run `get_versions()`. Both functions return a dictionary with different flavors of version information: * `['version']`: A condensed version string, rendered using the selected style. This is the most commonly used value for the project's version string. The default "pep440" style yields strings like `0.11`, `0.11+2.g1076c97`, or `0.11+2.g1076c97.dirty`. See the "Styles" section below for alternative styles. * `['full-revisionid']`: detailed revision identifier. For Git, this is the full SHA1 commit id, e.g. "1076c978a8d3cfc70f408fe5974aa6c092c949ac". * `['date']`: Date and time of the latest `HEAD` commit. For Git, it is the commit date in ISO 8601 format. This will be None if the date is not available. * `['dirty']`: a boolean, True if the tree has uncommitted changes. Note that this is only accurate if run in a VCS checkout, otherwise it is likely to be False or None * `['error']`: if the version string could not be computed, this will be set to a string describing the problem, otherwise it will be None. It may be useful to throw an exception in setup.py if this is set, to avoid e.g. creating tarballs with a version string of "unknown". Some variants are more useful than others. Including `full-revisionid` in a bug report should allow developers to reconstruct the exact code being tested (or indicate the presence of local changes that should be shared with the developers). `version` is suitable for display in an "about" box or a CLI `--version` output: it can be easily compared against release notes and lists of bugs fixed in various releases. The installer adds the following text to your `__init__.py` to place a basic version in `YOURPROJECT.__version__`: from ._version import get_versions __version__ = get_versions()['version'] del get_versions ## Styles The setup.cfg `style=` configuration controls how the VCS information is rendered into a version string. The default style, "pep440", produces a PEP440-compliant string, equal to the un-prefixed tag name for actual releases, and containing an additional "local version" section with more detail for in-between builds. For Git, this is TAG[+DISTANCE.gHEX[.dirty]] , using information from `git describe --tags --dirty --always`. For example "0.11+2.g1076c97.dirty" indicates that the tree is like the "1076c97" commit but has uncommitted changes (".dirty"), and that this commit is two revisions ("+2") beyond the "0.11" tag. For released software (exactly equal to a known tag), the identifier will only contain the stripped tag, e.g. "0.11". Other styles are available. See [details.md](details.md) in the Versioneer source tree for descriptions. ## Debugging Versioneer tries to avoid fatal errors: if something goes wrong, it will tend to return a version of "0+unknown". To investigate the problem, run `setup.py version`, which will run the version-lookup code in a verbose mode, and will display the full contents of `get_versions()` (including the `error` string, which may help identify what went wrong). ## Known Limitations Some situations are known to cause problems for Versioneer. This details the most significant ones. More can be found on Github [issues page](https://github.com/warner/python-versioneer/issues). ### Subprojects Versioneer has limited support for source trees in which `setup.py` is not in the root directory (e.g. `setup.py` and `.git/` are *not* siblings). The are two common reasons why `setup.py` might not be in the root: * Source trees which contain multiple subprojects, such as [Buildbot](https://github.com/buildbot/buildbot), which contains both "master" and "slave" subprojects, each with their own `setup.py`, `setup.cfg`, and `tox.ini`. Projects like these produce multiple PyPI distributions (and upload multiple independently-installable tarballs). * Source trees whose main purpose is to contain a C library, but which also provide bindings to Python (and perhaps other langauges) in subdirectories. Versioneer will look for `.git` in parent directories, and most operations should get the right version string. However `pip` and `setuptools` have bugs and implementation details which frequently cause `pip install .` from a subproject directory to fail to find a correct version string (so it usually defaults to `0+unknown`). `pip install --editable .` should work correctly. `setup.py install` might work too. Pip-8.1.1 is known to have this problem, but hopefully it will get fixed in some later version. [Bug #38](https://github.com/warner/python-versioneer/issues/38) is tracking this issue. The discussion in [PR #61](https://github.com/warner/python-versioneer/pull/61) describes the issue from the Versioneer side in more detail. [pip PR#3176](https://github.com/pypa/pip/pull/3176) and [pip PR#3615](https://github.com/pypa/pip/pull/3615) contain work to improve pip to let Versioneer work correctly. Versioneer-0.16 and earlier only looked for a `.git` directory next to the `setup.cfg`, so subprojects were completely unsupported with those releases. ### Editable installs with setuptools <= 18.5 `setup.py develop` and `pip install --editable .` allow you to install a project into a virtualenv once, then continue editing the source code (and test) without re-installing after every change. "Entry-point scripts" (`setup(entry_points={"console_scripts": ..})`) are a convenient way to specify executable scripts that should be installed along with the python package. These both work as expected when using modern setuptools. When using setuptools-18.5 or earlier, however, certain operations will cause `pkg_resources.DistributionNotFound` errors when running the entrypoint script, which must be resolved by re-installing the package. This happens when the install happens with one version, then the egg_info data is regenerated while a different version is checked out. Many setup.py commands cause egg_info to be rebuilt (including `sdist`, `wheel`, and installing into a different virtualenv), so this can be surprising. [Bug #83](https://github.com/warner/python-versioneer/issues/83) describes this one, but upgrading to a newer version of setuptools should probably resolve it. ### Unicode version strings While Versioneer works (and is continually tested) with both Python 2 and Python 3, it is not entirely consistent with bytes-vs-unicode distinctions. Newer releases probably generate unicode version strings on py2. It's not clear that this is wrong, but it may be surprising for applications when then write these strings to a network connection or include them in bytes-oriented APIs like cryptographic checksums. [Bug #71](https://github.com/warner/python-versioneer/issues/71) investigates this question. ## Updating Versioneer To upgrade your project to a new release of Versioneer, do the following: * install the new Versioneer (`pip install -U versioneer` or equivalent) * edit `setup.cfg`, if necessary, to include any new configuration settings indicated by the release notes. See [UPGRADING](./UPGRADING.md) for details. * re-run `versioneer install` in your source tree, to replace `SRC/_version.py` * commit any changed files ## Future Directions This tool is designed to make it easily extended to other version-control systems: all VCS-specific components are in separate directories like src/git/ . The top-level `versioneer.py` script is assembled from these components by running make-versioneer.py . In the future, make-versioneer.py will take a VCS name as an argument, and will construct a version of `versioneer.py` that is specific to the given VCS. It might also take the configuration arguments that are currently provided manually during installation by editing setup.py . Alternatively, it might go the other direction and include code from all supported VCS systems, reducing the number of intermediate scripts. ## License To make Versioneer easier to embed, all its code is dedicated to the public domain. The `_version.py` that it creates is also in the public domain. Specifically, both are released under the Creative Commons "Public Domain Dedication" license (CC0-1.0), as described in https://creativecommons.org/publicdomain/zero/1.0/ . """ from __future__ import print_function try: import configparser except ImportError: import ConfigParser as configparser import errno import json import os import re import subprocess import sys class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_root(): """Get the project root directory. We require that all commands are run from the project root, i.e. the directory that contains setup.py, setup.cfg, and versioneer.py . """ root = os.path.realpath(os.path.abspath(os.getcwd())) setup_py = os.path.join(root, "setup.py") versioneer_py = os.path.join(root, "versioneer.py") if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): # allow 'python path/to/setup.py COMMAND' root = os.path.dirname(os.path.realpath(os.path.abspath(sys.argv[0]))) setup_py = os.path.join(root, "setup.py") versioneer_py = os.path.join(root, "versioneer.py") if not (os.path.exists(setup_py) or os.path.exists(versioneer_py)): err = ("Versioneer was unable to run the project root directory. " "Versioneer requires setup.py to be executed from " "its immediate directory (like 'python setup.py COMMAND'), " "or in a way that lets it use sys.argv[0] to find the root " "(like 'python path/to/setup.py COMMAND').") raise VersioneerBadRootError(err) try: # Certain runtime workflows (setup.py install/develop in a setuptools # tree) execute all dependencies in a single python process, so # "versioneer" may be imported multiple times, and python's shared # module-import table will cache the first one. So we can't use # os.path.dirname(__file__), as that will find whichever # versioneer.py was first imported, even in later projects. me = os.path.realpath(os.path.abspath(__file__)) me_dir = os.path.normcase(os.path.splitext(me)[0]) vsr_dir = os.path.normcase(os.path.splitext(versioneer_py)[0]) if me_dir != vsr_dir: print("Warning: build in %s is using versioneer.py from %s" % (os.path.dirname(me), versioneer_py)) except NameError: pass return root def get_config_from_root(root): """Read the project setup.cfg file to determine Versioneer config.""" # This might raise EnvironmentError (if setup.cfg is missing), or # configparser.NoSectionError (if it lacks a [versioneer] section), or # configparser.NoOptionError (if it lacks "VCS="). See the docstring at # the top of versioneer.py for instructions on writing your setup.cfg . setup_cfg = os.path.join(root, "setup.cfg") parser = configparser.SafeConfigParser() with open(setup_cfg, "r") as f: parser.readfp(f) VCS = parser.get("versioneer", "VCS") # mandatory def get(parser, name): if parser.has_option("versioneer", name): return parser.get("versioneer", name) return None cfg = VersioneerConfig() cfg.VCS = VCS cfg.style = get(parser, "style") or "" cfg.versionfile_source = get(parser, "versionfile_source") cfg.versionfile_build = get(parser, "versionfile_build") cfg.tag_prefix = get(parser, "tag_prefix") if cfg.tag_prefix in ("''", '""'): cfg.tag_prefix = "" cfg.parentdir_prefix = get(parser, "parentdir_prefix") cfg.verbose = get(parser, "verbose") return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" # these dictionaries contain VCS-specific tools LONG_VERSION_PY = {} HANDLERS = {} def register_vcs_handler(vcs, method): # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %s" % dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %s" % (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %s (error)" % dispcmd) print("stdout was %s" % stdout) return None, p.returncode return stdout, p.returncode LONG_VERSION_PY['git'] = ''' # This file helps to compute a version number in source trees obtained from # git-archive tarball (such as those provided by githubs download-from-tag # feature). Distribution tarballs (built by setup.py sdist) and build # directories (produced by setup.py build) will contain a much shorter file # that just contains the computed version number. # This file is released into the public domain. Generated by # versioneer-0.18 (https://github.com/warner/python-versioneer) """Git implementation of _version.py.""" import errno import os import re import subprocess import sys def get_keywords(): """Get the keywords needed to look up the version information.""" # these strings will be replaced by git during git-archive. # setup.py/versioneer.py will grep for the variable names, so they must # each be defined on a line of their own. _version.py will just call # get_keywords(). git_refnames = "%(DOLLAR)sFormat:%%d%(DOLLAR)s" git_full = "%(DOLLAR)sFormat:%%H%(DOLLAR)s" git_date = "%(DOLLAR)sFormat:%%ci%(DOLLAR)s" keywords = {"refnames": git_refnames, "full": git_full, "date": git_date} return keywords class VersioneerConfig: """Container for Versioneer configuration parameters.""" def get_config(): """Create, populate and return the VersioneerConfig() object.""" # these strings are filled in when 'setup.py versioneer' creates # _version.py cfg = VersioneerConfig() cfg.VCS = "git" cfg.style = "%(STYLE)s" cfg.tag_prefix = "%(TAG_PREFIX)s" cfg.parentdir_prefix = "%(PARENTDIR_PREFIX)s" cfg.versionfile_source = "%(VERSIONFILE_SOURCE)s" cfg.verbose = False return cfg class NotThisMethod(Exception): """Exception raised if a method is not valid for the current scenario.""" LONG_VERSION_PY = {} HANDLERS = {} def register_vcs_handler(vcs, method): # decorator """Decorator to mark a method as the handler for a particular VCS.""" def decorate(f): """Store f in HANDLERS[vcs][method].""" if vcs not in HANDLERS: HANDLERS[vcs] = {} HANDLERS[vcs][method] = f return f return decorate def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False, env=None): """Call the given command(s).""" assert isinstance(commands, list) p = None for c in commands: try: dispcmd = str([c] + args) # remember shell=False, so use git.cmd on windows, not just git p = subprocess.Popen([c] + args, cwd=cwd, env=env, stdout=subprocess.PIPE, stderr=(subprocess.PIPE if hide_stderr else None)) break except EnvironmentError: e = sys.exc_info()[1] if e.errno == errno.ENOENT: continue if verbose: print("unable to run %%s" %% dispcmd) print(e) return None, None else: if verbose: print("unable to find command, tried %%s" %% (commands,)) return None, None stdout = p.communicate()[0].strip() if sys.version_info[0] >= 3: stdout = stdout.decode() if p.returncode != 0: if verbose: print("unable to run %%s (error)" %% dispcmd) print("stdout was %%s" %% stdout) return None, p.returncode return stdout, p.returncode def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %%s but none started with prefix %%s" %% (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %%d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%%s', no digits" %% ",".join(refs - tags)) if verbose: print("likely tags: %%s" %% ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %%s" %% r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %%s not under git control" %% root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%%s*" %% tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%%s'" %% describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%%s' doesn't start with prefix '%%s'" print(fmt %% (full_tag, tag_prefix)) pieces["error"] = ("tag '%%s' doesn't start with prefix '%%s'" %% (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%%d.g%%s" %% (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%%d.g%%s" %% (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%%d" %% pieces["distance"] else: # exception #1 rendered = "0.post.dev%%d" %% pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%%s" %% pieces["short"] else: # exception #1 rendered = "0.post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%%s" %% pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%%d" %% pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%%d-g%%s" %% (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%%s'" %% style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} def get_versions(): """Get version information or return default if unable to do so.""" # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have # __file__, we can work backwards from there to the root. Some # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which # case we can only use expanded keywords. cfg = get_config() verbose = cfg.verbose try: return git_versions_from_keywords(get_keywords(), cfg.tag_prefix, verbose) except NotThisMethod: pass try: root = os.path.realpath(__file__) # versionfile_source is the relative path from the top of the source # tree (where the .git directory might live) to this file. Invert # this to find the root from __file__. for i in cfg.versionfile_source.split('/'): root = os.path.dirname(root) except NameError: return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to find root of source tree", "date": None} try: pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose) return render(pieces, cfg.style) except NotThisMethod: pass try: if cfg.parentdir_prefix: return versions_from_parentdir(cfg.parentdir_prefix, root, verbose) except NotThisMethod: pass return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} ''' @register_vcs_handler("git", "get_keywords") def git_get_keywords(versionfile_abs): """Extract version information from the given file.""" # the code embedded in _version.py can just fetch the value of these # keywords. When used from setup.py, we don't want to import _version.py, # so we do it with a regexp instead. This function is not used from # _version.py. keywords = {} try: f = open(versionfile_abs, "r") for line in f.readlines(): if line.strip().startswith("git_refnames ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["refnames"] = mo.group(1) if line.strip().startswith("git_full ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["full"] = mo.group(1) if line.strip().startswith("git_date ="): mo = re.search(r'=\s*"(.*)"', line) if mo: keywords["date"] = mo.group(1) f.close() except EnvironmentError: pass return keywords @register_vcs_handler("git", "keywords") def git_versions_from_keywords(keywords, tag_prefix, verbose): """Get version information from git keywords.""" if not keywords: raise NotThisMethod("no keywords at all, weird") date = keywords.get("date") if date is not None: # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant # datestamp. However we prefer "%ci" (which expands to an "ISO-8601 # -like" string, which we must then edit to make compliant), because # it's been around since git-1.5.3, and it's too difficult to # discover which version we're using, or to work around using an # older one. date = date.strip().replace(" ", "T", 1).replace(" ", "", 1) refnames = keywords["refnames"].strip() if refnames.startswith("$Format"): if verbose: print("keywords are unexpanded, not using") raise NotThisMethod("unexpanded keywords, not a git-archive tarball") refs = set([r.strip() for r in refnames.strip("()").split(",")]) # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of # just "foo-1.0". If we see a "tag: " prefix, prefer those. TAG = "tag: " tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)]) if not tags: # Either we're using git < 1.8.3, or there really are no tags. We use # a heuristic: assume all version tags have a digit. The old git %d # expansion behaves like git log --decorate=short and strips out the # refs/heads/ and refs/tags/ prefixes that would let us distinguish # between branches and tags. By ignoring refnames without digits, we # filter out many common branch names like "release" and # "stabilization", as well as "HEAD" and "master". tags = set([r for r in refs if re.search(r'\d', r)]) if verbose: print("discarding '%s', no digits" % ",".join(refs - tags)) if verbose: print("likely tags: %s" % ",".join(sorted(tags))) for ref in sorted(tags): # sorting will prefer e.g. "2.0" over "2.0rc1" if ref.startswith(tag_prefix): r = ref[len(tag_prefix):] if verbose: print("picking %s" % r) return {"version": r, "full-revisionid": keywords["full"].strip(), "dirty": False, "error": None, "date": date} # no suitable tags, so version is "0+unknown", but full hex is still there if verbose: print("no suitable tags, using unknown + full revision id") return {"version": "0+unknown", "full-revisionid": keywords["full"].strip(), "dirty": False, "error": "no suitable tags", "date": None} @register_vcs_handler("git", "pieces_from_vcs") def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command): """Get version from 'git describe' in the root of the source tree. This only gets called if the git-archive 'subst' keywords were *not* expanded, and _version.py hasn't already been rewritten with a short version string, meaning we're inside a checked out source tree. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root, hide_stderr=True) if rc != 0: if verbose: print("Directory %s not under git control" % root) raise NotThisMethod("'git rev-parse --git-dir' returned error") # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty] # if there isn't one, this yields HEX[-dirty] (no NUM) describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty", "--always", "--long", "--match", "%s*" % tag_prefix], cwd=root) # --long was added in git-1.5.5 if describe_out is None: raise NotThisMethod("'git describe' failed") describe_out = describe_out.strip() full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root) if full_out is None: raise NotThisMethod("'git rev-parse' failed") full_out = full_out.strip() pieces = {} pieces["long"] = full_out pieces["short"] = full_out[:7] # maybe improved later pieces["error"] = None # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty] # TAG might have hyphens. git_describe = describe_out # look for -dirty suffix dirty = git_describe.endswith("-dirty") pieces["dirty"] = dirty if dirty: git_describe = git_describe[:git_describe.rindex("-dirty")] # now we have TAG-NUM-gHEX or HEX if "-" in git_describe: # TAG-NUM-gHEX mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe) if not mo: # unparseable. Maybe git-describe is misbehaving? pieces["error"] = ("unable to parse git-describe output: '%s'" % describe_out) return pieces # tag full_tag = mo.group(1) if not full_tag.startswith(tag_prefix): if verbose: fmt = "tag '%s' doesn't start with prefix '%s'" print(fmt % (full_tag, tag_prefix)) pieces["error"] = ("tag '%s' doesn't start with prefix '%s'" % (full_tag, tag_prefix)) return pieces pieces["closest-tag"] = full_tag[len(tag_prefix):] # distance: number of commits since tag pieces["distance"] = int(mo.group(2)) # commit: short hex revision ID pieces["short"] = mo.group(3) else: # HEX: no tags pieces["closest-tag"] = None count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"], cwd=root) pieces["distance"] = int(count_out) # total number of commits # commit date: see ISO-8601 comment in git_versions_from_keywords() date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"], cwd=root)[0].strip() pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1) return pieces def do_vcs_install(manifest_in, versionfile_source, ipy): """Git-specific installation logic for Versioneer. For Git, this means creating/changing .gitattributes to mark _version.py for export-subst keyword substitution. """ GITS = ["git"] if sys.platform == "win32": GITS = ["git.cmd", "git.exe"] files = [manifest_in, versionfile_source] if ipy: files.append(ipy) try: me = __file__ if me.endswith(".pyc") or me.endswith(".pyo"): me = os.path.splitext(me)[0] + ".py" versioneer_file = os.path.relpath(me) except NameError: versioneer_file = "versioneer.py" files.append(versioneer_file) present = False try: f = open(".gitattributes", "r") for line in f.readlines(): if line.strip().startswith(versionfile_source): if "export-subst" in line.strip().split()[1:]: present = True f.close() except EnvironmentError: pass if not present: f = open(".gitattributes", "a+") f.write("%s export-subst\n" % versionfile_source) f.close() files.append(".gitattributes") run_command(GITS, ["add", "--"] + files) def versions_from_parentdir(parentdir_prefix, root, verbose): """Try to determine the version from the parent directory name. Source tarballs conventionally unpack into a directory that includes both the project name and a version string. We will also support searching up two directory levels for an appropriately named parent directory """ rootdirs = [] for i in range(3): dirname = os.path.basename(root) if dirname.startswith(parentdir_prefix): return {"version": dirname[len(parentdir_prefix):], "full-revisionid": None, "dirty": False, "error": None, "date": None} else: rootdirs.append(root) root = os.path.dirname(root) # up a level if verbose: print("Tried directories %s but none started with prefix %s" % (str(rootdirs), parentdir_prefix)) raise NotThisMethod("rootdir doesn't start with parentdir_prefix") SHORT_VERSION_PY = """ # This file was generated by 'versioneer.py' (0.18) from # revision-control system data, or from the parent directory name of an # unpacked source archive. Distribution tarballs contain a pre-generated copy # of this file. import json version_json = ''' %s ''' # END VERSION_JSON def get_versions(): return json.loads(version_json) """ def versions_from_file(filename): """Try to determine the version from _version.py if present.""" try: with open(filename) as f: contents = f.read() except EnvironmentError: raise NotThisMethod("unable to read _version.py") mo = re.search(r"version_json = '''\n(.*)''' # END VERSION_JSON", contents, re.M | re.S) if not mo: mo = re.search(r"version_json = '''\r\n(.*)''' # END VERSION_JSON", contents, re.M | re.S) if not mo: raise NotThisMethod("no version_json in _version.py") return json.loads(mo.group(1)) def write_to_version_file(filename, versions): """Write the given version number to the given _version.py file.""" os.unlink(filename) contents = json.dumps(versions, sort_keys=True, indent=1, separators=(",", ": ")) with open(filename, "w") as f: f.write(SHORT_VERSION_PY % contents) print("set %s to '%s'" % (filename, versions["version"])) def plus_or_dot(pieces): """Return a + if we don't already have one, else return a .""" if "+" in pieces.get("closest-tag", ""): return "." return "+" def render_pep440(pieces): """Build up version string, with post-release "local version identifier". Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty Exceptions: 1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += plus_or_dot(pieces) rendered += "%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" else: # exception #1 rendered = "0+untagged.%d.g%s" % (pieces["distance"], pieces["short"]) if pieces["dirty"]: rendered += ".dirty" return rendered def render_pep440_pre(pieces): """TAG[.post.devDISTANCE] -- No -dirty. Exceptions: 1: no tags. 0.post.devDISTANCE """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += ".post.dev%d" % pieces["distance"] else: # exception #1 rendered = "0.post.dev%d" % pieces["distance"] return rendered def render_pep440_post(pieces): """TAG[.postDISTANCE[.dev0]+gHEX] . The ".dev0" means dirty. Note that .dev0 sorts backwards (a dirty tree will appear "older" than the corresponding clean one), but you shouldn't be releasing software with -dirty anyways. Exceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += plus_or_dot(pieces) rendered += "g%s" % pieces["short"] else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" rendered += "+g%s" % pieces["short"] return rendered def render_pep440_old(pieces): """TAG[.postDISTANCE[.dev0]] . The ".dev0" means dirty. Eexceptions: 1: no tags. 0.postDISTANCE[.dev0] """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"] or pieces["dirty"]: rendered += ".post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" else: # exception #1 rendered = "0.post%d" % pieces["distance"] if pieces["dirty"]: rendered += ".dev0" return rendered def render_git_describe(pieces): """TAG[-DISTANCE-gHEX][-dirty]. Like 'git describe --tags --dirty --always'. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] if pieces["distance"]: rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render_git_describe_long(pieces): """TAG-DISTANCE-gHEX[-dirty]. Like 'git describe --tags --dirty --always -long'. The distance/hash is unconditional. Exceptions: 1: no tags. HEX[-dirty] (note: no 'g' prefix) """ if pieces["closest-tag"]: rendered = pieces["closest-tag"] rendered += "-%d-g%s" % (pieces["distance"], pieces["short"]) else: # exception #1 rendered = pieces["short"] if pieces["dirty"]: rendered += "-dirty" return rendered def render(pieces, style): """Render the given version pieces into the requested style.""" if pieces["error"]: return {"version": "unknown", "full-revisionid": pieces.get("long"), "dirty": None, "error": pieces["error"], "date": None} if not style or style == "default": style = "pep440" # the default if style == "pep440": rendered = render_pep440(pieces) elif style == "pep440-pre": rendered = render_pep440_pre(pieces) elif style == "pep440-post": rendered = render_pep440_post(pieces) elif style == "pep440-old": rendered = render_pep440_old(pieces) elif style == "git-describe": rendered = render_git_describe(pieces) elif style == "git-describe-long": rendered = render_git_describe_long(pieces) else: raise ValueError("unknown style '%s'" % style) return {"version": rendered, "full-revisionid": pieces["long"], "dirty": pieces["dirty"], "error": None, "date": pieces.get("date")} class VersioneerBadRootError(Exception): """The project root directory is unknown or missing key files.""" def get_versions(verbose=False): """Get the project version from whatever source is available. Returns dict with two keys: 'version' and 'full'. """ if "versioneer" in sys.modules: # see the discussion in cmdclass.py:get_cmdclass() del sys.modules["versioneer"] root = get_root() cfg = get_config_from_root(root) assert cfg.VCS is not None, "please set [versioneer]VCS= in setup.cfg" handlers = HANDLERS.get(cfg.VCS) assert handlers, "unrecognized VCS '%s'" % cfg.VCS verbose = verbose or cfg.verbose assert cfg.versionfile_source is not None, \ "please set versioneer.versionfile_source" assert cfg.tag_prefix is not None, "please set versioneer.tag_prefix" versionfile_abs = os.path.join(root, cfg.versionfile_source) # extract version from first of: _version.py, VCS command (e.g. 'git # describe'), parentdir. This is meant to work for developers using a # source checkout, for users of a tarball created by 'setup.py sdist', # and for users of a tarball/zipball created by 'git archive' or github's # download-from-tag feature or the equivalent in other VCSes. get_keywords_f = handlers.get("get_keywords") from_keywords_f = handlers.get("keywords") if get_keywords_f and from_keywords_f: try: keywords = get_keywords_f(versionfile_abs) ver = from_keywords_f(keywords, cfg.tag_prefix, verbose) if verbose: print("got version from expanded keyword %s" % ver) return ver except NotThisMethod: pass try: ver = versions_from_file(versionfile_abs) if verbose: print("got version from file %s %s" % (versionfile_abs, ver)) return ver except NotThisMethod: pass from_vcs_f = handlers.get("pieces_from_vcs") if from_vcs_f: try: pieces = from_vcs_f(cfg.tag_prefix, root, verbose) ver = render(pieces, cfg.style) if verbose: print("got version from VCS %s" % ver) return ver except NotThisMethod: pass try: if cfg.parentdir_prefix: ver = versions_from_parentdir(cfg.parentdir_prefix, root, verbose) if verbose: print("got version from parentdir %s" % ver) return ver except NotThisMethod: pass if verbose: print("unable to compute version") return {"version": "0+unknown", "full-revisionid": None, "dirty": None, "error": "unable to compute version", "date": None} def get_version(): """Get the short version string for this project.""" return get_versions()["version"] def get_cmdclass(): """Get the custom setuptools/distutils subclasses used by Versioneer.""" if "versioneer" in sys.modules: del sys.modules["versioneer"] # this fixes the "python setup.py develop" case (also 'install' and # 'easy_install .'), in which subdependencies of the main project are # built (using setup.py bdist_egg) in the same python process. Assume # a main project A and a dependency B, which use different versions # of Versioneer. A's setup.py imports A's Versioneer, leaving it in # sys.modules by the time B's setup.py is executed, causing B to run # with the wrong versioneer. Setuptools wraps the sub-dep builds in a # sandbox that restores sys.modules to it's pre-build state, so the # parent is protected against the child's "import versioneer". By # removing ourselves from sys.modules here, before the child build # happens, we protect the child from the parent's versioneer too. # Also see https://github.com/warner/python-versioneer/issues/52 cmds = {} # we add "version" to both distutils and setuptools from distutils.core import Command class cmd_version(Command): description = "report generated version string" user_options = [] boolean_options = [] def initialize_options(self): pass def finalize_options(self): pass def run(self): vers = get_versions(verbose=True) print("Version: %s" % vers["version"]) print(" full-revisionid: %s" % vers.get("full-revisionid")) print(" dirty: %s" % vers.get("dirty")) print(" date: %s" % vers.get("date")) if vers["error"]: print(" error: %s" % vers["error"]) cmds["version"] = cmd_version # we override "build_py" in both distutils and setuptools # # most invocation pathways end up running build_py: # distutils/build -> build_py # distutils/install -> distutils/build ->.. # setuptools/bdist_wheel -> distutils/install ->.. # setuptools/bdist_egg -> distutils/install_lib -> build_py # setuptools/install -> bdist_egg ->.. # setuptools/develop -> ? # pip install: # copies source tree to a tempdir before running egg_info/etc # if .git isn't copied too, 'git describe' will fail # then does setup.py bdist_wheel, or sometimes setup.py install # setup.py egg_info -> ? # we override different "build_py" commands for both environments if "setuptools" in sys.modules: from setuptools.command.build_py import build_py as _build_py else: from distutils.command.build_py import build_py as _build_py class cmd_build_py(_build_py): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() _build_py.run(self) # now locate _version.py in the new build/ directory and replace # it with an updated value if cfg.versionfile_build: target_versionfile = os.path.join(self.build_lib, cfg.versionfile_build) print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) cmds["build_py"] = cmd_build_py if "cx_Freeze" in sys.modules: # cx_freeze enabled? from cx_Freeze.dist import build_exe as _build_exe # nczeczulin reports that py2exe won't like the pep440-style string # as FILEVERSION, but it can be used for PRODUCTVERSION, e.g. # setup(console=[{ # "version": versioneer.get_version().split("+", 1)[0], # FILEVERSION # "product_version": versioneer.get_version(), # ... class cmd_build_exe(_build_exe): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() target_versionfile = cfg.versionfile_source print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) _build_exe.run(self) os.unlink(target_versionfile) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) cmds["build_exe"] = cmd_build_exe del cmds["build_py"] if 'py2exe' in sys.modules: # py2exe enabled? try: from py2exe.distutils_buildexe import py2exe as _py2exe # py3 except ImportError: from py2exe.build_exe import py2exe as _py2exe # py2 class cmd_py2exe(_py2exe): def run(self): root = get_root() cfg = get_config_from_root(root) versions = get_versions() target_versionfile = cfg.versionfile_source print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, versions) _py2exe.run(self) os.unlink(target_versionfile) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) cmds["py2exe"] = cmd_py2exe # we override different "sdist" commands for both environments if "setuptools" in sys.modules: from setuptools.command.sdist import sdist as _sdist else: from distutils.command.sdist import sdist as _sdist class cmd_sdist(_sdist): def run(self): versions = get_versions() self._versioneer_generated_versions = versions # unless we update this, the command will keep using the old # version self.distribution.metadata.version = versions["version"] return _sdist.run(self) def make_release_tree(self, base_dir, files): root = get_root() cfg = get_config_from_root(root) _sdist.make_release_tree(self, base_dir, files) # now locate _version.py in the new base_dir directory # (remembering that it may be a hardlink) and replace it with an # updated value target_versionfile = os.path.join(base_dir, cfg.versionfile_source) print("UPDATING %s" % target_versionfile) write_to_version_file(target_versionfile, self._versioneer_generated_versions) cmds["sdist"] = cmd_sdist return cmds CONFIG_ERROR = """ setup.cfg is missing the necessary Versioneer configuration. You need a section like: [versioneer] VCS = git style = pep440 versionfile_source = src/myproject/_version.py versionfile_build = myproject/_version.py tag_prefix = parentdir_prefix = myproject- You will also need to edit your setup.py to use the results: import versioneer setup(version=versioneer.get_version(), cmdclass=versioneer.get_cmdclass(), ...) Please read the docstring in ./versioneer.py for configuration instructions, edit setup.cfg, and re-run the installer or 'python versioneer.py setup'. """ SAMPLE_CONFIG = """ # See the docstring in versioneer.py for instructions. Note that you must # re-run 'versioneer.py setup' after changing this section, and commit the # resulting files. [versioneer] #VCS = git #style = pep440 #versionfile_source = #versionfile_build = #tag_prefix = #parentdir_prefix = """ INIT_PY_SNIPPET = """ from ._version import get_versions __version__ = get_versions()['version'] del get_versions """ def do_setup(): """Main VCS-independent setup function for installing Versioneer.""" root = get_root() try: cfg = get_config_from_root(root) except (EnvironmentError, configparser.NoSectionError, configparser.NoOptionError) as e: if isinstance(e, (EnvironmentError, configparser.NoSectionError)): print("Adding sample versioneer config to setup.cfg", file=sys.stderr) with open(os.path.join(root, "setup.cfg"), "a") as f: f.write(SAMPLE_CONFIG) print(CONFIG_ERROR, file=sys.stderr) return 1 print(" creating %s" % cfg.versionfile_source) with open(cfg.versionfile_source, "w") as f: LONG = LONG_VERSION_PY[cfg.VCS] f.write(LONG % {"DOLLAR": "$", "STYLE": cfg.style, "TAG_PREFIX": cfg.tag_prefix, "PARENTDIR_PREFIX": cfg.parentdir_prefix, "VERSIONFILE_SOURCE": cfg.versionfile_source, }) ipy = os.path.join(os.path.dirname(cfg.versionfile_source), "__init__.py") if os.path.exists(ipy): try: with open(ipy, "r") as f: old = f.read() except EnvironmentError: old = "" if INIT_PY_SNIPPET not in old: print(" appending to %s" % ipy) with open(ipy, "a") as f: f.write(INIT_PY_SNIPPET) else: print(" %s unmodified" % ipy) else: print(" %s doesn't exist, ok" % ipy) ipy = None # Make sure both the top-level "versioneer.py" and versionfile_source # (PKG/_version.py, used by runtime code) are in MANIFEST.in, so # they'll be copied into source distributions. Pip won't be able to # install the package without this. manifest_in = os.path.join(root, "MANIFEST.in") simple_includes = set() try: with open(manifest_in, "r") as f: for line in f: if line.startswith("include "): for include in line.split()[1:]: simple_includes.add(include) except EnvironmentError: pass # That doesn't cover everything MANIFEST.in can do # (http://docs.python.org/2/distutils/sourcedist.html#commands), so # it might give some false negatives. Appending redundant 'include' # lines is safe, though. if "versioneer.py" not in simple_includes: print(" appending 'versioneer.py' to MANIFEST.in") with open(manifest_in, "a") as f: f.write("include versioneer.py\n") else: print(" 'versioneer.py' already in MANIFEST.in") if cfg.versionfile_source not in simple_includes: print(" appending versionfile_source ('%s') to MANIFEST.in" % cfg.versionfile_source) with open(manifest_in, "a") as f: f.write("include %s\n" % cfg.versionfile_source) else: print(" versionfile_source already in MANIFEST.in") # Make VCS-specific changes. For git, this means creating/changing # .gitattributes to mark _version.py for export-subst keyword # substitution. do_vcs_install(manifest_in, cfg.versionfile_source, ipy) return 0 def scan_setup_py(): """Validate the contents of setup.py against Versioneer's expectations.""" found = set() setters = False errors = 0 with open("setup.py", "r") as f: for line in f.readlines(): if "import versioneer" in line: found.add("import") if "versioneer.get_cmdclass()" in line: found.add("cmdclass") if "versioneer.get_version()" in line: found.add("get_version") if "versioneer.VCS" in line: setters = True if "versioneer.versionfile_source" in line: setters = True if len(found) != 3: print("") print("Your setup.py appears to be missing some important items") print("(but I might be wrong). Please make sure it has something") print("roughly like the following:") print("") print(" import versioneer") print(" setup( version=versioneer.get_version(),") print(" cmdclass=versioneer.get_cmdclass(), ...)") print("") errors += 1 if setters: print("You should remove lines like 'versioneer.VCS = ' and") print("'versioneer.versionfile_source = ' . This configuration") print("now lives in setup.cfg, and should be removed from setup.py") print("") errors += 1 return errors if __name__ == "__main__": cmd = sys.argv[1] if cmd == "setup": errors = do_setup() errors += scan_setup_py() if errors: sys.exit(1)