B
    ¸#]Ù  ã               @   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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 )$Úoctans_tÚheaderÚ
uptime_secÚsync_cntÚparse_err_cntÚrx_connectedÚroll_degÚ	pitch_degÚheading_degÚroll_deg_secÚpitch_deg_secÚheading_deg_secÚx_meters_sec2Úy_meters_sec2Úz_meters_sec2Ústatuszoi.lcm_header_tÚdoubleÚint64_tÚbooleanÚbyteNc             C   sb   t  ¡ | _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _d| _d| _d| _d S )Ng        r   F)ÚoiÚlcm_header_tr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   )Úself© r   úH/Users/ericjmartin/Documents/OceanImaging/TiltingRicketts/oi/octans_t.pyÚ__init__   s    
zoctans_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r   Úbufr   r   r   Úencode&   s    
zoctans_t.encodec             C   sp   | j  ¡ tj ¡ kst‚| j  |¡ | t d| j	| j
| j| j| j| j| j| j| j| j| j| j| j| j¡¡ d S )Nz>dqqbdddddddddB)r   r   r   r   ÚAssertionErrorr   r   ÚstructÚpackr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   )r   r!   r   r   r   r   ,   s    zoctans_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   Údecode1   s    
zoctans_t.decodec             C   sŒ   t ƒ }tj | ¡|_t d|  d¡¡\|_|_	|_
tt d|  d¡¡d ƒ|_t d|  d¡¡\
|_|_|_|_|_|_|_|_|_|_|S )Nz>dqqé   Úbé   r   z>dddddddddBéI   )r   r   r   r*   r   r$   Úunpackr&   r   r   r   Úboolr   r	   r
   r   r   r   r   r   r   r   r   )r!   r   r   r   r   r*   ;   s    :zoctans_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   6q€:ˆD l   ÿÿÿÿ r/   é?   )r   r   r   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr   r   r   r4   E   s     
zoctans_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%   r4   r   r   r   r   r   N   s    
z octans_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r   r"   r   r,   Ústaticmethodr*   Ú_hashr4   r8   r   r   r   r   r   r      s    """r   )Ú__doc__ZcStringIO.StringIOÚStringIOr   ÚImportErrorÚior$   Zoi.lcm_header_tr   Úobjectr   r   r   r   r   Ú<module>   s   