+
     ph	  c                   sF    ^ RI t ^ RIt^ RIHt ^ RIHt  ! R R]]4      tR# )i    N)ABC)HardwareControllerc                   sV   a  ] tR t^t o RtRtRR ltR tR tR t	R t
R tR	 tR
tV tR# )EctoolHardwareControllerFNc                sH    V'       d   R V n         V P                  4        R# R# )TN)noBatterySensorModepopulate_non_battery_sensors)selfZno_battery_sensor_mode   &&[/usr/lib/python3.14/site-packages/fw_fanctrl/hardwareController/EctoolHardwareController.py__init__Z!EctoolHardwareController.__init__   s    !'+D$--/ "    c                s   . V n         \        P                  ! R \        P                  RRR7      P                  p\
        P                  ! RV\
        P                  4      pV Uu. uF  q3P                  R4      ^ ,          NK  	  pp\
        P                  ! RV\
        P                  4       F&  pW49  g   K  V P                   P                  V4       K(  	  R# u upi )zectool tempsinfo allTstdoutshelltextz\d+ BatteryZ z^\d+N)
nonBatterySensors
subprocessrunPIPEr   refindallZ	MULTILINEZsplitZappend)r   raw_outZbattery_sensors_rawxZbattery_sensors   &    r   r   Z5EctoolHardwareController.populate_non_battery_sensors   s    !#.."??	

 & 	 !jj",,O4GH4Gq773<??4GHGWbll;A'&&--a0 < Is   $ Cc                st   V P                   '       dd   R P                  V P                   Uu. uF<  p\        P                  ! RV,           \        P
                  RRR7      P                  NK>  	  up4      pM2\        P                  ! R\        P
                  RRR7      P                  p\        P                  ! RV4      p\        V Uu. uF  p\        V4      NK  	  up Uu. uF  q^ 8  g   K  VNK  	  upRR7      p\        V4      ^ 8X  d   ^2# \        \        V^ ,          ^4      4      # u upi u upi u upi )Z zectool temps Tr
   zectool temps allz\(= (\d+) C\))Zreverse)r   Zjoinr   r   r   r   r   r   r   ZsortedZintlenZfloatZround)r   r   r   Z	raw_tempsZtempsr   r   get_temperatureZ(EctoolHardwareController.get_temperature   s   ###gg "33 4 NN'!+)"!	
 f 4
G !nn"!	
 f  JJ/9	I#>IqCFI#>H#>aa%#>HRVWu:?U58Q'((-$ $?Hs   AD+D0!D5.D5c                sZ    \         P                  ! R V 2\         P                  RR7       R# )zectool fanduty Tr   r   Nr   r   r   )r   Zspeedr   r   	set_speedZ"EctoolHardwareController.set_speed:   s    0PTUr	   c                s    \         P                  ! R \         P                  \         P                  RRR7      P                  p\        \        P                  ! RV4      4      ^ 8  # )zectool batteryT)r   Zstderrr   r   zFlags.*(AC_PRESENT))r   r   r   ZDEVNULLr   r   r   r   )r   r   s   & r   is_on_acZ!EctoolHardwareController.is_on_ac=   sQ    ..??%%
 & 	 2::4g>?!CCr	   c                sT    \         P                  ! R \         P                  RR7       R# )zectool autofanctrlTr   Nr   r      &r   pauseZEctoolHardwareController.pauseG   s    +JOO4Pr	   c                s    R # )N r   r   r   resumeZEctoolHardwareController.resumeJ   s    r	   )r   r   )F)Z__name__Z
__module__Z__qualname__Z__firstlineno__r   r   r   r   r   r   r   r   r!   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r   r   r      s<     0
1)6VDQ r	   r   )r   r   Zabcr    Z0fw_fanctrl.hardwareController.HardwareControllerr   r   r    r	   r   <module>r"      s"    	   OD13 Dr	   