1010from serial import SerialException
1111from geocompy .data import Angle
1212from geocompy .geo import GeoCom
13+ from geocompy .geo .gcdata import Device
1314from geocompy .geo .gctypes import GeoComCode , GeoComResponse
1415from geocompy .gsi .dna import GsiOnlineDNA
1516from geocompy .gsi .gsitypes import GsiOnlineResponse
@@ -23,6 +24,16 @@ def _test_geocom_mot(tps: GeoCom) -> GeoComResponse[Any]:
2324 return tps .mot .start_controller ()
2425
2526
27+ def _test_geocom_ftr (tps : GeoCom ) -> GeoComResponse [Any ]:
28+ for device in Device :
29+ response = tps .ftr .setup_listing (device )
30+ tps .ftr .abort_list ()
31+ if response .error == GeoComCode .OK :
32+ return response
33+
34+ return response
35+
36+
2637def tests_geocom (
2738 tps : GeoCom ,
2839 logger : Logger
@@ -56,7 +67,7 @@ def tests_geocom(
5667 tps .edm .switch_laserpointer ,
5768 (False ,)
5869 ),
59- ("File Transfer" , tps . ftr . setup_listing , ()),
70+ ("File Transfer" , _test_geocom_ftr , (tps , )),
6071 ("Imaging" , tps .img .get_telescopic_configuration , ()),
6172 ("Keyboard Display Unit" , tps .kdm .get_display_power_status , ()),
6273 ("Motorization" , _test_geocom_mot , (tps ,)),
@@ -77,9 +88,9 @@ def tests_geocom(
7788 response = cmd (* params )
7889 if response .error == GeoComCode .OK :
7990 result = ":white_check_mark:"
80- logger .error (f"{ subsystem } unavailable ({ response } )" )
8191 else :
8292 result = ":x:"
93+ logger .error (f"{ subsystem } unavailable ({ response } )" )
8394
8495 table .add_row (subsystem , result )
8596
0 commit comments