Major upgrade

This commit is contained in:
Duc
2025-10-24 15:18:11 -07:00
parent fd85735c93
commit ce583d1664
478 changed files with 237518 additions and 47610 deletions

View File

@@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="Parameters">
<!-- value attribute: UDP or TCP -->
<!-- if UDP: all transactions occur in UDP -->
<!-- if TCP:
1. Connection and keep-alive transactions occur in TCP
2. Message subscription occurs in UDP
2. COE messagining occur in TCP or UDP depending on TCP_SELECT_VALUE
-->
<key name="DriverType" value="TCP" />
<key name="MaxMessageSize" value="4096" />
<key name="EPQueueDepth" value="50" />
<key name="CheckForMessageIntervalMs" value="10" />
<key name="AlwaysSendDefaults" value="True" />
</section>
<section name="ROUTER_CONFIG">
<key name="NODE_ID" value="0" />
<key name="DISPLAY_DEBUG_STATE" value="0" />
<key name="DISPLAY_DEBUG_LABEL_MESSAGE" value="0" />
<key name="DISPLAY_DEBUG_BRIDGE_REGISTRATION" value="0" />
<key name="DISPLAY_DEBUG_ROUTER_DATABASE" value="0" />
<key name="DISPLAY_DEBUG_SEND" value="0" />
<key name="DISPLAY_DEBUG_RECV" value="0" />
<key name="BUFFER_SIZE" value="4096" />
<key name="ENABLE_REGISTRATION_MESSAGES" value="1" />
<key name="THREAD_STACK_SIZE" value="16384" />
<key name="TRANSMIT_OPTIONS" value="0" />
</section>
<section name="ROUTER_PROTOCOL_CONFIG">
<key name="DISPLAY_DEBUG_SEND" value="0" />
<key name="DISPLAY_DEBUG_RECV" value="0" />
<key name="THREAD_STACK_SIZE" value="16384" />
</section>
<section name="ROUTER_BUFFER_POOLS">
<key name="POOL_ENTRY" value="100,128|50,256|50,1024|50,8192|5,65535" />
</section>
<section name="BASIC_REGISTRATION_CONFIG">
<key name="DISPLAY_DEBUG_SEND" value="0" />
<key name="DISPLAY_DEBUG_SEND_BUFFER" value="0" />
<key name="DISPLAY_DEBUG_RECV" value="0" />
<key name="DISPLAY_DEBUG_RECV_BUFFER" value="0" />
<key name="DISPLAY_DEBUG_STATE" value="0" />
<key name="DISPLAY_DEBUG_PING_SEND" value="0" />
<key name="DISPLAY_DEBUG_PING_RECV" value="0" />
<key name="THREAD_STACK_SIZE" value="16384" />
</section>
<section name="UDP_MEDIA_BINDING_CONFIG">
<key name="LOCAL_IP_ADDRESS" value="127.0.0.1" />
<key name="REMOTE_IP_ADDRESS" value="127.0.0.1" />
<key name="LOCAL_SEND_PORT" value="32011" />
<key name="LOCAL_RECV_PORT" value="32021" />
<key name="REMOTE_SEND_PORT" value="32010" />
<key name="REMOTE_RECV_PORT" value="32020" />
<key name="RECV_TIMEOUT" value="200" />
<key name="DISPLAY_DEBUG_SEND" value="0" />
<key name="DISPLAY_DEBUG_RECV" value="0" />
<key name="MTU_SIZE" value="1472" />
<key name="THREAD_STACK_SIZE" value="16384" />
<key name="THREAD_NAME" value="UDP_MB_RCV" />
</section>
<section name="TCP_MEDIA_BINDING_CONFIG">
<key name="SERVER_ADDRESS" value="192.168.1.45:9990" />
<key name="LOCAL_PORT" value="9991" />
<key name="NUM_PORTS" value="32" />
<key name="NUM_DYNAMIC_NODES" value="32" />
<key name="UDP_TX_BUFFER_SIZE" value="32768" />
<key name="UDP_RX_BUFFER_SIZE" value="32768" />
<key name="TCP_TX_BUFFER_SIZE" value="32768" />
<key name="TCP_RX_BUFFER_SIZE" value="32768" />
<key name="PACKET_SIZE" value="5128" />
<!-- When using TCP binding, COE unmanaged library opens both TCP and UDP ports.
Connection and keep alive is done through TCP. COE messaging can be done
on TCP or UDP. Set TCP_SELECT_VALUE = 1 forces COE messaging through TCP.
Set TCP_SELECT_VALUE = 0 forces COE messaging through UDP -->
<key name="TCP_SELECT_VALUE" value="0" />
<key name="DISABLE_NAG_DELAY" value="1" />
<key name="TIMER_RATE" value="1000" />
<key name="CONNECT_KA_RATE" value="1" />
<key name="RECV_KA_RATE" value="0" />
<key name="SERVER_CONNECT_RATE" value="1" />
<key name="RECV_THREAD_STACK_SIZE" value="16384" />
<key name="RECV_THREAD_PRIORITY" value="0" />
<key name="RECV_THREAD_AFFINITY" value="0" />
<key name="DISPLAY_DEBUG_SEND" value="1" />
<key name="DISPLAY_DEBUG_SEND_BUFFER" value="1" />
<key name="DISPLAY_DEBUG_UDP_RECV" value="1" />
<key name="DISPLAY_DEBUG_UDP_RECV_BUFFER" value="1" />
<key name="DISPLAY_DEBUG_TCP_RECV" value="1" />
<key name="DISPLAY_DEBUG_TCP_RECV_BUFFER" value="1" />
<key name="DISPLAY_DEBUG_RECV" value="1" />
<key name="DISPLAY_DEBUG_RECV_BUFFER" value="1" />
</section>
<section name="SERIAL_MEDIA_BINDING_CONFIG">
<key name="DEVICE_NAME" value="COM1" />
<key name="DATA_BITS" value="8" />
<key name="STOP_BITS" value="1" />
<key name="PARITY" value="0" />
<key name="FLOW_CONTROL" value="0" />
<key name="MTU_SIZE" value="256" />
<key name="RECV_PROCESSING_DELAY" value="100" />
<key name="DISPLAY_DEBUG_SEND" value="0" />
<key name="DISPLAY_DEBUG_RECV" value="0" />
</section>
</IniConfiguration>
<XmlConfigurations>
<!-- Every time any message comes in, we receive a notification. If high rate message comes in,
there will be too many notifications of "Message Received..." Let's slow it down" -->
<XmlConfiguration name="IncomingMessageNotificationIntervalInSec">10</XmlConfiguration>
<!-- Each incoming message is assigned a queue. This specifies the max queue size for each message -->
<XmlConfiguration name="MaxQueueSizePerResponseMsg">100</XmlConfiguration>
<XmlConfiguration name="CoeXmlFiles">
<FilePaths>
<FilePath>./CoeXmlFiles/NGSRI/GimbalMsgs.xml</FilePath>
<FilePath>./CoeXmlFiles/NGSRI/NgsriUmbilicalMsgs.xml</FilePath>
<FilePath>./CoeXmlFiles/NGSRI/NgsriMissionManagerMsgs.xml</FilePath>
<FilePath>./CoeXmlFiles/NGSRI/NgsriFirmwareMsg.xml</FilePath>
</FilePaths>
</XmlConfiguration>
<!-- Specify all the messages we're interested in listening to -->
<XmlConfiguration name="ResponseMessageIds">
<ResponseLabels>
<ResponseLabel>MissionManagerMsgLL</ResponseLabel>
</ResponseLabels>
</XmlConfiguration>
<!-- Specify logging options for messages. Mostly to slow down logging for high-rate messages.
Each set of options specified applies to both incoming and outgoing messages -->
<XmlConfiguration name="MessageLogOptions">
<!-- Tag value: Message name -->
<!-- Log attribute: true/false - whether we want to log this message or not -->
<!-- LogIntervalInSec attribute: Number of seconds to log between 2 consecutive messages of the same ID -->
<Message Log="true" LogIntervalInSec="1">MissionManagerMsgLL</Message>
</XmlConfiguration>
</XmlConfigurations>
</Configurations>

View File

@@ -0,0 +1,491 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<UnlimitedRights>-->
<!--=========================================================================-->
<!-- Copyright 2024 Raytheon Company. -->
<!-- This software was developed pursuant to Contract Number AMTC 22-06-002 -->
<!-- with the U.S. government. The U.S. government's rights in and to this -->
<!-- copyrighted software are as specified in DFARS 252.227-7014 which was -->
<!-- made part of the above contract. -->
<!--=========================================================================-->
<!--\\<\UnlimitedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="relative">VipConfigDataMsg.xml</file>
<file location="system">cstdint</file>
</include>
<namespace>
<name>ngsri</name>
<constant>
<comment>The number of VIP bit voltages defined by the enum VipBitVoltages</comment>
<type>uint32_t</type>
<name>NUMBER_OF_VIP_BIT_VOLTAGES</name>
<value>29</value>
</constant>
<structure>
<name>VoltageBitRspData</name>
<struct_item>
<arrayLength>ngsri::NUMBER_OF_VIP_BIT_VOLTAGES</arrayLength>
<default>0.0</default>
<item_name>voltages</item_name>
<type>float</type>
</struct_item>
</structure>
<structure>
<name>CasBitRspMsgData</name>
<comment>Valid ACU states: STANDBY</comment>
<struct_item>
<default>0x43u</default>
<item_name>ID</item_name>
<type>uint8_t</type>
<comment>Message Identity</comment>
</struct_item>
<struct_item>
<default>0x0Au</default>
<item_name>BC</item_name>
<type>uint8_t</type>
<comment>Byte count (number of bytes to follow the byte command)</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>STS</item_name>
<type>uint8_t</type>
<comment>Incomplete or corrupt message response and the status of the BIT operation</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_RESULT</item_name>
<type>uint8_t</type>
<comment>Shows the BIT results. bit 0 is PBIT result, bit 1 is IBIT result, and bit 2 is SBIT result. Bit 3 is a spare. Bits 4:5 tells the last BIT performed, and bits 6:7 tells the BIT diagnostic log results</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_DIAG1A</item_name>
<type>uint8_t</type>
<comment>Bit 0 is the DSP PLL and DSP ID Test, pass = 1, fail = 0; Bit 1 is the RAM Integrity Test, pass = 1, fail = 0; Bit 2 is the ROM Program CRC Test, pass = 1, fail = 0; Bit 3 is the ROM CRC Tables Test, pass = 1, fail = 0; Bit 4 is the ROM Calibration Tables Test, pass = 1, fail = 0; Bit 5 is the DSP Timer Test, pass = 1, fail = 0; Bits 6:7 are reserved, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_DIAG1B</item_name>
<type>uint8_t</type>
<comment>Bit 0 is the DSP Analog-to-Digital (ADC) Test, pass = 1, FAIL = 0; Bit 1 is the Actuator Battery Voltage Test, pass = 1, fail = 0; Bits 2:7 are reserved bits, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_DIAG1C</item_name>
<type>uint8_t</type>
<comment>Bit 0 is the Channel A Motor Phase Drive Test, pass = 1, fail = 0; Bit 1 is the Channel B Motor Phase Drive Test, pass = 1, fail = 0; Bit 2 is the Channel C Motor Phase Drive Test, pass = 1, fail = 0; Bit 3 is a reserved bit, value = 0; Bit 4 is the Channel A Motor Position Sensor test, pass = 1, fail = 0; Bit 5 is the Channel B Motor Position Sensor test, pass = 1, fail = 0; Bit 6 is the Channel C Motor Position Sensor test, pass = 1, fail = 0; Bit 7 is a reserved bit, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_DIAG1D</item_name>
<type>uint8_t</type>
<comment>Reserved, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_SPARE1</item_name>
<type>uint8_t</type>
<comment>Spare, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>BIT_LOG_SPARE2</item_name>
<type>uint8_t</type>
<comment>Spare, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>Spare</item_name>
<type>uint8_t</type>
<comment>Spare, value = 0</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>CSUM</item_name>
<type>uint8_t</type>
<comment>Checksum: 0 - (Modulo 256 byte-wise addition of bytes 0 to 10)</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_cas</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>GspBitRspMsgData</name>
<comment>GSP BIT Response Message</comment>
<struct_item>
<default>0u</default>
<item_name>encResult</item_name>
<type>uint8_t</type>
<comment>Encoder PBIT Result</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>gspResult</item_name>
<type>uint8_t</type>
<comment>GSP PBIT Result. Positioned before imuResult to comply with the 2-byte struct alignment rule, reference the IDD for true byte order</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>imuResult</item_name>
<type>uint16_t</type>
<comment>IMU PBIT Result</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>voltage5p15</item_name>
<type>int16_t</type>
<comment>Raw 5p15 voltage value in mV</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>voltage3p3</item_name>
<type>int16_t</type>
<comment>Raw 3p3 voltage value in mV</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tempGsp</item_name>
<type>int16_t</type>
<comment>Raw GSP temperature value in Celcius</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_gsp</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>MccBitResultsData</name>
<struct_item>
<default>0.0f</default>
<item_name>voltageP20V</item_name>
<type>float</type>
<comment>P20 voltage in V</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>voltageN20V</item_name>
<type>float</type>
<comment>N20 voltage in V</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>voltageP3V3</item_name>
<type>float</type>
<comment>3v3 voltage in V</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>voltageP1V2</item_name>
<type>float</type>
<comment>1v2 voltage in V</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>voltage12V</item_name>
<type>float</type>
<comment>12V voltage in V</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>tempMCC</item_name>
<type>float</type>
<comment>MCC temperature value in Celsius</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>testResults</item_name>
<type>uint8_t</type>
<comment>MCC Bit Result Data</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_mcc</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>SicBitRspMsgData</name>
<struct_item>
<default>0.0f</default>
<item_name>idaTempVolt</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 0: IDA temperature in Voltage: Expected range: [0.567V, 0.889V]</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaPowerSysVolt0</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 1: IDA power system. Nominal V: 1.08V | band: +-5%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaPowerSysVolt1</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 2: IDA power system. Nominal V: 1.98V | band: +-5%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaPowerSysVolt2</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 3: IDA power system. Nominal V: 2.0256V | band: +-5%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaCurrFlowVolt0</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 4: IDA current flow. Nominal V: 1.1443V | band: -50%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaCurrFlowVolt1</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 5: IDA current flow. Nominal V: 1.2851V | band: -50%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaCurrFlowVolt2</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 6: IDA current flow. Nominal V: 1.1525V | band: -50%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>idaAbitVolt</item_name>
<type>float</type>
<comment>SIC ADC AIN channel 7: IDA ABIT. Nominal voltage: 1.65V | +-5%</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>tempCelsius</item_name>
<type>float</type>
<comment>SIC ADC die temperature in degrees Celsius: [-40.0 degrees Celsius, 125.0 degrees Celsius]</comment>
</struct_item>
</structure>
<structure>
<name>IdaBitResponseMsgData</name>
<struct_item>
<default>0u</default>
<item_name>dBit</item_name>
<type>uint8_t</type>
<comment>DBIT from the IDA. 1 means DBIT passed, 0 means DBIT failed.</comment>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>padding_ida</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>ProxBitRspMsgData</name>
<struct_item>
<default>0u</default>
<item_name>resultData</item_name>
<type>uint8_t</type>
<comment>Prox Bit Result Data</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>maxTimeOfFlightExtEcho</item_name>
<type>uint8_t</type>
<comment>Prox echoing back the received time of flight extension value</comment>
</struct_item>
<struct_item>
<default>0u</default>
<item_name>proxSwVersion</item_name>
<type>uint8_t</type>
<comment>Proximity Sensors SW version</comment>
</struct_item>
</structure>
<structure>
<name>PolarFireBitRspMsgData</name>
<struct_item>
<default>0.0f</default>
<item_name>channel_0_V</item_name>
<type>float</type>
<comment>PolarFire TVS CH0 (1.0V rail) in Volts</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>channel_1_V</item_name>
<type>float</type>
<comment>PolarFire TVS CH1 (1.8V rail) in Volts</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>channel_2_V</item_name>
<type>float</type>
<comment>PolarFire TVS CH2 (2.5V rail) in Volts</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>channel_3_dieTemp_Celsius</item_name>
<type>float</type>
<comment>PolarFire TVS CH3 temperature in Celcius</comment>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>tmp102_Celsius</item_name>
<type>float</type>
<comment>PolarFire chip temperature in Celsius</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>fwVers</item_name>
<type>char</type>
<comment>PolarFire FW Build Version</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_pf</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>LieBitRspMsgData</name>
<struct_item>
<default>0</default>
<item_name>resultData</item_name>
<type>uint8_t</type>
<comment>LIE Bit Result Data</comment>
</struct_item>
</structure>
<message>
<name>CasBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ac8333</label>
<instruLabel>CasBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::CasBitRspMsgData</type>
</msg_item>
</message>
<message>
<name>GspBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x005f0f77</label>
<instruLabel>GspBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::GspBitRspMsgData</type>
</msg_item>
</message>
<message>
<name>MccBitResultsMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x007e92a0</label>
<instruLabel>MccBitResultsMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::MccBitResultsData</type>
</msg_item>
</message>
<message>
<name>ProxBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00a6a23a</label>
<instruLabel>ProxBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::ProxBitRspMsgData</type>
</msg_item>
</message>
<message>
<name>LieBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x000a49f8</label>
<instruLabel>LieBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::LieBitRspMsgData</type>
</msg_item>
</message>
<message>
<name>UmbilicalSendMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00d330b4</label>
<instruLabel>UmbilicalSendMsg</instruLabel>
<msg_item>
<default>0</default>
<item_name>payload</item_name>
<type>uint32_t</type>
<comment>Data not used, reciept of message triggers UmbilicalComp to send data to Launcher over UART.</comment>
</msg_item>
</message>
<message>
<name>SicBitResponseMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ee71c8</label>
<instruLabel>SicBitResponseMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::SicBitRspMsgData</type>
<comment>message sent by the SicComp after receiveing BIT results from the SIC</comment>
</msg_item>
</message>
<message>
<name>IdaBitResponseMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ce8feb</label>
<instruLabel>IdaBitResponseMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::IdaBitResponseMsgData</type>
<comment>message sent by the FwSigProcComp after receiveing DBIT results from the IDA</comment>
</msg_item>
</message>
<message>
<name>PolarFireBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00902841</label>
<instruLabel>PolarFireBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::PolarFireBitRspMsgData</type>
</msg_item>
</message>
<message>
<name>VoltageBitRspMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00b642bc</label>
<instruLabel>VoltageBitRspMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::VoltageBitRspData</type>
<comment>VIP voltage registers</comment>
</msg_item>
</message>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,649 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<RestrictedRights>-->
<!--=========================================================================-->
<!-- Restricted Rights -->
<!-- Contract Number AMTC 22-06-002 -->
<!-- Contractor Name Raytheon Missiles & Defense -->
<!-- Contractor Address 1151 E Hermans Rd., Tucson, AZ 85756 -->
<!-- -->
<!-- The government's rights to use, modify, reproduce, release, perform, -->
<!-- display, or disclose this software are restricted by paragraph (b)(3) -->
<!-- of the Rights in Noncommercial Computer Software and Noncommercial -->
<!-- Computer Software Documentation clause contained in the above -->
<!-- identified contract. Any reproduction of software or portions thereof -->
<!-- marked with this legend must also reproduce the markings. Any person, -->
<!-- other than the government, who has been provided access to such -->
<!-- software, must promptly notify the above named Contractor. -->
<!-- -->
<!-- Unpublished Work - Copyright Raytheon Company. -->
<!--=========================================================================-->
<!--\\<\RestrictedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<namespace>
<name>wosa</name>
<constant>
<type>uint32_t</type>
<name>MAX_EFFECTOR_COUNT</name>
<value>8</value>
</constant>
<constant>
<type>uint32_t</type>
<name>MAX_MSG_PROD</name>
<value>500</value>
</constant>
<constant>
<type>uint32_t</type>
<name>MAX_NUM_TARGETS</name>
<value>10</value>
</constant>
<constant>
<type>uint32_t</type>
<name>VALID</name>
<value>0</value>
</constant>
<constant>
<type>uint32_t</type>
<name>INVALID</name>
<value>1</value>
</constant>
<constant>
<type>uint32_t</type>
<name>ALL_VALID</name>
<value>0</value>
</constant>
<constant>
<type>uint32_t</type>
<name>ALL_INVALID</name>
<value>0xFFFFFFFF</value>
</constant>
<enum>
<name>EffectorType</name>
<enum_item>
<item_name>ACM</item_name>
<value>0x01</value>
</enum_item>
<enum_item>
<item_name>SURFACE</item_name>
<value>0x02</value>
</enum_item>
</enum>
<enum>
<name>MDT_File_Number</name>
<comment>Allowable enumerations for the MDT File Type to be used by the WIM Defined DMN_Initialization Message</comment>
<enum_item>
<item_name>ALMANAC</item_name>
<value>4</value>
</enum_item>
<enum_item>
<item_name>EPHEMERIS</item_name>
<value>5</value>
</enum_item>
<enum_item>
<item_name>COMPLEMENTARYNAV</item_name>
<value>19</value>
</enum_item>
<enum_item>
<item_name>MISSIONDATA</item_name>
<value>20</value>
</enum_item>
<enum_item>
<item_name>WDL_KEY_1</item_name>
<value>25</value>
</enum_item>
<enum_item>
<item_name>WDL_KEY_2</item_name>
<value>26</value>
</enum_item>
<enum_item>
<item_name>WDL_KEY_3</item_name>
<value>27</value>
</enum_item>
</enum>
<enum>
<name>BIT_Report_e</name>
<comment>Allowable enumerations for the DMN_Status_Monitor.Subsystem_BIT_Report field. All other values are Reserved or WIM defined.</comment>
<enum_item>
<item_name>BIT_PASS</item_name>
<value>0</value>
</enum_item>
<enum_item>
<item_name>BIT_DEGRADED</item_name>
<value>1</value>
</enum_item>
<enum_item>
<item_name>BIT_FAILED</item_name>
<value>2</value>
</enum_item>
<enum_item>
<item_name>NO_RESULTS</item_name>
<value>3</value>
</enum_item>
</enum>
<structure>
<name>Message_Rate</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>messageID</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved2</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>msgUpdateRateHz</item_name>
<type>float</type>
</struct_item>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>msgVersionNumber</item_name>
<type>uint32_t</type>
</struct_item>
</structure>
<structure>
<name>Target_Priority</name>
<struct_item>
<default>0</default>
<item_name>targetIdPriority</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved2</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<structure>
<name>Target_State_ECEF</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>timeValidNanoSec</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtPosEcefX</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtPosEcefY</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtPosEcefZ</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtPosCovEcef</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtVelEcefX</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtVelEcefY</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtVelEcefZ</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtVelCovEcef</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtAccEcefX</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtAccEcefY</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtAccEcefZ</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtAccCovEcef</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtId</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtType</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtPriority</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved2</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtIntention</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>clusterIndicator</item_name>
<type>uint32_t</type>
</struct_item>
</structure>
<structure>
<name>Target_State_LOS</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>timeValidNanoSec</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRange</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRangeRate</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelXrot</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelYrot</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelZrot</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtLosCov</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelXrotRate</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelYrotRate</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tgtRelZrotRate</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtLosRateCov</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtId</item_name>
<type>uint64_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtType</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtIntention</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>tgtPriority</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>refLocX</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>refLocY</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>refLocZ</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>refCov</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>clusterIndicator</item_name>
<type>uint32_t</type>
</struct_item>
</structure>
<structure>
<name>Header</name>
<struct_item>
<default>0</default>
<item_name>domainID</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>instanceID</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>elementID</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>messageID</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>messageCount</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>payloadLengthBytes</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>timeStampNanoSec</item_name>
<type>uint64_t</type>
</struct_item>
</structure>
<structure>
<name>Trailer</name>
<struct_item>
<default>0</default>
<item_name>messageCRC</item_name>
<type>uint32_t</type>
</struct_item>
</structure>
<structure>
<name>DMN_LookTo_ECEF</name>
<struct_item>
<default>0</default>
<item_name>numTgts</item_name>
<type>uint8_t</type>
<comment>Number of Target ECEF cues</comment>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>wosa::MAX_NUM_TARGETS</arrayLength>
<item_name>targetStateEcef</item_name>
<type>wosa::Target_State_ECEF</type>
</struct_item>
</structure>
<structure>
<name>DMN_LookTo_LOS</name>
<struct_item>
<default>0</default>
<item_name>numTgts</item_name>
<type>uint8_t</type>
<comment>Number of Targets Look To LOS</comment>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>wosa::MAX_NUM_TARGETS</arrayLength>
<item_name>targetStateLos</item_name>
<type>wosa::Target_State_LOS</type>
</struct_item>
</structure>
<structure>
<name>DMN_Metamodule_Message</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>vendorRegistry</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>vendorSystemNumber</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>vendorModel</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>vendorSoftware</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>numMsgsProduced</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>wosa::MAX_MSG_PROD</arrayLength>
<item_name>messageRate</item_name>
<type>wosa::Message_Rate</type>
</struct_item>
</structure>
<structure>
<name>DMN_Priority</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>numTgts</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>reserved</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>wosa::MAX_NUM_TARGETS</arrayLength>
<item_name>targetPriority</item_name>
<type>wosa::Target_Priority</type>
</struct_item>
</structure>
<structure>
<name>DMN_Status_Monitor</name>
<struct_item>
<default>0xFFFFFFFF</default>
<item_name>messageInvalidityBitFlags</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>subsystemBITreport</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>storeStatusWord1</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>storeStatusWord2</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>storeStatusWord3</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>storeStatusWord4</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>storeStatusWord5</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>msnExecControlAck</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>reserved</item_name>
<type>uint16_t</type>
</struct_item>
</structure>
<structure>
<name>DMN_Initialization</name>
<struct_item>
<default>0</default>
<item_name>MDT_File_Number</item_name>
<type>uint16_t</type>
<comment>Enumeration: Type of MDT File (4 = Almanac, 5 = Ephemeris, etc)</comment>
</struct_item>
<struct_item>
<default>64</default>
<item_name>numberOfRecords</item_name>
<type>uint16_t</type>
<comment>Width of 2D Array</comment>
</struct_item>
<struct_item>
<default>29</default>
<item_name>numberOfBlocks</item_name>
<type>uint16_t</type>
<comment>Height of 2D Array</comment>
</struct_item>
<struct_item>
<arrayLength>64</arrayLength>
<arrayLength>29</arrayLength>
<default>0</default>
<item_name>MDT_Data</item_name>
<type>uint16_t</type>
<comment>WIM Specified Initialization Data, typically this data structure is defined in an external standard and only used for initialization [unitless]</comment>
</struct_item>
</structure>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,158 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<RestrictedRights>-->
<!--=========================================================================-->
<!-- Restricted Rights -->
<!-- Contract Number AMTC 22-06-002 -->
<!-- Contractor Name Raytheon Missiles & Defense -->
<!-- Contractor Address 1151 E Hermans Rd., Tucson, AZ 85756 -->
<!-- -->
<!-- The government's rights to use, modify, reproduce, release, perform, -->
<!-- display, or disclose this software are restricted by paragraph (b)(3) -->
<!-- of the Rights in Noncommercial Computer Software and Noncommercial -->
<!-- Computer Software Documentation clause contained in the above -->
<!-- identified contract. Any reproduction of software or portions thereof -->
<!-- marked with this legend must also reproduce the markings. Any person, -->
<!-- other than the government, who has been provided access to such -->
<!-- software, must promptly notify the above named Contractor. -->
<!-- -->
<!-- Unpublished Work - Copyright Raytheon Company. -->
<!--=========================================================================-->
<!--\\<\RestrictedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<constant>
<comment>roll and nod</comment>
<type>uint32_t</type>
<name>N_AXES</name>
<value>2</value>
</constant>
<structure>
<name>Bits</name>
<struct_item>
<default>0</default>
<item_name>posLoop</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>velLoop</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>velCmd</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>injCur</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>injVel</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>injPos</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>fricComp</item_name>
<type>uint32_t</type>
<comment>bit</comment>
</struct_item>
</structure>
<structure>
<name>AxisMode</name>
<struct_item>
<item_name>b</item_name>
<type>Bits</type>
</struct_item>
</structure>
<structure>
<name>Axis</name>
<struct_item>
<item_name>mode</item_name>
<type>AxisMode</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>pos</item_name>
<type>double</type>
<comment>rad</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>vel</item_name>
<type>double</type>
<comment>rad/sec</comment>
</struct_item>
</structure>
<structure>
<name>AlgorithmProcAxis</name>
<struct_item>
<default>0.0</default>
<item_name>posFltRad</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>velFltRps</item_name>
<type>double</type>
</struct_item>
</structure>
<structure>
<name>CurrentMeasurements</name>
<struct_item>
<default>0.0</default>
<item_name>dvtCurrAdcSec</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>measPhaseACurrAdcA</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>measPhaseBCurrAdcA</item_name>
<type>double</type>
</struct_item>
</structure>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,323 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<RestrictedRights>-->
<!--=========================================================================-->
<!-- Restricted Rights -->
<!-- Contract Number AMTC 22-06-002 -->
<!-- Contractor Name Raytheon Missiles & Defense -->
<!-- Contractor Address 1151 E Hermans Rd., Tucson, AZ 85756 -->
<!-- -->
<!-- The government's rights to use, modify, reproduce, release, perform, -->
<!-- display, or disclose this software are restricted by paragraph (b)(3) -->
<!-- of the Rights in Noncommercial Computer Software and Noncommercial -->
<!-- Computer Software Documentation clause contained in the above -->
<!-- identified contract. Any reproduction of software or portions thereof -->
<!-- marked with this legend must also reproduce the markings. Any person, -->
<!-- other than the government, who has been provided access to such -->
<!-- software, must promptly notify the above named Contractor. -->
<!-- -->
<!-- Unpublished Work - Copyright Raytheon Company. -->
<!--=========================================================================-->
<!--\\<\RestrictedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="relative">Gimbal.xml</file>
<file location="system">cstdint</file>
</include>
<structure>
<name>GimbalCommandDataType</name>
<comment>\\&lt;EximItarRestricted&gt; ----------------------------------------------------------------------------// WARNING - This document contains Technical Data whose export or disclosure // to Non-U.S. Persons, wherever located, is restricted by the International // Traffic in Arms Regulations (ITAR) (22 C.F.R Sections 120-130). Violations // are subject to severe criminal penalties. // ----------------------------------------------------------------------------// \\&lt;\EximItarRestricted&gt;</comment>
<struct_item>
<default>0</default>
<item_name>time</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>valid</item_name>
<type>unsigned int</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>cmdGimbalAzFromHousingInBody</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>cmdGimbalElFromHousingInBody</item_name>
<type>double</type>
</struct_item>
</structure>
<structure>
<name>GimbalStateDataType</name>
<struct_item>
<default>0.0</default>
<item_name>measTime</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>measRoll</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>measNod</item_name>
<type>double</type>
</struct_item>
</structure>
<structure>
<name>CageDataType</name>
<struct_item>
<default>0</default>
<item_name>cagedPitch</item_name>
<type>int32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>cagedRoll</item_name>
<type>int32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>uncaged</item_name>
<type>int</type>
</struct_item>
</structure>
<structure>
<name>GimbalCurrentCommandDataType</name>
<struct_item>
<arrayLength>N_AXES</arrayLength>
<default>0.0</default>
<item_name>currentCommands</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>pwmRollPhaseA</item_name>
<type>float</type>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>pwmRollPhaseB</item_name>
<type>float</type>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>pwmRollPhaseC</item_name>
<type>float</type>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>pwmNodPos</item_name>
<type>float</type>
</struct_item>
<struct_item>
<default>0.0f</default>
<item_name>pwmNodNeg</item_name>
<type>float</type>
</struct_item>
</structure>
<structure>
<name>GimbalCurrentMeasurementDataType</name>
<struct_item>
<arrayLength>N_AXES</arrayLength>
<item_name>curr</item_name>
<type>CurrentMeasurements</type>
</struct_item>
</structure>
<structure>
<name>GimbalSensorProcessorTmStruct</name>
<comment>Telemetry payload struct for the GSPComp</comment>
<struct_item>
<default>-1.0</default>
<item_name>encoderMeasTime</item_name>
<type>double</type>
<comment>Time (s) at which the encoder measurement was taken</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>imuValidityTimeNs</item_name>
<type>uint64_t</type>
<comment>Time in nanoseconds that the IMU measurement is valid for. See SW/DataModel/WOSA/IMU.xml</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>nodEncoderData</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>rollEncoderData</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>ImuAccelData</item_name>
<type>float</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>ImuGyroData</item_name>
<type>float</type>
</struct_item>
</structure>
<structure>
<name>GimbalMisalignmentDataType</name>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>pTa</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>gTp</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>tTg</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>dTp</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>r1</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>r2</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>r3</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>n1</item_name>
<type>double</type>
</struct_item>
</structure>
<message>
<name>GimbalCommandMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ec42cf</label>
<instruLabel>GimbalCommandMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalCommandDataType</type>
</msg_item>
</message>
<message>
<name>GimbalStateMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x001d4cb3</label>
<instruLabel>GimbalStateMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalStateDataType</type>
</msg_item>
</message>
<message>
<name>EncoderHwifMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00e98a9d</label>
<instruLabel>EncoderHwifMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalStateDataType</type>
<comment>Message sent from GspHwif to itself after delay</comment>
</msg_item>
</message>
<message>
<name>CageStateMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x006baa07</label>
<instruLabel>CageStateMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>CageDataType</type>
</msg_item>
</message>
<message>
<name>GimbalCurrentCommandMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00a8e517</label>
<instruLabel>GimbalCurrentCommandMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalCurrentCommandDataType</type>
</msg_item>
</message>
<message>
<name>GimbalCurrentMeasurementMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00fc6b48</label>
<instruLabel>GimbalCurrentMeasurementMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalCurrentMeasurementDataType</type>
</msg_item>
</message>
<message>
<name>GimbalSensorProcessorTmMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00753580</label>
<instruLabel>GimbalSensorProcessorTmMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalSensorProcessorTmStruct</type>
</msg_item>
</message>
<message>
<name>GimbalMisalignmentDataMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x0031549b</label>
<instruLabel>GimbalMisalignmentDataMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>GimbalMisalignmentDataType</type>
</msg_item>
</message>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,171 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<RestrictedRights>-->
<!--=========================================================================-->
<!-- Restricted Rights -->
<!-- Contract Number AMTC 22-06-002 -->
<!-- Contractor Name Raytheon Missiles & Defense -->
<!-- Contractor Address 1151 E Hermans Rd., Tucson, AZ 85756 -->
<!-- -->
<!-- The government's rights to use, modify, reproduce, release, perform, -->
<!-- display, or disclose this software are restricted by paragraph (b)(3) -->
<!-- of the Rights in Noncommercial Computer Software and Noncommercial -->
<!-- Computer Software Documentation clause contained in the above -->
<!-- identified contract. Any reproduction of software or portions thereof -->
<!-- marked with this legend must also reproduce the markings. Any person, -->
<!-- other than the government, who has been provided access to such -->
<!-- software, must promptly notify the above named Contractor. -->
<!-- -->
<!-- Unpublished Work - Copyright Raytheon Company. -->
<!--=========================================================================-->
<!--\\<\RestrictedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<namespace>
<name>ngsri</name>
<constant>
<comment>With input from SP, maximum expected segements in the scene is 500</comment>
<type>uint32_t</type>
<name>MAX_SEGMENT_SIZE</name>
<value>500</value>
</constant>
<structure>
<name>NgsriSegmentData</name>
<struct_item>
<default>0</default>
<item_name>numSegments</item_name>
<type>uint16_t</type>
<comment>The actual number of segments</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0</default>
<item_name>segmentRow</item_name>
<type>uint8_t</type>
<comment>The row of the segment in the original image</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0</default>
<item_name>segmentBeginCol</item_name>
<type>uint8_t</type>
<comment>The column of the first pixel in the segment</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0</default>
<item_name>segmentEndCol</item_name>
<type>uint8_t</type>
<comment>The column after the last pixel of the segment</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0</default>
<item_name>segmentLength</item_name>
<type>uint8_t</type>
<comment>The number of pixels in the segment</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0</default>
<item_name>segmentColMoment</item_name>
<type>uint32_t</type>
<comment>The sum of the columns of the pixels in the segment</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0.0f</default>
<item_name>segmentMaxIntensity</item_name>
<type>float</type>
<comment>The highest intensity out of the pixels in the segment</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::MAX_SEGMENT_SIZE</arrayLength>
<default>0.0f</default>
<item_name>segmentSumIntensity</item_name>
<type>float</type>
<comment>The sum of pixel intensities within segment</comment>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>tov</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>frameNumber</item_name>
<type>unsigned int</type>
</struct_item>
</structure>
<structure>
<name>NgsriAdnucStateData</name>
<struct_item>
<default>0</default>
<item_name>adnucState</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>padding</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<message>
<name>NgsriRobSegmentsMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x002142e2</label>
<instruLabel>NgsriRobSegmentsMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::NgsriSegmentData</type>
</msg_item>
</message>
<message>
<name>NgsriLogSegmentsMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00d3adbe</label>
<instruLabel>NgsriLogSegmentsMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::NgsriSegmentData</type>
</msg_item>
</message>
<message>
<name>NgsriAdnucStateMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ee7d81</label>
<instruLabel>NgsriAdnucStateMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::NgsriAdnucStateData</type>
</msg_item>
</message>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,323 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<UnlimitedRights>-->
<!--=========================================================================-->
<!-- Copyright 2023 Raytheon Company. -->
<!-- This software was developed pursuant to Contract Number AMTC 22-06-002 -->
<!-- with the U.S. government. The U.S. government's rights in and to this -->
<!-- copyrighted software are as specified in DFARS 252.227-7014 which was -->
<!-- made part of the above contract. -->
<!--=========================================================================-->
<!--\\<\UnlimitedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<namespace>
<name>ngsri</name>
<enum>
<name>MissionMode</name>
<enum_item>
<item_name>TACTICAL</item_name>
<value>0</value>
</enum_item>
<enum_item>
<item_name>MSFR</item_name>
<value>1</value>
</enum_item>
<enum_item>
<item_name>PATHFINDER</item_name>
<value>2</value>
</enum_item>
<enum_item>
<item_name>RTF</item_name>
<value>3</value>
</enum_item>
<enum_item>
<item_name>LBT</item_name>
<value>4</value>
</enum_item>
<enum_item>
<item_name>CFT</item_name>
<value>5</value>
</enum_item>
<enum_item>
<item_name>GFT</item_name>
<value>6</value>
</enum_item>
</enum>
<structure>
<name>MissionManagerDataTypeLL</name>
<struct_item>
<default>0</default>
<item_name>CTS</item_name>
<type>unsigned int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>pad_one</item_name>
<type>unsigned int</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtPosLocal</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtVelLocal</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtAccLocal</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtPosCovNED</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtVelCovNED</item_name>
<type>double</type>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<arrayLength>3</arrayLength>
<default>0.0</default>
<item_name>tgtAccCovNED</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>timeOfValidity</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>guideState</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>seekerState</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>seekerReady</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>cageState</item_name>
<type>int</type>
<comment>bool</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>adnucState</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>mmgrState</item_name>
<type>uint8_t</type>
<comment>See MissionManagerTypes.hpp</comment>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>pad_two</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>recage</item_name>
<type>int</type>
<comment>bool</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>mmgrMode</item_name>
<type>uint8_t</type>
<comment>Mission manager mode of operation</comment>
</struct_item>
<struct_item>
<arrayLength>3</arrayLength>
<default>0</default>
<item_name>pad_three</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>99999.0</default>
<item_name>tacticalLaunchTimeSec</item_name>
<type>double</type>
</struct_item>
</structure>
<structure>
<name>MissionManagerAdnucType</name>
<struct_item>
<default>0</default>
<item_name>adnucState</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>startAdnuc</item_name>
<type>unsigned int</type>
<comment>bool</comment>
</struct_item>
</structure>
<structure>
<name>MissionManagerCoarseAlignType</name>
<struct_item>
<default>0</default>
<item_name>AlignmentDuration</item_name>
<type>double</type>
</struct_item>
</structure>
<structure>
<name>MissionManagerCompTmType</name>
<struct_item>
<default>0</default>
<item_name>mmgrState</item_name>
<type>uint8_t</type>
<comment>See MissionManagerTypes.hpp</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>adnucState</item_name>
<type>uint8_t</type>
<comment>See MissionManagerTypes.hpp</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>testListSize</item_name>
<type>uint64_t</type>
<comment>Part of MissileKit CommonEmbeddedTest framework</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>testListStatus</item_name>
<type>uint64_t</type>
<comment>Part of MissileKit CommonEmbeddedTest framework</comment>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>measTime</item_name>
<type>double</type>
<comment>See TimeUtility.hpp getTimeNow_sec(). This field is needed to align measurements from other packets without introducing in variation from the Telemetry component</comment>
</struct_item>
<struct_item>
<default>0.0</default>
<item_name>navTime</item_name>
<type>float</type>
</struct_item>
</structure>
<structure>
<name>MissionManagerSyncReqData</name>
<struct_item>
<default>0</default>
<item_name>activateSyncs</item_name>
<type>uint8_t</type>
<comment>Enables the FSync and GSync pulses in FW</comment>
</struct_item>
</structure>
<message>
<name>MissionManagerMsgLL</name>
<labelGroup>0x00</labelGroup>
<label>0x004110bd</label>
<instruLabel>MissionManagerMsgLL</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::MissionManagerDataTypeLL</type>
</msg_item>
</message>
<message>
<name>MissionManagerAdnucMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x005bed3d</label>
<instruLabel>MissionManagerAdnucMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::MissionManagerAdnucType</type>
</msg_item>
</message>
<message>
<name>MissionManagerAlignmentMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00ee8dea</label>
<instruLabel>MissionManagerAlignmentMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::MissionManagerCoarseAlignType</type>
</msg_item>
</message>
<message>
<name>MissionManagerCompTmMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00e54b8a</label>
<instruLabel>MissionManagerCompTmMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::MissionManagerCompTmType</type>
</msg_item>
</message>
<message>
<name>MissionManagerSyncReqMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x0031321f</label>
<instruLabel>MissionManagerSyncReqMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::MissionManagerSyncReqData</type>
</msg_item>
</message>
<message>
<name>MissionManagerIdaTempReqMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00a41a67</label>
<instruLabel>MissionManagerIdaTempReqMsg</instruLabel>
<msg_item>
<default>0</default>
<item_name>payload</item_name>
<type>uint32_t</type>
<comment>Sent to IdaComp to determine if IDA temp is overthreshold. No payload, message receipt dictates behavior</comment>
</msg_item>
</message>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,136 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<RestrictedRights>-->
<!--=========================================================================-->
<!-- Restricted Rights -->
<!-- Contract Number AMTC 22-06-002 -->
<!-- Contractor Name Raytheon Missiles & Defense -->
<!-- Contractor Address 1151 E Hermans Rd., Tucson, AZ 85756 -->
<!-- -->
<!-- The government's rights to use, modify, reproduce, release, perform, -->
<!-- display, or disclose this software are restricted by paragraph (b)(3) -->
<!-- of the Rights in Noncommercial Computer Software and Noncommercial -->
<!-- Computer Software Documentation clause contained in the above -->
<!-- identified contract. Any reproduction of software or portions thereof -->
<!-- marked with this legend must also reproduce the markings. Any person, -->
<!-- other than the government, who has been provided access to such -->
<!-- software, must promptly notify the above named Contractor. -->
<!-- -->
<!-- Unpublished Work - Copyright Raytheon Company. -->
<!--=========================================================================-->
<!--\\<\RestrictedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<namespace>
<name>ngsri</name>
<structure>
<name>UmbilicalRetractBatteryGoodDataType</name>
<struct_item>
<default>0</default>
<item_name>umbilicalRetractBatteryGood</item_name>
<type>unsigned int</type>
<comment>bool</comment>
</struct_item>
</structure>
<structure>
<name>UmbilicalTmDataType</name>
<comment>Telemetry payload struct for the UmbilicalComp</comment>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>losData</item_name>
<type>int32_t</type>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>cageVectorPitchRollData</item_name>
<type>int32_t</type>
<comment>roll and pitch units where roll is 1 rotation about X and pitch is 2 rotation about Y in bits per degrees notation</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>uncageData</item_name>
<type>int</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>cageCount</item_name>
<type>uint32_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>toneData</item_name>
<type>double</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>umbilicalRetractBatteryGoodData</item_name>
<type>unsigned int</type>
<comment>bool</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>orientationRspData</item_name>
<type>uint16_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>lifetimeTime</item_name>
<type>uint32_t</type>
<comment>seconds</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>lifetimeCount</item_name>
<type>uint8_t</type>
</struct_item>
</structure>
<message>
<name>UmbilicalRetractBatteryGoodMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00225955</label>
<instruLabel>UmbilicalRetractBatteryGoodMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::UmbilicalRetractBatteryGoodDataType</type>
</msg_item>
</message>
<message>
<name>UmbilicalTmMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x0032303f</label>
<instruLabel>UmbilicalTmMsg</instruLabel>
<msg_item>
<item_name>data</item_name>
<type>ngsri::UmbilicalTmDataType</type>
</msg_item>
</message>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="message.xsl"?>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->
<!--\\<UnlimitedRights>-->
<!--=========================================================================-->
<!-- Copyright 2025 Raytheon Company. -->
<!-- This software was developed pursuant to Contract Number AMTC 22-06-002 -->
<!-- with the U.S. government. The U.S. government's rights in and to this -->
<!-- copyrighted software are as specified in DFARS 252.227-7014 which was -->
<!-- made part of the above contract. -->
<!--=========================================================================-->
<!--\\<\UnlimitedRights>-->
<!--\\<EximUndetermined>-->
<!--=========================================================================-->
<!-- WARNING - This document contains technical data and / or technology -->
<!-- whose export or disclosure to Non-U.S. Persons, wherever located, is -->
<!-- restricted by the International Traffic in Arms Regulations (ITAR) (22 -->
<!-- C.F.R. Section 120-130) or the Export Administration Regulations (EAR) -->
<!-- (15 C.F.R. Section 730-774). This document CANNOT be exported (e.g., -->
<!-- provided to a supplier outside of the United States) or disclosed to a -->
<!-- Non-U.S. Person, wherever located, until a final jurisdiction and -->
<!-- classification determination has been completed and approved by -->
<!-- Raytheon, and any required U.S. Government approvals have been -->
<!-- obtained. Violations are subject to severe criminal penalties. -->
<!--=========================================================================-->
<!--\\<\EximUndetermined>-->
<interface>
<include>
<file location="system">cstdint</file>
</include>
<namespace>
<name>ngsri</name>
<constant>
<comment>Length of the version string including the null character - compliant with the Digital Product Version Convention.</comment>
<type>uint8_t</type>
<name>VERSION_STRLEN</name>
<value>14</value>
</constant>
<structure>
<name>VipConfigData</name>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>fwVers</item_name>
<type>char</type>
<comment>Firmware Build Version</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>swVers</item_name>
<type>char</type>
<comment>Software Build Version</comment>
</struct_item>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>reserved</item_name>
<type>char</type>
<comment>May be used for 'Hardware Model' or other use case</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_vip</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>ImageCrc</item_name>
<type>uint32_t</type>
<comment>32-bit CRC value for the combined .text and .data sections of software binary</comment>
</struct_item>
</structure>
<structure>
<name>GspVerData</name>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>verStr</item_name>
<type>char</type>
<comment>GSP Build Version</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_gsp</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>imageCrc</item_name>
<type>uint32_t</type>
<comment>32-bit CRC value for the GSP software binary</comment>
</struct_item>
</structure>
<structure>
<name>MccVerData</name>
<struct_item>
<arrayLength>ngsri::VERSION_STRLEN</arrayLength>
<default>0</default>
<item_name>verStr</item_name>
<type>char</type>
<comment>MCC Build Version</comment>
</struct_item>
<struct_item>
<arrayLength>2</arrayLength>
<default>0</default>
<item_name>padding_mcc</item_name>
<type>uint8_t</type>
</struct_item>
<struct_item>
<default>0</default>
<item_name>core0Crc</item_name>
<type>uint32_t</type>
<comment>32-bit CRC value for the MCC Core 0 software binary</comment>
</struct_item>
<struct_item>
<default>0</default>
<item_name>core1Crc</item_name>
<type>uint32_t</type>
<comment>32-bit CRC value for the MCC Core 1 software binary</comment>
</struct_item>
</structure>
<message>
<name>VipConfigDataMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x0044a956</label>
<instruLabel>VipConfigDataMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::VipConfigData</type>
</msg_item>
</message>
<message>
<name>GspVerDataMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00192340</label>
<instruLabel>GspVerDataMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::GspVerData</type>
</msg_item>
</message>
<message>
<name>MccVerDataMsg</name>
<labelGroup>0x00</labelGroup>
<label>0x00e6c955</label>
<instruLabel>MccVerDataMsg</instruLabel>
<msg_item>
<item_name>payload</item_name>
<type>ngsri::MccVerData</type>
</msg_item>
</message>
</namespace>
</interface>
<!--\\<CUI>-->
<!--=========================================================================-->
<!-- CUI -->
<!--=========================================================================-->
<!--\\<\CUI>-->

View File

@@ -0,0 +1,25 @@
; ===============================================================================================================
; This name must match the name specified in the Instrument.xml for an instrument of type DIO
[PICKERING_DIO_1]
LXI_IP_ADDRESS = 192.168.1.15
DEVICE_NUMBER = 15
BUS_NUMBER = 3
SHALL_WE_DRIVE_OUTPUT_UPON_INITIALIZATION = false
; number channels per port
NUM_CHANNELS_PER_PORT=8
; either 0 or 1 as the starting channel index
CHANNEL_START_INDEX=0
NUM_OUTPUT_CHANNELS = 32
NUM_INPUT_CHANNELS = 32
;format is <signal_name> = <Channel Number>|<Initial State>
;<Initial State> is either 0 or 1 or 2(Logic Z)
[PICKERING_DIO_1.OUTPUT_SIGNALS]
SIGNAL_1 = 0|1
SIGNAL_2 = 1|0
;format is <signal_name> = <Channel Number>
[PICKERING_DIO_1.INPUT_SIGNALS]
SIGNAL_3 = 0
SIGNAL_4 = 0

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="Parts">
<key name="Location" value="C:\Program Files (x86)\Raytheon\RINSS\Parts" />
</section>
</IniConfiguration>
<XmlConfigurations>
<XmlConfiguration name="Instruments">
<Instrument>
<Name>CoeDeviceNodeTCP</Name>
<Factory>CoeCommDeviceFactory</Factory>
</Instrument>
<Instrument>
<Name>UUT_POWER_SUPPLY_SYSTEM_20V</Name>
<Factory>PowerSupplySystemKeysightFactory</Factory>
</Instrument>
<Instrument>
<Name>PICKERING_DIO_1</Name>
<Factory>DIOPickering40xFactory</Factory>
</Instrument>
<!-- <Instrument>
<Name>PICKERING_RELAY_SWITCH_16CH</Name>
<Factory>SwitchPickeringLxi60_522_SoapFactory</Factory>
</Instrument> -->
<!-- <Instrument>
<Name>PICKERING_RELAY_SWITCH_32CH</Name>
<Factory>SwitchPickeringLxi60_522_SoapFactory</Factory>
</Instrument> -->
<Instrument>
<Name>PICKERING_SWITCH_MATRIX_64X4</Name>
<Factory>SwitchMatrixPickering40xFactory</Factory>
</Instrument>
<Instrument>
<Name>KEYSIGHT_DMM_1</Name>
<Factory>DMMKeysightScpiFactory</Factory>
</Instrument>
<Instrument>
<Name>SERIAL_COM_PORT_1</Name>
<Factory>CommDeviceSerialFactory</Factory>
</Instrument>
</XmlConfiguration>
</XmlConfigurations>
</Configurations>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="KEYSIGHT_DMM_1">
<key name="IP_ADDRESS" value="192.168.1.27" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,56 @@
[SYSTEM]
;system commands
CLEAR_CMD = *CLS
RESET_CMD = *RST
SELFTEST_CMD = *TST?
READ_ERROR_CODE_CMD = SYST:ERR?
REBOOT_CMD = SYST:REB
;panel disable/enable commands
SET_FRONTPANEL_DISABLE_CMD = SYST:COMM:RLST RWL
SET_FRONTPANEL_ENABLE_CMD = SYST:COMM:RLST REM
;watchdog commands
SET_WATCHDOGDELAY_CMD = OUTP:PROT:WDOG:DEL
SET_WATCHDOGON_CMD = OUTP:PROT:WDOG ON
SET_WATCHDOGOFF_CMD = OUTP:PROT:WDOG OFF
;coupling commands
SET_COUPLE_CHANNELS_CMD = OUTP:COUP:CHAN
SET_COUPLE_ON_CMD = OUTP:COUP ON
SET_COUPLE_OUTPUT_PROTECT_ON_CMD = OUTP:PROT:COUP ON
QUERY_COUPLE_CHANNELS = OUTP:COUP:CHAN?
QUERY_COUPLE_STATE = OUTP:COUP?
; Grouping Commands
SET_GROUP_DEFINE_CMD = SYST:GRO:DEF
UNGROUP_ALL_CHANNELS_CMD = SYST:GRO:DEL:ALL
QUERY_GROUP_CHANNELS = SYST:GRO:CAT?
[MODULE]
; current commands
SET_INRUSH_DELAY_CMD = CURR:PROT:DEL
READ_INRUSH_DELAY_CMD = CURR:PROT:DEL?
READ_CURRENT_CMD = MEAS:CURR?
SET_OCP_CMD = CURR:LEV
READ_OCP_CMD = CURR:LEV?
SET_OCP_ON_CMD = CURR:PROT:STAT ON
; voltage commands
SET_OVP_CMD = VOLT:PROT
SET_VOLTAGE_SLEW_CMD = VOLT:SLEW
SET_VOLTAGE_SETPOINT_CMD = VOLT:LEV
SET_CONSTANT_VOLTAGE_CMD = STAT:OPER:ENAB 1
READ_VOLTAGE_CMD = MEAS:VOLT?
READ_VOLTAGE_SETPOINT_CMD = VOLT?
READ_OVP_CMD = VOLT:PROT?
READ_VOLTAGE_SLEW_CMD = VOLT:SLEW?
; set output commands
SET_OUTPUT_DISABLE_CMD = OUTP OFF
SET_OUTPUT_ENABLE_CMD = OUTP ON
; query status
READ_OUTPUT_STATUS_CMD = OUTP?
READ_ERROR_STATUS_CMD = SYST:ERR?
READ_PROTECTION_STATUS_CMD = STAT:QUES:COND?

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="PICKERING_DIO_1">
<key name="DIO_MODULE_DEF_FILEPATH" value="DIO_MODULES.ini" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="PICKERING_RELAY_SWITCH_16CH">
<key name="LXI_IP_ADDRESS" value="192.168.1.15" />
<key name="DEVICE_NUMBER" value="11" />
<key name="BUS_NUMBER" value="3" />
<key name="SUB_UNIT" value="0" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="PICKERING_RELAY_SWITCH_32CH">
<key name="LXI_IP_ADDRESS" value="192.168.1.15" />
<key name="DEVICE_NUMBER" value="14" />
<key name="BUS_NUMBER" value="3" />
<key name="SUB_UNIT" value="0" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="PICKERING_SWITCH_MATRIX_64X4">
<key name="LXI_IP_ADDRESS" value="192.168.1.15" />
<key name="DEVICE_NUMBER" value="13" />
<key name="BUS_NUMBER" value="3" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,32 @@
; ===============================================================================================================
; This name must match the name specified in the Instrument.xml that is associated with the power supply system
[UUT_POWER_SUPPLY_SYSTEM_20V]
SCPI_DEF_FILEPATH = KEYSIGHT_POWER_SUPPLY_SCPI_DEF.ini
ETHERNET_ADDRESS = 192.168.1.19
ETHERNET_PORT = 5025
MODULE_DEFINITION = P20V, N20V
; 0 means no coupled modules.
; couple means turning on/off any one of the module, turns on/off the others
COUPLED_MODULES = P20V, N20V
; 0 means no grouped modules.
; group means turning combining 2 or more modules thus acting as one module
GROUPED_MODULES = 0
INTERFACE = ETHERNET
[UUT_POWER_SUPPLY_SYSTEM_20V.P20V]
INDEX = 1
OCP = 8.5
OVP = 25.0
VOLTAGE_SETPOINT = 20.0
MIN_VOLTAGE = 16.0
MAX_VOLTAGE = 24.0
[UUT_POWER_SUPPLY_SYSTEM_20V.N20V]
INDEX = 2
OCP = 8.5
OVP = 25.0
VOLTAGE_SETPOINT = 20.0
MIN_VOLTAGE = 16.0
MAX_VOLTAGE = 24.0

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="SERIAL_COM_PORT_1">
<key name="COMPortName" value="COM4" />
<key name="BaudRate" value="312500" />
<key name="Parity" value="Even" />
<key name="DataBits" value="8" />
<key name="StopBits" value="1" />
<key name="ReadTimeout" value="5000" />
<key name="BufferSize" value="1024" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Configurations>
<IniConfiguration>
<section name="UUT_POWER_SUPPLY_SYSTEM_20V">
<key name="POWER_SUPPLY_SYSTEM_DEF_FILEPATH" value="POWER_SUPPLY_SYSTEMS.ini" />
</section>
</IniConfiguration>
<XmlConfigurations />
</Configurations>