ó
¦ØAdc           @   s  d  d l  Z  d  d l Z d  d l Z d  d l Z e j e ƒ Z d d d „  ƒ  YZ d d d „  ƒ  YZ d d d „  ƒ  YZ	 e  j
 j d ƒ r– e ƒ  Z n' e  j
 j d	 ƒ r´ e	 ƒ  Z n	 e ƒ  Z xV g  e e ƒ D] Z e j d
 ƒ sÍ e ^ qÍ D]& Z e e j e e e e e ƒ ƒ qì Wd S(   iÿÿÿÿNt   RaspberryPic           B   sn   e  Z d  Z d Z d Z d Z d Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   i   i   i   i   i   c         C   s7   d d  l  } d d  l } | j |  _ | j ƒ  |  _ d  S(   Niÿÿÿÿ(   t   spidevt   RPi.GPIOt   GPIOt   SpiDevt   SPI(   t   selfR   t   RPi(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   __init__.   s    c         C   s   |  j  j | | ƒ d  S(   N(   R   t   output(   R   t   pint   value(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   digital_write5   s    c         C   s   |  j  j | ƒ S(   N(   R   t   input(   R   R
   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   digital_read8   s    c         C   s   t  j | d ƒ d  S(   Ng     @@(   t   timet   sleep(   R   t	   delaytime(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   delay_ms;   s    c         C   s   |  j  j | ƒ d  S(   N(   R   t
   writebytes(   R   t   data(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   spi_writebyte>   s    c         C   s   |  j  j | ƒ d  S(   N(   R   t   writebytes2(   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   spi_writebyte2A   s    c         C   s÷   |  j  j |  j  j ƒ |  j  j t ƒ |  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
 d ƒ |  j j d d ƒ d |  j _ d |  j _ d S(   Ni   i    i 	= (   R   t   setmodet   BCMt   setwarningst   Falset   setupt   RST_PINt   OUTt   DC_PINt   CS_PINt   PWR_PINt   BUSY_PINt   INR	   R   t   opent   max_speed_hzt   mode(   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   module_initD   s    c         C   s›   t  j d ƒ |  j j ƒ  t  j d ƒ |  j j |  j d ƒ |  j j |  j d ƒ |  j j |  j d ƒ |  j j	 |  j |  j |  j
 |  j |  j g ƒ d  S(   Ns   spi ends/   close 5V, Module enters 0 power consumption ...i    (   t   loggert   debugR   t   closeR   R	   R   R   R!   t   cleanupR    R"   (   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   module_exitU   s    (   t   __name__t
   __module__R   R   R    R"   R!   R   R   R   R   R   R   R'   R,   (    (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR    &   s   							t
   JetsonNanoc           B   sn   e  Z d  Z d Z d Z d Z d Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z RS(   i   i   i   i   i   c         C   sÇ   d d  l  } t j j t j j t ƒ ƒ d d g } d  |  _ xN | D]F } t j j | d ƒ } t j j	 | ƒ rC | j
 j | ƒ |  _ PqC qC W|  j d  k r« t d ƒ ‚ n  d d  l } | j |  _ d  S(   Niÿÿÿÿs   /usr/local/libs   /usr/libs   sysfs_software_spi.sos!   Cannot find sysfs_software_spi.so(   t   ctypest   ost   patht   dirnamet   realpatht   __file__t   NoneR   t   joint   existst   cdllt   LoadLibraryt   RuntimeErrort   Jetson.GPIOR   (   R   R0   t	   find_dirst   find_dirt   so_filenamet   Jetson(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   i   s    		c         C   s   |  j  j | | ƒ d  S(   N(   R   R	   (   R   R
   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   |   s    c         C   s   |  j  j |  j ƒ S(   N(   R   R   R"   (   R   R
   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR      s    c         C   s   t  j | d ƒ d  S(   Ng     @@(   R   R   (   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ‚   s    c         C   s   |  j  j | d ƒ d  S(   Ni    (   R   t   SYSFS_software_spi_transfer(   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   …   s    c         C   s5   x. t  t | ƒ ƒ D] } |  j j | | ƒ q Wd  S(   N(   t   ranget   lenR   RA   (   R   R   t   i(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ˆ   s    c         C   sÙ   |  j  j |  j  j ƒ |  j  j t ƒ |  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
 d ƒ |  j j ƒ  d S(   Ni   i    (   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R	   R   t   SYSFS_software_spi_begin(   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR'   Œ   s    c         C   s›   t  j d ƒ |  j j ƒ  t  j d ƒ |  j j |  j d ƒ |  j j |  j d ƒ |  j j |  j d ƒ |  j j	 |  j |  j |  j
 |  j |  j g ƒ d  S(   Ns   spi ends/   close 5V, Module enters 0 power consumption ...i    (   R(   R)   R   t   SYSFS_software_spi_endR   R	   R   R   R!   R+   R    R"   (   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR,   š   s    (   R-   R.   R   R   R    R"   R!   R   R   R   R   R   R   R'   R,   (    (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR/   a   s   							t	   SunriseX3c           B   st   e  Z d  Z d Z d Z d Z d Z d Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z RS(   i   i   i   i   i   i    c         C   s7   d d  l  } d d  l } | j |  _ | j ƒ  |  _ d  S(   Niÿÿÿÿ(   R   t
   Hobot.GPIOR   R   R   (   R   R   t   Hobot(    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ¯   s    c         C   s   |  j  j | | ƒ d  S(   N(   R   R	   (   R   R
   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ¶   s    c         C   s   |  j  j | ƒ S(   N(   R   R   (   R   R
   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ¹   s    c         C   s   t  j | d ƒ d  S(   Ng     @@(   R   R   (   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ¼   s    c         C   s   |  j  j | ƒ d  S(   N(   R   R   (   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   ¿   s    c         C   s   |  j  j | ƒ d  S(   N(   R   t   xfer3(   R   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR   Â   s    c         C   s  |  j  d k rd |  _  |  j j |  j j ƒ |  j j t ƒ |  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 d ƒ |  j j d d ƒ d |  j _ d |  j _ d Sd Sd  S(   Ni    i   i   i 	= (   t   FlagR   R   R   R   R   R   R   R   R   R    R!   R"   R#   R	   R   R$   R%   R&   (   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR'   Ç   s    	c         C   s¤   t  j d ƒ |  j j ƒ  t  j d ƒ d |  _ |  j j |  j d ƒ |  j j |  j d ƒ |  j j |  j	 d ƒ |  j j
 |  j |  j |  j |  j g |  j	 ƒ d  S(   Ns   spi ends/   close 5V, Module enters 0 power consumption ...i    (   R(   R)   R   R*   RK   R   R	   R   R   R!   R+   R    R"   (   R   (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyR,   Ü   s    	(   R-   R.   R   R   R    R"   R!   RK   R   R   R   R   R   R   R'   R,   (    (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyRG   ¦   s   							s)   /sys/bus/platform/drivers/gpiomem-bcm2835s!   /sys/bus/platform/drivers/gpio-x3t   _(    (    (    (   R1   t   loggingt   sysR   t	   getLoggerR-   R(   R    R/   RG   R2   R8   t   implementationt   dirt   xt
   startswitht   funct   setattrt   modulest   getattr(    (    (    sP   /home/pi/sy/e-Paper/RaspberryPi_JetsonNano/python/lib/waveshare_epd/epdconfig.pyt   <module>   s   ;EC	5