##// END OF EJS Templates
sequence_cnt field set for BP and ASM packets
paul -
r133:0209817182bd VHDLib206
parent child
Show More
@@ -1,6 +1,6
1 1 #############################################################################
2 2 # Makefile for building: bin/fsw
3 # Generated by qmake (2.01a) (Qt 4.8.6) on: Tue May 13 15:18:10 2014
3 # Generated by qmake (2.01a) (Qt 4.8.6) on: Thu May 15 08:30:40 2014
4 4 # Project: fsw-qt.pro
5 5 # Template: app
6 6 # Command: /usr/bin/qmake-qt4 -spec /usr/lib64/qt4/mkspecs/linux-g++ -o Makefile fsw-qt.pro
@@ -1,6 +1,6
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3 <!-- Written by QtCreator 3.0.1, 2014-05-13T15:58:32. -->
3 <!-- Written by QtCreator 3.0.1, 2014-05-15T06:56:44. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -245,7 +245,6 struct param_local_str{
245 245 unsigned int local_sbm1_nb_cwf_max;
246 246 unsigned int local_sbm2_nb_cwf_sent;
247 247 unsigned int local_sbm2_nb_cwf_max;
248 unsigned int local_nb_interrupt_f0_MAX;
249 248 };
250 249
251 250 #endif // FSW_PARAMS_H_INCLUDED
@@ -1,6 +1,9
1 1 #ifndef TM_BYTE_POSITIONS_H
2 2 #define TM_BYTE_POSITIONS_H
3 3
4 // SEQUENCE_CNT
5 #define PACKET_POS_SEQUENCE_CNT 6 // 4 + 2
6
4 7 // TC_LFR_LOAD_COMMON_PAR
5 8
6 9 // TC_LFR_LOAD_NORMAL_PAR
@@ -3,7 +3,7
3 3
4 4 #define NB_BINS_PER_SM 128
5 5 #define NB_VALUES_PER_SM 25
6 #define TOTAL_SIZE_SM 3200 // 25 * 128
6 #define TOTAL_SIZE_SM 3200 // 25 * 128 = 0xC80
7 7 #define TOTAL_SIZE_NORM_BP1_F0 99 // 11 * 9 = 99
8 8 #define TOTAL_SIZE_NORM_BP1_F1 117 // 13 * 9 = 117
9 9 #define TOTAL_SIZE_NORM_BP1_F2 108 // 12 * 9 = 108
@@ -19,23 +19,23
19 19 #define NB_RING_NODES_ASM_BURST_SBM_F2 3 // AT LEAST 3
20 20 #define NB_RING_NODES_ASM_NORM_F2 3 // AT LEAST 3
21 21 //
22 #define NB_BINS_PER_ASM_F0 88
23 #define NB_BINS_PER_PKT_ASM_F0 44
24 #define TOTAL_SIZE_ASM_F0_IN_BYTES 4400 // 25 * 88 * 2
25 #define ASM_F0_INDICE_START 17 // 88 bins
26 #define ASM_F0_INDICE_STOP 104 // 2 packets of 44 bins
22 #define NB_BINS_PER_ASM_F0 88
23 #define NB_BINS_PER_PKT_ASM_F0 44
24 #define TOTAL_SIZE_ASM_F0_IN_BYTES 4400 // 25 * 88 * 2
25 #define ASM_F0_INDICE_START 17 // 88 bins
26 #define ASM_F0_INDICE_STOP 104 // 2 packets of 44 bins
27 27 //
28 #define NB_BINS_PER_ASM_F1 104
29 #define NB_BINS_PER_PKT_ASM_F1 52
30 #define TOTAL_SIZE_ASM_F1_IN_BYTES 5200 // 25 * 104 * 2
31 #define ASM_F1_INDICE_START 6 // 104 bins
32 #define ASM_F1_INDICE_STOP 109 // 2 packets of 52 bins
28 #define NB_BINS_PER_ASM_F1 104
29 #define NB_BINS_PER_PKT_ASM_F1 52
30 #define TOTAL_SIZE_ASM_F1_IN_BYTES 5200 // 25 * 104 * 2
31 #define ASM_F1_INDICE_START 6 // 104 bins
32 #define ASM_F1_INDICE_STOP 109 // 2 packets of 52 bins
33 33 //
34 #define NB_BINS_PER_ASM_F2 96
35 #define NB_BINS_PER_PKT_ASM_F2 48
36 #define TOTAL_SIZE_ASM_F2_IN_BYTES 4800 // 25 * 96 * 2
37 #define ASM_F2_INDICE_START 7 // 96 bins
38 #define ASM_F2_INDICE_STOP 102 // 2 packets of 48 bins
34 #define NB_BINS_PER_ASM_F2 96
35 #define NB_BINS_PER_PKT_ASM_F2 48
36 #define TOTAL_SIZE_ASM_F2_IN_BYTES 4800 // 25 * 96 * 2
37 #define ASM_F2_INDICE_START 7 // 96 bins
38 #define ASM_F2_INDICE_STOP 102 // 2 packets of 48 bins
39 39 //
40 40 #define NB_BINS_COMPRESSED_SM_F0 11
41 41 #define NB_BINS_COMPRESSED_SM_F1 13
@@ -28,19 +28,19 typedef struct ring_node_asm
28 28 unsigned int status;
29 29 } ring_node_asm;
30 30
31 typedef struct bp_packet
31 typedef struct
32 32 {
33 33 Header_TM_LFR_SCIENCE_BP_t header;
34 34 unsigned char data[ 30 * 22 ]; // MAX size is 22 * 30 [TM_LFR_SCIENCE_BURST_BP2_F1]
35 35 } bp_packet;
36 36
37 typedef struct bp_packet_with_spare
37 typedef struct
38 38 {
39 39 Header_TM_LFR_SCIENCE_BP_with_spare_t header;
40 40 unsigned char data[ 9 * 13 ]; // only for TM_LFR_SCIENCE_NORMAL_BP1_F0 and F1
41 41 } bp_packet_with_spare;
42 42
43 typedef struct asm_msg
43 typedef struct
44 44 {
45 45 ring_node_asm *norm;
46 46 ring_node_asm *burst_sbm;
@@ -83,15 +83,15 void ASM_send(Header_TM_LFR_SCIENCE_ASM_
83 83 // Basic Parameters
84 84
85 85 void BP_reset_current_ring_nodes( void );
86 void BP_init_header(Header_TM_LFR_SCIENCE_BP_t *header,
87 unsigned int apid, unsigned char sid,
88 unsigned int packetLength , unsigned char blkNr);
89 void BP_init_header_with_spare(Header_TM_LFR_SCIENCE_BP_with_spare_t *header,
90 unsigned int apid, unsigned char sid,
91 unsigned int packetLength, unsigned char blkNr );
92 void BP_send(char *data,
93 rtems_id queue_id ,
94 unsigned int nbBytesToSend );
86 void BP_init_header( Header_TM_LFR_SCIENCE_BP_t *header,
87 unsigned int apid, unsigned char sid,
88 unsigned int packetLength , unsigned char blkNr);
89 void BP_init_header_with_spare( Header_TM_LFR_SCIENCE_BP_with_spare_t *header,
90 unsigned int apid, unsigned char sid,
91 unsigned int packetLength, unsigned char blkNr );
92 void BP_send( char *data,
93 rtems_id queue_id ,
94 unsigned int nbBytesToSend , unsigned int sid );
95 95
96 96 //******************
97 97 // general functions
@@ -87,8 +87,6 void set_wfp_delta_f2( void );
87 87
88 88 //*****************
89 89 // local parameters
90 void set_local_nb_interrupt_f0_MAX( void );
91
92 90 void increment_seq_counter_source_id( unsigned char *packet_sequence_control, unsigned int sid );
93 91
94 92 #endif // WF_HANDLER_H_INCLUDED
@@ -214,7 +214,6 void init_local_mode_parameters( void )
214 214 unsigned int i;
215 215
216 216 // LOCAL PARAMETERS
217 set_local_nb_interrupt_f0_MAX();
218 217
219 218 BOOT_PRINTF1("local_sbm1_nb_cwf_max %d \n", param_local.local_sbm1_nb_cwf_max)
220 219 BOOT_PRINTF1("local_sbm2_nb_cwf_max %d \n", param_local.local_sbm2_nb_cwf_max)
@@ -485,8 +485,6 void get_v_e1_e2_f3( unsigned char *v, u
485 485 PRINTF1("ERR *** in get_v_e1_e2_f3 *** trying to read out of the buffer, counter = %d\n", offset_in_samples)
486 486 offset_in_samples = NB_SAMPLES_PER_SNAPSHOT -1;
487 487 }
488 PRINTF1("f3 data @ %x *** ", waveform_picker_regs->addr_data_f3 )
489 PRINTF2("deltaT = %d, offset_in_samples = %d\n", deltaT, offset_in_samples )
490 488 offset_in_bytes = TIME_OFFSET_IN_BYTES + offset_in_samples * NB_WORDS_SWF_BLK * 4;
491 489 v[0] = bufferPtr[ offset_in_bytes + 0];
492 490 v[1] = bufferPtr[ offset_in_bytes + 1];
@@ -265,8 +265,9 rtems_task prc0_task( rtems_task_argumen
265 265 // 3) send the BP1 set
266 266 set_time( packet_sbm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
267 267 set_time( packet_sbm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
268 BP_send( (char *) &packet_sbm_bp1_f0.header, queue_id,
269 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 + PACKET_LENGTH_DELTA);
268 BP_send( (char *) &packet_sbm_bp1_f0, queue_id,
269 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F0 + PACKET_LENGTH_DELTA,
270 SID_SBM1_BP1_F0);
270 271 // 4) compute the BP2 set if needed
271 272 if ( incomingMsg->event & RTEMS_EVENT_BURST_SBM_BP2_F0 )
272 273 {
@@ -275,8 +276,9 rtems_task prc0_task( rtems_task_argumen
275 276 // 2) send the BP2 set
276 277 set_time( packet_sbm_bp2_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
277 278 set_time( packet_sbm_bp2_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
278 BP_send( (char *) &packet_sbm_bp2_f0.header, queue_id,
279 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 + PACKET_LENGTH_DELTA);
279 BP_send( (char *) &packet_sbm_bp2_f0, queue_id,
280 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F0 + PACKET_LENGTH_DELTA,
281 SID_SBM1_BP2_F0);
280 282 }
281 283 }
282 284
@@ -297,8 +299,9 rtems_task prc0_task( rtems_task_argumen
297 299 // 3) send the BP1 set
298 300 set_time( packet_norm_bp1_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
299 301 set_time( packet_norm_bp1_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
300 BP_send( (char *) &packet_norm_bp1_f0.header, queue_id,
301 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 + PACKET_LENGTH_DELTA);
302 BP_send( (char *) &packet_norm_bp1_f0, queue_id,
303 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F0 + PACKET_LENGTH_DELTA,
304 SID_NORM_BP1_F0 );
302 305 if (incomingMsg->event & RTEMS_EVENT_NORM_BP2_F0)
303 306 {
304 307 // 1) compute the BP2 set using the same ASM as the one used for BP1
@@ -306,8 +309,9 rtems_task prc0_task( rtems_task_argumen
306 309 // 2) send the BP2 set
307 310 set_time( packet_norm_bp2_f0.header.time, (unsigned char *) &incomingMsg->coarseTime );
308 311 set_time( packet_norm_bp2_f0.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
309 BP_send( (char *) &packet_norm_bp2_f0.header, queue_id,
310 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 + PACKET_LENGTH_DELTA);
312 BP_send( (char *) &packet_norm_bp2_f0, queue_id,
313 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F0 + PACKET_LENGTH_DELTA,
314 SID_NORM_BP2_F0);
311 315 }
312 316 }
313 317
@@ -250,8 +250,9 rtems_task prc1_task( rtems_task_argumen
250 250 // 3) send the BP1 set
251 251 set_time( packet_sbm_bp1.header.time, (unsigned char *) &incomingMsg->coarseTime );
252 252 set_time( packet_sbm_bp1.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
253 BP_send( (char *) &packet_sbm_bp1.header, queue_id_send,
254 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 + PACKET_LENGTH_DELTA);
253 BP_send( (char *) &packet_sbm_bp1, queue_id_send,
254 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP1_F1 + PACKET_LENGTH_DELTA,
255 SID_SBM2_BP1_F1 );
255 256 // 4) compute the BP2 set if needed
256 257 if ( incomingMsg->event & RTEMS_EVENT_BURST_SBM_BP2_F1 )
257 258 {
@@ -260,8 +261,9 rtems_task prc1_task( rtems_task_argumen
260 261 // 2) send the BP2 set
261 262 set_time( packet_sbm_bp2.header.time, (unsigned char *) &incomingMsg->coarseTime );
262 263 set_time( packet_sbm_bp2.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
263 BP_send( (char *) &packet_sbm_bp2.header, queue_id_send,
264 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 + PACKET_LENGTH_DELTA);
264 BP_send( (char *) &packet_sbm_bp2, queue_id_send,
265 PACKET_LENGTH_TM_LFR_SCIENCE_SBM_BP2_F1 + PACKET_LENGTH_DELTA,
266 SID_SBM2_BP2_F1 );
265 267 }
266 268 }
267 269
@@ -282,8 +284,9 rtems_task prc1_task( rtems_task_argumen
282 284 // 3) send the BP1 set
283 285 set_time( packet_norm_bp1.header.time, (unsigned char *) &incomingMsg->coarseTime );
284 286 set_time( packet_norm_bp1.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
285 BP_send( (char *) &packet_norm_bp1.header, queue_id_send,
286 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 + PACKET_LENGTH_DELTA);
287 BP_send( (char *) &packet_norm_bp1, queue_id_send,
288 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F1 + PACKET_LENGTH_DELTA,
289 SID_NORM_BP1_F1 );
287 290 if (incomingMsg->event & RTEMS_EVENT_NORM_BP2_F1)
288 291 {
289 292 // 1) compute the BP2 set
@@ -291,8 +294,9 rtems_task prc1_task( rtems_task_argumen
291 294 // 2) send the BP2 set
292 295 set_time( packet_norm_bp2.header.time, (unsigned char *) &incomingMsg->coarseTime );
293 296 set_time( packet_norm_bp2.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
294 BP_send( (char *) &packet_norm_bp2.header, queue_id_send,
295 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 + PACKET_LENGTH_DELTA);
297 BP_send( (char *) &packet_norm_bp2, queue_id_send,
298 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F1 + PACKET_LENGTH_DELTA,
299 SID_NORM_BP2_F1 );
296 300 }
297 301 }
298 302
@@ -188,8 +188,9 rtems_task prc2_task( rtems_task_argumen
188 188 // 3) send the BP1 set
189 189 set_time( packet_norm_bp1_f2.header.time, (unsigned char *) &incomingMsg->coarseTime );
190 190 set_time( packet_norm_bp1_f2.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
191 BP_send( (char *) &packet_norm_bp1_f2.header, queue_id,
192 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 + PACKET_LENGTH_DELTA);
191 BP_send( (char *) &packet_norm_bp1_f2, queue_id,
192 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP1_F2 + PACKET_LENGTH_DELTA,
193 SID_NORM_BP1_F2 );
193 194 if (incomingMsg->event & RTEMS_EVENT_NORM_BP2_F2)
194 195 {
195 196 // 1) compute the BP2 set using the same ASM as the one used for BP1
@@ -197,8 +198,9 rtems_task prc2_task( rtems_task_argumen
197 198 // 2) send the BP2 set
198 199 set_time( packet_norm_bp2_f2.header.time, (unsigned char *) &incomingMsg->coarseTime );
199 200 set_time( packet_norm_bp2_f2.header.acquisitionTime, (unsigned char *) &incomingMsg->fineTime );
200 BP_send( (char *) &packet_norm_bp2_f2.header, queue_id,
201 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 + PACKET_LENGTH_DELTA);
201 BP_send( (char *) &packet_norm_bp2_f2, queue_id,
202 PACKET_LENGTH_TM_LFR_SCIENCE_NORM_BP2_F2 + PACKET_LENGTH_DELTA,
203 SID_NORM_BP2_F2 );
202 204 }
203 205 }
204 206
@@ -302,6 +302,7 void ASM_send(Header_TM_LFR_SCIENCE_ASM_
302 302 spw_ioctl_send->options = 0;
303 303
304 304 // (2) BUILD THE HEADER
305 increment_seq_counter_source_id( header->packetSequenceControl, sid );
305 306 header->packetLength[0] = (unsigned char) (length>>8);
306 307 header->packetLength[1] = (unsigned char) (length);
307 308 header->sid = (unsigned char) sid; // SID
@@ -398,10 +399,12 void BP_init_header_with_spare(Header_TM
398 399 header->pa_lfr_bp_blk_nr[1] = blkNr; // BLK_NR LSB
399 400 }
400 401
401 void BP_send(char *data, rtems_id queue_id, unsigned int nbBytesToSend )
402 void BP_send(char *data, rtems_id queue_id, unsigned int nbBytesToSend, unsigned int sid )
402 403 {
403 404 rtems_status_code status;
404 405
406 // SET THE SEQUENCE_CNT PARAMETER
407 increment_seq_counter_source_id( (unsigned char*) &data[ PACKET_POS_SEQUENCE_CNT ], sid );
405 408 // SEND PACKET
406 409 status = rtems_message_queue_send( queue_id, data, nbBytesToSend);
407 410 if (status != RTEMS_SUCCESSFUL)
@@ -793,7 +793,6 void launch_spectral_matrix_simu( void )
793 793 timer_start( (gptimer_regs_t*) REGS_ADDR_GPTIMER, TIMER_SM_SIMULATOR );
794 794 LEON_Clear_interrupt( IRQ_SM_SIMULATOR );
795 795 LEON_Unmask_interrupt( IRQ_SM_SIMULATOR );
796 set_local_nb_interrupt_f0_MAX();
797 796 }
798 797
799 798 void set_irq_on_new_ready_matrix( unsigned char value )
@@ -1225,32 +1225,49 void set_wfp_delta_f2()
1225 1225
1226 1226 //*****************
1227 1227 // local parameters
1228 void set_local_nb_interrupt_f0_MAX( void )
1228
1229 void increment_seq_counter_source_id( unsigned char *packet_sequence_control, unsigned int sid )
1229 1230 {
1230 /** This function sets the value of the nb_interrupt_f0_MAX local parameter.
1231 /** This function increments the parameter "sequence_cnt" depending on the sid passed in argument.
1231 1232 *
1232 * This parameter is used for the SM validation only.\n
1233 * The software waits param_local.local_nb_interrupt_f0_MAX interruptions from the spectral matrices
1234 * module before launching a basic processing.
1233 * @param packet_sequence_control is a pointer toward the parameter sequence_cnt to update.
1234 * @param sid is the source identifier of the packet being updated.
1235 *
1236 * REQ-LFR-SRS-5240 / SSS-CP-FS-590
1237 * The sequence counters shall wrap around from 2^14 to zero.
1238 * The sequence counter shall start at zero at startup.
1239 *
1240 * REQ-LFR-SRS-5239 / SSS-CP-FS-580
1241 * All TM_LFR_SCIENCE_ packets are sent to ground, i.e. destination id = 0
1235 1242 *
1236 1243 */
1237 1244
1238 param_local.local_nb_interrupt_f0_MAX = ( (parameter_dump_packet.sy_lfr_n_asm_p[0]) * 256
1239 + parameter_dump_packet.sy_lfr_n_asm_p[1] ) * 100;
1240 }
1241
1242 void increment_seq_counter_source_id( unsigned char *packet_sequence_control, unsigned int sid )
1243 {
1244 1245 unsigned short *sequence_cnt;
1245 1246 unsigned short segmentation_grouping_flag;
1246 1247 unsigned short new_packet_sequence_control;
1248 rtems_mode initial_mode_set;
1249 rtems_mode current_mode_set;
1250 rtems_status_code status;
1247 1251
1248 if ( (sid ==SID_NORM_SWF_F0) || (sid ==SID_NORM_SWF_F1) || (sid ==SID_NORM_SWF_F2)
1249 || (sid ==SID_NORM_CWF_F3) || (sid==SID_NORM_CWF_LONG_F3) || (sid ==SID_BURST_CWF_F2) )
1252 //******************************************
1253 // CHANGE THE MODE OF THE CALLING RTEMS TASK
1254 status = rtems_task_mode( RTEMS_NO_PREEMPT, RTEMS_PREEMPT_MASK, &initial_mode_set );
1255
1256 if ( (sid == SID_NORM_SWF_F0) || (sid == SID_NORM_SWF_F1) || (sid == SID_NORM_SWF_F2)
1257 || (sid == SID_NORM_CWF_F3) || (sid == SID_NORM_CWF_LONG_F3)
1258 || (sid == SID_BURST_CWF_F2)
1259 || (sid == SID_NORM_ASM_F0) || (sid == SID_NORM_ASM_F1) || (sid == SID_NORM_ASM_F2)
1260 || (sid == SID_NORM_BP1_F0) || (sid == SID_NORM_BP1_F1) || (sid == SID_NORM_BP1_F2)
1261 || (sid == SID_NORM_BP2_F0) || (sid == SID_NORM_BP2_F1) || (sid == SID_NORM_BP2_F2)
1262 || (sid == SID_BURST_BP1_F0) || (sid == SID_BURST_BP2_F0)
1263 || (sid == SID_BURST_BP1_F1) || (sid == SID_BURST_BP2_F1) )
1250 1264 {
1251 1265 sequence_cnt = (unsigned short *) &sequenceCounters_SCIENCE_NORMAL_BURST;
1252 1266 }
1253 else if ( (sid ==SID_SBM1_CWF_F1) || (sid ==SID_SBM2_CWF_F2) )
1267 else if ( (sid ==SID_SBM1_CWF_F1) || (sid ==SID_SBM2_CWF_F2)
1268 || (sid == SID_SBM1_BP1_F0) || (sid == SID_SBM1_BP2_F0)
1269 || (sid == SID_SBM2_BP1_F0) || (sid == SID_SBM2_BP2_F0)
1270 || (sid == SID_SBM2_BP1_F1) || (sid == SID_SBM2_BP2_F1) )
1254 1271 {
1255 1272 sequence_cnt = (unsigned short *) &sequenceCounters_SCIENCE_SBM1_SBM2;
1256 1273 }
@@ -1279,4 +1296,8 void increment_seq_counter_source_id( un
1279 1296 packet_sequence_control[0] = (unsigned char) (new_packet_sequence_control >> 8);
1280 1297 packet_sequence_control[1] = (unsigned char) (new_packet_sequence_control );
1281 1298 }
1299
1300 //***********************************
1301 // RESET THE MODE OF THE CALLING TASK
1302 status = rtems_task_mode( initial_mode_set, RTEMS_PREEMPT_MASK, &current_mode_set );
1282 1303 }
General Comments 0
You need to be logged in to leave comments. Login now