a
    2im                     @   s.   d Z ddlmZ ddlmZ G dd dZdS )u   
Класс - адаптер, для класса RASPI 
Цель адаптера: Приведение  протокола общения с внешним классом к унифицированным требованиям контроллера.
   )RASPI    )Unionc                   @   sj   e Zd Zi ZddddZdeddddZdeddd	d
Zdeee	e
f dddZddddZdS )RASPI_adapterN)returnc                 C   s
   d | _ d S )N)r   )self r   3/var/aqua_controller/devices/raspi/raspi_adapter.py__init__   s    zRASPI_adapter.__init__)optionr   c              
   C   sD   zt  | _W n2 ty> } ztd| W Y d }~n
d }~0 0 d S )Nu>   Ошибка инициализации устройства: )r   r   	ExceptionRuntimeError)r   r   er   r   r	   run   s    zRASPI_adapter.run)optionsr   c              
   C   s   zld|vrt d|d dkrbd|vr.t d|d dksF|d dkrX| j|d  qjtdntd	W n. ty } ztd
|W Y d }~n
d }~0 0 d S )Nparametr,   Ключ 'parametr' не обнаружен.
led_loaderstateu)   Ключ 'state' не обнаружен.r   r   uN   Значение ключа 'state' не принято к обработке.Q   Значение ключа 'parametr' не принято к обработке.u.   Ошибка установки данных: )KeyErrorr   Zset_led_loader
ValueErrorr   r   )r   r   r   r   r   r	   set   s    
zRASPI_adapter.setc              
   C   s   z^d|vrt d|d dkr4| j }t|dW S |d dkrT| j }t|W S tdW n. ty } ztd|W Y d }~n
d }~0 0 d S )Nr   r   Zcpu_temperature   r   r   u.   Ошибка получения данных: )	r   r   Zget_cpu_temperatureroundZget_led_loaderintr   r   r   )r   r   Z_cpu_temperatureZ_led_loaderr   r   r   r	   get3   s    


zRASPI_adapter.getc              
   C   s8   zW n. t y2 } ztd|W Y d }~n
d }~0 0 d S )Nu6   Ошибка остановки устройства: )r   r   )r   r   r   r   r	   stopI   s    zRASPI_adapter.stop)N)N)N)__name__
__module____qualname__DEFAULT_CONFIGr
   dictr   r   r   floatr   r   r   r   r   r   r	   r      s   r   N)__doc__Zraspir   typingr   r   r   r   r   r	   <module>   s   