diff --git a/Makefile b/Makefile index a57a33fc7df18adb2776352cea98302c18240d5b..8d043e195f57193983e1caba1550f6a0a4d6784b 100644 --- a/Makefile +++ b/Makefile @@ -63,15 +63,3 @@ set-start-scripts-permissions: @echo "| setting permissions for the start scripts (execute) |" @echo "+-----------------------------------------------------+" $(MAKE) all -C $(CURDIR)/Tst/ - -build-fw-profile: - $(MAKE) ifsw-pc -C $(CURDIR)/FwProfile - -build-crplm: - $(MAKE) ifsw-pc -C $(CURDIR)/CrPlm - -build-cria: - $(MAKE) ifsw-pc -C $(CURDIR)/CrIa - -build-crfee: - $(MAKE) ifsw-pc -C $(CURDIR)/CrFee diff --git a/SYSTEM_SETUP.txt b/SYSTEM_SETUP.txt new file mode 100644 index 0000000000000000000000000000000000000000..9561a2a075075f018225076beb262d53bf0434fe --- /dev/null +++ b/SYSTEM_SETUP.txt @@ -0,0 +1,44 @@ +This file documents the required steps to get the SMILE SXI EGSE up and running on a freshly installed linux system. + +manjaro-xfce-21.0.5 linux5.10 VBOX + +1) install MySQL/MariaDB and set it up + - mariadb + - mysql-workbench (optional) + + $> sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql + $> sudo systemctl enable --now mariadb + $> sudo mariadb-secure-installation + mysql> CREATE USER 'egse'@'localhost' IDENTIFIED BY 'xrayvision'; + mysql> GRANT ALL PRIVILEGES ON * . * TO 'egse'@'localhost'; + mysql> FLUSH PRIVILEGES; + +2) install packages/devtools + - gtksourceview3 [<=3.24.11-1] + - ipython + - make + +3) install python modules + - python-numpy + - python-scipy + - python-matplotlib + - python-cairocffi + - python-mysqlclient + - python-sqlalchemy + - python-wheel + - python-sphinx + - python-sphinx_rtd_theme + - python-astropy + - python-crcmod + - python-psutil + +4) get EGSE repository + $> git clone gitlab.phaidra.org/mecinam2/CCS.git + +5) In CCS, make DB schemas and Python packages + - first configure egse.cfg + + $> make ccs-storage + $> make codeblockreusefeature + $> make install-confignator + $> make install-testlib diff --git a/Tst/log_viewer/log_viewer.py b/Tst/log_viewer/log_viewer.py index ff030c78181b1c9818d0a86dc836948073bcf9db..3c768a0202c3185e94057ca79db1e60626b7cca5 100755 --- a/Tst/log_viewer/log_viewer.py +++ b/Tst/log_viewer/log_viewer.py @@ -498,10 +498,11 @@ class LogView(Gtk.Box): while len(line) < len(column_cnt)-1: line.append('') # add element in the list for the background color - background = '#767d89' + # background = '#767d89' background = None line.append(background) if len(line) != len(column_cnt): + line=line[:len(column_cnt)] #TODO: line sometimes larger than column_cnt!? raise ValueError # if it is a traceback make it a child, otherwise just append the line if line[0] == 'TRACEBACK': diff --git a/Tst/testing_library/testlib/tm.py b/Tst/testing_library/testlib/tm.py index e705adde21a10c86f114b2ecf5f6f5ac0fe948d0..be2abb9169d7a93a73aff98c107430e6f2a9e036 100644 --- a/Tst/testing_library/testlib/tm.py +++ b/Tst/testing_library/testlib/tm.py @@ -55,8 +55,6 @@ import logging import sys import time -import bitstring - import confignator sys.path.append(confignator.get_option('paths', 'ccs')) import ccs_function_lib as cfl @@ -968,19 +966,12 @@ def get_st_and_sst(pool_name, apid, ssc, is_tm=False, t_from=None): def extract_ssc_from_psc(psc): """ The Source Sequence Counter (SSC) is embedded in the Packet Sequence Control (PSC). - The provided integer will be transformed into bits. Then a bit mask is used with & to remove the first two bits. - This removes the information of the Segmentation Flags. - After this the bits will be converted back to an integer which is the SSC. Background information: (see CHEOPS Instrument Application SW - TM/TC ICD document for further information) The PSC consists out of 16 bits, where the first 2 bits are the Segmentation Flags and the other 14 bits are the SSC. For a 'stand-alone' packet the Segmentation Flags are '11' and thus the PSC with a SSC of 1 will be: 1100 0000 0000 0001 - Bit mask to remove the first two bits from the left: - 0011 1111 1111 1111 - Use the bit mask with & leads to: - 0000 0000 0000 0001 :param psc: int Decimal notation of the PSC @@ -988,16 +979,7 @@ def extract_ssc_from_psc(psc): Source Sequence Counter (SSC) as integer """ assert isinstance(psc, int) - - # parse the integer into bits - psc_bin = bitstring.BitArray(uint=psc, length=16) - # the bit mask to remove the first two bits from left - mask = bitstring.BitArray(bin='0011 1111 1111 1111') - # apply the mask with the & operator - ssc_bin = psc_bin & mask - - # get the decimal value - ssc = ssc_bin.int + ssc = psc & 0x3fff return ssc @@ -1005,9 +987,6 @@ def extract_ssc_from_psc(psc): def extract_apid_from_packetid(packet_id): """ The Application Process ID (APID) is embedded in the Packet ID. - The provided integer will be transformed into bits. Then a bit mask is used with & to remove the first 5 bits. - This removes the all other information like Version Number, Packet Type and Data Field Header Flag. - After this the bits will be converted back to an integer which is the APID. Background information: (see CHEOPS Instrument Application SW - TM/TC ICD document for further information) The Packet ID consists out of 16 bits, where @@ -1016,25 +995,13 @@ def extract_apid_from_packetid(packet_id): * 1 bit for the Data Field Header Flag * 11 bit for the APID - Bit mask to remove the first two bits from the left: - 0000 0111 1111 1111 - :param packet_id: int Decimal notation of the Packet ID :return: int APID in decimal notation """ assert isinstance(packet_id, int) - - # parse the integer into bits - psc_bin = bitstring.BitArray(uint=packet_id, length=16) - # the bit mask to remove the first 5 bits from left - mask = bitstring.BitArray(bin='0000 0111 1111 1111') - # apply the mask with the & operator - ssc_bin = psc_bin & mask - - # get the decimal value - apid = ssc_bin.int + apid = packet_id & 0x7ff return apid