legoEv3/ev3dev2/__pycache__/__init__.cpython-35.pyc
[0 @ s d d l Z e j d k r' e d d d Z d d Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l
Z
d d l m Z d
Z
d
Z d d Z d
d Z d d Z Gd d d e Z Gd d d e Z d d Z d S) N z"Must be using Python 3.4 or higherc C s t j j d k S)NZmicropython)sysimplementationname r r 2/usr/lib/python3/dist-packages/ev3dev2/__init__.pyis_micropython s r c C s t r | n | | d S)N)r )Z exceptioncauser r r chain_exception" s r )abspath c C s d } t j j | s d Sx t j | D] } t j j | | d } t j j | r, t | d } x | j D] } | j j d \ } } | d k r{ | d k r d S| d k r d S| d k r d
S| d k r d S| d k r d S| d k r{ d Sq{ WWd QRXq, Wd S)z
Look in /sys/class/board-info/ to determine the platform type.
This can return 'ev3', 'evb', 'pistorms', 'brickpi', 'brickpi3' or 'fake'.
z/sys/class/board-info/ZfakeZueventr=ZBOARD_INFO_MODELzLEGO MINDSTORMS EV3Zev3
FatcatLab EVB QuestCapeZevbZPiStormsZpistormszDexter Industries BrickPiZbrickpizDexter Industries BrickPi3Zbrickpi3zFAKE-SYSN)r r ) ospathexistslistdirjoinopen readlinesstripsplit)Zboard_info_dirZboardZuevent_filenameZfhlinekeyvaluer r r get_current_platform4 s. r c + s t j j | s d Sd d xa t j | D]P } t j | | r2 | d | t f d d D r2 | Vq2 Wd S)a
This is a generator function that lists names of all devices matching the
provided parameters.
Parameters:
class_path: class path of the device, a subdirectory of /sys/class.
For example, '/sys/class/tacho-motor'.
name_pattern: pattern that device name should match.
For example, 'sensor*' or 'motor*'. Default value: '*'.
keyword arguments: used for matching the corresponding device
attributes. For example, address='outA', or
driver_name=['lego-ev3-us', 'lego-nxt-us']. When argument value
is a list, then a match against any entry of the list is
enough.
Nc s y5 t j | } | j j j Wd QRXWn d SYn Xt | t rp t f d d | D S j | d k Sd S)NFc s% g | ] } j | d k q S)r )find).0p)r r r
<listcomp>} s z6list_device_names.<locals>.matches.<locals>.<listcomp>r ) ioFileIOreadr decode
isinstancelistanyr ) attributepatternfr )r r matchesu s # z"list_device_names.<locals>.matches/c s+ g | ]! } d | | q S)r. r )r k)kwargsr- r r r r" s z%list_device_names.<locals>.<listcomp>)r r isdirr fnmatchall)Z
class_pathname_patternr0 r, r )r0 r- r r list_device_namesa s %r5 c C s d j | | S)Nz;Import warning: Failed to import "{}". {} will be unusable!)format)Zlibrary_nameZdependent_classr r r library_load_warning_message s r7 c @ s e Z d Z d S)DeviceNotFoundN)__name__
__module____qualname__r r r r r8 s r8 c @ s e Z d Z d Z d d d g Z d Z e j d Z d d 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 d Z d d Z d d Z d d Z d! d" Z d# d$ Z d% d&