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            $   @   sP  e Zd Zddddddddd	d
ddddddddddd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%d%d(d%d%d%d(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+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+d+g$Zd,d-„ Zd.d/„ Zd0d1„ Zd2d3„ Z	e
e	ƒZ	d4d5„ Ze
eƒZd+Zd6d7„ Ze
eƒZd+Zd8d9„ Ze
eƒZd+S ):Úsled_control_tÚtime_unix_secÚcount_publishÚ	sender_idÚvalvesettingÚ	valvezeroÚ	kft_pitchÚ	kft_validÚrov_imu_pitchÚrov_imu_validÚbeam_1Úbeam_2Úbeam_3Úbeam_4Úbeam_heightÚbeam_pitch_sourceÚ	beam_diffÚ
beam_validÚpitch_sourceÚselected_pitchÚtarget_pitchÚ
axle_validÚ
axle_pitchÚ	axle_sineÚaxle_cosineÚcommandÚpid_onÚmoog_onÚcoil_drive_onÚaxle_onÚkpÚkiÚkdÚkbiÚkbpÚselected_modeÚlimitsÚdoubleÚint64_tÚstringÚbooleanÚint32_tzoi.sled_control_limits_tNc             C   sà   d| _ d| _d| _d| _d| _d| _d| _d| _d| _d| _	d| _
d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _d| _ d| _!d| _"t# $¡ | _%d S )Ng        r   Ú F)&r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   ÚoiÚsled_control_limits_tr'   )Úself© r1   úN/Users/ericjmartin/Documents/OceanImaging/TiltingRicketts/oi/sled_control_t.pyÚ__init__   sH    zsled_control_t.__init__c             C   s&   t ƒ }| t ¡ ¡ |  |¡ | ¡ S )N)r   Úwriter   Ú_get_packed_fingerprintÚ_encode_oneÚgetvalue)r0   Úbufr1   r1   r2   Úencode;   s    
zsled_control_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| j| j| j| j| j| j| j| j| j| j| j| j| j| j | j!| j"| j#| j$| j%| j&| j'¡!¡ | j( )¡ t*j+ )¡ ksút,‚| j( -|¡ d S )Nz>dqzutf-8z>Ié   ó    z!>dddbdbqqqqdddbdddbdiidbbbbdddddi).r4   ÚstructÚpackr   r   r   r9   Úlenr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r5   r.   r/   ÚAssertionErrorr6   )r0   r8   Z"_sled_control_t__sender_id_encodedr1   r1   r2   r6   A   s    

zsled_control_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   r5   Ú
ValueErrorÚ_decode_one)Údatar8   r1   r1   r2   ÚdecodeK   s    
zsled_control_t.decodec             C   s  t ƒ }t d|  d¡¡\|_|_t d|  d¡¡d }|  |¡d d…  dd¡|_t d	|  d
¡¡\|_|_	|_
tt d|  d¡¡d ƒ|_t 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 d|  d
¡¡\|_|_|_|_tt d|  d¡¡d ƒ|_tt d|  d¡¡d ƒ|_ tt d|  d¡¡d ƒ|_!tt d|  d¡¡d ƒ|_"t d|  d¡¡\|_#|_$|_%|_&|_'|_(t)j* +| ¡|_,|S )Nz>dqé   z>Ié   r   éÿÿÿÿzutf-8Úreplacez>dddé   Úbr:   z>drA   z>qqqqdddé8   z>diidz>dddddié,   )-r   r<   Úunpackr@   r   r   rF   r   r   r   r	   Úboolr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r.   r/   rD   r'   )r8   r0   Z_sled_control_t__sender_id_lenr1   r1   r2   rD   U   s(    ."*zsled_control_t._decode_onec             C   sF   t | krdS | t g }dtj |¡ d@ }|d> d@ |d?  d@ }|S )Nr   l   ÙT	J0) l   ÿÿÿÿ r:   é?   )r   r.   r/   Ú_get_hash_recursive)ÚparentsÚ
newparentsÚtmphashr1   r1   r2   rR   m   s     
z"sled_control_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=   rR   r1   r1   r1   r2   r5   v   s    
z&sled_control_t._get_packed_fingerprint)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__Ú__typenames__Ú__dimensions__r3   r9   r6   rF   ÚstaticmethodrD   Ú_hashrR   rV   r5   r1   r1   r1   r2   r      s    LLL&
r   )Ú__doc__ZcStringIO.StringIOÚStringIOr   ÚImportErrorÚior<   Zoi.sled_control_limits_tr.   Úobjectr   r1   r1   r1   r2   Ú<module>   s   