Houston Control Center Software Package
The Houston Control Center software package (hereinafter referred to as the Houston CC software package) was developed by Sputnix specialists for monitoring and managing the internal satellite systems of Sputnix.
General description
Houston CC allows you to:
- receive telemetry information and other satellite system messages at the ground station;
- to form control commands on the ground station in the Unican format for satellite systems;
- Transmit commands in the Unican message format via a radio channel or other channel to the satellite's cable CAN network.
The Houston CC software package consists of the client part of the Houston Application (hereinafter referred to as the HA client) and the server part of the Houston Server (hereinafter referred to as the HS server). Communication between them is provided via TCP/IP protocol, and one server can serve several clients.
USB-CAN converters are used to connect to the satellite's CAN network. The following devices are supported:
- Sputnix CANverter v.2.0 with firmware version from ([1.06](http://www.fischl.de/usbtin / "Sputnix CANverter v.2.0"));
- Duotec DTM-CAN sniffer with firmware version from ([0002](http://www.duotec.ru /#!blank/c1e3p "Duotec DTM-CAN sniffer"));
- Other devices compatible with the USBtin interface.
Figure 1 shows a typical connection diagram of the Houston CC control panel to the satellite CAN bus:

Picture 1. Typical connection diagram of the Houston CC control panel to the satellite CAN bus
The Houston CC software provides reliable HS operation and a full set of HA functions for working with telemetry information and generating message commands for satellite systems.
To ensure stable operation, it is recommended to generate and send commands from one workstation. To increase reliability, several more workstations should be connected in observer mode, which will be a hot standby.
HS software has limited, thoroughly tested functionality. The functioning of HS software does not depend on the performance of HA clients. By means of HS, a centralized Unican message log is maintained, which guarantees the safety of the entire history of the exchange with the satellite. It is provided to maintain local logs on each client using HA software.
Performance
When interacting via HS with the satellite CAN bus at speeds up to 1 Mbit/s, situations may arise when the server performance does not allow processing all incoming data. In this case, the current version of the server will skip some packages to ensure the stability of the system. This problem arises due to the need to receive a large flow of information when simultaneously writing a log to a medium and sending data to clients.
This situation was revealed by synthetic tests that create a 100% load on the CAN bus, at which the CAN bus is unable to function. The maximum load of the CAN line, which allows it to remain operational without additional arbitration measures (not used in Unican), is no more than 30%. In the conditions of the satellite cable network, the load does not exceed 1%, with such a load, testing did not reveal cases of packet skipping.
The composition of the software
This section describes the composition of the Houston Control Center software package and the data being processed.
Software composition
The Houston Control Center software package includes the following applications:
- Houston CC Application is a client program that performs the functions of visualizing data received from the server side and generating commands for devices connected to the satellite network. The description of the satellite CAN bus structure and device operation protocols are set using xml files.
- Houston CC Server is the server part of the application, provides communication with the satellite CAN bus, mutual conversion of CANopen and Unican packets, continuous logging of messaging, data exchange with clients.
Installation
The software package is distributed as an archive in [.zip] format(/files/orbicraft3d/houston_control_center_v2.0.1.zip ). The Houston CC Application and Houston CC Server programs do not require installation and are ready to work after unzipping the corresponding folders. It is not recommended to place program folders by long names.
Hardware description files
The Houston Application program is designed to work with an arbitrary set of devices on the CAN bus in accordance with the xml files of device protocol descriptions and their hierarchy on the satellite CAN bus. The correct compilation of xml description files is very important, because according to their data, control commands are generated and packets of telemetry information of devices are decrypted. The following types of xml files are used:
- Device protocol description – contains a description of the protocol for a single device (in this case, several such devices may be present on the satellite bus at different addresses). It has a tree structure with an enumeration of all information packets generated by the device, the data fields of these packets and, if necessary, restrictions on the values of these fields.
- Satellite network map – determines the composition of devices and their addressing on the bus. The devices are logically integrated into satellite modules and systems. For the Houston Application to work correctly, it is recommended to generate and use a map file for each satellite launch. It is recommended to use the XmlPad editor to edit and verify (by pressing F7) xml files.
Xml file schemas
To control the integrity and formatting of xml files, a tool defined by the xml standard is used - XSD description schemes. The XSD description schema files are created by the developer separately for xml files of the device type and xml files of the map type:
- Unican_device_schema.xsd – for device protocol description files;
- Unican_map_schema.xsd – for satellite network maps.
XSD files are not intended for editing by users. It is critically important for the stable operation of HA software that all xml files describing device-type hardware correspond to the corresponding XSD scheme. This check is performed in the XmlPad program. In addition to control, XSD schemas greatly simplify the creation and editing of xml files, allowing you to add and remove entries in XmlPad in graphical mode.
Configuration files
In addition to hardware description files, HA and HS software use custom parameter configuration files – Unican_config.xml and server_config.xml . The Unican_config_schema scheme is provided for these files.xsd (one for both files).
BY HOUSTON APPLICATION
General description
The Houston Application software provides the user with a visual interface for interacting with devices connected to the satellite's CAN bus. The main functions of the HA software:
- receiving and sending Unican packets over the CAN bus via HS software with saving to a log file;
- recognition of recipients and contents of Unican packages from XML files of the satellite map and device protocols;
- filtering when displaying information of incoming packets;
- data visualization using dashboards;
- individual customization of the appearance and set of panels.
The HA software has no restrictions on the composition of connected devices. Support for data exchange with specific devices is implemented using xml files describing device protocols. Without such a description, working with the device is possible only in the mode of reading the "raw" 16-bit codes of Unican packages. Working with non-Unican packages is not supported and is blocked at the HS level based on the result of the analysis of the package composition, individual fields and checksum. In the unlikely but possible event of a random checksum match, an attempt to analyze a packet with random data may lead to an unpredictable result.
The HA software was created with the expectation of further development of the functionality. The HA construction principle implies three categories of customization:
- custom: working with release versions, configuring command queues, dashboards and the appearance of the main HA window, editing a file with parameters (unican_config);
- Administrative: editing XML files of the satellite map and device protocols;
- programming: working with the source code in Qt, creating additional panels and other functionality in compliance with the general architecture of the program.
Installation of the Houston Application Software
At the first launch, a message is displayed about the absence of a toolbar placement file inside the main window BY HA default_layout.lot. To create this file, place the panels in a convenient way and save the layout of the panels using the menu item "File - Save layout...", at resources\layouts\start_layout.lot.
Release version
The release version of the HA software does not require installation, the program folder contains the necessary libraries to run under Windows x64. The launch was tested on Windows 7 and Windows 10. The HA folder structure is as follows:
- houston_app.exe - the main executable file of the program;
- platforms\ – folder of Qt libraries for working on HA;
- resources\ – folder of configuration files;
- devices\ – folder of xml files describing device operation protocols;
- .xml – device protocol description files;
- devices-not-used\ – file folder of the xml schema of device protocols and xml files describing the protocols of devices optionally installed on satellites;
- unican_device_schema.xsd is an xml schema file for editing device protocol files;
- icons\ – folder of interface images BY HA;
- layouts\ – folder with files of panel positions and appearance;
- .lot – information files about the position and appearance of panels;
- .tar – device configuration;
- start_layout.lot – the "default" program appearance file;
- maps\ – satellite map file folder;
- .map – files with satellite device address maps;
- queues\ – default folder for command queue files;