diff --git a/.gitignore b/.gitignore index 0c38d7c..4f03bc7 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ # include yamcs_serial_frontend folder !/yamcs_serial_frontend +# include sdls-nos folder +!/sdls-nos + !/images # exclude everything *in* images folder /images/* diff --git a/README.md b/README.md index fbcca21..ff7c7a0 100644 --- a/README.md +++ b/README.md @@ -46,3 +46,7 @@ Features: * forwards data from connected clients to each other When a stream of CCSDS telemetry is available from a TCP client only, this client and ```yamcs``` can both connect to the ```tcp-server-bridge``` and ```yamcs``` will be able to receive this data. + +## sdls-nos +Configuration used for testing the SDLS implementation of Yamcs with [NOS3](https://github.com/nasa/nos3/). +See sdls-nos/README.md for more information. diff --git a/sdls-nos/.gitignore b/sdls-nos/.gitignore new file mode 100644 index 0000000..616bbad --- /dev/null +++ b/sdls-nos/.gitignore @@ -0,0 +1,4 @@ +target +.project +.settings +.classpath diff --git a/sdls-nos/README.md b/sdls-nos/README.md new file mode 100644 index 0000000..df75aca --- /dev/null +++ b/sdls-nos/README.md @@ -0,0 +1,53 @@ +# yamcs-nos3 +YAMCS for NOS3 + +This example lets you test TM decryption and TC encryption with the NOS3 simulator in a virtual machine: https://github.com/nasa/nos3/ +You can run it in the same way as [examples in the main Yamcs repository](https://github.com/yamcs/yamcs/tree/master/examples). + +Tests were done with NOS3 commit `1e34337bdf8aa6bfb5adb4f68974be4e8de0eee0` (the latest `dev` commit at the time of testing), and Yamcs commit `e27592ab43f3e41c20c527e4541b25beb8f35e10`. + +The key used for encryption/decryption in Yamcs has been extracted from NOS3 source code. + +## Setup +Check out the correct revision in NOS3, as specified above, along with its submodules. + +Apply the [patch](./nos3-yamcs.patch) to prepare NOS3 for integration with the new Yamcs version. +The patch fixes some errors in the code that prevented compilation, and updates configuration. + +Start the NOS3 virtual machine following their instructions. +In the virtualbox machine settings, allow forwarding UDP ports 8010 and 8011. + +In `cfg/sims/nos3-simulator.xml`, update `simulator/generic_radio_sim/hardware-model/connection/gsw` IP to docker bridge IP of the machine in virtualbox (in tests, it was 172.17.0.1). + +Build and launch NOS3. + +Connect the radio simulator to the bridge network: + +```sh +docker network connect bridge sc_1_radio_sim +``` + +In both the virtualbox machine and the docker container `sc_1_radio_sim`, install the packages: socat, iproute2. + + +To forward telemetry to Yamcs outside of virtualbox: +- in the virtualbox guest machine, run `socat udp-listen:8011,bind=172.17.0.1,reuseaddr,fork udp:10.0.2.2:8011` (IP address may differ -- 172.17.0.1 is the docker bridge IP of the virtualbox machine, 10.0.2.2 is the IP of the host machine outside of virtualbox) +- the data flow is: data from sc_1_radio_sim goes to port 8011 on docker host IP, socat sends that to the virtualbox host IP, Yamcs on the outside host gets the data. + + +To forward telecommands from Yamcs outside of virtualbox to the flight software: +- in the virtualbox guest, forward to docker: `socat udp-listen:8010,reuseaddr,fork udp:172.17.0.2:8010` (172.17.0.2 is the docker bridge IP of sc_1_radio_sim) +- in sc_1_radio_sim, forward to correct port: `socat udp-listen:8010,bind=172.17.0.2,reuseaddr,fork udp:172.19.0.21:8010` (first is bridge IP of sc_1_radio_sim, second is nos3 network IP of sc_1_radio_sim) +- the data flow is: data from Yamcs goes to port 8010 of virtualbox guest. Socat in virtualbox guest forwards it to port 8010 of bridge interface of sc_1_radio_sim. Socat in sc_1_radio_sim forwards it from the bridge interface to the nos3 network interface. Flight software receives it via the nos3 network. + +## Tests +To test telemetry: +1. In the Yamcs instance outside of the virtual machine, switch to the links view, and observe radio-in has no activity +2. In the Yamcs instance in the virtual machine, run the command `/CFS/CMD/TO_ENABLE_OUTPUT` +3. In the Yamcs instance outside of the virtual machine, observe that the radio-in link has activity. See that there are no errors in the Yamcs logs. + +To test telecommands: +1. In the Yamcs instance in the virtual machine, import the NOS3 sample display, and open it. +2. On the sample display, observe that the counters do not change, and that the field says DISABLED. +3. In the Yamcs instance outside of the virtual machine, run the command `/SAMPLE/CMD/SAMPLE_ENABLE_CC` +4. In the Yamcs instance in the virtual machine, observe that the counters are now increasing and that the field says ENABLED. diff --git a/sdls-nos/nos3-yamcs.patch b/sdls-nos/nos3-yamcs.patch new file mode 100644 index 0000000..015b2f2 --- /dev/null +++ b/sdls-nos/nos3-yamcs.patch @@ -0,0 +1,130 @@ +diff --git a/cfg/nos3_defs/toolchain-i386-linux-gnu.cmake b/cfg/nos3_defs/toolchain-i386-linux-gnu.cmake +index b254cc7..e58a643 100644 +--- a/cfg/nos3_defs/toolchain-i386-linux-gnu.cmake ++++ b/cfg/nos3_defs/toolchain-i386-linux-gnu.cmake +@@ -30,5 +30,5 @@ SET(CMAKE_C_FLAGS_INIT "-m32" CACHE STRING "C Flags required by platform") + add_definitions(-DBYTE_ORDER_LE) + add_definitions(-D_LINUX_OS_) + +-set(CI_TRANSPORT udp) +-set(TO_TRANSPORT udp) ++set(CI_TRANSPORT udp_tf) ++set(TO_TRANSPORT udp_tf) +diff --git a/cfg/sims/nos3-simulator.xml b/cfg/sims/nos3-simulator.xml +index 48d6308..87734e0 100644 +--- a/cfg/sims/nos3-simulator.xml ++++ b/cfg/sims/nos3-simulator.xml +@@ -532,15 +532,15 @@ + 6011 + --> + ++ + +- + + + prox +Submodule components/cryptolib contains modified content +diff --git a/components/cryptolib/src/core/crypto_config.c b/components/cryptolib/src/core/crypto_config.c +index 7dec1c9..ea1d40c 100644 +--- a/components/cryptolib/src/core/crypto_config.c ++++ b/components/cryptolib/src/core/crypto_config.c +@@ -54,16 +54,17 @@ int32_t crypto_free_config_structs(void); + int32_t Crypto_SC_Init(void) + { + int32_t status = CRYPTO_LIB_SUCCESS; +- Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, +- IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, +- TC_HAS_PUS_HDR, TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_FALSE, +- TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, ++ Crypto_Config_CryptoLib(KEY_TYPE_INTERNAL, MC_TYPE_INTERNAL, SA_TYPE_INMEMORY, CRYPTOGRAPHY_TYPE_LIBGCRYPT, ++ IV_INTERNAL, CRYPTO_TC_CREATE_FECF_TRUE | CRYPTO_TM_CREATE_FECF_TRUE, TC_PROCESS_SDLS_PDUS_TRUE, ++ TC_HAS_PUS_HDR, TC_IGNORE_SA_STATE_FALSE, TC_IGNORE_ANTI_REPLAY_TRUE, ++ TC_UNIQUE_SA_PER_MAP_ID_FALSE, TC_CHECK_FECF_TRUE, 0x3F, + SA_INCREMENT_NONTRANSMITTED_IV_TRUE); + // TC + Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 0, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); +- Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 4, TC_HAS_FECF, TC_HAS_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); ++ Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 4, TC_HAS_FECF, TC_NO_SEGMENT_HDRS, 1024, AOS_FHEC_NA, AOS_IZ_NA, 0); + + // TM ++ // tfvn, scid, vcid, has_fecf, has_segmentation_hdr, max_frame_size, aos_has_fhec, aos_has_iz, aos_iz_len + Crypto_Config_Add_Gvcid_Managed_Parameter(0, 0x0003, 1, TM_HAS_FECF, TM_SEGMENT_HDRS_NA, 1786, AOS_FHEC_NA, AOS_IZ_NA, 0); + status = Crypto_Init(); + return status; +diff --git a/components/cryptolib/src/sa/internal/sa_interface_inmemory.template.c b/components/cryptolib/src/sa/internal/sa_interface_inmemory.template.c +index 060c501..cc0f6d9 100644 +--- a/components/cryptolib/src/sa/internal/sa_interface_inmemory.template.c ++++ b/components/cryptolib/src/sa/internal/sa_interface_inmemory.template.c +@@ -88,14 +88,24 @@ int32_t sa_config(void) + sa[1].gvcid_blk.vcid = 0; + sa[1].gvcid_blk.mapid = TYPE_TC; + +- // SA 2 - TM CLEAR MODE +- sa[2].spi = 8; ++ // SA 2 - TM authenc ++ sa[2].spi = 2; ++ sa[2].ekid = 130; + sa[2].sa_state = SA_OPERATIONAL; +- sa[2].est = 0; +- sa[2].ast = 0; +- sa[2].arsn_len = 1; ++ sa[2].est = 1; ++ sa[2].ast = 1; ++ sa[2].ecs_len = 1; ++ sa[2].ecs = CRYPTO_CIPHER_AES256_GCM; ++ sa[2].shivf_len = 12; ++ sa[2].iv_len = 12; ++ sa[2].stmacf_len = 16; ++ for (int i = 0; i < sa[2].iv_len; ++i) ++ sa[2].iv[i] = i+1; ++ sa[2].abm_len = ABM_SIZE; // 20 ++ sa[2].abm[1] = 14; + sa[2].arsnw_len = 1; + sa[2].arsnw = 5; ++ sa[2].arsn_len = 0; + sa[2].gvcid_blk.tfvn = 0; + sa[2].gvcid_blk.scid = SCID & 0x3FF; + sa[2].gvcid_blk.vcid = 1; +@@ -130,7 +140,8 @@ int32_t sa_config(void) + sa[4].iv_len = 12; + sa[4].stmacf_len = 16; + *(sa[4].iv + 11) = 0; +- sa[4].abm_len = ABM_SIZE; // 20 ++ sa[4].abm_len = 19; // 20 ++ sa[4].abm[2] = 252; + sa[4].arsnw_len = 1; + sa[4].arsnw = 5; + sa[4].arsn_len = 0; +Submodule fsw/apps/to contains modified content +diff --git a/fsw/apps/to/fsw/examples/udp_tf/to_custom.c b/fsw/apps/to/fsw/examples/udp_tf/to_custom.c +index 48b9f80..9b22e89 100644 +--- a/fsw/apps/to/fsw/examples/udp_tf/to_custom.c ++++ b/fsw/apps/to/fsw/examples/udp_tf/to_custom.c +@@ -269,8 +269,6 @@ int32 TO_CustomFrameSend(uint16 usRouteId, int32 iInStatus) + uint8* pMcFrameCnt = NULL; + uint8* pOcf = NULL; + +- SecurityAssociation_t* sa_ptr = NULL; +- + pChnl = TO_CustomGetChnl(usRouteId); + if (!pChnl) + { +@@ -318,7 +316,7 @@ int32 TO_CustomFrameSend(uint16 usRouteId, int32 iInStatus) + } + + /* Perform SDLS */ +- iStatus = Crypto_TM_ApplySecurity(pFrameInfo->frame); ++ iStatus = Crypto_TM_ApplySecurity((uint8_t*) pFrameInfo->frame); + if (iStatus != TO_SUCCESS) + { + goto end_of_function; diff --git a/sdls-nos/pom.xml b/sdls-nos/pom.xml new file mode 100644 index 0000000..63e2ce1 --- /dev/null +++ b/sdls-nos/pom.xml @@ -0,0 +1,95 @@ + + + 4.0.0 + + org.yamcs + nos3 + 5.11.3-SNAPSHOT + jar + + NOS3 simulator + https://github.com/nasa/nos3 + + + UTF-8 + 5.11.3-SNAPSHOT + + + + + + org.yamcs + yamcs-core + ${project.version} + provided + + + + org.yamcs + yamcs-web + ${project.version} + provided + + + org.yamcs + yamcs-tse + ${project.version} + provided + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.13.0 + + 17 + + + + org.apache.maven.plugins + maven-site-plugin + 3.12.1 + + + org.yamcs + yamcs-maven-plugin + 1.3.1 + + + + + detect + + + + + bundle-yamcs + package + + bundle + + + + tar.gz + + + + + + + + + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 3.4.3 + + + + diff --git a/sdls-nos/simulator.py b/sdls-nos/simulator.py new file mode 100644 index 0000000..d89775b --- /dev/null +++ b/sdls-nos/simulator.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python3 + +import binascii +import io +import socket +import sys +from struct import unpack_from +from threading import Thread +from time import sleep + + +def send_tm(simulator): + tm_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + + with io.open('/home/nm/Downloads/gaia-packets.raw', 'rb') as f: + simulator.tm_counter = 1 + header = bytearray(6) + while f.readinto(header) == 6: + (len,) = unpack_from('>H', header, 4) + + packet = bytearray(len + 7) + f.seek(-6, io.SEEK_CUR) + f.readinto(packet) + + tm_socket.sendto(packet, ('127.0.0.1', 10015)) + #tm_socket.sendto(packet, ('10.1.0.49', 10026)) + simulator.tm_counter += 1 + + sleep(1) + + +def receive_tc(simulator): + tc_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + tc_socket.bind(('127.0.0.1', 10025)) + while True: + data, _ = tc_socket.recvfrom(4096) + simulator.last_tc = data + simulator.tc_counter += 1 + + +class Simulator(): + + def __init__(self): + self.tm_counter = 0 + self.tc_counter = 0 + self.tm_thread = None + self.tc_thread = None + self.last_tc = None + + def start(self): + self.tm_thread = Thread(target=send_tm, args=(self,)) + self.tm_thread.daemon = True + self.tm_thread.start() + self.tc_thread = Thread(target=receive_tc, args=(self,)) + self.tc_thread.daemon = True + self.tc_thread.start() + + def print_status(self): + cmdhex = None + if self.last_tc: + cmdhex = binascii.hexlify(self.last_tc).decode('ascii') + return 'Sent: {} packets. Received: {} commands. Last command: {}'.format( + self.tm_counter, self.tc_counter, cmdhex) + + +if __name__ == '__main__': + simulator = Simulator() + simulator.start() + + try: + prev_status = None + while True: + status = simulator.print_status() + if status != prev_status: + sys.stdout.write('\r') + sys.stdout.write(status) + sys.stdout.flush() + prev_status = status + sleep(0.5) + except KeyboardInterrupt: + sys.stdout.write('\n') + sys.stdout.flush() diff --git a/sdls-nos/src/main/java/org/yamcs/nos3/Truth42PacketPreprocessor.java b/sdls-nos/src/main/java/org/yamcs/nos3/Truth42PacketPreprocessor.java new file mode 100644 index 0000000..1a12620 --- /dev/null +++ b/sdls-nos/src/main/java/org/yamcs/nos3/Truth42PacketPreprocessor.java @@ -0,0 +1,49 @@ +package org.yamcs.nos3; + +import java.nio.ByteBuffer; + +import org.yamcs.TmPacket; +import org.yamcs.YConfiguration; +import org.yamcs.tctm.AbstractPacketPreprocessor; +import org.yamcs.utils.TaiUtcConverter; +import org.yamcs.utils.TimeEncoding; + +public class Truth42PacketPreprocessor extends AbstractPacketPreprocessor { + // Constructor used when this preprocessor is used without YAML configuration + public Truth42PacketPreprocessor(String yamcsInstance) { + this(yamcsInstance, YConfiguration.emptyConfig()); + } + + // Constructor used when this preprocessor is used with YAML configuration + // (packetPreprocessorClassArgs) + public Truth42PacketPreprocessor(String yamcsInstance, YConfiguration config) { + super(yamcsInstance, config); + } + + @Override + public TmPacket process(TmPacket packet) { + + byte[] bytes = packet.getPacket(); + if (bytes.length < 20) { + log.warn("Short packet of {} bytes (exepcted at least 20", bytes.length); + return null; + } + + ByteBuffer bb = ByteBuffer.wrap(bytes); + short year = bb.getShort(); + short doy = bb.getShort(); + /*short month =*/ bb.getShort(); + /*short day = */bb.getShort(); + short hour = bb.getShort(); + short minute = bb.getShort(); + double second = bb.getDouble(); + int secint = (int) second; + int millisec = (int) ((second-secint)/1000.0); + var dtc = new TaiUtcConverter.DateTimeComponents(year, doy, hour, minute, + secint, millisec); + var gentime = TimeEncoding.fromUtc(dtc); + packet.setGenerationTime(gentime); + return packet; + } + +} diff --git a/sdls-nos/src/main/yamcs/etc/noskey b/sdls-nos/src/main/yamcs/etc/noskey new file mode 100644 index 0000000..e7eec41 --- /dev/null +++ b/sdls-nos/src/main/yamcs/etc/noskey @@ -0,0 +1 @@ +þܺ˜vT2þܺ˜vT2þܺ˜vT2þܺ˜vT2 \ No newline at end of file diff --git a/sdls-nos/src/main/yamcs/etc/processor.yaml b/sdls-nos/src/main/yamcs/etc/processor.yaml new file mode 100644 index 0000000..ed6f296 --- /dev/null +++ b/sdls-nos/src/main/yamcs/etc/processor.yaml @@ -0,0 +1,62 @@ +realtime: + services: + - class: org.yamcs.StreamTmPacketProvider + - class: org.yamcs.StreamTcCommandReleaser + - class: org.yamcs.tctm.StreamParameterProvider + args: + streams: ["pp_realtime", "sys_param"] + - class: org.yamcs.algorithms.AlgorithmManager + - class: org.yamcs.parameter.LocalParameterManager + config: + subscribeAll: true + persistParameters: true + # Check alarms and also enable the alarm server (that keeps track of unacknowledged alarms) + alarm: + parameterCheck: true + parameterServer: enabled + parameterCache: + enabled: false + tmProcessor: + # If container entries fit outside the binary packet, setting this to true causes the error + # to be ignored, otherwise an exception will be printed in Yamcs log output + ignoreOutOfContainerEntries: false + # Record all the parameters that have initial values at the start of the processor + recordInitialValues: true + # Record the local values + recordLocalValues: true + + +# Used to perform step-by-step archive replays to displays, etc +Archive: + services: + - class: org.yamcs.tctm.ReplayService + - class: org.yamcs.algorithms.AlgorithmManager + config: + # Keep a small cache in case new displays are open while the replay is paused, to have the parameters readily available + parameterCache: + enabled: true + cacheAll: true + maxNumEntries: 8 + + +# Used by the ParameterArchive when rebuilding the parameter archive +# no need for parameter cache +ParameterArchive: + services: + - class: org.yamcs.tctm.ReplayService + - class: org.yamcs.algorithms.AlgorithmManager + config: + parameterCache: + enabled: false + + +# Used for performing archive retrievals via replays (e.g. GET /api/archive/{instance}/parameters/{name*}?source=replay) +# we do not want cache in order to extract the minimum data necessary +ArchiveRetrieval: + services: + - class: org.yamcs.tctm.ReplayService + - class: org.yamcs.algorithms.AlgorithmManager + config: + parameterCache: + enabled: false + subscribeContainerArchivePartitions: false diff --git a/sdls-nos/src/main/yamcs/etc/yamcs.nos3.yaml b/sdls-nos/src/main/yamcs/etc/yamcs.nos3.yaml new file mode 100644 index 0000000..ec77841 --- /dev/null +++ b/sdls-nos/src/main/yamcs/etc/yamcs.nos3.yaml @@ -0,0 +1,175 @@ +timeService: + class: org.yamcs.time.SimulationTimeService + +services: + - class: org.yamcs.archive.XtceTmRecorder + - class: org.yamcs.archive.ParameterRecorder + - class: org.yamcs.archive.AlarmRecorder + - class: org.yamcs.archive.EventRecorder + - class: org.yamcs.archive.ReplayServer + - class: org.yamcs.parameter.SystemParametersService + args: + producers: + - fs + - jvm + - class: org.yamcs.ProcessorCreatorService + args: + name: realtime + type: realtime + - class: org.yamcs.archive.CommandHistoryRecorder + - class: org.yamcs.plists.ParameterListService + - class: org.yamcs.timeline.TimelineService + +dataLinks: + - name: radio-out + class: org.yamcs.tctm.ccsds.UdpTcFrameLink + host: 192.168.56.101 #host and port where to send the frames to + port: 8010 + spacecraftId: 0x3 + maxFrameLength: 1024 + errorDetection: CRC16 + encryption: + - spi: 4 + keyFile: etc/noskey + seqNumWindow: 10 + virtualChannels: + - vcId: 4 + encryptionSpi: 4 + commandPostprocessorClassName: org.yamcs.tctm.cfs.CfsCommandPostprocessor + stream: "tc_realtime" #which yamcs stream to get the data from + + - name: radio-in + class: org.yamcs.tctm.ccsds.UdpTmFrameLink + frameType: "TM" + port: 8011 + initialBytesToStrip: 4 + spacecraftId: 0x3 + errorDetection: CRC16 #NONE, CRC16 or CRC32 (only for USLP) + encryption: + - spi: 2 + keyFile: etc/noskey + # the window of acceptable sequence numbers (i.e. current minus this value, current plus this value) + seqNumWindow: 10 + frameLength: 1790 + virtualChannels: + - vcId: 1 + encryptionSpi: 2 + stream: tm_realtime + service: "PACKET" + maxPacketLength: 2048 + packetPreprocessorClassName: org.yamcs.tctm.cfs.CfsPacketPreprocessor + packetPreprocessorArgs: + useLocalGenerationTime: true + + - name: debug-in + class: org.yamcs.tctm.UdpTmDataLink + stream: tm_realtime + port: 5013 + packetPreprocessorClassName: org.yamcs.tctm.cfs.CfsPacketPreprocessor + packetPreprocessorArgs: + useLocalGenerationTime: true + + - name: truth42-in + class: org.yamcs.tctm.UdpTmDataLink + stream: truth42_data + port: 5111 + updateSimulationTime: true + packetPreprocessorClassName: org.yamcs.nos3.Truth42PacketPreprocessor +mdb: + - type: xtce + args: + file: mdb/ccsds.xtce + - type: xtce + args: + file: mdb/cfs.xtce + - type: xtce + args: + file: mdb/ci_debug.xtce + - type: xtce + args: + file: mdb/cmd_util.xtce + - type: xtce + args: + file: mdb/pdu.xtce + - type: xtce + args: + file: mdb/sim_42_truth.xtce + - type: xtce + args: + file: mdb/system.xtce + - type: xtce + args: + file: mdb/to_debug.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/arducam/gsw/arducam.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_adcs/gsw/generic_adcs.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_css/gsw/generic_css.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_eps/gsw/generic_eps.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_fss/gsw/generic_fss.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_imu/gsw/generic_imu.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_mag/gsw/generic_mag.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_radio/gsw/generic_radio.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_reaction_wheel/gsw/generic_reaction_wheel.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_star_tracker/gsw/generic_star_tracker.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_thruster/gsw/generic_thruster.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/generic_torquer/gsw/generic_torquer.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/novatel_oem615/gsw/novatel_oem615.xtce + - type: xtce + args: + file: /home/abalgavy/Documents/yamcs-cispa/nos3/components/sample/gsw/sample.xtce +# - type: xtce +# args: +# file: mdb/syn.xtce +# - type: xtce +# args: +# file: mdb/cfdp_test.xtce +# - type: xtce +# args: +# file: mdb/cfdp.xtce + +# Configuration for streams created at server startup +streamConfig: + tm: + - name: "tm_realtime" + processor: "realtime" + rootContainer: "/CCSDS/CCSDS_TM" + - name: "truth42_data" + processor: "realtime" + rootContainer: "/SIM_42_TRUTH/SIM_42_TRUTH_DATA/SIM_42_TRUTH_DATA" + - name: "tm_dump" + cmdHist: ["cmdhist_realtime", "cmdhist_dump"] + event: ["events_realtime", "events_dump"] + param: ["pp_realtime", "pp_dump", "sys_param", "proc_param"] + parameterAlarm: ["alarms_realtime"] + tc: + # - name: "tc_debug" + # processor: "realtime" + # tcPatterns: ["/TO_DEBUG/CMD/.*"] + - name: "tc_realtime" + processor: "realtime" + diff --git a/sdls-nos/src/main/yamcs/etc/yamcs.yaml b/sdls-nos/src/main/yamcs/etc/yamcs.yaml new file mode 100644 index 0000000..9ab64f1 --- /dev/null +++ b/sdls-nos/src/main/yamcs/etc/yamcs.yaml @@ -0,0 +1,20 @@ +services: + - class: org.yamcs.http.HttpServer + args: + port: 8090 + address: "0.0.0.0" + cors: + allowOrigin: "*" + allowCredentials: false + +# This is where Yamcs will persist its data. Paths are resolved relative to where Yamcs is running +# from (by default: target/yamcs). This means that `mvn clean` will remove also persisted data. +# Change this property to an absolute path in case you want to persist your data. +dataDir: yamcs-data + +instances: + - nos3 + +# Secret key unique to a particular Yamcs installation. +# This is used to provide cryptographic signing. +secretKey: changeme \ No newline at end of file diff --git a/sdls-nos/src/main/yamcs/mdb/ccsds.xtce b/sdls-nos/src/main/yamcs/mdb/ccsds.xtce new file mode 100644 index 0000000..72b8de8 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/ccsds.xtce @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sdls-nos/src/main/yamcs/mdb/cfdp.xtce b/sdls-nos/src/main/yamcs/mdb/cfdp.xtce new file mode 100644 index 0000000..5e49a08 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/cfdp.xtce @@ -0,0 +1,282 @@ + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/cfdp_test.xtce b/sdls-nos/src/main/yamcs/mdb/cfdp_test.xtce new file mode 100644 index 0000000..efd867c --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/cfdp_test.xtce @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/cfs.xtce b/sdls-nos/src/main/yamcs/mdb/cfs.xtce new file mode 100644 index 0000000..ba606ee --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/cfs.xtce @@ -0,0 +1,26532 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 304 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 320 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 320 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 320 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 160 + + + + + + + + + + + + + + + + + + + + + 976 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 160 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 160 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + 144 + + + + + 160 + + + + + 192 + + + + + 256 + + + + + 288 + + + + + 320 + + + + + 384 + + + + + 416 + + + + + 448 + + + + + 464 + + + + + 480 + + + + + 512 + + + + + 528 + + + + + 544 + + + + + 560 + + + + + 576 + + + + + 592 + + + + + 608 + + + + + 624 + + + + + 640 + + + + + 656 + + + + + 672 + + + + + 688 + + + + + 704 + + + + + 720 + + + + + 736 + + + + + 752 + + + + + 768 + + + + + 784 + + + + + 800 + + + + + 816 + + + + + 824 + + + + + 832 + + + + + 896 + + + + + 960 + + + + + 992 + + + + + 1024 + + + + + 1088 + + + + + 1120 + + + + + 1152 + + + + + 1168 + + + + + 1184 + + + + + 1216 + + + + + 1232 + + + + + 1248 + + + + + 1264 + + + + + 1280 + + + + + 1296 + + + + + 1312 + + + + + 1328 + + + + + 1344 + + + + + 1360 + + + + + 1376 + + + + + 1392 + + + + + 1408 + + + + + 1424 + + + + + 1440 + + + + + 1456 + + + + + 1472 + + + + + 1488 + + + + + 1504 + + + + + 1520 + + + + + 1528 + + + + + 1536 + + + + + 1544 + + + + + 1552 + + + + + 1560 + + + + + 1568 + + + + + 1576 + + + + + 1584 + + + + + 1592 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 320 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + 0 + + + 199 + + + + + + + + + + + + + + + + + + + + + 256 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + 512 + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 160 + + + + + + + + + 160 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 304 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 512 + + + + + + + + + 64 + + + + + + + + + + + + + 0 + + + + + + + + + + + + + 320 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + 256 + + + + + + + + + + + + + + + + + + + + + + + + 256 + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + 256 + + + + + + + + + 256 + + + + + + + + + + + + + + + + + + + + + + + 32 + + + + + + + + + 512 + + + + + + + + + 512 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + 0 + + + 199 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + 2 + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/ci_debug.xtce b/sdls-nos/src/main/yamcs/mdb/ci_debug.xtce new file mode 100644 index 0000000..b8ae269 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/ci_debug.xtce @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/cmd_util.xtce b/sdls-nos/src/main/yamcs/mdb/cmd_util.xtce new file mode 100644 index 0000000..0b45755 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/cmd_util.xtce @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/pdu.xtce b/sdls-nos/src/main/yamcs/mdb/pdu.xtce new file mode 100644 index 0000000..131ad4f --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/pdu.xtce @@ -0,0 +1,64 @@ + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/sim_42_truth.xtce b/sdls-nos/src/main/yamcs/mdb/sim_42_truth.xtce new file mode 100644 index 0000000..d84d9b7 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/sim_42_truth.xtce @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/system.xtce b/sdls-nos/src/main/yamcs/mdb/system.xtce new file mode 100644 index 0000000..bd0b89c --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/system.xtce @@ -0,0 +1,74 @@ + + + + + + + + + + + + + 256 + + + + + + + + + 240 + + + + + + + + + 240 + + + + + + + + + 240 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sdls-nos/src/main/yamcs/mdb/to_debug.xtce b/sdls-nos/src/main/yamcs/mdb/to_debug.xtce new file mode 100644 index 0000000..e02cd45 --- /dev/null +++ b/sdls-nos/src/main/yamcs/mdb/to_debug.xtce @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 128 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file