@@ -736,31 +736,29 @@ def power(self):
736736 drv = target .get_driver (NetworkPowerDriver )
737737 except NoDriverFoundError :
738738 drv = NetworkPowerDriver (target , name = None )
739- break
740739 elif isinstance (resource , NetworkUSBPowerPort ):
741740 try :
742741 drv = target .get_driver (USBPowerDriver )
743742 except NoDriverFoundError :
744743 drv = USBPowerDriver (target , name = None )
745- break
746744 elif isinstance (resource , NetworkSiSPMPowerPort ):
747745 try :
748746 drv = target .get_driver (SiSPMPowerDriver )
749747 except NoDriverFoundError :
750748 drv = SiSPMPowerDriver (target , name = None )
751- break
752749 elif isinstance (resource , PDUDaemonPort ):
753750 try :
754751 drv = target .get_driver (PDUDaemonDriver )
755752 except NoDriverFoundError :
756753 drv = PDUDaemonDriver (target , name = None )
757- break
758754 elif isinstance (resource , TasmotaPowerPort ):
759755 try :
760756 drv = target .get_driver (TasmotaPowerDriver )
761757 except NoDriverFoundError :
762758 drv = TasmotaPowerDriver (target , name = None )
763- break
759+ if drv :
760+ break
761+
764762 if not drv :
765763 raise UserError ("target has no compatible resource available" )
766764 if delay is not None :
@@ -804,42 +802,38 @@ def digital_io(self):
804802 except NoDriverFoundError :
805803 target .set_binding_map ({"coil" : name })
806804 drv = ModbusCoilDriver (target , name = name )
807- break
808805 elif isinstance (resource , OneWirePIO ):
809806 try :
810807 drv = target .get_driver (OneWirePIODriver , name = name )
811808 except NoDriverFoundError :
812809 target .set_binding_map ({"port" : name })
813810 drv = OneWirePIODriver (target , name = name )
814- break
815811 elif isinstance (resource , NetworkDeditecRelais8 ):
816812 try :
817813 drv = target .get_driver (DeditecRelaisDriver , name = name )
818814 except NoDriverFoundError :
819815 target .set_binding_map ({"relais" : name })
820816 drv = DeditecRelaisDriver (target , name = name )
821- break
822817 elif isinstance (resource , NetworkSysfsGPIO ):
823818 try :
824819 drv = target .get_driver (GpioDigitalOutputDriver , name = name )
825820 except NoDriverFoundError :
826821 target .set_binding_map ({"gpio" : name })
827822 drv = GpioDigitalOutputDriver (target , name = name )
828- break
829823 elif isinstance (resource , NetworkLXAIOBusPIO ):
830824 try :
831825 drv = target .get_driver (LXAIOBusPIODriver , name = name )
832826 except NoDriverFoundError :
833827 target .set_binding_map ({"pio" : name })
834828 drv = LXAIOBusPIODriver (target , name = name )
835- break
836829 elif isinstance (resource , NetworkHIDRelay ):
837830 try :
838831 drv = target .get_driver (HIDRelayDriver , name = name )
839832 except NoDriverFoundError :
840833 target .set_binding_map ({"relay" : name })
841834 drv = HIDRelayDriver (target , name = name )
842- break
835+ if drv :
836+ break
843837
844838 if not drv :
845839 raise UserError ("target has no compatible resource available" )
@@ -974,29 +968,28 @@ def bootstrap(self):
974968 except NoDriverFoundError :
975969 drv = IMXUSBDriver (target , name = None )
976970 drv .loader .timeout = self .args .wait
977- break
978971 elif isinstance (resource , NetworkMXSUSBLoader ):
979972 try :
980973 drv = target .get_driver (MXSUSBDriver )
981974 except NoDriverFoundError :
982975 drv = MXSUSBDriver (target , name = None )
983976 drv .loader .timeout = self .args .wait
984- break
985977 elif isinstance (resource , NetworkAlteraUSBBlaster ):
986978 args = dict (arg .split ('=' , 1 ) for arg in self .args .bootstrap_args )
987979 try :
988980 drv = target .get_driver (OpenOCDDriver )
989981 except NoDriverFoundError :
990982 drv = OpenOCDDriver (target , name = None , ** args )
991983 drv .interface .timeout = self .args .wait
992- break
993984 elif isinstance (resource , NetworkRKUSBLoader ):
994985 try :
995986 drv = target .get_driver (RKUSBDriver )
996987 except NoDriverFoundError :
997988 drv = RKUSBDriver (target , name = None )
998989 drv .loader .timeout = self .args .wait
990+ if drv :
999991 break
992+
1000993 if not drv :
1001994 raise UserError ("target has no compatible resource available" )
1002995 target .activate (drv )
@@ -1009,20 +1002,22 @@ def sd_mux(self):
10091002 from ..driver .usbsdmuxdriver import USBSDMuxDriver
10101003 from ..driver .usbsdwiredriver import USBSDWireDriver
10111004 from ..resource .remote import NetworkUSBSDMuxDevice , NetworkUSBSDWireDevice
1005+
10121006 drv = None
10131007 for resource in target .resources :
10141008 if isinstance (resource , NetworkUSBSDMuxDevice ):
10151009 try :
10161010 drv = target .get_driver (USBSDMuxDriver )
10171011 except NoDriverFoundError :
10181012 drv = USBSDMuxDriver (target , name = None )
1019- break
1020- if isinstance (resource , NetworkUSBSDWireDevice ):
1013+ elif isinstance (resource , NetworkUSBSDWireDevice ):
10211014 try :
10221015 drv = target .get_driver (USBSDWireDriver )
10231016 except NoDriverFoundError :
10241017 drv = USBSDWireDriver (target , name = None )
1018+ if drv :
10251019 break
1020+
10261021 if not drv :
10271022 raise UserError ("target has no compatible resource available" )
10281023 target .activate (drv )
@@ -1046,6 +1041,7 @@ def usb_mux(self):
10461041 target = self ._get_target (place )
10471042 from ..driver .lxausbmuxdriver import LXAUSBMuxDriver
10481043 from ..resource .remote import NetworkLXAUSBMux
1044+
10491045 drv = None
10501046 for resource in target .resources :
10511047 if isinstance (resource , NetworkLXAUSBMux ):
@@ -1054,6 +1050,7 @@ def usb_mux(self):
10541050 except NoDriverFoundError :
10551051 drv = LXAUSBMuxDriver (target , name = None )
10561052 break
1053+
10571054 if not drv :
10581055 raise UserError ("target has no compatible resource available" )
10591056 target .activate (drv )
@@ -1178,13 +1175,13 @@ def video(self):
11781175 drv = target .get_driver (USBVideoDriver )
11791176 except NoDriverFoundError :
11801177 drv = USBVideoDriver (target , name = None )
1181- break
11821178 elif isinstance (resource , HTTPVideoStream ):
11831179 try :
11841180 drv = target .get_driver (HTTPVideoDriver )
11851181 except NoDriverFoundError :
11861182 drv = HTTPVideoDriver (target , name = None )
1187- break
1183+ if drv :
1184+ break
11881185 if not drv :
11891186 raise UserError ("target has no compatible resource available" )
11901187
0 commit comments