
     f                     D    d dl Z d dlmZ  G d d          Zedk    rdS dS )    Nc                   &    e Zd Zd Zd Zd Zd ZdS )
Ultrasonicc                    t          j        d           d| _        d| _        t          j        t           j                   t          j        | j        t           j                   t          j        | j        t           j                   d S )NF      )	GPIOsetwarningstrigger_pinecho_pinsetmodeBCMsetupOUTINselfs    5/home/digit/Desktop/robocat/Code/Server/Ultrasonic.py__init__zUltrasonic.__init__   sg    TX
4#DH---
4=)))))    c                     t          j        | j        d           t          j        d           t          j        | j        d           d S )NTga2U0*#?F)r   outputr
   timesleepr   s    r   send_trigger_pulsezUltrasonic.send_trigger_pulse   sB    D$T***
7D$U+++++r   c                    t          j                     }t          j        |          |k    r7t          j                     |z
  |dz  k    rdS t          j        |          |k    7t          j                     }t          j        |          |k    r7t          j                     |z
  |dz  k    rdS t          j        |          |k    7t          j                     |z
  dz  }|S )Ngư>r   i@B )r   r   input)r   pinleveltimeOutt0	pulseTimes         r   pulseInzUltrasonic.pulseIn   s    Y[[joo&&	b GH$444q joo&& Y[[joo&&	b GH$444q joo&& Y[[2%w.	r   c                    g d}t          d          D ]J}|                                  |                     | j        t          j        d          }|dz  dz  dz  ||<   Kt          |          }t          |d                   S )N)r   r   r      iPF  g     @u@g       @g     @   )ranger   r"   r   r   HIGHsortedint)r   distance_cmipingTimes       r   getDistancezUltrasonic.getDistance   s    GGq 	= 	=A##%%%||DM$)FCCH%-3W<KNN;'';q>"""r   N)__name__
__module____qualname__r   r   r"   r-    r   r   r   r      sP        * * *, , ,

 
 
# # # # #r   r   __main__)r   RPi.GPIOr   r   r.   r1   r   r   <module>r4      sc           #  #  #  #  #  #  #  #F zD r   