Please find attached the TOPE-Tcl script for the PACS-DPU test at ASTRIUM. The procedure prompts for almost everything which is required for its execution and is meant to be self-explanatory. The procedure has been successfully tested on the PACS AVM setup and all result values are confirmed. --------------------------------------------------------------------- # Missionphase : PACS AVM ILT # # Purpose : PACS DPU Test at ASTRIUM # # Author : H. Feuchtgruber # # Arguments : # # Description : Executes a DPU switch-on, a number of tests from SVVP 2.1 # and a switch-off in the end. # The source code for the frequently used WaitForGo procedure # is provided as well. # : # Comments : Required external support: power, SCOS2000 with PACS MIB # It is useful in order to keep track of the number of TM(1,1) # packets to note the "SourceSequenceCounter" each time when # confirmation is requested by the WaitForGo. # # Version : 1.0 # History : 1.0 / 20-Feb-2004 First version # # Here is the code for the WaitForGo which is used # throughout the test procedure # proc WaitForGo args { tk_dialog .waitForGo "Wait for go" \ "$args" question \ 0 "Go!" } # # # End of WaitForGo procedure # # TEST 1: PACS DPU SWITCH ON # # DPU switch-on with stabilisation time WaitForGo "Confirm that DPU is switched on" putlog "DPU switched on" waittime 15.0 # DPU Force Boot putlog "Force Boot DPU" tcsend PC032380 waittime 4.0 WaitForGo "Select Display DPU LONG and TC Verification" putlog "Display Selected" waittime 0.5 WaitForGo "IS THE PACS HK CORRECT ?" putlog "PACS HK CORRECT" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # # END OF TEST 1: PACS DPU SWITCH ON # # # TEST 2: TEST OF FUNCTION MANAGEMENT SERVICE # # SVVP step 8.1, page 19 #DPU-SET-HK-LIST (PHOT for both channels) tcsend PC003380 {PP005380 2} {PP025380 1} waittime 0.5 WaitForGo "Has the TM(1,1) been received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "Is the PHOT HK packet selected ?" putlog "PHOT HK selected" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # End of SVVP step 8.1, page 19 # SVVP step 8.2, page 19 # DPU-SET-HK-LIST (NONPRIME for both channels) tcsend PC003380 {PP005380 4} {PP025380 1} WaitForGo "Has the TM(1,1) been received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "Is the NON-PRIME HK packet selected ?" putlog "NON-PRIME HK selected" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # End of SVVP step 8.2, page 19 # SVVP step 8.3, page 20 #DPU-SET-HK-LIST (SPEC for both channels) tcsend PC003380 {PP005380 1} {PP025380 1} waittime 0.5 WaitForGo "Has the TM(1,1) been received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "Is the SPEC-PRIME HK packet selected ?" putlog "SPEC-PRIME HK selected" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # End of SVVP step 8.3, page 20 # # END OF TEST 2: TEST OF FUNCTION MANAGEMENT SERVICE # # # TEST 3: TEST OF TEST SERVICE AND UPLINK RATE # # Test one single TC(17,1) # DPU_TEST_CONN WaitForGo "Select Display TM Header and TC Verification" putlog "TM Header and TC Verification selected" waittime 0.5 tcsend PC023380 waittime 0.5 WaitForGo "Has the TM(1,1) and TM(17,2) been received ?" putlog "TM(1,1), TM(17,2) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # Test 30 TC(17,1) commands at a rate of 2Hz for {set ix 0} {$ix <= 29} {incr ix} { # DPU_TEST_CONN tcsend PC023380 waittime 0.5 } WaitForGo "Are all expected TM(1,1) and TM(17,2) received ?" putlog "All TM(1,1), TM(17,2) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # # END OF TEST 3: TEST OF TEST SERVICE AND UPLINK RATE # # # TEST 4: TEST OF TIME MANAGEMENT SERVICE (SVVP page 20) # # DPU_TIME_VERIF WaitForGo "Select Display DPU TIME" putlog "DPU TIME selected" waittime 0.5 tcsend PC024380 WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(9,9) received ?" putlog "TM(9,9) received" waittime 0.5 WaitForGo "Packet time = Header Time + 1 ?" putlog "Packet Time correct" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # # END OF TEST 4: TEST OF TIME MANAGEMENT SERVICE (SVVP page 20) # # # TEST 5: TEST OF PACKET TRANSMISSION CONTROL SERVICE (SVVP page 36) # # DPU_REPORT_ENABLED_PAC TC(14,3) WaitForGo "Prepare VPD Display for TM(14,4)" # Data Stream = 65535 # Type = 14 # Sub-Type = 4 # APID = 1152 putlog "VPD selected" waittime 0.5 tcsend PC022380 WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(14,4) received with number of times = 48 ?" putlog "correct TM(14,4) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # DPU_DISABLE_PACKET_TRANS TC(14,2) # This command disables the sending of HK packets TM(3,25) tcsend PC021380 {PP010380 1} {PP016380 3} {PP015380 25} {PP002380 1} WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "Verify that no SPEC HK packets are sent anymore" putlog "No SPEC HK sent" waittime 0.5 # DPU_REPORT_ENABLED_PAC TC(14,3) WaitForGo "Prepare VPD Display for TM(14,4)" # Data Stream = 65535 # Type = 14 # Sub-Type = 4 # APID = 1152 putlog "VPD selected" waittime 0.5 tcsend PC022380 WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(14,4) received with number of times = 47 ?" putlog "correct TM(14,4) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # DPU_ENABLE_PACKET_TRANS TC(14,1) tcsend PC020380 {PP010380 1} {PP016380 3} {PP015380 25} {PP002380 1} WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "Verify that HK packets are sent again" putlog "HK sent again" waittime 0.5 # DPU_REPORT_ENABLED_PAC TC(14,3) WaitForGo "Prepare VPD Display for TM(14,4)" # Data Stream = 65535 # Type = 14 # Sub-Type = 4 # APID = 1152 putlog "VPD selected" waittime 0.5 tcsend PC022380 WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(14,4) received with number of times = 48 ?" putlog "correct TM(14,4) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # # END OF TEST 5: TEST OF PACKET TRANSMISSION CONTROL SERVICE (SVVP page 36) # # # TEST 6: TEST OF MEMORY MANAGEMENT SERVICE (SVVP page 28) # # DPU_MEMORY_CHECK TC(6,9) WaitForGo "Prepare MEM CHECK Display" putlog "MEM CHECK selected" waittime 0.5 tcsend PC029380 {PP009380 0x1300 LO} {PP003380 0} {PP008380 1} WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(6,10) with MEMID=0x1300,START=0,LENGTH=1,CHK=0xB7F1" # # Here are the expected values: # MEMID = 0x1300 # START = 0 # LENGTH = 1 # CHECKSUM = 0xB7F1 # putlog "correct TM(6,10) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # DPU_MEMORY_DUMP TC(6,5) WaitForGo "Prepare VPD Display for TM(6,6)" # Data Stream = 65535 # Type = 6 # Sub-Type = 6 # APID = 1152 putlog "VPD selected" waittime 0.5 tcsend PC028380 {PP009380 0x1300 LO} {PP003380 0} {PP008380 1} WaitForGo "TM(1,1) received ?" putlog "TM(1,1) received" waittime 0.5 WaitForGo "TM(6,6) with MEMID=0x1300,START=0,LENGTH=1,DATA=0x100,CHK=0x7A3C" # # Here are the expected values: # MEMID = 0x1300 # START ADDRESS = 0 # LENGTH = 1 # DATA = 0x100 # CHECKSUM = 0x7A3C # putlog "correct TM(6,6) received" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # # END OF TEST 6: TEST OF MEMORY MANAGEMENT SERVICE (SVVP page 28) # # # TEST 7: TEST OF DOWNLINK BANDWIDTH VIA OBCP 29 # WaitForGo "Start the data rate monitor" putlog "data rate monitor started" waittime 0.5 WaitForGo "Now the TM rate Test, is the bus list nominal ?" putlog "Bus list nominal" waittime 0.5 # Generates 15 packets per second for 50 seconds # about 125 kbit/sec tcsend PC012380 [list PP012380 29] [list PP010380 2] \ [list PP011380 1] [list PP017380 50] \ [list PP011380 2] [list PP017380 15] waittime 52.0 WaitForGo "Is the data flow finished ?" putlog "Data flow finished" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # Second part of the test for burst rate WaitForGo "Switch the CDMS to burst bus profile" putlog "Burst profile of CDMS on" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # DPU_SET_BUS_LIST # set it to burst tcsend PC009380 {PP006380 1} WaitForGo "Check in DPU HK that 1553 bus list is BURST" putlog "DPU Burst on" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # Generates 34 packets per second for 50 seconds # about 280-290 kbit/sec tcsend PC012380 [list PP012380 29] [list PP010380 2] \ [list PP011380 1] [list PP017380 50] \ [list PP011380 2] [list PP017380 34] waittime 52.0 WaitForGo "Is the data flow finished ?" putlog "Data flow finished" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 # DPU_SET_BUS_LIST # set it back to nominal tcsend PC009380 {PP006380 0} WaitForGo "Check in DPU HK that 1553 bus list is NOMINAL" putlog "DPU nominal bus list on" waittime 0.5 WaitForGo "Continue ?" putlog "Continue" waittime 0.5 WaitForGo "Switch the CDMS to nominal bus profile" putlog "Nominal profile of CDMS on" waittime 0.5 # DPU switch-off WaitForGo "Confirm that DPU is switched off" putlog "DPU switched off" waittime 1.0 WaitForGo "Confirm the end of the test" putlog "End of test confirmed" waittime 0.5 # # END OF TEST 7: TEST OF DOWNLINK BANDWIDTH VIA OBCP 29 # putlog "END OF TEST" # # END OF WHOLE TEST SEQUENCE #