B
    ¸#]V  ã               @   sZ   d Z yddlmZ W n  ek
r4   ddlmZ Y nX ddlZddlZG dd„ de	ƒZ
dS )zYLCM type definitions
This file automatically generated by lcm.
DO NOT MODIFY BY HAND!!!!
é    N)ÚBytesIOc               @   sÔ   e Zd Zddddddddd	d
dddddgZdddddddddddddddgZdddddddddddddddggZdd„ Zdd„ Zdd„ Zdd„ Z	e
e	ƒZ	d d!„ Ze
eƒZdZd"d#„ Ze
eƒZdZd$d%„ Ze
eƒZdS )&Úvalvepack_tÚtime_unix_secÚcount_publishÚ	sender_idÚtilt_power_statÚtilt_degreesÚtilt_sine_countsÚtilt_cosine_countsÚvalve_power_statÚvalve_analog_out_statÚtemp_degreesÚhigh_side_faultÚlow_side_faultÚground_faultÚnum_doublesÚdoublesÚdoubleÚint64_tÚstringÚbooleanÚint32_tÚint16_tzoi.double_tNc             C   s^   d| _ d| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _g | _d S )Ng        r   Ú F)r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   )Úself© r   úK/Users/ericjmartin/Documents/OceanImaging/TiltingRicketts/oi/valvepack_t.pyÚ__init__   s    zvalvepack_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   Úencode&   s    
zvalvepack_t.encodec             C   sÒ   |  t d| j| j¡¡ | j d¡}|  t dt|ƒd ¡¡ |  |¡ |  d¡ |  t d| j| j	| j
| j| j| j| j| j| j| j| j¡¡ x>t| jƒD ]0}| j|  ¡ tj ¡ ksºt‚| j|  |¡ qšW d S )Nz>dqzutf-8z>Ié   ó    z>bdiibidbbdh)r   ÚstructÚpackr   r   r   r#   Úlenr   r   r	   r
   r   r   r   r   r   r   r   Úranger   r   ÚoiÚdouble_tÚAssertionErrorr    )r   r"   Z_valvepack_t__sender_id_encodedÚi0r   r   r   r    ,   s    

<zvalvepack_t._encode_onec             C   s<   t | dƒr| }nt| ƒ}| d¡t ¡ kr2tdƒ‚t |¡S )NÚreadé   zDecode error)Úhasattrr   r.   r   r   Ú
ValueErrorÚ_decode_one)Údatar"   r   r   r   Údecode7   s    
zvalvepack_t.decodec             C   sH  t ƒ }t d|  d¡¡\|_|_t d|  d¡¡d }|  |¡d d…  dd¡|_tt d	|  d
¡¡d ƒ|_	t d|  d¡¡\|_
|_|_tt d	|  d
¡¡d ƒ|_t d|  d¡¡\|_|_tt d	|  d
¡¡d ƒ|_tt d	|  d
¡¡d ƒ|_t d|  d¡¡\|_|_g |_x(t|jƒD ]}|j tj | ¡¡ q&W |S )Nz>dqé   z>Ié   r   éÿÿÿÿzutf-8ÚreplaceÚbr$   z>diiz>idé   z>dhé
   )r   r&   Úunpackr.   r   r   r4   r   Úboolr   r   r	   r
   r   r   r   r   r   r   r   r   r)   Úappendr*   r+   r2   )r"   r   Z_valvepack_t__sender_id_lenr-   r   r   r   r2   A   s    zvalvepack_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   pZjH*ZX l   ÿÿÿÿ r$   é?   )r   r*   r+   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr   r   r   r@   T   s     
zvalvepack_t._get_hash_recursivec               C   s$   t jd krt dt  g ¡¡t _t jS )Nz>Q)r   Ú_packed_fingerprintr&   r'   r@   r   r   r   r   r   ]   s    
z#valvepack_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r   r#   r    r4   Ústaticmethodr2   Ú_hashr@   rD   r   r   r   r   r   r      s    ""$r   )Ú__doc__ZcStringIO.StringIOÚStringIOr   ÚImportErrorÚior&   Zoi.double_tr*   Úobjectr   r   r   r   r   Ú<module>   s   