##// END OF EJS Templates
Rev 1.0.0.6
paul -
r128:66da3a6b53f0 VHDLib206
parent child
Show More
@@ -1,1 +1,1
1 294fc10efc0eadddaba53149ef6dd1e60a0587c6 src/basic_parameters
1 b0a4fa20a3c7bd7e9ca1a1c4fda85d3269653bc8 src/basic_parameters
@@ -1,6 +1,6
1 #############################################################################
1 #############################################################################
2 # Makefile for building: bin/fsw
2 # Makefile for building: bin/fsw
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Tue Apr 29 14:02:09 2014
3 # Generated by qmake (2.01a) (Qt 4.8.5) on: Fri May 2 15:40:46 2014
4 # Project: fsw-qt.pro
4 # Project: fsw-qt.pro
5 # Template: app
5 # Template: app
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
@@ -10,7 +10,7
10
10
11 CC = sparc-rtems-gcc
11 CC = sparc-rtems-gcc
12 CXX = sparc-rtems-g++
12 CXX = sparc-rtems-g++
13 DEFINES = -DSW_VERSION_N1=1 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4=6 -DPRINT_MESSAGES_ON_CONSOLE -DPRINT_TASK_STATISTICS
13 DEFINES = -DSW_VERSION_N1=1 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4=6 -DPRINT_MESSAGES_ON_CONSOLE
14 CFLAGS = -pipe -O3 -Wall $(DEFINES)
14 CFLAGS = -pipe -O3 -Wall $(DEFINES)
15 CXXFLAGS = -pipe -O3 -Wall $(DEFINES)
15 CXXFLAGS = -pipe -O3 -Wall $(DEFINES)
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header -I../header/processing -I../src/basic_parameters
16 INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header -I../header/processing -I../src/basic_parameters
@@ -1,7 +1,7
1 TEMPLATE = app
1 TEMPLATE = app
2 # CONFIG += console v8 sim
2 # CONFIG += console v8 sim
3 # CONFIG options = verbose *** boot_messages *** debug_messages *** cpu_usage_report *** stack_report *** vhdl_dev *** debug_tch
3 # CONFIG options = verbose *** boot_messages *** debug_messages *** cpu_usage_report *** stack_report *** vhdl_dev *** debug_tch
4 CONFIG += console verbose cpu_usage_report
4 CONFIG += console verbose
5 CONFIG -= qt
5 CONFIG -= qt
6
6
7 include(./sparc.pri)
7 include(./sparc.pri)
@@ -1,6 +1,6
1 <?xml version="1.0" encoding="UTF-8"?>
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE QtCreatorProject>
2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 3.0.1, 2014-04-29T15:43:03. -->
3 <!-- Written by QtCreator 3.0.1, 2014-05-02T15:40:56. -->
4 <qtcreator>
4 <qtcreator>
5 <data>
5 <data>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -2,6 +2,7
2 #define AVF0_PRC0_H_INCLUDED
2 #define AVF0_PRC0_H_INCLUDED
3
3
4 #include "fsw_processing.h"
4 #include "fsw_processing.h"
5 #include "basic_parameters.h"
5
6
6 typedef struct {
7 typedef struct {
7 unsigned int norm_bp1;
8 unsigned int norm_bp1;
@@ -197,7 +197,8 rtems_task hous_task(rtems_task_argument
197 else
197 else
198 {
198 {
199 status = rtems_rate_monotonic_get_status( HK_id, &period_status );
199 status = rtems_rate_monotonic_get_status( HK_id, &period_status );
200 sched_yield();
200 // sched_yield();
201 status = rtems_task_wake_after( 10 ); // wait SY_LFR_DPU_CONNECT_TIMEOUT 100 ms = 10 * 10 ms
201 }
202 }
202 }
203 }
203 status = rtems_rate_monotonic_cancel(HK_id);
204 status = rtems_rate_monotonic_cancel(HK_id);
@@ -328,7 +329,7 void increment_seq_counter( unsigned cha
328 unsigned short segmentation_grouping_flag;
329 unsigned short segmentation_grouping_flag;
329 unsigned short new_packet_sequence_control;
330 unsigned short new_packet_sequence_control;
330
331
331 segmentation_grouping_flag = (unsigned short) ( (packet_sequence_control[0] & 0xc0) << 8 ); // keep bits 7 downto 6
332 segmentation_grouping_flag = TM_PACKET_SEQ_CTRL_STANDALONE << 8; // keep bits 7 downto 6
332 sequence_cnt = (unsigned short) (
333 sequence_cnt = (unsigned short) (
333 ( (packet_sequence_control[0] & 0x3f) << 8 ) // keep bits 5 downto 0
334 ( (packet_sequence_control[0] & 0x3f) << 8 ) // keep bits 5 downto 0
334 + packet_sequence_control[1]
335 + packet_sequence_control[1]
@@ -21,6 +21,8 float asm_f0_reorganized [ TOTAL_SIZE_
21 char asm_f0_char [ TIME_OFFSET_IN_BYTES + (TOTAL_SIZE_SM * 2) ];
21 char asm_f0_char [ TIME_OFFSET_IN_BYTES + (TOTAL_SIZE_SM * 2) ];
22 float compressed_sm_norm_f0[ TOTAL_SIZE_COMPRESSED_ASM_NORM_F0];
22 float compressed_sm_norm_f0[ TOTAL_SIZE_COMPRESSED_ASM_NORM_F0];
23 float compressed_sm_sbm_f0 [ TOTAL_SIZE_COMPRESSED_ASM_SBM_F0 ];
23 float compressed_sm_sbm_f0 [ TOTAL_SIZE_COMPRESSED_ASM_SBM_F0 ];
24 unsigned char bp1_norm_f0 [ TOTAL_SIZE_BP1_NORM_F0 ];
25 unsigned char bp1_sbm_f0 [ TOTAL_SIZE_BP1_SBM_F0 ];
24
26
25 //************
27 //************
26 // RTEMS TASKS
28 // RTEMS TASKS
@@ -259,7 +261,7 rtems_task prc0_task( rtems_task_argumen
259 NB_BINS_COMPRESSED_SM_SBM_F0, NB_BINS_TO_AVERAGE_ASM_SBM_F0,
261 NB_BINS_COMPRESSED_SM_SBM_F0, NB_BINS_TO_AVERAGE_ASM_SBM_F0,
260 ASM_F0_INDICE_START);
262 ASM_F0_INDICE_START);
261 // 2) compute the BP1 set
263 // 2) compute the BP1 set
262
264 // BP1_set( compressed_sm_norm_f0, NB_BINS_COMPRESSED_SM_SBM_F0, bp1_sbm_f0 );
263 // 3) send the BP1 set
265 // 3) send the BP1 set
264 set_time( packet_sbm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
266 set_time( packet_sbm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
265 set_time( packet_sbm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
267 set_time( packet_sbm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
@@ -291,7 +293,7 rtems_task prc0_task( rtems_task_argumen
291 NB_BINS_COMPRESSED_SM_F0, NB_BINS_TO_AVERAGE_ASM_F0,
293 NB_BINS_COMPRESSED_SM_F0, NB_BINS_TO_AVERAGE_ASM_F0,
292 ASM_F0_INDICE_START );
294 ASM_F0_INDICE_START );
293 // 2) compute the BP1 set
295 // 2) compute the BP1 set
294
296 // BP1_set( compressed_sm_norm_f0, NB_BINS_COMPRESSED_SM_F0, bp1_norm_f0 );
295 // 3) send the BP1 set
297 // 3) send the BP1 set
296 set_time( packet_norm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
298 set_time( packet_norm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
297 set_time( packet_norm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
299 set_time( packet_norm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
@@ -1304,29 +1304,21 void increment_seq_counter_source_id( un
1304 if ( (sid ==SID_NORM_SWF_F0) || (sid ==SID_NORM_SWF_F1) || (sid ==SID_NORM_SWF_F2)
1304 if ( (sid ==SID_NORM_SWF_F0) || (sid ==SID_NORM_SWF_F1) || (sid ==SID_NORM_SWF_F2)
1305 || (sid ==SID_NORM_CWF_F3) || (sid==SID_NORM_CWF_LONG_F3) || (sid ==SID_BURST_CWF_F2) )
1305 || (sid ==SID_NORM_CWF_F3) || (sid==SID_NORM_CWF_LONG_F3) || (sid ==SID_BURST_CWF_F2) )
1306 {
1306 {
1307 sequence_cnt = &sequenceCounters_SCIENCE_NORMAL_BURST;
1307 sequence_cnt = (unsigned short *) &sequenceCounters_SCIENCE_NORMAL_BURST;
1308 }
1308 }
1309 else if ( (sid ==SID_SBM1_CWF_F1) || (sid ==SID_SBM2_CWF_F2) )
1309 else if ( (sid ==SID_SBM1_CWF_F1) || (sid ==SID_SBM2_CWF_F2) )
1310 {
1310 {
1311 sequence_cnt = &sequenceCounters_SCIENCE_SBM1_SBM2;
1311 sequence_cnt = (unsigned short *) &sequenceCounters_SCIENCE_SBM1_SBM2;
1312 }
1312 }
1313 else
1313 else
1314 {
1314 {
1315 sequence_cnt = NULL;
1315 sequence_cnt = (unsigned short *) NULL;
1316 PRINTF1("in increment_seq_counter_source_id *** ERR apid_destid %d not known\n", sid)
1316 PRINTF1("in increment_seq_counter_source_id *** ERR apid_destid %d not known\n", sid)
1317 }
1317 }
1318
1318
1319 if (sequence_cnt != NULL)
1319 if (sequence_cnt != NULL)
1320 {
1320 {
1321 segmentation_grouping_flag = (packet_sequence_control[ 0 ] & 0xc0) << 8;
1321 // increment the sequence counter
1322 *sequence_cnt = (*sequence_cnt) & 0x3fff;
1323
1324 new_packet_sequence_control = segmentation_grouping_flag | *sequence_cnt ;
1325
1326 packet_sequence_control[0] = (unsigned char) (new_packet_sequence_control >> 8);
1327 packet_sequence_control[1] = (unsigned char) (new_packet_sequence_control );
1328
1329 // increment the sequence counter for the next packet
1330 if ( *sequence_cnt < SEQ_CNT_MAX)
1322 if ( *sequence_cnt < SEQ_CNT_MAX)
1331 {
1323 {
1332 *sequence_cnt = *sequence_cnt + 1;
1324 *sequence_cnt = *sequence_cnt + 1;
@@ -1335,5 +1327,12 void increment_seq_counter_source_id( un
1335 {
1327 {
1336 *sequence_cnt = 0;
1328 *sequence_cnt = 0;
1337 }
1329 }
1330 segmentation_grouping_flag = TM_PACKET_SEQ_CTRL_STANDALONE << 8;
1331 *sequence_cnt = (*sequence_cnt) & 0x3fff;
1332
1333 new_packet_sequence_control = segmentation_grouping_flag | (*sequence_cnt) ;
1334
1335 packet_sequence_control[0] = (unsigned char) (new_packet_sequence_control >> 8);
1336 packet_sequence_control[1] = (unsigned char) (new_packet_sequence_control );
1338 }
1337 }
1339 }
1338 }
General Comments 0
You need to be logged in to leave comments. Login now