##// END OF EJS Templates
Version 0-1
paul@pc-solar1.lab-lpp.local -
r13:662dfd68ecbc default
parent child
Show More
@@ -1,11 +1,11
1 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
1 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
2 <CodeBlocks_layout_file>
2 <CodeBlocks_layout_file>
3 <ActiveTarget name="Debug" />
3 <ActiveTarget name="Debug" />
4 <File name="../header/ccsds_types.h" open="0" top="0" tabpos="3">
4 <File name="../header/ccsds_types.h" open="1" top="0" tabpos="2">
5 <Cursor position="3403" topLine="101" />
5 <Cursor position="553" topLine="24" />
6 </File>
6 </File>
7 <File name="../header/fsw_init.h" open="0" top="0" tabpos="3">
7 <File name="../header/fsw_init.h" open="0" top="0" tabpos="3">
8 <Cursor position="378" topLine="0" />
8 <Cursor position="1521" topLine="15" />
9 </File>
9 </File>
10 <File name="../header/fsw_misc.h" open="0" top="0" tabpos="0">
10 <File name="../header/fsw_misc.h" open="0" top="0" tabpos="0">
11 <Cursor position="114" topLine="0" />
11 <Cursor position="114" topLine="0" />
@@ -29,7 +29,7
29 <Cursor position="378" topLine="1" />
29 <Cursor position="378" topLine="1" />
30 </File>
30 </File>
31 <File name="../src/fsw_init.c" open="1" top="0" tabpos="1">
31 <File name="../src/fsw_init.c" open="1" top="0" tabpos="1">
32 <Cursor position="2303" topLine="54" />
32 <Cursor position="10747" topLine="81" />
33 </File>
33 </File>
34 <File name="../src/fsw_misc.c" open="0" top="0" tabpos="2">
34 <File name="../src/fsw_misc.c" open="0" top="0" tabpos="2">
35 <Cursor position="475" topLine="0" />
35 <Cursor position="475" topLine="0" />
@@ -37,8 +37,8
37 <File name="../src/fsw_processing.c" open="0" top="0" tabpos="0">
37 <File name="../src/fsw_processing.c" open="0" top="0" tabpos="0">
38 <Cursor position="1696" topLine="59" />
38 <Cursor position="1696" topLine="59" />
39 </File>
39 </File>
40 <File name="../src/tc_handler.c" open="1" top="1" tabpos="2">
40 <File name="../src/tc_handler.c" open="1" top="1" tabpos="3">
41 <Cursor position="17607" topLine="36" />
41 <Cursor position="11453" topLine="39" />
42 </File>
42 </File>
43 <File name="../src/wf_handler.c" open="0" top="0" tabpos="4">
43 <File name="../src/wf_handler.c" open="0" top="0" tabpos="4">
44 <Cursor position="1660" topLine="24" />
44 <Cursor position="1660" topLine="24" />
1 NO CONTENT: modified file, binary diff hidden
NO CONTENT: modified file, binary diff hidden
@@ -8,7 +8,8
8 #define CCSDS_TC_TM_PACKET_OFFSET 7
8 #define CCSDS_TC_TM_PACKET_OFFSET 7
9 #define CCSDS_PROCESS_ID 76
9 #define CCSDS_PROCESS_ID 76
10 #define CCSDS_PACKET_CATEGORY 12
10 #define CCSDS_PACKET_CATEGORY 12
11 #define CCSDS_DESTINATION_ID 0x21
11 #define CCSDS_NODE_ADDRESS 0x01 // SY_DPU_LFR_LA 1 is not allowed by the StarDundee brick, use 101 instead 0x65
12 #define CCSDS_DESTINATION_ID 0x02 // SY_LFR_DPU_LA 2 is not allowed by the StarDundee brick, use 102 instead 0x66
12 #define CCSDS_PROTOCOLE_ID 0x02
13 #define CCSDS_PROTOCOLE_ID 0x02
13 #define CCSDS_USER_APP 0x00
14 #define CCSDS_USER_APP 0x00
14
15
@@ -74,7 +74,7 rtems_task Init( rtems_task_argument ign
74 IRQ_SPARC_WF, waveforms_isr );
74 IRQ_SPARC_WF, waveforms_isr );
75
75
76 // irq handling of the time management unit
76 // irq handling of the time management unit
77 /*status = rtems_interrupt_catch( commutation_isr1,
77 status = rtems_interrupt_catch( commutation_isr1,
78 IRQ_SPARC_TIME1,
78 IRQ_SPARC_TIME1,
79 &old_isr_handler) ; // see sparcv8.pdf p.76 for interrupt levels
79 &old_isr_handler) ; // see sparcv8.pdf p.76 for interrupt levels
80 if (status==RTEMS_SUCCESSFUL)
80 if (status==RTEMS_SUCCESSFUL)
@@ -87,7 +87,7 rtems_task Init( rtems_task_argument ign
87 PRINTF("commutation_isr2 *** rtems_interrupt_catch successfullly configured\n")
87 PRINTF("commutation_isr2 *** rtems_interrupt_catch successfullly configured\n")
88
88
89 LEON_Unmask_interrupt( IRQ_TIME1 );
89 LEON_Unmask_interrupt( IRQ_TIME1 );
90 LEON_Unmask_interrupt( IRQ_TIME2 );*/
90 LEON_Unmask_interrupt( IRQ_TIME2 );
91
91
92 status = rtems_task_delete(RTEMS_SELF);
92 status = rtems_task_delete(RTEMS_SELF);
93 }
93 }
@@ -146,7 +146,7 int create_all_tasks()
146 Task_name[6] = rtems_build_name( 'A', 'V', 'F', '0' );
146 Task_name[6] = rtems_build_name( 'A', 'V', 'F', '0' );
147 Task_name[7] = rtems_build_name( 'B', 'P', 'F', '0' );
147 Task_name[7] = rtems_build_name( 'B', 'P', 'F', '0' );
148 Task_name[8] = rtems_build_name( 'W', 'F', 'R', 'M' );
148 Task_name[8] = rtems_build_name( 'W', 'F', 'R', 'M' );
149 //Task_name[9] = rtems_build_name( 'D', 'U', 'M', 'B' );
149 Task_name[9] = rtems_build_name( 'D', 'U', 'M', 'B' );
150
150
151 // RECV
151 // RECV
152 status = rtems_task_create(
152 status = rtems_task_create(
@@ -197,11 +197,11 int create_all_tasks()
197 RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[8]
197 RTEMS_DEFAULT_ATTRIBUTES | RTEMS_FLOATING_POINT, &Task_id[8]
198 );
198 );
199 // DUMB
199 // DUMB
200 /*status = rtems_task_create(
200 status = rtems_task_create(
201 Task_name[9], 200, RTEMS_MINIMUM_STACK_SIZE * 2,
201 Task_name[9], 200, RTEMS_MINIMUM_STACK_SIZE * 2,
202 RTEMS_DEFAULT_MODES,
202 RTEMS_DEFAULT_MODES,
203 RTEMS_DEFAULT_ATTRIBUTES, &Task_id[9]
203 RTEMS_DEFAULT_ATTRIBUTES, &Task_id[9]
204 );*/
204 );
205
205
206 return 0;
206 return 0;
207 }
207 }
@@ -234,8 +234,8 int start_all_tasks()
234 status = rtems_task_start( Task_id[8], wfrm_task, 1 );
234 status = rtems_task_start( Task_id[8], wfrm_task, 1 );
235 if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_WFRM\n")
235 if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_WFRM\n")
236
236
237 /*status = rtems_task_start( Task_id[9], dumb_task, 1 );
237 status = rtems_task_start( Task_id[9], dumb_task, 1 );
238 if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_DUMB\n")*/
238 if (status!=RTEMS_SUCCESSFUL) PRINTF("In INIT *** Error starting TASK_DUMB\n")
239
239
240 return 0;
240 return 0;
241 }
241 }
@@ -275,10 +275,15 int configure_spw_link()
275
275
276 status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_TXBLOCK_ON_FULL, 1); // sets the link-error interrupt bit
276 status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_TXBLOCK_ON_FULL, 1); // sets the link-error interrupt bit
277 if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_TXBLOCK_ON_FULL\n")
277 if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_TXBLOCK_ON_FULL\n")
278 //
278
279 //status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_DESTKEY, CCSDS_DESTINATION_ID); // sets the destination key
279 status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_DESTKEY, CCSDS_DESTINATION_ID); // sets the destination key
280 //if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n")
280 PRINTF1("destination address set to: %d\n", CCSDS_DESTINATION_ID)
281 //
281 if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n")
282
283 status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_NODEADDR, CCSDS_NODE_ADDRESS); // sets the destination key
284 PRINTF1("node address set to: %d\n", CCSDS_NODE_ADDRESS)
285 if (status!=RTEMS_SUCCESSFUL) PRINTF("In RECV *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n")
286
282 PRINTF("In configure_spw_link *** "GRSPW_DEVICE_NAME" configured successfully\n")
287 PRINTF("In configure_spw_link *** "GRSPW_DEVICE_NAME" configured successfully\n")
283
288
284 return RTEMS_SUCCESSFUL;
289 return RTEMS_SUCCESSFUL;
@@ -289,7 +289,7 rtems_task recv_task( rtems_task_argumen
289 PRINTF("In RECV *** Error: rtems_task_suspend(RTEMS_SELF)\n")
289 PRINTF("In RECV *** Error: rtems_task_suspend(RTEMS_SELF)\n")
290 }
290 }
291 else {
291 else {
292 PRINTF1("In RECV *** Got Message of length %d\n", len)
292 PRINTF1("Got pck of length %d\n", len+1)
293 currentTC_LEN_RCV[0] = 0x00;
293 currentTC_LEN_RCV[0] = 0x00;
294 currentTC_LEN_RCV[1] = (unsigned char) len - CCSDS_TC_TM_PACKET_OFFSET - 3; // build the corresponding packet size field
294 currentTC_LEN_RCV[1] = (unsigned char) len - CCSDS_TC_TM_PACKET_OFFSET - 3; // build the corresponding packet size field
295 currentTC_LEN_RCV_AsUnsignedInt = (unsigned int) len - CCSDS_TC_TM_PACKET_OFFSET - 3; // => -3 is for Prot ID, Reserved and User App bytes
295 currentTC_LEN_RCV_AsUnsignedInt = (unsigned int) len - CCSDS_TC_TM_PACKET_OFFSET - 3; // => -3 is for Prot ID, Reserved and User App bytes
General Comments 0
You need to be logged in to leave comments. Login now