diff --git a/FSW-qt/Makefile b/FSW-qt/Makefile --- a/FSW-qt/Makefile +++ b/FSW-qt/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: bin/fsw -# Generated by qmake (2.01a) (Qt 4.8.5) on: Thu Nov 14 08:56:42 2013 +# Generated by qmake (2.01a) (Qt 4.8.5) on: Thu Nov 14 12:02:16 2013 # Project: fsw-qt.pro # Template: app # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro diff --git a/FSW-qt/fsw-qt.pro.user b/FSW-qt/fsw-qt.pro.user --- a/FSW-qt/fsw-qt.pro.user +++ b/FSW-qt/fsw-qt.pro.user @@ -1,6 +1,6 @@ - + ProjectExplorer.Project.ActiveTarget diff --git a/header/fsw_misc.h b/header/fsw_misc.h --- a/header/fsw_misc.h +++ b/header/fsw_misc.h @@ -34,4 +34,6 @@ void init_housekeeping_parameters( void void increment_seq_counter( unsigned char *packet_sequence_control); +void getTime( unsigned char *time); + #endif // FSW_MISC_H_INCLUDED diff --git a/header/tc_handler.h b/header/tc_handler.h --- a/header/tc_handler.h +++ b/header/tc_handler.h @@ -32,11 +32,11 @@ rtems_task actn_task( rtems_task_argumen //*********** // TC ACTIONS -int action_reset(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); -int action_enter_mode(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); +int action_reset(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int action_enter_mode(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); int action_update_info(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); -int action_enable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); -int action_disable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); +int action_enable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int action_disable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); int action_update_time(ccsdsTelecommandPacket_t *TC); // mode transition @@ -55,7 +55,7 @@ int suspend_science_tasks(); void updateLFRCurrentMode(); void update_last_TC_exe(ccsdsTelecommandPacket_t *TC, unsigned char *time); void update_last_TC_rej(ccsdsTelecommandPacket_t *TC, unsigned char *time); -void close_action(ccsdsTelecommandPacket_t *TC, int result, rtems_id queue_id); +void close_action(ccsdsTelecommandPacket_t *TC, int result, rtems_id queue_id, unsigned char *time); #endif // TC_HANDLER_H_INCLUDED diff --git a/header/tc_load_dump_parameters.h b/header/tc_load_dump_parameters.h --- a/header/tc_load_dump_parameters.h +++ b/header/tc_load_dump_parameters.h @@ -15,14 +15,14 @@ extern Packet_TM_LFR_PARAMETER_DUMP_t pa extern Packet_TM_LFR_HK_t housekeeping_packet; int action_load_common_par( ccsdsTelecommandPacket_t *TC ); -int action_load_normal_par( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); -int action_load_burst_par( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); -int action_load_sbm1_par( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); -int action_load_sbm2_par( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); +int action_load_normal_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); +int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); +int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); +int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); int action_dump_par(rtems_id queue_id ); -int set_sy_lfr_n_swf_l( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); -int set_sy_lfr_n_swf_p( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); +int set_sy_lfr_n_swf_l(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time); +int set_sy_lfr_n_swf_p( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time ); int set_sy_lfr_n_asm_p( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); int set_sy_lfr_n_bp_p0( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); int set_sy_lfr_n_bp_p1( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ); diff --git a/header/tm_lfr_tc_exe.h b/header/tm_lfr_tc_exe.h --- a/header/tm_lfr_tc_exe.h +++ b/header/tm_lfr_tc_exe.h @@ -13,12 +13,12 @@ extern unsigned short sequenceCounters_T int send_tm_lfr_tc_exe_success(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); int send_tm_lfr_tc_exe_inconsistent(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, - unsigned char byte_position, unsigned char rcv_value); -int send_tm_lfr_tc_exe_not_executable(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); -int send_tm_lfr_tc_exe_not_implemented(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); -int send_tm_lfr_tc_exe_error(ccsdsTelecommandPacket_t *TC, rtems_id queue_id); + unsigned char byte_position, unsigned char rcv_value, unsigned char *time); +int send_tm_lfr_tc_exe_not_executable(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int send_tm_lfr_tc_exe_not_implemented(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); +int send_tm_lfr_tc_exe_error(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time); int send_tm_lfr_tc_exe_corrupted(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, - unsigned char *computed_CRC, unsigned char *currentTC_LEN_RCV, unsigned char destinationID); + unsigned char *computed_CRC, unsigned char *currentTC_LEN_RCV, unsigned char destinationID, unsigned char *time); void increment_seq_counter_destination_id( unsigned char *packet_sequence_control, unsigned char destination_id ); diff --git a/src/fsw_misc.c b/src/fsw_misc.c --- a/src/fsw_misc.c +++ b/src/fsw_misc.c @@ -321,5 +321,13 @@ void increment_seq_counter( unsigned cha packet_sequence_control[1] = (unsigned char) (new_packet_sequence_control ); } +void getTime( unsigned char *time) +{ + time[0] = (unsigned char) (time_management_regs->coarse_time>>24); + time[1] = (unsigned char) (time_management_regs->coarse_time>>16); + time[2] = (unsigned char) (time_management_regs->coarse_time>>8); + time[3] = (unsigned char) (time_management_regs->coarse_time); + time[4] = (unsigned char) (time_management_regs->fine_time>>8); + time[5] = (unsigned char) (time_management_regs->fine_time); +} - diff --git a/src/fsw_spacewire.c b/src/fsw_spacewire.c --- a/src/fsw_spacewire.c +++ b/src/fsw_spacewire.c @@ -120,6 +120,7 @@ rtems_task recv_task( rtems_task_argumen unsigned char destinationID; unsigned int currentTC_LEN_RCV_AsUnsignedInt; unsigned int parserCode; + unsigned char time[6]; rtems_status_code status; rtems_id queue_recv_id; rtems_id queue_send_id; @@ -174,7 +175,11 @@ rtems_task recv_task( rtems_task_argumen { destinationID = currentTC.sourceID; } - send_tm_lfr_tc_exe_corrupted( ¤tTC, queue_send_id, computed_CRC, currentTC_LEN_RCV, destinationID ); + getTime( time ); + close_action( ¤tTC, LFR_DEFAULT, queue_send_id, time); + send_tm_lfr_tc_exe_corrupted( ¤tTC, queue_send_id, + computed_CRC, currentTC_LEN_RCV, + destinationID, time ); } } else diff --git a/src/tc_handler.c b/src/tc_handler.c --- a/src/tc_handler.c +++ b/src/tc_handler.c @@ -31,6 +31,7 @@ rtems_task actn_task( rtems_task_argumen ccsdsTelecommandPacket_t TC; // TC sent to the ACTN task size_t size; // size of the incoming TC packet unsigned char subtype; // subtype of the current TC packet + unsigned char time[6]; rtems_id queue_rcv_id; rtems_id queue_snd_id; @@ -55,6 +56,7 @@ rtems_task actn_task( rtems_task_argumen { status = rtems_message_queue_receive( queue_rcv_id, (char*) &TC, &size, RTEMS_WAIT, RTEMS_NO_TIMEOUT); + getTime( time ); // set time to the current time if (status!=RTEMS_SUCCESSFUL) PRINTF1("ERR *** in task ACTN *** error receiving a message, code %d \n", status) else { @@ -62,63 +64,63 @@ rtems_task actn_task( rtems_task_argumen switch(subtype) { case TC_SUBTYPE_RESET: - result = action_reset( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_reset( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_LOAD_COMM: result = action_load_common_par( &TC ); - close_action( &TC, result, queue_snd_id ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_LOAD_NORM: - result = action_load_normal_par( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_load_normal_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_LOAD_BURST: - result = action_load_burst_par( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_load_burst_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_LOAD_SBM1: - result = action_load_sbm1_par( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_load_sbm1_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_LOAD_SBM2: - result = action_load_sbm2_par( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_load_sbm2_par( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_DUMP: result = action_dump_par( queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_ENTER: - result = action_enter_mode( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_enter_mode( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_UPDT_INFO: result = action_update_info( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_EN_CAL: - result = action_enable_calibration( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_enable_calibration( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_DIS_CAL: - result = action_disable_calibration( &TC, queue_snd_id ); - close_action( &TC, result, queue_snd_id ); + result = action_disable_calibration( &TC, queue_snd_id, time ); + close_action( &TC, result, queue_snd_id, time ); break; // case TC_SUBTYPE_UPDT_TIME: result = action_update_time( &TC ); - close_action( &TC, result, queue_snd_id ); + close_action( &TC, result, queue_snd_id, time ); break; // default: @@ -131,7 +133,7 @@ rtems_task actn_task( rtems_task_argumen //*********** // TC ACTIONS -int action_reset(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_reset(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function executes specific actions when a TC_LFR_RESET TeleCommand has been received. * @@ -140,11 +142,11 @@ int action_reset(ccsdsTelecommandPacket_ * */ - send_tm_lfr_tc_exe_not_implemented( TC, queue_id ); + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); return LFR_DEFAULT; } -int action_enter_mode(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_enter_mode(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function executes specific actions when a TC_LFR_ENTER_MODE TeleCommand has been received. * @@ -163,7 +165,7 @@ int action_enter_mode(ccsdsTelecommandPa && (requestedMode != LFR_MODE_SBM1) && (requestedMode != LFR_MODE_SBM2) ) { status = RTEMS_UNSATISFIED; - send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_CP_LFR_MODE, requestedMode ); + send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_CP_LFR_MODE, requestedMode, time ); } else { @@ -193,7 +195,7 @@ int action_enter_mode(ccsdsTelecommandPa else { PRINTF("ERR *** in action_enter *** transition rejected\n") - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); } } @@ -227,7 +229,7 @@ int action_update_info(ccsdsTelecommandP return result; } -int action_enable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_enable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function executes specific actions when a TC_LFR_ENABLE_CALIBRATION TeleCommand has been received. * @@ -243,17 +245,17 @@ int action_enable_calibration(ccsdsTelec lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; if ( (lfrMode == LFR_MODE_STANDBY) || (lfrMode == LFR_MODE_BURST) || (lfrMode == LFR_MODE_SBM2) ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); result = LFR_DEFAULT; } else { - send_tm_lfr_tc_exe_not_implemented( TC, queue_id ); + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); result = LFR_DEFAULT; } return result; } -int action_disable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_disable_calibration(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function executes specific actions when a TC_LFR_DISABLE_CALIBRATION TeleCommand has been received. * @@ -269,11 +271,11 @@ int action_disable_calibration(ccsdsTele lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; if ( (lfrMode == LFR_MODE_STANDBY) || (lfrMode == LFR_MODE_BURST) || (lfrMode == LFR_MODE_SBM2) ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); result = LFR_DEFAULT; } else { - send_tm_lfr_tc_exe_not_implemented( TC, queue_id ); + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); result = LFR_DEFAULT; } return result; @@ -709,17 +711,9 @@ void update_last_TC_rej(ccsdsTelecommand housekeeping_packet.hk_lfr_last_rej_tc_time[5] = time[5]; } -void close_action(ccsdsTelecommandPacket_t *TC, int result, rtems_id queue_id) +void close_action(ccsdsTelecommandPacket_t *TC, int result, rtems_id queue_id, unsigned char *time) { unsigned int val = 0; - unsigned char time[6]; - - time[0] = (unsigned char) (time_management_regs->coarse_time>>24); - time[1] = (unsigned char) (time_management_regs->coarse_time>>16); - time[2] = (unsigned char) (time_management_regs->coarse_time>>8); - time[3] = (unsigned char) (time_management_regs->coarse_time); - time[4] = (unsigned char) (time_management_regs->fine_time>>8); - time[5] = (unsigned char) (time_management_regs->fine_time); if (result == LFR_SUCCESSFUL) { diff --git a/src/tc_load_dump_parameters.c b/src/tc_load_dump_parameters.c --- a/src/tc_load_dump_parameters.c +++ b/src/tc_load_dump_parameters.c @@ -29,7 +29,7 @@ int action_load_common_par(ccsdsTelecomm return LFR_SUCCESSFUL; } -int action_load_normal_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_load_normal_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function updates the LFR registers with the incoming normal parameters. * @@ -45,7 +45,7 @@ int action_load_normal_par(ccsdsTelecomm if ( (lfrCurrentMode == LFR_MODE_NORMAL) || (lfrCurrentMode == LFR_MODE_SBM1) || (lfrCurrentMode == LFR_MODE_SBM2) ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); flag = LFR_DEFAULT; } @@ -53,7 +53,7 @@ int action_load_normal_par(ccsdsTelecomm // sy_lfr_n_swf_l if (flag == LFR_SUCCESSFUL) { - result = set_sy_lfr_n_swf_l( TC, queue_id ); + result = set_sy_lfr_n_swf_l( TC, queue_id, time ); if (result != LFR_SUCCESSFUL) { flag = LFR_DEFAULT; @@ -64,7 +64,7 @@ int action_load_normal_par(ccsdsTelecomm // sy_lfr_n_swf_p if (flag == LFR_SUCCESSFUL) { - result = set_sy_lfr_n_swf_p( TC, queue_id ); + result = set_sy_lfr_n_swf_p( TC, queue_id, time ); if (result != LFR_SUCCESSFUL) { flag = LFR_DEFAULT; @@ -107,7 +107,7 @@ int action_load_normal_par(ccsdsTelecomm return flag; } -int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_load_burst_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function updates the LFR registers with the incoming burst parameters. * @@ -123,7 +123,7 @@ int action_load_burst_par(ccsdsTelecomma lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; if ( lfrMode == LFR_MODE_BURST ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); result = LFR_DEFAULT; } else { @@ -136,7 +136,7 @@ int action_load_burst_par(ccsdsTelecomma return result; } -int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_load_sbm1_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function updates the LFR registers with the incoming sbm1 parameters. * @@ -151,7 +151,7 @@ int action_load_sbm1_par(ccsdsTelecomman lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; if ( (lfrMode == LFR_MODE_SBM1) || (lfrMode == LFR_MODE_SBM2) ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); result = LFR_DEFAULT; } else { @@ -164,7 +164,7 @@ int action_load_sbm1_par(ccsdsTelecomman return result; } -int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id) +int action_load_sbm2_par(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time) { /** This function updates the LFR registers with the incoming sbm2 parameters. * @@ -180,7 +180,7 @@ int action_load_sbm2_par(ccsdsTelecomman lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; if ( (lfrMode == LFR_MODE_SBM2) || (lfrMode == LFR_MODE_SBM2) ) { - send_tm_lfr_tc_exe_not_executable( TC, queue_id ); + send_tm_lfr_tc_exe_not_executable( TC, queue_id, time ); result = LFR_DEFAULT; } else { @@ -232,7 +232,7 @@ int action_dump_par( rtems_id queue_id ) //*********************** // NORMAL MODE PARAMETERS -int set_sy_lfr_n_swf_l( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ) +int set_sy_lfr_n_swf_l( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time ) { /** This function sets the number of points of a snapshot (sy_lfr_n_swf_l). * @@ -255,12 +255,12 @@ int set_sy_lfr_n_swf_l( ccsdsTelecommand if ( (tmp < 16) || (tmp > 2048) ) // the snapshot period is a multiple of 16 { // 2048 is the maximum limit due to the size of the buffers - send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_SY_LFR_N_SWF_L+10, lsb ); + send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_SY_LFR_N_SWF_L+10, lsb, time ); result = WRONG_APP_DATA; } else if (tmp != 2048) { - send_tm_lfr_tc_exe_not_implemented( TC, queue_id ); + send_tm_lfr_tc_exe_not_implemented( TC, queue_id, time ); result = FUNCT_NOT_IMPL; } else @@ -273,7 +273,7 @@ int set_sy_lfr_n_swf_l( ccsdsTelecommand return result; } -int set_sy_lfr_n_swf_p( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ) +int set_sy_lfr_n_swf_p(ccsdsTelecommandPacket_t *TC, rtems_id queue_id , unsigned char *time) { /** This function sets the time between two snapshots, in s (sy_lfr_n_swf_p). * @@ -296,7 +296,7 @@ int set_sy_lfr_n_swf_p( ccsdsTelecommand if ( (tmp < 16) || (tmp > 65528) ) { - send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_SY_LFR_N_SWF_P+10, lsb ); + send_tm_lfr_tc_exe_inconsistent( TC, queue_id, BYTE_POS_SY_LFR_N_SWF_P+10, lsb, time ); result = WRONG_APP_DATA; } else diff --git a/src/tm_lfr_tc_exe.c b/src/tm_lfr_tc_exe.c --- a/src/tm_lfr_tc_exe.c +++ b/src/tm_lfr_tc_exe.c @@ -75,7 +75,8 @@ int send_tm_lfr_tc_exe_success( ccsdsTel } int send_tm_lfr_tc_exe_inconsistent( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, - unsigned char byte_position, unsigned char rcv_value ) + unsigned char byte_position, unsigned char rcv_value, + unsigned char *time) { /** This function sends a TM_LFR_TC_EXE_INCONSISTENT packet in the dedicated RTEMS message queue. * @@ -142,7 +143,7 @@ int send_tm_lfr_tc_exe_inconsistent( ccs return status; } -int send_tm_lfr_tc_exe_not_executable( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ) +int send_tm_lfr_tc_exe_not_executable( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time ) { /** This function sends a TM_LFR_TC_EXE_NOT_EXECUTABLE packet in the dedicated RTEMS message queue. * @@ -207,7 +208,7 @@ int send_tm_lfr_tc_exe_not_executable( c return status; } -int send_tm_lfr_tc_exe_not_implemented( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ) +int send_tm_lfr_tc_exe_not_implemented( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time ) { /** This function sends a TM_LFR_TC_EXE_NOT_IMPLEMENTED packet in the dedicated RTEMS message queue. * @@ -270,7 +271,7 @@ int send_tm_lfr_tc_exe_not_implemented( return status; } -int send_tm_lfr_tc_exe_error( ccsdsTelecommandPacket_t *TC, rtems_id queue_id ) +int send_tm_lfr_tc_exe_error( ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *time ) { /** This function sends a TM_LFR_TC_EXE_ERROR packet in the dedicated RTEMS message queue. * @@ -335,7 +336,7 @@ int send_tm_lfr_tc_exe_error( ccsdsTelec int send_tm_lfr_tc_exe_corrupted(ccsdsTelecommandPacket_t *TC, rtems_id queue_id, unsigned char *computed_CRC, unsigned char *currentTC_LEN_RCV, - unsigned char destinationID) + unsigned char destinationID, unsigned char *time) { /** This function sends a TM_LFR_TC_EXE_CORRUPTED packet in the dedicated RTEMS message queue. *