@@ -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.4) on: |
|
3 | # Generated by qmake (2.01a) (Qt 4.8.4) on: Fri Jul 19 08:56:46 2013 | |
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=0 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4= |
|
13 | DEFINES = -DSW_VERSION_N1=0 -DSW_VERSION_N2=0 -DSW_VERSION_N3=0 -DSW_VERSION_N4=9 -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 |
|
16 | INCPATH = -I/usr/lib64/qt4/mkspecs/linux-g++ -I. -I../src -I../header |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
1 | NO CONTENT: modified file, binary diff hidden |
|
NO CONTENT: modified file, binary diff hidden |
@@ -7,11 +7,11 CONFIG -= qt | |||||
7 | include(./sparc.pri) |
|
7 | include(./sparc.pri) | |
8 |
|
8 | |||
9 | # flight software version |
|
9 | # flight software version | |
10 |
SWVERSION=-0- |
|
10 | SWVERSION=-0-9 | |
11 | DEFINES += SW_VERSION_N1=0 |
|
11 | DEFINES += SW_VERSION_N1=0 | |
12 | DEFINES += SW_VERSION_N2=0 |
|
12 | DEFINES += SW_VERSION_N2=0 | |
13 | DEFINES += SW_VERSION_N3=0 |
|
13 | DEFINES += SW_VERSION_N3=0 | |
14 |
DEFINES += SW_VERSION_N4= |
|
14 | DEFINES += SW_VERSION_N4=9 | |
15 |
|
15 | |||
16 | contains( CONFIG, verbose ) { |
|
16 | contains( CONFIG, verbose ) { | |
17 | DEFINES += PRINT_MESSAGES_ON_CONSOLE |
|
17 | DEFINES += PRINT_MESSAGES_ON_CONSOLE |
@@ -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 2.7.0, 2013-07-1 |
|
3 | <!-- Written by QtCreator 2.7.0, 2013-07-19T08:53:16. --> | |
4 | <qtcreator> |
|
4 | <qtcreator> | |
5 | <data> |
|
5 | <data> | |
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
|
6 | <variable>ProjectExplorer.Project.ActiveTarget</variable> |
@@ -88,9 +88,10 rtems_task Init( rtems_task_argument ign | |||||
88 |
|
88 | |||
89 | //********** |
|
89 | //********** | |
90 | // WAVEFORMS |
|
90 | // WAVEFORMS | |
91 | // simulator |
|
|||
92 |
|
91 | |||
93 | #ifdef GSA |
|
92 | #ifdef GSA | |
|
93 | // simulator | |||
|
94 | PRINTF("GSA is defined *** fsw-gsa is running \n") | |||
94 | configure_timer((gptimer_regs_t*) REGS_ADDR_GPTIMER, TIMER_WF_SIMULATOR, CLKDIV_WF_SIMULATOR, |
|
95 | configure_timer((gptimer_regs_t*) REGS_ADDR_GPTIMER, TIMER_WF_SIMULATOR, CLKDIV_WF_SIMULATOR, | |
95 | IRQ_SPARC_WF, waveforms_simulator_isr ); |
|
96 | IRQ_SPARC_WF, waveforms_simulator_isr ); | |
96 | #else |
|
97 | #else | |
@@ -125,61 +126,17 rtems_task Init( rtems_task_argument ign | |||||
125 | LEON_Unmask_interrupt( IRQ_TIME2 ); |
|
126 | LEON_Unmask_interrupt( IRQ_TIME2 ); | |
126 |
|
127 | |||
127 | #ifdef GSA |
|
128 | #ifdef GSA | |
128 |
|
|
129 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { | |
129 |
|
|
130 | PRINTF("in INIT *** Error sending event to WFRM\n") | |
130 |
|
|
131 | } | |
131 | #endif |
|
132 | #endif | |
132 |
|
133 | |||
|
134 | LEON_Force_interrupt(IRQ_WF); | |||
|
135 | ||||
133 | status = rtems_task_delete(RTEMS_SELF); |
|
136 | status = rtems_task_delete(RTEMS_SELF); | |
134 |
|
137 | |||
135 | } |
|
138 | } | |
136 |
|
139 | |||
137 | rtems_task spiq_task(rtems_task_argument unused) |
|
|||
138 | { |
|
|||
139 | rtems_event_set event_out; |
|
|||
140 | rtems_status_code status; |
|
|||
141 | unsigned char lfrMode; |
|
|||
142 |
|
||||
143 | while(true){ |
|
|||
144 | PRINTF("in SPIQ *** Waiting for SPW_LINKERR_EVENT\n") |
|
|||
145 | rtems_event_receive(SPW_LINKERR_EVENT, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an SPW_LINKERR_EVENT |
|
|||
146 |
|
||||
147 | lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; // get the current mode |
|
|||
148 |
|
||||
149 | status = spacewire_wait_for_link(); |
|
|||
150 |
|
||||
151 | if (status != RTEMS_SUCCESSFUL) |
|
|||
152 | { |
|
|||
153 | //**************** |
|
|||
154 | // STOP THE SYSTEM |
|
|||
155 | spacewire_compute_stats_offsets(); |
|
|||
156 | stop_current_mode(); |
|
|||
157 | if (rtems_task_suspend(Task_id[TASKID_RECV])!=RTEMS_SUCCESSFUL) { // suspend RECV task |
|
|||
158 | PRINTF("in SPIQ *** Error suspending RECV Task\n") |
|
|||
159 | } |
|
|||
160 | if (rtems_task_suspend(Task_id[TASKID_HOUS])!=RTEMS_SUCCESSFUL) { // suspend HOUS task |
|
|||
161 | PRINTF("in SPIQ *** Error suspending HOUS Task\n") |
|
|||
162 | } |
|
|||
163 |
|
||||
164 | //*************************** |
|
|||
165 | // RESTART THE SPACEWIRE LINK |
|
|||
166 | spacewire_configure_link(); |
|
|||
167 |
|
||||
168 | //******************* |
|
|||
169 | // RESTART THE SYSTEM |
|
|||
170 | //ioctl(fdSPW, SPACEWIRE_IOCTRL_CLR_STATISTICS); // clear statistics |
|
|||
171 | status = rtems_task_restart( Task_id[TASKID_HOUS], 1 ); |
|
|||
172 | if (status != RTEMS_SUCCESSFUL) { |
|
|||
173 | PRINTF1("in SPIQ *** Error restarting HOUS Task *** code %d\n", status) |
|
|||
174 | } |
|
|||
175 | if (rtems_task_restart(Task_id[TASKID_RECV], 1) != RTEMS_SUCCESSFUL) { // restart RECV task |
|
|||
176 | PRINTF("in SPIQ *** Error restarting RECV Task\n") |
|
|||
177 | } |
|
|||
178 | //enter_mode(lfrMode, NULL); // enter the mode that was running before the SpaceWire interruption |
|
|||
179 | } |
|
|||
180 | } |
|
|||
181 | } |
|
|||
182 |
|
||||
183 | void init_parameter_dump(void) |
|
140 | void init_parameter_dump(void) | |
184 | { |
|
141 | { | |
185 | parameter_dump_packet.targetLogicalAddress = CCSDS_DESTINATION_ID; |
|
142 | parameter_dump_packet.targetLogicalAddress = CCSDS_DESTINATION_ID; | |
@@ -436,6 +393,54 int start_all_tasks( void ) | |||||
436 | return 0; |
|
393 | return 0; | |
437 | } |
|
394 | } | |
438 |
|
395 | |||
|
396 | // SPACEWIRE | |||
|
397 | ||||
|
398 | rtems_task spiq_task(rtems_task_argument unused) | |||
|
399 | { | |||
|
400 | rtems_event_set event_out; | |||
|
401 | rtems_status_code status; | |||
|
402 | unsigned char lfrMode; | |||
|
403 | ||||
|
404 | while(true){ | |||
|
405 | PRINTF("in SPIQ *** Waiting for SPW_LINKERR_EVENT\n") | |||
|
406 | rtems_event_receive(SPW_LINKERR_EVENT, RTEMS_WAIT, RTEMS_NO_TIMEOUT, &event_out); // wait for an SPW_LINKERR_EVENT | |||
|
407 | ||||
|
408 | lfrMode = (housekeeping_packet.lfr_status_word[0] & 0xf0) >> 4; // get the current mode | |||
|
409 | ||||
|
410 | status = spacewire_wait_for_link(); | |||
|
411 | ||||
|
412 | if (status != RTEMS_SUCCESSFUL) | |||
|
413 | { | |||
|
414 | //**************** | |||
|
415 | // STOP THE SYSTEM | |||
|
416 | spacewire_compute_stats_offsets(); | |||
|
417 | stop_current_mode(); | |||
|
418 | if (rtems_task_suspend(Task_id[TASKID_RECV])!=RTEMS_SUCCESSFUL) { // suspend RECV task | |||
|
419 | PRINTF("in SPIQ *** Error suspending RECV Task\n") | |||
|
420 | } | |||
|
421 | if (rtems_task_suspend(Task_id[TASKID_HOUS])!=RTEMS_SUCCESSFUL) { // suspend HOUS task | |||
|
422 | PRINTF("in SPIQ *** Error suspending HOUS Task\n") | |||
|
423 | } | |||
|
424 | ||||
|
425 | //*************************** | |||
|
426 | // RESTART THE SPACEWIRE LINK | |||
|
427 | spacewire_configure_link(); | |||
|
428 | ||||
|
429 | //******************* | |||
|
430 | // RESTART THE SYSTEM | |||
|
431 | //ioctl(fdSPW, SPACEWIRE_IOCTRL_CLR_STATISTICS); // clear statistics | |||
|
432 | status = rtems_task_restart( Task_id[TASKID_HOUS], 1 ); | |||
|
433 | if (status != RTEMS_SUCCESSFUL) { | |||
|
434 | PRINTF1("in SPIQ *** Error restarting HOUS Task *** code %d\n", status) | |||
|
435 | } | |||
|
436 | if (rtems_task_restart(Task_id[TASKID_RECV], 1) != RTEMS_SUCCESSFUL) { // restart RECV task | |||
|
437 | PRINTF("in SPIQ *** Error restarting RECV Task\n") | |||
|
438 | } | |||
|
439 | //enter_mode(lfrMode, NULL); // enter the mode that was running before the SpaceWire interruption | |||
|
440 | } | |||
|
441 | } | |||
|
442 | } | |||
|
443 | ||||
439 | int spacewire_configure_link( void ) |
|
444 | int spacewire_configure_link( void ) | |
440 | { |
|
445 | { | |
441 | rtems_status_code status; |
|
446 | rtems_status_code status; | |
@@ -466,13 +471,13 int spacewire_configure_link( void ) | |||||
466 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_RXBLOCK, 1); // sets the blocking mode for reception |
|
471 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_RXBLOCK, 1); // sets the blocking mode for reception | |
467 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_RXBLOCK\n") |
|
472 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_RXBLOCK\n") | |
468 | // |
|
473 | // | |
469 |
|
|
474 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_EVENT_ID, Task_id[TASKID_SPIQ]); // sets the task ID to which an event is sent when a | |
470 |
|
|
475 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_EVENT_ID\n") // link-error interrupt occurs | |
471 | // |
|
476 | // | |
472 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_DISABLE_ERR, 0); // automatic link-disabling due to link-error interrupts |
|
477 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_DISABLE_ERR, 0); // automatic link-disabling due to link-error interrupts | |
473 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_DISABLE_ERR\n") |
|
478 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_DISABLE_ERR\n") | |
474 | // |
|
479 | // | |
475 |
status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ, |
|
480 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ, 1); // sets the link-error interrupt bit | |
476 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n") |
|
481 | if (status!=RTEMS_SUCCESSFUL) PRINTF("in SPIQ *** Error SPACEWIRE_IOCTRL_SET_LINK_ERR_IRQ\n") | |
477 | // |
|
482 | // | |
478 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_TXBLOCK, 0); // transmission blocks |
|
483 | status = ioctl(fdSPW, SPACEWIRE_IOCTRL_SET_TXBLOCK, 0); // transmission blocks |
@@ -1,11 +1,12 | |||||
1 | #include <tc_handler.h> |
|
1 | #include <tc_handler.h> | |
2 | #include <fsw_params.h> |
|
2 | #include <fsw_params.h> | |
3 |
|
3 | |||
4 |
char *DumbMessages[ |
|
4 | char *DumbMessages[6] = {"in DUMB *** default", // RTEMS_EVENT_0 | |
5 | "in DUMB *** timecode_irq_handler", // RTEMS_EVENT_1 |
|
5 | "in DUMB *** timecode_irq_handler", // RTEMS_EVENT_1 | |
6 | "in DUMB *** waveforms_isr", // RTEMS_EVENT_2 |
|
6 | "in DUMB *** waveforms_isr", // RTEMS_EVENT_2 | |
7 | "in DUMB *** in SMIQ *** Error sending event to AVF0", // RTEMS_EVENT_3 |
|
7 | "in DUMB *** in SMIQ *** Error sending event to AVF0", // RTEMS_EVENT_3 | |
8 |
"in DUMB *** spectral_matrices_isr *** Error sending event to SMIQ" |
|
8 | "in DUMB *** spectral_matrices_isr *** Error sending event to SMIQ", // RTEMS_EVENT_4 | |
|
9 | "in DUMB *** waveforms_simulator_isr" // RTEMS_EVENT_5 | |||
9 | }; |
|
10 | }; | |
10 |
|
11 | |||
11 | unsigned char currentTC_LEN_RCV[2]; // SHALL be equal to the current TC packet estimated packet length field |
|
12 | unsigned char currentTC_LEN_RCV[2]; // SHALL be equal to the current TC packet estimated packet length field | |
@@ -526,10 +527,9 rtems_task dumb_task( rtems_task_argumen | |||||
526 | PRINTF("in DUMB *** \n") |
|
527 | PRINTF("in DUMB *** \n") | |
527 |
|
528 | |||
528 | while(1){ |
|
529 | while(1){ | |
529 | rtems_event_receive(RTEMS_EVENT_0 | RTEMS_EVENT_1 | RTEMS_EVENT_2 | RTEMS_EVENT_3 | RTEMS_EVENT_4, |
|
530 | rtems_event_receive(RTEMS_EVENT_0 | RTEMS_EVENT_1 | RTEMS_EVENT_2 | RTEMS_EVENT_3 | RTEMS_EVENT_4 | RTEMS_EVENT_5, | |
530 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT |
|
531 | RTEMS_WAIT | RTEMS_EVENT_ANY, RTEMS_NO_TIMEOUT, &event_out); // wait for an RTEMS_EVENT | |
531 | intEventOut = (unsigned int) event_out; |
|
532 | intEventOut = (unsigned int) event_out; | |
532 | PRINTF1("in DUMB *** event_out %x\n", (int) event_out) |
|
|||
533 | for ( i=0; i<32; i++) |
|
533 | for ( i=0; i<32; i++) | |
534 | { |
|
534 | { | |
535 | if ( ((intEventOut >> i) & 0x0001) != 0) |
|
535 | if ( ((intEventOut >> i) & 0x0001) != 0) | |
@@ -823,7 +823,7 int transition_validation(unsigned char | |||||
823 | switch (requestedMode) |
|
823 | switch (requestedMode) | |
824 | { |
|
824 | { | |
825 | case LFR_MODE_STANDBY: |
|
825 | case LFR_MODE_STANDBY: | |
826 |
if ( |
|
826 | if ( lfrMode == LFR_MODE_STANDBY ) { | |
827 | status = LFR_DEFAULT; |
|
827 | status = LFR_DEFAULT; | |
828 | } |
|
828 | } | |
829 | else |
|
829 | else | |
@@ -832,7 +832,7 int transition_validation(unsigned char | |||||
832 | } |
|
832 | } | |
833 | break; |
|
833 | break; | |
834 | case LFR_MODE_NORMAL: |
|
834 | case LFR_MODE_NORMAL: | |
835 |
if ( |
|
835 | if ( lfrMode == LFR_MODE_NORMAL ) { | |
836 | status = LFR_DEFAULT; |
|
836 | status = LFR_DEFAULT; | |
837 | } |
|
837 | } | |
838 | else { |
|
838 | else { | |
@@ -840,8 +840,7 int transition_validation(unsigned char | |||||
840 | } |
|
840 | } | |
841 | break; |
|
841 | break; | |
842 | case LFR_MODE_BURST: |
|
842 | case LFR_MODE_BURST: | |
843 |
if ( |
|
843 | if ( lfrMode == LFR_MODE_STANDBY ) { | |
844 | | (lfrMode == LFR_MODE_SBM2) ) { |
|
|||
845 | status = LFR_DEFAULT; |
|
844 | status = LFR_DEFAULT; | |
846 | } |
|
845 | } | |
847 | else { |
|
846 | else { | |
@@ -849,7 +848,7 int transition_validation(unsigned char | |||||
849 | } |
|
848 | } | |
850 | break; |
|
849 | break; | |
851 | case LFR_MODE_SBM1: |
|
850 | case LFR_MODE_SBM1: | |
852 |
if ( |
|
851 | if ( lfrMode == LFR_MODE_SBM1 ) { | |
853 | status = LFR_DEFAULT; |
|
852 | status = LFR_DEFAULT; | |
854 | } |
|
853 | } | |
855 | else { |
|
854 | else { | |
@@ -857,8 +856,7 int transition_validation(unsigned char | |||||
857 | } |
|
856 | } | |
858 | break; |
|
857 | break; | |
859 | case LFR_MODE_SBM2: |
|
858 | case LFR_MODE_SBM2: | |
860 |
if ( |
|
859 | if ( lfrMode == LFR_MODE_SBM2 ) { | |
861 | | (lfrMode == LFR_MODE_BURST) | (lfrMode == LFR_MODE_SBM2) ) { |
|
|||
862 | status = LFR_DEFAULT; |
|
860 | status = LFR_DEFAULT; | |
863 | } |
|
861 | } | |
864 | else { |
|
862 | else { | |
@@ -964,15 +962,16 int enter_normal_mode( ccsdsTelecommandP | |||||
964 | } |
|
962 | } | |
965 |
|
963 | |||
966 | #ifdef GSA |
|
964 | #ifdef GSA | |
967 |
|
|
965 | LEON_Clear_interrupt( IRQ_WF ); | |
|
966 | LEON_Unmask_interrupt( IRQ_WF ); | |||
968 | #else |
|
967 | #else | |
969 |
|
|
968 | LEON_Clear_interrupt( IRQ_WAVEFORM_PICKER ); | |
970 |
|
|
969 | LEON_Unmask_interrupt( IRQ_WAVEFORM_PICKER ); | |
971 |
|
|
970 | waveform_picker_regs->burst_enable = 0x07; | |
972 |
|
|
971 | waveform_picker_regs->addr_data_f1 = (int) wf_snap_f1; | |
973 |
|
|
972 | waveform_picker_regs->status = 0x00; | |
974 | #endif |
|
973 | #endif | |
975 |
|
|
974 | LEON_Unmask_interrupt( IRQ_SM ); | |
976 |
|
975 | |||
977 | return status; |
|
976 | return status; | |
978 | } |
|
977 | } |
@@ -139,13 +139,15 rtems_isr waveforms_simulator_isr( rtems | |||||
139 | //******** |
|
139 | //******** | |
140 | // STANDBY |
|
140 | // STANDBY | |
141 | case(LFR_MODE_STANDBY): |
|
141 | case(LFR_MODE_STANDBY): | |
|
142 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_5 ); | |||
142 | break; |
|
143 | break; | |
143 |
|
144 | |||
144 | //****** |
|
145 | //****** | |
145 | // NORMAL |
|
146 | // NORMAL | |
146 | case(LFR_MODE_NORMAL): |
|
147 | case(LFR_MODE_NORMAL): | |
|
148 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_5 ); | |||
147 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { |
|
149 | if (rtems_event_send( Task_id[TASKID_WFRM], RTEMS_EVENT_MODE_NORMAL ) != RTEMS_SUCCESSFUL) { | |
148 | PRINTF("ERR *** in waveforms_isr *** error sending event to WFRM\n") |
|
150 | rtems_event_send( Task_id[TASKID_DUMB], RTEMS_EVENT_5 ); | |
149 | } |
|
151 | } | |
150 | break; |
|
152 | break; | |
151 |
|
153 | |||
@@ -549,7 +551,9 void send_waveform_norm(Header_TM_LFR_SC | |||||
549 | send_waveform_SWF( header, wf_snap_f2, SID_NORM_SWF_F2, spw_ioctl_send); |
|
551 | send_waveform_SWF( header, wf_snap_f2, SID_NORM_SWF_F2, spw_ioctl_send); | |
550 | #ifdef GSA |
|
552 | #ifdef GSA | |
551 | // irq processed, reset the related register of the timer unit |
|
553 | // irq processed, reset the related register of the timer unit | |
552 |
gptimer_regs->timer[ |
|
554 | gptimer_regs->timer[TIMER_WF_SIMULATOR].ctrl = gptimer_regs->timer[TIMER_WF_SIMULATOR].ctrl | 0x00000010; | |
|
555 | // clear the interruption | |||
|
556 | LEON_Clear_interrupt(IRQ_WF); | |||
553 | #else |
|
557 | #else | |
554 | // irq processed, reset the related register of the waveform picker |
|
558 | // irq processed, reset the related register of the waveform picker | |
555 | if (lfrMode == LFR_MODE_SBM1) { |
|
559 | if (lfrMode == LFR_MODE_SBM1) { |
General Comments 0
You need to be logged in to leave comments.
Login now