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

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

?? postprocess.py

?? 無線通信的主要編程軟件,是無線通信工作人員的必備工具,關天相關教程我會在后續傳上.
?? PY
?? 第 1 頁 / 共 2 頁
字號:
#!/usr/bin/python# postprocess.py# Author: Victor Shnayder <shnayder at eecs.harvard.edu># Postprocessing script that reads PowerTOSSIM state transition log and# computes power and energy numbers.from sys import argvimport sysusage = """USAGE: postprocess.py [--help] [--debug] [--nosummary][--detail[=basename]]  [--maxmotes N][--simple] [--sb={0|1}] --em file trace_file--help:              print this help message--debug:             turn on debugging output--nosummary:         avoid printing the summary to stdout--detail[=basename]: for each mote, print a list of 'time\\tcurrent' pairs              to the file basename$moteid.dat (default basename='mote')--em file:           use the energy model in file--sb={0|1}:          Whether the motes have a sensor board or not. (default: 0)--maxmotes:          The maximum of number of motes to support. 1000 by default.--simple:            Use a simple output format, suitable for machine parsingBy default, uses energy model from energy_model.txt in the current directory,prints summary."""summary = 1prettyprint = 1detail = 0lineno = 0   # The line number in the trace fileemfile = "energy_model.txt"tracefile = ""model = {}      # The energy model (mappings such as CPU_ACTIVE->8.0)state = [{}]    # The current state of execution ([mote][component])total = [{}]   # The energy totals# Hmm... might not actually want 1000 open files.  I guess I could# open and close each one after each write.  Or just keep all the# logs in memory and then write them out one at a time.  For now, just# open each file when necessary and leave it at thatdata_file = []  basename = 'mote'voltage = Noneprev_current = []prev_time = []maxmotes = 1000maxseen = 0debug = 0em = {}  # The energy modelsb = 0   # Whether there's a sensor board#components = ["radio", "cpu", "cpu_cycles", "adc", "sensor", "led", "eeprom"]# Types of total we want to tracktotals = ["cpu", "radio", "adc", "leds", "sensor", "eeprom"]def quit(showusage=0, error="Illegal arguments"):    if error:        print >> sys.stderr, "Error: ", error, "\n"    if showusage:        print >> sys.stderr, usage    sys.exit()# Handle arguments-this can be rewritten with a dictionary of lambdas, but# that's for later (or I can just use an existing module)def parse_args():    global summary, maxmotes, emfile, tracefile, trace, argv, debug, basename    global detail, prettyprint, sb    argv = argv[1:]    while argv:        a=argv[0]        if a == "--help":            quit(1,"")        elif a == "--nosummary":            summary = 0        elif a == "--simple":            prettyprint = 0        elif a.startswith("--detail"):            detail = 1            x=a.rfind('=')            if x != -1:                basename = a[x+1:]                        elif a.startswith("--sb="):            t = a[5:]            if t == "1":                sb = 1            elif t == "0":                sb = 0            else:                quit(1)                                    elif a == "--debug":            debug = 1        elif a == "--maxmotes":            argv = argv[1:] # Consume this argument            if not argv:                quit(1)            maxmotes = int(argv[0])        elif a == "--em":            argv=argv[1:]  # Consume this argument            if not argv:                quit(1)            emfile = argv[0]  # Get the filename parameter        else:            tracefile = a        argv = argv[1:]    if tracefile == "":        quit(1,"No tracefile specified")    try:        trace = open(tracefile)    except IOError:        quit(0,"Couldn't open trace file '"+tracefile+"'")######### State initialization functions ############### Read energy model from filedef read_em():    global model,lineno,em    # Reads and parses the energy model file    try:        model = open(emfile)    except IOError:        quit(0,"Couldn't open energy model file '"+emfile+"'")    l = model.readline()    lineno += 1    while l:        l=l.strip()        # Parse the line, skipping comments, blank lines        if l == '' or l[0] == '#':            l = model.readline()            continue#        print "splitting line '%s'" % l        (k,v) = l.split()        em[k]=float(v)        l = model.readline()        lineno += 1    def initstate():    global state, total, voltage, prev_current, prev_time, data_file    read_em()    # initialize the various lists...    state = [None] * maxmotes    total = [None] * maxmotes    prev_current = [None] * maxmotes    prev_time = [0] * maxmotes    data_file = [None] * maxmotes    voltage = em['VOLTAGE']        for mote in range(maxmotes):        # Init each mote with base values        state[mote] = {'radio':{'on':0, 'tx':0,                                'txpower':em['RADIO_DEFAULT_POWER']},                        'cpu': 'IDLE',                       'cpu_cycles':0,                       'adc': 0,                       'adc_on': 0,          # For the moment, all the same, but can be changed later                       'sensor_board': sb,                         'sensor': {},                       'led': {},                       'eeprom': {'read':0, 'write':0}}        total[mote] = {}        prev_current[mote]={}        for k in totals:            prev_current[mote][k] = 0        prev_current[mote]['total']=0        for t in totals:            total[mote][t] = 0######################## Current computation #######################def get_cpu_current(mote):    return em["CPU_"+state[mote]["cpu"]]def get_sensor_current(mote):    mystate = state[mote]['sensor']    total = 0    # If the sensor board is plugged it draws a constant base current     if state[mote]['sensor_board']:        total += em.get('SENSOR_BOARD')    for (type,value) in mystate.items():        if value==1:            total += em.get("SENSOR_"+type, 0)    return totaldef get_adc_current(mote):    # FIXME: if we discover that sampling actually takes energy    # in addition to the base cost, add it in if sampling.    if state[mote]['adc_on']:        return em['ADC']    else:        return 0def tx_current(x):    """ Return the radio current for transmit power x """    return em["RADIO_TX_"+("%02X" % x)]def get_radio_current(mote):    #the state is:  {'on':ON/OFF,'tx': TX/RX,'txpower':PowerLevel}    mystate = state[mote]['radio']    if mystate['on']:        if mystate['tx']:            return tx_current(mystate['txpower'])        else:            return em['RADIO_RX']    else:        return 0        def get_leds_current(mote):    # Count how many leds are on:    numon = state[mote]['led'].values().count(1)    return numon * em['LED']def get_eeprom_current(mote):    # Assumes that EEPROM can't read and write at the same time    # I believe that's correct    if state[mote]['eeprom']['read']:        return em['EEPROM_READ']    if state[mote]['eeprom']['write']:        return em['EEPROM_WRITE']    return 0    # There should probably be one entry for each key of the totals# defined abovecurrent_fn_map = {    'cpu': get_cpu_current,    'radio': get_radio_current,    'adc': get_adc_current,    'leds':get_leds_current,    'sensor':get_sensor_current,    'eeprom':get_eeprom_current}def get_current(mote):    total = 0    for k in current_fn_map.keys():        total += current_fn_map[k](mote)    return totaldef print_currents():    for m in range(maxseen+1):        print "mote %d: current %f" % (m, get_current(m))######################## Event processing ########################### Add together a mote time from the trace (in CPU cycles)# and a energy model time (in ms)def time_add(motetime, emtime):    return motetime + emtime / 1000.0 * em.get("CPU_FREQ",7370000)# The handlers should just update the state.  Other functions are# responsible for keeping track of totals.def cpu_cycle_handler(mote, time, newstate):    # the cpu cycle messages always have a single number, which is    # the total since beginning of execution    global state    state[mote]['cpu_cycles'] = float(newstate[1])def cpu_state_handler(mote, time, newstate):    # Here are the possible states, from PowerStateM.nc:    #        char cpu_power_state[8][20] = {"IDLE", \

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲色图在线看| 欧美区一区二区三区| 96av麻豆蜜桃一区二区| 欧美一区二区三区思思人| 中文字幕巨乱亚洲| 精品一区二区免费| 欧美日韩国产另类一区| 国产精品福利一区二区| 精品一区二区免费看| 欧美日韩精品专区| 亚洲免费观看高清完整| 国产91在线观看丝袜| 欧美一卡二卡在线观看| 亚洲国产精品久久久久秋霞影院| 成人黄色在线看| 久久久欧美精品sm网站| 免费精品99久久国产综合精品| 日本乱人伦aⅴ精品| 国产精品日韩成人| 国产精品一卡二| 久久综合久色欧美综合狠狠| 日韩福利视频导航| 欧美在线|欧美| 亚洲综合清纯丝袜自拍| 色94色欧美sute亚洲线路一ni| 国产精品美女久久久久久久久久久| 国产一区二区主播在线| 欧美r级在线观看| 免费一级片91| 欧美成人激情免费网| 毛片av一区二区| 日韩美女在线视频| 久久国产三级精品| 欧美精品一区二区不卡| 麻豆精品新av中文字幕| 精品国产免费人成在线观看| 麻豆国产欧美一区二区三区| 精品久久久久av影院| 精品亚洲成a人| 久久精品视频网| 成人三级在线视频| 国产精品另类一区| 91色在线porny| 一二三区精品福利视频| 91视频观看视频| 亚洲品质自拍视频| 亚洲1区2区3区视频| 日韩片之四级片| 免费高清在线一区| 久久影院午夜片一区| 成人中文字幕合集| 亚洲欧美日韩国产手机在线 | 色婷婷久久99综合精品jk白丝 | 国产亚洲福利社区一区| 国产精品亚洲а∨天堂免在线| 亚洲国产精品高清| 在线观看一区二区精品视频| 亚洲成av人**亚洲成av**| 欧美一级xxx| 成人黄色一级视频| 亚洲6080在线| 国产免费观看久久| 91黄色免费版| 精品亚洲国产成人av制服丝袜| 国产喷白浆一区二区三区| 色欧美88888久久久久久影院| 天堂资源在线中文精品| 亚洲精品一区二区在线观看| 99国产精品久久久久久久久久久| 亚洲在线视频免费观看| 久久久久久日产精品| 一本一道综合狠狠老| 日本成人中文字幕| 1024成人网| 精品国精品国产| 色天使色偷偷av一区二区| 激情久久五月天| 亚洲激情av在线| 久久久国产精品午夜一区ai换脸 | 大尺度一区二区| 午夜亚洲国产au精品一区二区| 精品欧美乱码久久久久久 | 九九九精品视频| 亚洲女人****多毛耸耸8| 精品欧美一区二区久久| 欧美三级中文字幕在线观看| 国产999精品久久久久久绿帽| 日本特黄久久久高潮| 亚洲免费观看高清完整版在线观看熊| 精品粉嫩超白一线天av| 欧美视频中文字幕| 94色蜜桃网一区二区三区| 国产一区二区在线影院| 日韩1区2区3区| 亚洲综合清纯丝袜自拍| 中文字幕亚洲精品在线观看| 久久这里只精品最新地址| 日韩一区二区在线看| 欧美亚洲另类激情小说| 99久久国产综合精品麻豆| 国产伦精品一区二区三区在线观看| 亚洲不卡在线观看| 亚洲蜜臀av乱码久久精品| 性做久久久久久久免费看| 亚洲综合色噜噜狠狠| 一区二区三区在线视频观看| 国产精品视频第一区| 国产亚洲成av人在线观看导航| 欧美一级久久久| 欧美人与z0zoxxxx视频| 欧美三级日韩三级国产三级| 色婷婷久久综合| 欧美专区日韩专区| 在线观看日韩毛片| 在线视频你懂得一区| 一本色道亚洲精品aⅴ| 色94色欧美sute亚洲13| 91成人免费网站| 欧美人xxxx| 欧美大尺度电影在线| 欧美一级片在线观看| 日韩午夜av一区| 精品久久久久一区| 欧美极品少妇xxxxⅹ高跟鞋| 日本一区二区三区在线观看| 中文字幕一区av| 亚洲综合在线电影| 亚洲国产日产av| 乱中年女人伦av一区二区| 激情综合色丁香一区二区| 国产专区综合网| av亚洲精华国产精华| 91亚洲男人天堂| 欧美日韩综合一区| 欧美一区日本一区韩国一区| www国产精品av| 国产精品久久久久久久久动漫 | 欧美三级午夜理伦三级中视频| 欧洲视频一区二区| 精品欧美一区二区久久| 国产精品污网站| 亚洲五码中文字幕| 乱一区二区av| 91麻豆.com| 91精品国产综合久久国产大片| 日韩欧美黄色影院| 国产精品久久精品日日| 亚洲成av人片一区二区| 国产一区日韩二区欧美三区| 9i在线看片成人免费| 欧美伦理电影网| 欧美国产国产综合| 天天免费综合色| 成人黄色一级视频| 欧美二区乱c少妇| 国产精品日日摸夜夜摸av| 午夜精品在线看| 成人av影院在线| 欧美一区二区视频网站| 综合电影一区二区三区| 免费黄网站欧美| 色天天综合久久久久综合片| 精品美女在线播放| 亚洲一区二区三区四区在线观看| 国产一区欧美一区| 欧美放荡的少妇| 亚洲四区在线观看| 激情五月播播久久久精品| 欧洲av在线精品| 中文字幕乱码一区二区免费| 奇米精品一区二区三区四区| 99精品视频在线观看| 欧美精品一区二区久久久| 亚洲国产wwwccc36天堂| 不卡一区二区三区四区| 久久久久国产精品麻豆ai换脸| 日韩成人伦理电影在线观看| 色88888久久久久久影院按摩 | 亚洲图片有声小说| 丁香五精品蜜臀久久久久99网站| 欧美精品日韩一本| 亚洲精品久久久蜜桃| 成人av网站在线| 久久精品亚洲乱码伦伦中文| 免费高清在线一区| 欧美精品亚洲二区| 丝袜亚洲另类丝袜在线| 在线观看国产91| 成人欧美一区二区三区| 成人性色生活片| 中文字幕av一区二区三区免费看| 国产精品一线二线三线精华| 日韩欧美一区二区不卡| 麻豆国产精品官网| 精品理论电影在线观看| 久99久精品视频免费观看| 337p日本欧洲亚洲大胆精品| 国产在线一区二区| 26uuu精品一区二区在线观看| 极品少妇一区二区|