B
    ]d\                 @   s&   d dl mZ d dlZG dd dZdS )    )SerialNc               @   sH   e Zd ZedZdddZdd Zd	d
 Zdd Z	dd Z
dd ZdS )GX5_25z 7565 0C07 0703 0101 05 0000 FEF8COM6        ?c             C   s   d | _ | ||| d S )N)_fdopen)selfCOMbaudtimeout r   5C:\Users\p-lab\Code\lrauv-testbed-2019\ahrs\gx5_25.py__init__	   s    zGX5_25.__init__c             C   s   | S )Nr   )r	   r   r   r   	__enter__   s    zGX5_25.__enter__c             C   s   |    d S )N)close)r	   typevalue	tracebackr   r   r   __exit__   s    zGX5_25.__exit__c             C   s   t |||d| _d S )N)r   )r   r   )r	   r
   r   r   r   r   r   r      s    zGX5_25.openc             C   s   | j r| j   d S )N)r   r   )r	   r   r   r   r      s    zGX5_25.closec             C   sR   | j   | j tj | j d}ttj	d}tj
|dd |dtS )N   >      )dtype)r   Zreset_input_bufferwriter   POLLreadnpr   float32newbyteorder
frombufferastypefloat)r	   ZreplyZ	data_typer   r   r   get_data   s
    
zGX5_25.get_dataN)r   r   r   )__name__
__module____qualname__bytesfromhexr   r   r   r   r   r   r$   r   r   r   r   r      s   

r   )serialr   numpyr   r   r   r   r   r   <module>   s   (