亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serialposix.py

?? tinyos-2.x.rar
?? PY
?? 第 1 頁 / 共 2 頁
字號:
#!/usr/bin/env python
#module for serial IO for POSIX compatible systems, like Linux
#see __init__.py
#
#(C) 2001-2002 Chris Liechti <cliechti@gmx.net>
# this is distributed under a free software license, see license.txt
#
#parts based on code from Grant B. Edwards  <grante@visi.com>:
#  ftp://ftp.visi.com/users/grante/python/PosixSerial.py
# references: http://www.easysw.com/~mike/serial/serial.html

import sys, os, fcntl, termios, struct, string, select
import serialutil

VERSION = "$Revision: 1.5 $"     #extract CVS version

PARITY_NONE, PARITY_EVEN, PARITY_ODD = range(3)
STOPBITS_ONE, STOPBITS_TWO = (1, 2)
FIVEBITS, SIXBITS, SEVENBITS, EIGHTBITS = (5,6,7,8)

#Do check the Python version as some constants have moved.
if (sys.hexversion < 0x020100f0):
    import TERMIOS
else:
    TERMIOS = termios

if (sys.hexversion < 0x020200f0):
    import FCNTL
else:
    FCNTL = fcntl

#try to detect the os so that a device can be selected...
plat = string.lower(sys.platform)

if   plat[:5] == 'linux':    #Linux (confirmed)
    def device(port):
        return '/dev/ttyS%d' % port

elif plat == 'cygwin':       #cywin/win32 (confirmed)
    def device(port):
        return '/dev/com%d' % (port + 1)

elif plat     == 'openbsd3': #BSD (confirmed)
    def device(port):
        return '/dev/ttyp%d' % port

elif plat[:3] == 'bsd' or  \
     plat[:6] == 'netbsd' or \
     plat[:7] == 'freebsd' or \
     plat[:7] == 'openbsd' or \
     plat[:6] == 'darwin':   #BSD (confirmed for freebsd4: cuaa%d)
    def device(port):
        return '/dev/cuaa%d' % port

elif plat[:4] == 'irix':     #IRIX (not tested)
    def device(port):
        return '/dev/ttyf%d' % port

elif plat[:2] == 'hp':       #HP-UX (not tested)
    def device(port):
        return '/dev/tty%dp0' % (port+1)

elif plat[:5] == 'sunos':    #Solaris/SunOS (confirmed)
    def device(port):
        return '/dev/tty%c' % (ord('a')+port)

elif plat[:3] == 'dgux':     #Digital UNIX (not tested)
    def device(port):
        return '/dev/tty0%d' % (port+1)

else:
    #platform detection has failed...
    info = "sys.platform = %r\nos.name = %r\nserialposix.py version = %s" % (sys.platform, os.name, VERSION)
    print """send this information to the author of this module:

%s

also add the device name of the serial port and where the
counting starts for the first serial port.
e.g. 'first serial port: /dev/ttyS0'
and with a bit luck you can get this module running...
"""
    raise Exception, "this module does not run on this platform, sorry."

#whats up with "aix", "beos", "sco", ....
#they should work, just need to know the device names.


# construct dictionaries for baud rate lookups
baudEnumToInt = {}
baudIntToEnum = {}
for rate in (0,50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,
             19200,38400,57600,115200,230400,460800,500000,576000,921600,
             1000000,1152000,1500000,2000000,2500000,3000000,3500000,4000000
    ):
    try:
        i = eval('TERMIOS.B'+str(rate))
        baudEnumToInt[i]=rate
        baudIntToEnum[rate] = i
    except:
        pass


#load some constants for later use.
#try to use values from TERMIOS, use defaults from linux otherwise
TIOCMGET  = hasattr(TERMIOS, 'TIOCMGET') and TERMIOS.TIOCMGET or 0x5415
TIOCMBIS  = hasattr(TERMIOS, 'TIOCMBIS') and TERMIOS.TIOCMBIS or 0x5416
TIOCMBIC  = hasattr(TERMIOS, 'TIOCMBIC') and TERMIOS.TIOCMBIC or 0x5417
TIOCMSET  = hasattr(TERMIOS, 'TIOCMSET') and TERMIOS.TIOCMSET or 0x5418

#TIOCM_LE = hasattr(TERMIOS, 'TIOCM_LE') and TERMIOS.TIOCM_LE or 0x001
TIOCM_DTR = hasattr(TERMIOS, 'TIOCM_DTR') and TERMIOS.TIOCM_DTR or 0x002
TIOCM_RTS = hasattr(TERMIOS, 'TIOCM_RTS') and TERMIOS.TIOCM_RTS or 0x004
#TIOCM_ST = hasattr(TERMIOS, 'TIOCM_ST') and TERMIOS.TIOCM_ST or 0x008
#TIOCM_SR = hasattr(TERMIOS, 'TIOCM_SR') and TERMIOS.TIOCM_SR or 0x010

TIOCM_CTS = hasattr(TERMIOS, 'TIOCM_CTS') and TERMIOS.TIOCM_CTS or 0x020
TIOCM_CAR = hasattr(TERMIOS, 'TIOCM_CAR') and TERMIOS.TIOCM_CAR or 0x040
TIOCM_RNG = hasattr(TERMIOS, 'TIOCM_RNG') and TERMIOS.TIOCM_RNG or 0x080
TIOCM_DSR = hasattr(TERMIOS, 'TIOCM_DSR') and TERMIOS.TIOCM_DSR or 0x100
TIOCM_CD  = hasattr(TERMIOS, 'TIOCM_CD') and TERMIOS.TIOCM_CD or TIOCM_CAR
TIOCM_RI  = hasattr(TERMIOS, 'TIOCM_RI') and TERMIOS.TIOCM_RI or TIOCM_RNG
#TIOCM_OUT1 = hasattr(TERMIOS, 'TIOCM_OUT1') and TERMIOS.TIOCM_OUT1 or 0x2000
#TIOCM_OUT2 = hasattr(TERMIOS, 'TIOCM_OUT2') and TERMIOS.TIOCM_OUT2 or 0x4000
TIOCINQ   = hasattr(TERMIOS, 'FIONREAD') and TERMIOS.FIONREAD or 0x541B

TIOCM_zero_str = struct.pack('I', 0)
TIOCM_RTS_str = struct.pack('I', TIOCM_RTS)
TIOCM_DTR_str = struct.pack('I', TIOCM_DTR)

portNotOpenError = ValueError('port not open')

class Serial(serialutil.FileLike):
    def __init__(self,
                 port,                  #number of device, numbering starts at
                                        #zero. if everything fails, the user
                                        #can specify a device string, note
                                        #that this isn't portable anymore
                 baudrate=9600,         #baudrate
                 bytesize=EIGHTBITS,    #number of databits
                 parity=PARITY_NONE,    #enable parity checking
                 stopbits=STOPBITS_ONE, #number of stopbits
                 timeout=None,          #set a timeout value, None for waiting forever
                 xonxoff=0,             #enable software flow control
                 rtscts=0,              #enable RTS/CTS flow control
                 ):
        """init comm port"""
        self.fd = None
        self.timeout = timeout
        vmin = vtime = 0                #timeout is done via select
        #open
        if type(port) == type(''):      #strings are taken directly
            self.portstr = port
        else:
            self.portstr = device(port) #numbers are transformed to a os dependant string
        try:
            self.fd = os.open(self.portstr, os.O_RDWR|os.O_NOCTTY|os.O_NONBLOCK)
        except Exception, msg:
            self.fd = None
            raise serialutil.SerialException, "could not open port: %s" % msg
        fcntl.fcntl(self.fd, FCNTL.F_SETFL, 0)  #set blocking
        try:
            self.__tcgetattr()          #read current settings
        except termios.error, msg:      #if a port is nonexistent but has a /dev file, it'll fail here
            raise serialutil.SerialException, "could not open port: %s" % msg
        #set up raw mode / no echo / binary
        self.cflag = self.cflag |  (TERMIOS.CLOCAL|TERMIOS.CREAD)
        self.lflag = self.lflag & ~(TERMIOS.ICANON|TERMIOS.ECHO|TERMIOS.ECHOE|TERMIOS.ECHOK|TERMIOS.ECHONL|
                                    TERMIOS.ECHOCTL|TERMIOS.ECHOKE|TERMIOS.ISIG|TERMIOS.IEXTEN) #|TERMIOS.ECHOPRT
        self.oflag = self.oflag & ~(TERMIOS.OPOST)
        if hasattr(TERMIOS, 'IUCLC'):
            self.iflag = self.iflag & ~(TERMIOS.INLCR|TERMIOS.IGNCR|TERMIOS.ICRNL|TERMIOS.IUCLC|TERMIOS.IGNBRK)
        else:
            self.iflag = self.iflag & ~(TERMIOS.INLCR|TERMIOS.IGNCR|TERMIOS.ICRNL|TERMIOS.IGNBRK)
        #setup baudrate
        try:
            self.ispeed = self.ospeed = baudIntToEnum[baudrate]
        except:
            raise ValueError,'invalid baud rate: %s' % baudrate
        #setup char len
        self.cflag = self.cflag & ~TERMIOS.CSIZE
        if bytesize == 8:
            self.cflag = self.cflag | TERMIOS.CS8
        elif bytesize == 7:
            self.cflag = self.cflag | TERMIOS.CS7
        elif bytesize == 6:
            self.cflag = self.cflag | TERMIOS.CS6
        elif bytesize == 5:
            self.cflag = self.cflag | TERMIOS.CS5
        else:
            raise ValueError,'invalid char len: '+str(clen)
        #setup stopbits
        if stopbits == STOPBITS_ONE:
            self.cflag = self.cflag & ~(TERMIOS.CSTOPB)
        elif stopbits == STOPBITS_TWO:
            self.cflag = self.cflag |  (TERMIOS.CSTOPB)
        else:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品日日鲁夜夜添| 免费精品视频最新在线| 午夜精品爽啪视频| 国产综合色在线| 99久久伊人精品| 欧美无砖专区一中文字| 欧美mv和日韩mv国产网站| 国产精品乱子久久久久| 五月天视频一区| 国产成人av电影在线| 欧美日韩在线综合| 久久久精品免费网站| 夜夜揉揉日日人人青青一国产精品| 免费在线观看视频一区| av亚洲精华国产精华精华| 欧美一区二区三区思思人| 中文字幕在线不卡视频| 蜜桃av一区二区在线观看| 99免费精品在线| 日韩区在线观看| 亚洲黄色免费网站| 国产精品一区二区三区网站| 欧美丝袜丝nylons| 国产精品久久久久永久免费观看| 欧美a一区二区| 99精品黄色片免费大全| 亚洲精品一区二区三区四区高清| 亚洲综合色婷婷| 成人国产在线观看| wwww国产精品欧美| 日韩精品成人一区二区在线| 一本色道**综合亚洲精品蜜桃冫| 久久先锋影音av鲁色资源网| 香蕉久久夜色精品国产使用方法 | 日韩欧美一级二级三级| 中文字幕在线不卡一区| 国产自产高清不卡| 91精品在线观看入口| 亚洲欧美日韩一区| 成人动漫一区二区在线| 精品sm在线观看| 日本在线不卡视频一二三区| 日本高清不卡视频| 中文字幕中文在线不卡住| 国产原创一区二区三区| 欧美精品在线观看一区二区| 日韩理论在线观看| 高清国产一区二区| 久久嫩草精品久久久精品| 日韩高清不卡在线| 欧美日本在线播放| 一区二区三区免费看视频| 成人av网站在线观看| 久久精品这里都是精品| 久久精品国产精品亚洲红杏| 欧美二区三区91| 亚洲成人免费看| 欧美综合欧美视频| 亚洲精品视频在线观看免费 | 最近中文字幕一区二区三区| 国产精品一级在线| 久久久久久久久一| 激情久久五月天| www成人在线观看| 久久99精品久久久久久国产越南 | 日av在线不卡| 91麻豆精品国产91| 亚洲成人动漫精品| 欧美日韩高清一区| 三级影片在线观看欧美日韩一区二区| 91九色最新地址| 一区二区三区中文在线| 色婷婷亚洲精品| 亚洲精品久久7777| 欧美系列亚洲系列| 日韩电影免费在线看| 欧美第一区第二区| 狠狠色丁香婷婷综合| 久久久久国产免费免费| 福利电影一区二区三区| 国产精品萝li| 日本久久电影网| 爽好久久久欧美精品| 日韩一区二区影院| 国产在线精品一区二区不卡了| 精品噜噜噜噜久久久久久久久试看| 黄色日韩三级电影| 国产午夜亚洲精品不卡| 成人免费视频视频在线观看免费 | 欧美日韩高清一区二区不卡 | 久久综合久久鬼色| 成人一级视频在线观看| 亚洲日本一区二区| 精品1区2区3区| 国产一区啦啦啦在线观看| 亚洲国产精品激情在线观看| 日本高清视频一区二区| 蜜臀精品久久久久久蜜臀| 久久久久久久综合日本| aaa欧美日韩| 日韩电影免费一区| 中文字幕第一区综合| 色一区在线观看| 日本va欧美va精品发布| 国产精品视频观看| 欧美美女激情18p| 紧缚捆绑精品一区二区| 国产精品久久久爽爽爽麻豆色哟哟| 欧美最新大片在线看| 久久国产生活片100| ...av二区三区久久精品| 678五月天丁香亚洲综合网| 国产成人丝袜美腿| 亚洲最快最全在线视频| 精品电影一区二区| 一本到高清视频免费精品| 免费观看一级特黄欧美大片| 中文字幕中文字幕在线一区 | 麻豆传媒一区二区三区| 国产精品网友自拍| 欧美日韩黄色一区二区| 国产精品白丝jk白祙喷水网站 | 欧美日本精品一区二区三区| 国产一区二区三区视频在线播放| 亚洲欧美韩国综合色| 91麻豆精品国产自产在线观看一区| 国产成人久久精品77777最新版本| 樱桃视频在线观看一区| 2020国产精品自拍| 欧美午夜在线观看| 粉嫩av一区二区三区| 天天综合网天天综合色| 国产精品久久久久影院| 日韩一区二区三区电影在线观看 | 亚洲激情在线播放| 久久美女高清视频| 9191精品国产综合久久久久久| 成人性生交大片| 五月综合激情网| 中文字幕一区二区三区不卡在线 | 国产美女娇喘av呻吟久久| 亚洲国产日韩在线一区模特| 国产精品对白交换视频| 久久综合资源网| 欧美日韩在线播放三区四区| 成人av午夜影院| 黄色成人免费在线| 日韩电影在线观看电影| 亚洲午夜免费电影| 国产精品久久久久久久浪潮网站| 日韩欧美国产综合一区 | 日产精品久久久久久久性色| 亚洲视频网在线直播| 国产嫩草影院久久久久| 日韩欧美在线1卡| 欧美精品第1页| 欧美色图在线观看| 91麻豆福利精品推荐| 成人永久aaa| 大胆亚洲人体视频| 国产一区二区三区精品视频| 另类成人小视频在线| 婷婷亚洲久悠悠色悠在线播放| 亚洲婷婷综合色高清在线| 久久久精品免费观看| 精品久久久三级丝袜| 日韩一区二区精品葵司在线| 欧美日韩高清一区二区| 欧美三级日韩三级国产三级| 一本久久a久久精品亚洲| www.亚洲精品| 99精品国产99久久久久久白柏| 国产成人久久精品77777最新版本| 国产一区二区免费看| 黄色精品一二区| 国产揄拍国内精品对白| 精品无人码麻豆乱码1区2区 | www国产精品av| 26uuu另类欧美亚洲曰本| 精品国产一二三区| 精品福利在线导航| www国产成人免费观看视频 深夜成人网| 欧美一级免费观看| 欧美一区二区三级| 日韩欧美色综合| 久久综合资源网| 国产女人水真多18毛片18精品视频| 国产欧美一区二区精品性色 | 91网站在线播放| 色综合网站在线| 国产精品入口麻豆九色| 国产香蕉久久精品综合网| 国产亚洲精品aa| 国产精品美女视频| 亚洲欧美福利一区二区| 亚洲午夜私人影院| 免费人成在线不卡| 狠狠色丁香婷婷综合久久片| 成人深夜在线观看| 在线精品亚洲一区二区不卡|