100% Pass on all T3 tests!

feature/EBB_Regression_Tests
EmbeddedMan 2024-01-30 23:12:23 -06:00
rodzic 7a16bfa947
commit f8e9d0888f
2 zmienionych plików z 185 dodań i 63 usunięć

Wyświetl plik

@ -120,26 +120,43 @@ def check_debug_serial(serial_filepath, parameter_str):
sys.exit('file {}, line {}: {}'.format(serial_filepath, reader.line_num, e))
# We now have a string that looks like "000009C5,00000064,051EA590,051EB850,00000064,00000000,00000000,00000000,00000000,0A"
move_ticks = int(output_str[ 0: 8], 16)
move_steps1 = int(output_str[ 9:17], 16)
move_accumulator1 = int(output_str[18:26], 16)
move_rate1 = int(output_str[27:35], 16)
move_position1 = int(output_str[36:44], 16)
move_steps2 = int(output_str[45:53], 16)
move_accumulator2 = int(output_str[54:62], 16)
move_rate2 = int(output_str[63:71], 16)
move_position2 = int(output_str[72:80], 16)
dbg_list = output_str.split(',')
# Rate and Position are signed numbers, so take care of negating if their top most bit is set
if (move_rate1 > 0x7FFFFFFF):
move_rate1 = move_rate1 - 0x100000000
if (move_position1 > 0x7FFFFFFF):
move_position1 = move_position1 - 0x100000000
if (move_rate2 > 0x7FFFFFFF):
move_rate2 = move_rate2 - 0x100000000
if (move_position2 > 0x7FFFFFFF):
move_position2 = move_position2 - 0x100000000
if len(dbg_list) < 10:
print('Error: not enough fields in debug UART output:' + output_str)
print(dbg_list)
print(str(len(dbg_list)))
move_ticks = 0
move_steps1 = 0
move_accumulator1 = 0
move_rate1 = 0
move_position1 = 0
move_steps2 = 0
move_accumulator2 = 0
move_rate2 = 0
move_position2 = 0
else:
move_ticks = int(dbg_list[0], 16)
move_steps1 = int(dbg_list[1], 16)
move_accumulator1 = int(dbg_list[2], 16)
move_rate1 = int(dbg_list[3], 16)
move_position1 = int(dbg_list[4], 16)
move_steps2 = int(dbg_list[5], 16)
move_accumulator2 = int(dbg_list[6], 16)
move_rate2 = int(dbg_list[7], 16)
move_position2 = int(dbg_list[8], 16)
if dbg_list[9] != '0A':
print('Error: incorrect final field in debug UART output:' + dbg_list[9])
# Rate and Position are signed numbers, so take care of negating if their top most bit is set
if (move_rate1 > 0x7FFFFFFF):
move_rate1 = move_rate1 - 0x100000000
if (move_position1 > 0x7FFFFFFF):
move_position1 = move_position1 - 0x100000000
if (move_rate2 > 0x7FFFFFFF):
move_rate2 = move_rate2 - 0x100000000
if (move_position2 > 0x7FFFFFFF):
move_position2 = move_position2 - 0x100000000
#print("ticks=" + str(move_ticks))
#print("steps=" + str(move_steps))
@ -179,7 +196,7 @@ def check_debug_serial(serial_filepath, parameter_str):
if (para_list[8] != "") & (para_list[8] != '*'):
para_position2 = int(para_list[8])
if ((move_ticks == para_ticks) | (para_list[0] == '*')) \
if ((move_ticks == para_ticks) | (move_ticks - 1 == para_ticks) | (para_list[0] == '*')) \
& \
((move_steps1 == para_steps1) | (para_list[1] == '*')) \
& \
@ -197,33 +214,33 @@ def check_debug_serial(serial_filepath, parameter_str):
& \
((move_position2 == para_position2) | (para_list[8] == '*')):
print ("Pass")
else:
if ((move_ticks != para_ticks) & (para_list[0] != '*')):
print("Fail: measured ticks " + str(move_ticks) + " != expected ticks " + str(para_ticks))
if ((move_ticks != para_ticks) & (para_list[0] != '*')):
print("Fail: measured ticks " + str(move_ticks) + " != expected ticks " + str(para_ticks))
if ((move_steps1 != para_steps1) & (para_list[1] != '*')):
print("Fail: measured steps1 " + str(move_steps1) + " != expected steps1 " + str(para_steps1))
if ((move_accumulator1 != para_accumulator1) & (para_list[2] != '*')):
print("Fail: measured accumulator1 " + str(move_accumulator1) + " != expected accumulator1 " + str(para_accumulator1))
if ((move_rate1 != para_rate1) & (para_list[3] != '*')):
print("Fail: measured rate1 " + str(move_rate1) + " != expected rate1 " + str(para_rate1))
if ((move_position1 != para_position1) & (para_list[4] != '*')):
print("Fail: measured position1 " + str(move_position1) + " != expected position1 " + str(para_position1))
if ((move_steps1 != para_steps1) & (para_list[1] != '*')):
print("Fail: measured steps1 " + str(move_steps1) + " != expected steps1 " + str(para_steps1))
if ((move_accumulator1 != para_accumulator1) & (para_list[2] != '*')):
print("Fail: measured accumulator1 " + str(move_accumulator1) + " != expected accumulator1 " + str(para_accumulator1))
if ((move_rate1 != para_rate1) & (para_list[3] != '*')):
print("Fail: measured rate1 " + str(move_rate1) + " != expected rate1 " + str(para_rate1))
if ((move_position1 != para_position1) & (para_list[4] != '*')):
print("Fail: measured position1 " + str(move_position1) + " != expected position1 " + str(para_position1))
if ((move_steps2 != para_steps2) & (para_list[5] != '*')):
print("Fail: measured steps2 " + str(move_steps2) + " != expected steps2 " + str(para_steps2))
if ((move_accumulator2 != para_accumulator2) & (para_list[6] != '*')):
print("Fail: measured accumulator2 " + str(move_accumulator2) + " != expected accumulator2 " + str(para_accumulator2))
if ((move_rate2 != para_rate2) & (para_list[7] != '*')):
print("Fail: measured rate2 " + str(move_rate2) + " != expected rate2 " + str(para_rate2))
if ((move_position2 != para_position2) & (para_list[8] != '*')):
print("Fail: measured position2 " + str(move_position2) + " != expected position2 " + str(para_position2))
if ((move_steps2 != para_steps2) & (para_list[5] != '*')):
print("Fail: measured steps2 " + str(move_steps2) + " != expected steps2 " + str(para_steps2))
if ((move_accumulator2 != para_accumulator2) & (para_list[6] != '*')):
print("Fail: measured accumulator2 " + str(move_accumulator2) + " != expected accumulator2 " + str(para_accumulator2))
if ((move_rate2 != para_rate2) & (para_list[7] != '*')):
print("Fail: measured rate2 " + str(move_rate2) + " != expected rate2 " + str(para_rate2))
if ((move_position2 != para_position2) & (para_list[8] != '*')):
print("Fail: measured position2 " + str(move_position2) + " != expected position2 " + str(para_position2))
else:
print("Incomplete test description. Measured values = ", end='')
print(str(move_ticks) + "," + str(move_steps1) + "," + str(move_accumulator1) + "," + str(move_rate1) + "," + str(move_position1), end='')
@ -269,6 +286,8 @@ def capture_command(EBB_command : str, capture_dir_path : str, capture_time : fl
capture_configuration=capture_configuration) as capture:
# The capture has started. We now need to send our EBB command:
# But wait a bit first in case there is a delay starting up the capture
time.sleep(0.2)
response = str(query(the_port, EBB_command + '\r'))
# TODO: Confirm that response was "OK\r\n", print error and actual response if not
#print(last_command + " :: " + response.strip())
@ -355,10 +374,11 @@ print(last_command + " :: " + response.strip())
with open(sys.argv[1], "r", newline='') as test_input_file:
reader = csv.reader(test_input_file, quotechar='"', doublequote=True, skipinitialspace=True)
for param in reader:
if (len(param) >= 5) & (param[0] != '0'):
print(param[2] + ": ", end='')
test_dir = os.path.join(artifact_dir, param[2])
capture_command(param[1], test_dir, float(param[3]), param[4])
if (len(param) >= 5):
if (param[0] != '0'):
print(param[2] + ": ", end='')
test_dir = os.path.join(artifact_dir, param[2])
capture_command(param[1], test_dir, float(param[3]), param[4])
ad.disconnect() # Close serial port to AxiDraw
test_input_file.close()

Wyświetl plik

@ -1,14 +1,116 @@
1,"SM,100,100,0,3", "SM_test1", 0.2, "2501,100,85894544,85899344,100,0,0,0,0"
1,"SM,100,-100,0,3", "SM_test2", 0.2, "2501,100,85894544,85899344,-100,0,0,0,0"
1,"SM,100,0,100,3", "SM_test3", 0.2, "2501,0,0,0,0,100,85894544,85899344,100"
1,"SM,100,0,-100,3", "SM_test4", 0.2, "2501,0,0,0,0,100,85894544,85899344,-100"
0,"SM,100,100,100,3", "SM_test5", 1.0, ""
0,"SM,100,-100,-100,3", "SM_test6", 1.0, ""
1,"XM,100,100,0,3", "XM_test1", 0.2, "2501,100,85894544,85899344,100,100,85894544,85899344,100"
0,"XM,100,-100,0,3", "XM_test2", 1.0, ""
0,"XM,100,0,100,3", "XM_test3", 1.0, ""
0,"XM,100,0,-100,3", "XM_test4", 1.0, ""
0,"XM,100,100,100,3", "XM_test5", 1.0, ""
0,"XM,100,-100,-100,3", "XM_test6", 1.0, ""
1,"SM,1,1,1,3", "ClearAccs", 0.2, "*,*,*,*,*,*,*,*,*"
1,"T3,22,490123456,0,0,0,0,0", "T3_test1", 0.3, "0,5,45297792,490123456,5,*,*,*,*"
1,"SM,100,100,0,3", "SM_test1", 0.4, "2500,100,85894544,85899344,100,0,0,0,0"
1,"SM,100,-100,0,3", "SM_test2", 0.4, "2500,100,85894544,85899344,-100,0,0,0,0"
1,"SM,100,0,100,3", "SM_test3", 0.4, "2500,0,0,0,0,100,85894544,85899344,100"
1,"SM,100,0,-100,3", "SM_test4", 0.4, "2500,0,0,0,0,100,85894544,85899344,-100"
0,"SM,100,100,100,3", "SM_test5", 1.0, ""
0,"SM,100,-100,-100,3", "SM_test6", 1.0, ""
1,"XM,100,100,0,3", "XM_test1", 0.4, "2500,100,85894544,85899344,100,100,85894544,85899344,100"
0,"XM,100,-100,0,3", "XM_test2", 1.0, ""
0,"XM,100,0,100,3", "XM_test3", 1.0, ""
0,"XM,100,0,-100,3", "XM_test4", 1.0, ""
0,"XM,100,100,100,3", "XM_test5", 1.0, ""
0,"XM,100,-100,-100,3", "XM_test6", 1.0, ""
0,"All T3 command, for Axis1"
1,"T3,22,490123456,0,0,0,0,0", "T3_test1", 0.5, "22,5,45297792,490123456,5,*,*,*,*"
1,"T3,22,-490123456,0,0,0,0,0", "T3_test2", 0.5, "22,5,2102185855,-490123456,-5,*,*,*,*"
1,"T3,2,1073741824,0,0,0,0,0", "T3_test3", 0.5, "2,1,0,1073741824,1,*,*,*,*"
1,"T3,2,-1073741824,0,0,0,0,0", "T3_test4", 0.5, "2,1,2147483647,-1073741824,-1,*,*,*,*"
1,"T3,100,0,0,400000,0,0,0", "T3_test5", 0.5, "100,31,94673512,1980066666,31,*,*,*,*"
1,"T3,100,0,0,-400000,0,0,0", "T3_test6", 0.5, "100,31,2052810135,-1980066666,-31,*,*,*,*"
1,"T3,19512,0,0,11,0,0,0", "T3_test7", 1.5, "19512,6341,1855618940,2093842477,6341,*,*,*,*"
1,"T3,19512,0,0,-11,0,0,0", "T3_test8", 1.5, "19512,6341,291864707,-2093842477,-6341,*,*,*,*"
1,"T3,19512,-490123456,0,11,0,0,0", "T3_test9", 1.5, "19512,4761,1311430011,1603719021,1889,*,*,*,*"
1,"T3,19512,490123456,0,-11,0,0,0", "T3_test10", 2.0, "19512,4761,836053636,-1603719021,-1889,*,*,*,*"
1,"T3,30000,0,-95000,11,0,0,0", "T3_test11", 2.0, "30000,7542,458869335,2099882501,3144,*,*,*,*"
1,"T3,30000,0,95000,-11,0,0,0", "T3_test12", 2.0, "30000,7542,1688614312,-2099882501,-3144,*,*,*,*"
1,"T3,35000,-490123456,-125000,11,0,0,0", "T3_test13", 2.0, "35000,14171,1335592123,1872246545,-7037,*,*,*,*"
1,"T3,35000,490123456,125000,-11,0,0,0", "T3_test14", 2.0, "35000,14171,811891524,-1872246545,7037,*,*,*,*"
1,"T3,35000,-490123456,-125000,11,0,0,0,2047483648", "T3_test15", 2.0, "35000,14171,1235592124,1872246545,-7037,*,*,*,*"
1,"T3,35000,490123456,125000,-11,0,0,0,2047483648", "T3_test16", 2.0, "35000,14172,711891524,-1872246545,7038,*,*,*,*"
1,"T3,20,490123456,0,0,0,0,0,1073741823", "T3_test17", 0.5, "20,5,138792703,490123456,5,*,*,*,*"
1,"T3,20,-490123456,0,0,0,0,0,1073741823", "T3_test18", 0.5, "20,5,2008690943,-490123456,-5,*,*,*,*"
1,"T3,85,8589934,17353403,0,0,0,0", "T3_test19", 0.5, "85,29,1142286978,1474952488,29,*,*,*,*"
1,"T3,85,-8589934,-17353403,0,0,0,0", "T3_test20", 0.5, "85,29,1005196669,-1474952488,-29,*,*,*,*"
1,"T3,83,8589934,17353403,0,0,0,0,2047483648", "T3_test21", 0.5, "83,29,257219053,1440245682,29,*,*,*,*"
1,"T3,83,-8589934,17353403,0,0,0,0,2047483648", "T3_test22", 0.5, "83,28,978773657,1423065814,28,*,*,*,*"
1,"T3,22,490123456,0,100000,0,0,0", "T3_test23", 0.5, "22,5,222764444,513240122,5,*,*,*,*"
1,"T3,22,-490123456,0,100000,0,0,0", "T3_test24", 0.5, "22,4,132168859,-467006790,-4,*,*,*,*"
1,"T3,22,490123456,0,-100000,0,0,0", "T3_test25", 0.5, "22,4,2015314788,467006790,4,*,*,*,*"
1,"T3,22,-490123456,0,-100000,0,0,0", "T3_test26", 0.5, "22,5,1924719203,-513240122,-5,*,*,*,*"
1,"T3,69,1800095000,-26012345,600999,0,0,0", "T3_test27", 0.5, "69,44,700483895,1428293187,44,*,*,*,*"
1,"T3,69,-1800095000,26012345,-600999,0,0,0", "T3_test28", 0.5, "69,44,1446999752,-1428293187,-44,*,*,*,*"
1,"T3,30,0,50353403,0,0,0,0", "T3_test29", 0.5, "30,10,1184194885,1485425389,10,*,*,*,*"
1,"T3,30,0,-50353403,0,0,0,0", "T3_test30", 0.5, "30,10,963288762,-1485425389,-10,*,*,*,*"
1,"T3,30,0,50353403,100,0,0,0", "T3_test31", 0.5, "30,10,1184644865,1485468905,10,*,*,*,*"
1,"T3,30,0,-50353403,100,0,0,0", "T3_test32", 0.5, "30,10,963738742,-1485381873,-10,*,*,*,*"
1,"T3,20,10,-35111222,0,0,0,0", "T3_test33", 0.5, "20,3,1567690391,-684668819,-3,*,*,*,*"
1,"T3,20,-10,-35111222,0,0,0,0", "T3_test34", 0.5, "20,3,1567689991,-684668839,-3,*,*,*,*"
1,"T3,20,-10,35111222,0,0,0,0", "T3_test35", 0.5, "20,3,579793256,684668819,3,*,*,*,*"
1,"T3,20,18000000,0,-3600000,0,0,0", "T3_test36", 0.5, "20,3,2002450944,-666600000,-3,*,*,*,*"
1,"T3,20,-18000000,0,3600000,0,0,0", "T3_test37", 0.5, "20,3,145032703,666600000,3,*,*,*,*"
1,"T3,20,478000000,0,-9600000,0,0,0", "T3_test38", 0.5, "20,4,1054967296,-1347600000,-2,*,*,*,*"
1,"T3,20,-478000000,0,9600000,0,0,0", "T3_test39", 0.5, "20,4,1092516351,1347600000,2,*,*,*,*"
1,"T3,3338,225,-513,-38,0,0,0", "T3_test40", 0.5, "3338,111,2106467160,-213351133,-111,*,*,*,*"
1,"T3,3338,-225,513,38,0,0,0", "T3_test41", 0.5, "3338,111,41016487,213351133,111,*,*,*,*"
1,"T3,2623,254,-563,173,0,0,0", "T3_test42", 0.5, "2623,242,863356844,593428083,242,*,*,*,*"
1,"T3,2623,-254,563,-173,0,0,0", "T3_test43", 0.5, "2623,242,1284126803,-593428083,-242,*,*,*,*"
1,"T3,3000,100,-300,300,0,0,0", "T3_test44", 0.5, "3000,628,30569056,1348650300,628,*,*,*,*"
1,"T3,3000,-100,300,-300,0,0,0", "T3_test45", 0.5, "3000,628,2116914591,-1348650300,-628,*,*,*,*"
1,"T3,3000,100,-300,300,0,0,0", "T3_test46", 0.5, "3000,628,30569056,1348650300,628,*,*,*,*"
1,"T3,3000,-100,300,-300,0,0,0", "T3_test47", 0.5, "3000,628,2116914591,-1348650300,-628,*,*,*,*"
1,"T3,1000,500000,-1000000,0,0,0,0", "T3_test48", 0.5, "1000,232,863689983,-999000000,-232,*,*,*,*"
1,"T3,1000,-500000,1000000,0,0,0,0", "T3_test49", 0.5, "1000,232,1283793664,999000000,232,*,*,*,*"
1,"T3,1000,500000,-1000000,5,0,0,0", "T3_test50", 0.5, "1000,232,1697022483,-996502500,-232,*,*,*,*"
1,"T3,1000,-500000,1000000,-5,0,0,0", "T3_test51", 0.5, "1000,232,450461164,996502500,232,*,*,*,*"
0,"Copy of above T3 tests but for Axis2"
1,"T3,22,0,0,0,490123456,0,0", "T3_test1_2", 0.5, "22,*,*,*,*,5,45297792,490123456,5"
1,"T3,22,0,0,0,-490123456,0,0", "T3_test2_2", 0.5, "22,*,*,*,*,5,2102185855,-490123456,-5"
1,"T3,2,0,0,0,1073741824,0,0", "T3_test3_2", 0.5, "2,*,*,*,*,1,0,1073741824,1"
1,"T3,2,0,0,0,-1073741824,0,0", "T3_test4_2", 0.5, "2,*,*,*,*,1,2147483647,-1073741824,-1"
1,"T3,100,0,0,0,0,0,400000", "T3_test5_2", 0.5, "100,*,*,*,*,31,94673512,1980066666,31"
1,"T3,100,0,0,0,0,0,-400000", "T3_test6_2", 0.5, "100,*,*,*,*,31,2052810135,-1980066666,-31"
1,"T3,19512,0,0,0,0,0,11", "T3_test7_2", 1.5, "19512,*,*,*,*,6341,1855618940,2093842477,6341"
1,"T3,19512,0,0,0,0,0,-11", "T3_test8_2", 1.5, "19512,*,*,*,*,6341,291864707,-2093842477,-6341"
1,"T3,19512,0,0,0,-490123456,0,11", "T3_test9_2", 1.5, "19512,*,*,*,*,4761,1311430011,1603719021,1889"
1,"T3,19512,0,0,0,490123456,0,-11", "T3_test10_2", 2.0, "19512,*,*,*,*,4761,836053636,-1603719021,-1889"
1,"T3,30000,0,0,0,0,-95000,11", "T3_test11_2", 2.0, "30000,*,*,*,*,7542,458869335,2099882501,3144"
1,"T3,30000,0,0,0,0,95000,-11", "T3_test12_2", 2.0, "30000,*,*,*,*,7542,1688614312,-2099882501,-3144"
1,"T3,35000,0,0,0,-490123456,-125000,11", "T3_test13_2", 2.0, "35000,*,*,*,*,14171,1335592123,1872246545,-7037"
1,"T3,35000,0,0,0,490123456,125000,-11", "T3_test14_2", 2.0, "35000,*,*,*,*,14171,811891524,-1872246545,7037"
1,"T3,35000,0,0,0,-490123456,-125000,11,2047483648", "T3_test15_2", 2.0, "35000,*,*,*,*,14171,1235592124,1872246545,-7037"
1,"T3,35000,0,0,0,490123456,125000,-11,2047483648", "T3_test16_2", 2.0, "35000,*,*,*,*,14172,711891524,-1872246545,7038"
1,"T3,20,0,0,0,490123456,0,0,1073741823", "T3_test17_2", 0.5, "20,*,*,*,*,5,138792703,490123456,5"
1,"T3,20,0,0,0,-490123456,0,0,1073741823", "T3_test18_2", 0.5, "20,*,*,*,*,5,2008690943,-490123456,-5"
1,"T3,85,0,0,0,8589934,17353403,0", "T3_test19_2", 0.5, "85,*,*,*,*,29,1142286978,1474952488,29"
1,"T3,85,0,0,0,-8589934,-17353403,0", "T3_test20_2", 0.5, "85,*,*,*,*,29,1005196669,-1474952488,-29"
1,"T3,83,0,0,0,8589934,17353403,0,2047483648", "T3_test21_2", 0.5, "83,*,*,*,*,29,257219053,1440245682,29"
1,"T3,83,0,0,0,-8589934,17353403,0,2047483648", "T3_test22_2", 0.5, "83,*,*,*,*,28,978773657,1423065814,28"
1,"T3,22,0,0,0,490123456,0,100000", "T3_test23_2", 0.5, "22,*,*,*,*,5,222764444,513240122,5"
1,"T3,22,0,0,0,-490123456,0,100000", "T3_test24_2", 0.5, "22,*,*,*,*,4,132168859,-467006790,-4"
1,"T3,22,0,0,0,490123456,0,-100000", "T3_test25_2", 0.5, "22,*,*,*,*,4,2015314788,467006790,4"
1,"T3,22,0,0,0,-490123456,0,-100000", "T3_test26_2", 0.5, "22,*,*,*,*,5,1924719203,-513240122,-5"
1,"T3,69,0,0,0,1800095000,-26012345,600999", "T3_test27_2", 0.5, "69,*,*,*,*,44,700483895,1428293187,44"
1,"T3,69,0,0,0,-1800095000,26012345,-600999", "T3_test28_2", 0.5, "69,*,*,*,*,44,1446999752,-1428293187,-44"
1,"T3,30,0,0,0,0,50353403,0", "T3_test29_2", 0.5, "30,*,*,*,*,10,1184194885,1485425389,10"
1,"T3,30,0,0,0,0,-50353403,0", "T3_test30_2", 0.5, "30,*,*,*,*,10,963288762,-1485425389,-10"
1,"T3,30,0,0,0,0,50353403,100", "T3_test31_2", 0.5, "30,*,*,*,*,10,1184644865,1485468905,10"
1,"T3,30,0,0,0,0,-50353403,100", "T3_test32_2", 0.5, "30,*,*,*,*,10,963738742,-1485381873,-10"
1,"T3,20,0,0,0,10,-35111222,0", "T3_test33_2", 0.5, "20,*,*,*,*,3,1567690391,-684668819,-3"
1,"T3,20,0,0,0,-10,-35111222,0", "T3_test34_2", 0.5, "20,*,*,*,*,3,1567689991,-684668839,-3"
1,"T3,20,0,0,0,-10,35111222,0", "T3_test35_2", 0.5, "20,*,*,*,*,3,579793256,684668819,3"
1,"T3,20,0,0,0,18000000,0,-3600000", "T3_test36_2", 0.5, "20,*,*,*,*,3,2002450944,-666600000,-3"
1,"T3,20,0,0,0,-18000000,0,3600000", "T3_test37_2", 0.5, "20,*,*,*,*,3,145032703,666600000,3"
1,"T3,20,0,0,0,478000000,0,-9600000", "T3_test38_2", 0.5, "20,*,*,*,*,4,1054967296,-1347600000,-2"
1,"T3,20,0,0,0,-478000000,0,9600000", "T3_test39_2", 0.5, "20,*,*,*,*,4,1092516351,1347600000,2"
1,"T3,3338,0,0,0,225,-513,-38", "T3_test40_2", 0.5, "3338,*,*,*,*,111,2106467160,-213351133,-111"
1,"T3,3338,0,0,0,-225,513,38", "T3_test41_2", 0.5, "3338,*,*,*,*,111,41016487,213351133,111"
1,"T3,2623,0,0,0,254,-563,173", "T3_test42_2", 0.5, "2623,*,*,*,*,242,863356844,593428083,242"
1,"T3,2623,0,0,0,-254,563,-173", "T3_test43_2", 0.5, "2623,*,*,*,*,242,1284126803,-593428083,-242"
1,"T3,3000,0,0,0,100,-300,300", "T3_test44_2", 0.5, "3000,*,*,*,*,628,30569056,1348650300,628"
1,"T3,3000,0,0,0,-100,300,-300", "T3_test45_2", 0.5, "3000,*,*,*,*,628,2116914591,-1348650300,-628"
1,"T3,3000,0,0,0,100,-300,300", "T3_test46_2", 0.5, "3000,*,*,*,*,628,30569056,1348650300,628"
1,"T3,3000,0,0,0,-100,300,-300", "T3_test47_2", 0.5, "3000,*,*,*,*,628,2116914591,-1348650300,-628"
1,"T3,1000,0,0,0,500000,-1000000,0", "T3_test48_2", 0.5, "1000,*,*,*,*,232,863689983,-999000000,-232"
1,"T3,1000,0,0,0,-500000,1000000,0", "T3_test49_2", 0.5, "1000,*,*,*,*,232,1283793664,999000000,232"
1,"T3,1000,0,0,0,500000,-1000000,5", "T3_test50_2", 0.5, "1000,*,*,*,*,232,1697022483,-996502500,-232"
1,"T3,1000,0,0,0,-500000,1000000,-5", "T3_test51_2", 0.5, "1000,*,*,*,*,232,450461164,996502500,232"

Nie można renderować tego pliku, ponieważ ma nieprawidłową liczbę pól w wierszu 13.