B
    @Š¨eË  ã               @   sp   d dl mZ d dlmZ e ej¡ e d¡ G dd„ dƒZdd„ Ze	dkrled	d
ddd	dƒZ
edƒ eƒ  dS )é    N)ÚsleepFc               @   sL   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )ÚMOTORc             C   sP  || _ || _|| _|| _|| _|| _t tj¡ t 	d¡ d}d}d}	d}
d}d}d}d	}d
}d}d}t 
|tj¡ t 
|tj¡ t 
|	tj¡ t 
|tj¡ t 
|tj¡ t 
|
tj¡ t 
|tj¡ t 
|tj¡ t 
|tj¡ t |
|¡| _t ||¡| _t ||¡| _t ||¡| _| j d¡ | j d¡ | j d¡ | j d¡ d S )NFé   é   é   é   é   é   é   éd   é   é   é   r   )ÚEnaAÚIn1AÚIn2AÚEnaBÚIn1BÚIn2BÚGPIOÚsetmodeÚBCMÚsetwarningsZsetupZINZOUTZPWMÚpwmapÚpwmanÚpwmbpÚpwmbnÚstart)Úselfr   r   r   r   r   r   ZPAZPBZPCZMAPZMANZMBPZMBNZpwmfZdcZPRZPL© r   ú/home/pi/PW24/CC/Motor.pyÚ__init__   sH    
zMOTOR.__init__c             C   s”   |d9 }|d9 }|dkr2| j  |¡ | j d¡ n| j  d¡ | j | ¡ |dkrn| j |¡ | j d¡ n| j d¡ | j | ¡ t|ƒ d S )Nr   r   )r   r   r   r   r   r   )r   ZLSZRSÚtr   r   r    ÚTURN5   s    z
MOTOR.TURNc             C   s    |   ddd¡ |   ddd¡ d S )Ng333333Ó?gš™™™™™©?g        g{®Gáz„?)r#   )r   r   r   r    ÚforwardF   s     zMOTOR.forwardc             C   s    |   ddd¡ |   ddd¡ d S )Ngš™™™™™É?g333333ã?gš™™™™™©?g        g{®Gáz„?)r#   )r   r   r   r    ÚleftI   s     z
MOTOR.leftc             C   s    |   ddd¡ |   ddd¡ d S )Ng333333ã?gš™™™™™É?gš™™™™™©?g        g{®Gáz„?)r#   )r   r   r   r    ÚrightL   s     zMOTOR.rightc             C   s    |   ddd¡ |   ddd¡ d S )Ng333333Ó¿gš™™™™™©?g        g{®Gáz„?)r#   )r   r   r   r    ÚbackwardO   s     zMOTOR.backwardc             C   s   |   ddd¡ d S )Ng        gš™™™™™É?)r#   )r   r   r   r    ÚstopR   s    z
MOTOR.stopc             C   s”   t dƒ |  ddd¡ |  ddd¡ t dƒ |  ddd¡ |  ddd¡ t dƒ |  d	d
d¡ |  ddd¡ t dƒ |  d
d	d¡ |  ddd¡ d S )Nzdrive FORWARD 2 s ...gš™™™™™Ù?g       @g        g      ð?zdrive BACKWARD 2 s ...gš™™™™™Ù¿zLEFT TURN 2 s ...gš™™™™™É?g333333ã?g      @zRIGHT TURN 2 s ...)Úprintr#   )r   r   r   r    Ú	testmotorV   s        zMOTOR.testmotorN)Ú__name__Ú
__module__Ú__qualname__r!   r#   r$   r%   r&   r'   r(   r*   r   r   r   r    r   
   s   *r   c               C   s,  t dƒ t ¡  t dƒ t dƒ t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  t ¡  tdƒ t dƒ t 	ddd¡ t 	ddd	¡ t 	d
d
d¡ t 	ddd	¡ t 	ddd¡ t 	ddd	¡ t 	ddd¡ t 	ddd	¡ t dƒ d S )Nztestmotor1 F, B, L, R ...ztestmotor2 F, B, L, R ...zmotor.forward...zdrive forward 2 s ...zmotor.TURN...gš™™™™™Ù?g       @g        g      ð?gš™™™™™Ù¿gš™™™™™É?g333333ã?ztestmotor done...)
ÚinputÚmotorr*   r$   r(   r'   r%   r&   r)   r#   r   r   r   r    Úmainc   s>        r0   Ú__main__r   r   r   r	   r
   zMOTOR pins defined...)ZRPi.GPIOr   Ztimer   r   r   r   r   r0   r+   r/   r)   r   r   r   r    Ú<module>   s   
Y!