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

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

?? postprocess.py

?? 無線通信的主要編程軟件,是無線通信工作人員的必備工具,關天相關教程我會在后續傳上.
?? PY
?? 第 1 頁 / 共 2 頁
字號:
    #                                       "ADC_NOISE_REDUCTION", \    #                                       "POWER_DOWN", \    #                                       "POWER_SAVE", \    #                                       "RESERVED", \    #                                       "RESERVED", \    #                                       "STANDBY", \    #                                       "EXTENDED_STANDBY"}    # The energy model should have keys for each of the form CPU_`state`    global state    state[mote]["cpu"] = newstate[1]def adc_handler(mote, time, newstate):    global state    #FIXME: The ADC has to be on for any ADC event to work-check this    action = newstate[1]    if action == 'SAMPLE':        state[mote]["adc"] = 1    elif action == 'DATA_READY':        state[mote]["adc"] = 0    elif action == 'ON':        state[mote]["adc_on"] = 1    elif action == 'OFF':        state[mote]["adc_on"] = 0    else:        quit(0,"Line %d: Syntax error: adc action %s unknown" % (lineno,action))def radio_state_handler(mote, time, newstate):    """    The radio is one of the more complicated pieces:    The possible values for newstate:    ON  - turn radio on.  As far as I can tell, goes back    to it's previous state    OFF - turn radio off.    TX - go into transmit mode.  The transmit power is the same         as it was before (either the default, or the latest SetRFPower)    RX - go into receive mode    SetRFPower XX  for some hex value of XX-there should be an    energy model entry for RADIO_TX_XX        Thus, the state for the radio is:    {'on':ON/OFF,'tx': TX/RX,'txpower':PowerLevel}    """    global state    oldstate = state[mote]['radio']    op = newstate[1]    if op == "ON":        # Parameters are set to defaults when turning on        oldstate['on'] = 1        oldstate['tx'] = 0 # Defaults to RX mode        oldstate['txpower'] = em['RADIO_DEFAULT_POWER']    elif op == "OFF":         oldstate['on'] = 0    elif op == "SetRFPower":        oldstate['txpower'] = int(newstate[2],16)  # must be a hex number    elif op == "TX":        # The mica(1) stack, doesn't explicitly turn radio on, so        # TX/RX transitions also turn it on.  Should be valid for mica2        # as well, unless it tries to send while the radio is off, which        # probably qualifies as a bug        oldstate['on'] = 1         oldstate['tx'] = 1    elif op == "RX":        oldstate['on'] = 1        oldstate['tx'] = 0    else:        quit(0,"Line %d: Syntax error: radio state %s unknown" % (lineno,op))    def led_state_handler(mote, time, newstate):    """ The state for the LEDs is pretty simple:        They start out off, and here we just keep track of which are on        in a dictionary.  So the state[mote]['led'] looks like        {'RED':onoff, 'GREEN':onoff, 'YELLOW':onoff}    """    global state    msg = newstate[1]    if msg.endswith("_OFF"):        state[mote]['led'][msg[:-4]]=0    else:        assert msg.endswith("_ON")        state[mote]['led'][msg[:-3]]=1def sensor_state_handler(mote, time, newstate):    global state    # If we're doing sensor stuff, there must be a sensor board:    type = newstate[1]    action = newstate[2]    if action == 'ON':        state[mote]['sensor'][type] = 1    elif action == 'OFF':        state[mote]['sensor'][type] = 0    else:        quit(0, "Line %d: Syntax error: sensor state %s unknown"             % (lineno, action))def eeprom_state_handler(mote, time, newstate):    global state    type = newstate[1]    action = newstate[2]    if type == 'READ':        if action == 'START':            state[mote]['eeprom']['read'] = 1        elif action == 'STOP':            state[mote]['eeprom']['read'] = 0        else:            quit(0, "Line %d: Syntax error: EEPROM READ action %s unknown"             % (lineno, action))    elif type == 'WRITE':        if action == 'START':            state[mote]['eeprom']['write'] = 1        elif action == 'STOP':            state[mote]['eeprom']['write'] = 0        else:            quit(0, "Line %d: Syntax error: EEPROM WRITE action %s unknown"             % (lineno, action))    else:        quit(0, "Line %d: Syntax error: EEPROM TYPE %s unknown"             % (lineno, type))# A table of event type to the appropriate handlerevent_handler = {'CPU_CYCLES'  :    cpu_cycle_handler,                 'CPU_STATE'   :    cpu_state_handler,                 'ADC'  :          adc_handler,                 'RADIO_STATE' :  radio_state_handler,                 'LED_STATE'   :    led_state_handler,                 'SENSOR_STATE': sensor_state_handler,                 'EEPROM'      : eeprom_state_handler}def time_diff(t_from, t_to):    """Returns the difference, in seconds from 't_from' to 't_to', where both    are expressed in cycles.  Uses the CPU_FREQ energy model parameter"""    return (float(t_to) - float(t_from))/em['CPU_FREQ']# Updates every total for every timestep.  This is inefficient,# because if the radio is on for 100 events, there's no need to do 100# small adds But it's simpler this way.  Can fix it (by making# prev_time parametrized by total type) if it's a problemdef update_totals(time):    global total    for m in range(maxseen+1):        for t in totals:            td = time_diff(prev_time[m], time)            total[m][t] += td * prev_current[m][t] * voltagedef update_currents(time):    global prev_time, prev_current    for m in range(maxseen+1):        prev_time[m]=time        for t in totals:            prev_current[m][t] = current_fn_map[t](m)def dump_currents(mote,time):    global data_file, debug    m=mote    if not data_file[m]:        # Open the file        data_file[m] = open(basename + str(m)+".dat", "w")        # Write the header        data_file[m].write("#%11s" % "time");        for x in ['total'] + totals:            data_file[m].write("%12s" % x)        data_file[m].write("\n")    if debug: print prev_current[m]['total'], get_current(m)    if prev_current[m]['total'] != get_current(m):        # To make a square wave, print the previous currents up to "just        # before now", then print the new currents        tm = float(time) / em['CPU_FREQ'] - 0.000001        data_file[m].write("%12f" % tm)        for t in ['total'] + totals:            c = float(prev_current[m][t])            data_file[m].write("%12f" % c)        data_file[m].write("\n");                tm = float(time)/em['CPU_FREQ']        c = get_current(m)        prev_current[m]['total'] = c        data_file[m].write("%12f%12f" % (tm,c))        for t in totals:            c = current_fn_map[t](m)            data_file[m].write("%12f" % c);        data_file[m].write("\n");dbg_unknown_event_types = {}# Takes a line, parses it, and performs the appropriate changes to the# mote state and totals.# The line format we expect consists of whitespace separated fields:# DATA can consist of more than 1 field, but the rest must not# junk POWER: Mote # STATE_TYPE {DATA...} at TIME(in cycles)def handle_event(l):    global maxseen, detail    if debug: print lineno, l    event = l.split()    # Check if this is a power event    if event[1] != "POWER:":        return        mote = int(event[3])    if(mote > maxseen): maxseen = mote    time = event[-1]    #    print "handling event: '%s'" % l    #    print event    if event[4] in event_handler:        # Update the totals up to just before this event        update_totals(time)        # Update the state due to this event        event_handler[event[4]](mote,time,event[4:-2])        if detail:            # At this point, the state is updated, but still have the old            # current values            dump_currents(mote,time)        # Update the prev_current values        update_currents(time)            else:        global dbg_unknown_event_types        if not event[4] in dbg_unknown_event_types:            print "Don't know how to handle "+event[4]+" events"            dbg_unknown_event_types[event[4]] = 1########################  "Main" code ###################def print_summary():    global total    global maxseen    print "maxseen %d" % maxseen    for mote in range(maxseen+1):        sum = 0        if not prettyprint:            s = str(mote)+"   "        for t in totals:            if prettyprint:                print "Mote %d, %s total: %f" % (mote, t, total[mote][t])            else:                s += "%.4f" % total[mote][t]                s += "   "            sum += total[mote][t]        cpu_active_e = state[mote]['cpu_cycles'] * voltage * em['CPU_ACTIVE']/em['CPU_FREQ']        if prettyprint:             print "Mote %d, cpu_cycle total: %f" % (mote, cpu_active_e)        else:            s += "%.4f" % cpu_active_e            s += "   "        sum += cpu_active_e        if prettyprint:            print "Mote %d, Total energy: %f\n" %(mote, sum)        else:            s += "%.4f" % sum            print sif __name__=='__main__':    parse_args()    initstate()    lineno = 1    l=trace.readline()    while l:        handle_event(l)        lineno += 1        l = trace.readline()    if summary:        print_summary()    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人被黑人高潮完整版| 国产精品久久网站| 日韩一区二区在线观看| 欧美xxxx在线观看| 国产亚洲精品精华液| 亚洲图片激情小说| 亚洲成av人影院| 国产一区二区三区日韩| 波多野结衣的一区二区三区| 欧美亚洲精品一区| 久久精品亚洲麻豆av一区二区| 中文字幕不卡的av| 亚洲va欧美va人人爽| 国内久久精品视频| 91一区二区在线| 日韩一级高清毛片| 久久久久国产精品厨房| 亚洲免费伊人电影| 国产尤物一区二区在线| 在线免费观看成人短视频| 欧美一级一级性生活免费录像| 国产清纯在线一区二区www| 亚洲图片欧美视频| 一区二区三区在线高清| 久久99精品久久久久婷婷| 日本久久一区二区| 国产欧美一区二区精品仙草咪| 亚洲一区二区高清| 成人夜色视频网站在线观看| 欧美日韩一区视频| 亚洲欧美福利一区二区| 国产一区视频网站| 欧美男生操女生| 亚洲三级电影全部在线观看高清| 久久99九九99精品| 69p69国产精品| 亚洲你懂的在线视频| 精品一区二区在线观看| 欧美视频中文一区二区三区在线观看| 国产嫩草影院久久久久| 欧美成人欧美edvon| 五月天中文字幕一区二区| 欧美日韩和欧美的一区二区| 五月天久久比比资源色| 日韩视频123| 国产经典欧美精品| 综合激情网...| 欧美午夜在线观看| 免费一级欧美片在线观看| 日韩免费观看高清完整版在线观看| 久久精品国产在热久久| 久久久不卡网国产精品二区 | 91精品国产综合久久久久久| 日本午夜精品一区二区三区电影 | 国产999精品久久| 亚洲免费资源在线播放| 欧美美女黄视频| 国产在线精品一区在线观看麻豆| 国产日产欧美一区二区三区| 在线免费观看视频一区| 日产欧产美韩系列久久99| 国产婷婷精品av在线| 在线免费亚洲电影| 国产在线精品一区二区夜色| 最新国产の精品合集bt伙计| 欧美一区二区在线免费观看| 粉嫩欧美一区二区三区高清影视| 伊人一区二区三区| 26uuu亚洲| 欧美在线你懂得| 国产在线播精品第三| 亚洲免费av在线| 久久在线免费观看| 欧美日韩一区二区三区四区| 国产一区二区三区久久久| 悠悠色在线精品| 国产欧美日本一区视频| 欧美日韩激情一区| 成人aaaa免费全部观看| 九九久久精品视频| 亚洲精品国产高清久久伦理二区| 精品国产伦一区二区三区免费| 91年精品国产| 成人做爰69片免费看网站| 日本亚洲电影天堂| 一区二区成人在线| 国产精品美女久久久久久久久| 欧美丰满少妇xxxbbb| 色猫猫国产区一区二在线视频| 狠狠色丁香婷综合久久| 午夜激情一区二区| 亚洲欧美一区二区久久| 久久综合精品国产一区二区三区 | 欧美va亚洲va国产综合| 欧美三级三级三级| 99视频热这里只有精品免费| 免费久久精品视频| 午夜欧美一区二区三区在线播放| 国产精品网站在线播放| 久久久久久夜精品精品免费| 日韩一区二区三区电影在线观看 | 亚洲一区二区三区中文字幕| 国产精品视频一区二区三区不卡| 欧美va亚洲va| 精品播放一区二区| 日韩欧美国产高清| 日韩欧美黄色影院| 日韩一区二区在线观看视频| 7777精品伊人久久久大香线蕉经典版下载 | 中文字幕 久热精品 视频在线 | 欧美伊人精品成人久久综合97| 成人app下载| 不卡免费追剧大全电视剧网站| 国产精品99久久久久久似苏梦涵| 美国一区二区三区在线播放| 午夜国产不卡在线观看视频| 日韩国产高清在线| 欧美aa在线视频| 久久99国产精品麻豆| 狠狠色丁香久久婷婷综合丁香| 国内一区二区在线| 成人毛片视频在线观看| 91小视频在线观看| 91成人免费电影| 欧美日韩一区在线观看| 欧美一区二区三区在线视频| 9191成人精品久久| 精品免费日韩av| 日本一区二区三区久久久久久久久不| 国产精品天干天干在线综合| 国产精品高潮呻吟久久| 一区二区三区不卡视频| 婷婷中文字幕综合| 久久99久久精品| av男人天堂一区| 在线成人午夜影院| 久久久久国产精品麻豆| 国产精品短视频| 香蕉成人伊视频在线观看| 麻豆国产精品官网| 国产精品一二三四| 91免费国产在线观看| 欧美高清一级片在线| 久久人人超碰精品| 毛片av一区二区| 国产成人综合网| 91视频免费播放| 在线综合视频播放| 久久久影视传媒| 亚洲国产视频网站| 国产精品77777| 欧美在线一二三| 久久久精品影视| 午夜伦欧美伦电影理论片| 国产激情精品久久久第一区二区| 色8久久精品久久久久久蜜| 欧美v亚洲v综合ⅴ国产v| 亚洲视频在线观看三级| 国产夫妻精品视频| 色老综合老女人久久久| 久久久久久久久久看片| 亚洲一区二区三区三| 国产一本一道久久香蕉| 欧美浪妇xxxx高跟鞋交| 国产精品国产精品国产专区不蜜| 婷婷成人综合网| 色呦呦国产精品| 精品国产sm最大网站免费看| 亚洲一二三四区| 91丨porny丨户外露出| 欧美va天堂va视频va在线| 亚洲国产成人av| 99久久国产综合精品色伊| 337p日本欧洲亚洲大胆精品| 天堂在线亚洲视频| 色狠狠桃花综合| 国产精品天美传媒沈樵| 国产精品一卡二| 日韩一区二区精品葵司在线| 亚洲国产一区二区a毛片| 99在线精品一区二区三区| 国产欧美一区二区三区沐欲| 蜜臀av国产精品久久久久| 欧美日韩免费电影| 自拍偷拍欧美精品| 成人h版在线观看| 国产女人aaa级久久久级| 国产乱人伦偷精品视频不卡| 精品国产免费久久 | 国产精品综合视频| 欧美一级爆毛片| 视频在线观看国产精品| 欧洲精品在线观看| 亚洲欧美日韩国产一区二区三区| 成人av资源网站| 国产精品九色蝌蚪自拍| 成人精品一区二区三区四区| 中文文精品字幕一区二区| 高清免费成人av| 国产精品你懂的在线|