
g…Á]w  ã               @   s2   d  d l  Z  d d „  Z Gd d „  d e ƒ Z d S)é    Nc             C   s   |  r
 d Sd S)NZONZOFF© )Ú
state_boolr   r   ú2/home/golem/vacuum-control/vacuum/psw_gw_instek.pyÚstate_translate   s    r   c               @   sO   e  Z d  Z d d d „ Z d d „  Z d d „  Z d d	 „  Z d
 d „  Z d S)ÚGWInstekPSWiÜ  c             C   sO   d j  | | ƒ } t j d ƒ } | j | ƒ |  _ d |  j _ d |  j _ d  S)NzTCPIP::{}::{}::SOCKETz@pyÚ
)ÚformatÚvisaZResourceManagerZopen_resourceÚinstZread_terminationZwrite_termination)ÚselfZ	ipaddressZportZvisa_addressZrmr   r   r   Ú__init__
   s
    zGWInstekPSW.__init__c             C   s"   |  j  j d ƒ } t t | ƒ ƒ S)Nz:output?)r
   Úqueryr   Úint)r   Úretr   r   r   Ú
get_output   s    zGWInstekPSW.get_outputc             C   s$   t  | ƒ } |  j j d | ƒ d S)z%Set output state to 1 (ON) or 0 (OFF)z:output N)r   r
   Úwrite)r   r   Ústater   r   r   Ú
set_output   s    zGWInstekPSW.set_outputc             C   s   |  j  j d ƒ } t | ƒ S)Nz	:voltage?)r
   r   Úfloat)r   r   r   r   r   Úget_voltage   s    zGWInstekPSW.get_voltagec             C   s   |  j  j d j | ƒ ƒ d  S)Nz:voltage {})r
   r   r   )r   Úvaluer   r   r   Úset_voltage   s    zGWInstekPSW.set_voltageN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s
   r   )r	   r   Úobjectr   r   r   r   r   Ú<module>   s   