Exemplo n.º 1
0
def run(ifile, ofile):
    """ Запускае поиск для одной единицы компиляции
        Данные передаются в виде списков строк без переносов строки 
    """
    # Получаем содержимое файла
    settings = {'name':  ifile, 'howOpen': 'r', 'coding': 'cp1251'}
    list_lines = iow.file2list(settings)

    # Удаляем комментарии - отдельные строки и знаки после end\t\n и прочие
    #   чтобы можно было применить регулярное выражение
    no_commented_code = _delete_comments(list_lines)
   
    settings = { 'name':  'tmp/pure_code.asm', 'howOpen': 'w', 'coding': 'utf_8' }

    # Выделяем только код
    pure_code_list_lines = _extract_code(_delete_endlines_in_list(no_commented_code))
    iow.list2file(settings, pure_code_list_lines)
    
    # Ищем граф вызовов для одного файла
    print 'finding in file ', ifile, '...'
    headers = _find_call_graph(pure_code_list_lines)
    

    # Рисуем картинку графа
    print 'plotting to file ', ofile, '...'
    _gr.write_graph(ofile)
    
    '''
Exemplo n.º 2
0
def run(ifile, ofile):
    """ Запускае поиск для одной единицы компиляции
        Данные передаются в виде списков строк без переносов строки 
    """
    # Пропускаем через препроцессор
    # @todo: доделать препроцессор
    pass
    
    # Получаем содержимое единицы компиляции
    settings = {'name':  ifile, 'howOpen': 'r', 'coding': 'cp1251'}
    list_lines = iow.file2list(settings)
    
    # Удаляем все комментарии
    no_commented_code = delete_comments(list_lines)

    # Выделяем только код
    pure_code_list_lines = extract_code(delete_endlines_in_list(no_commented_code))
    settings = { 'name':  'tmp/pure_code.asm', 'howOpen': 'w', 'coding': 'utf_8' }
    iow.list2file(settings, pure_code_list_lines)
    
    # Ищем граф вызовов для одной ед. компил.
    print 'finding graph in file ', ifile, '...'
    graph_instance = get_call_graph(pure_code_list_lines)

    # Рисуем картинку графа одной ед. компил.
    print 'plotting graph to file ', ofile, '...'
    graph_instance.write_graph(ofile)
    
    '''
 def _plot_item(msg, value):
     print msg+" "+str(value)
     ieee, mchip = f32conv.pack_f32_into_i32(value, _kPluginList["None"])
     mchip = _print_formatter(mchip)
     
     lst = list()
     lst.append(';    '+msg+' '+mchip+'  ; '+str(value)+'\n')
     iow.list2file(_kSets, lst)
    def _plot_word(msg, word):
        """ msg : Lhl Hhl"""
        
        string = tc.byte2hex(int(word)%256)     # L
        string += ' '+ tc.byte2hex(int(word)/256)    # H
        print msg+' '+string

        lst = list()
        lst.append(';    '+msg+' '+string+'\n')
        iow.list2file(_kSets, lst)
def main():
    #fname = 'lessions_names.txt'
    fname = 'lessions_html_code.txt'
    
    sets = iow.get_utf8_template()
    sets['name'] = fname
    
    i = 0
    result_list = []
    readed_list = iow.file2list(sets)
   
    for at in readed_list:
        # Предварительная фильтарция
        at = at.replace('</a>', '')
        
        # Ссылки с содержанием
        if 'pdf' in at or '&format=srt' in at:
            at_copy = at.replace('        <a target="_new" href=', '')
            #result_list.append('link_to_get '+_split_url(at_copy))
            result_list.append(_split_url(at_copy))

        # Темы
        if 'min)' in at and 'div' not in at:
            result_list.append('name_content '+at)
            
        # Части-недели
        if '(Week' in at:
            at_copy_list = at.split('&nbsp;')[1].split('</h3>')[0]
            result_list.append('folder '+at_copy_list)
        i += 1
    
    # теперь нужно запаковать в словарь
    levels = ['folder', 'name_content', 'link_to_get']
    result = {}
    for at in result_list:
        print at
    _fill_tree_dict(result_list, levels, 0, result, 'root')
    
    #_tree_walker(result)
    
    # сохраняем результаты в файл
    to_file = [json.dumps(result, sort_keys=True, indent=2)]
    
    settings = {
        'name':  'extracted_from_html.json', 
        'howOpen': 'w', 
        'coding': 'cp866' }
        
    iow.list2file(settings, to_file)
    
    settings = {
        'name':  'result.list', 
        'howOpen': 'w', 
        'coding': 'cp866' }
    iow.list2file(settings, result_list)
Exemplo n.º 6
0
def main(v_nom, merto_list):
    result_list = list('')
    sets = { 'name': 'voltage_header.h', 'howOpen': 'w', 'coding': 'cp1251'}
    
    # смещение нуля при обратоной обработке
    U = 0
    Udig_zero, capacity = app_reuse_code.calc_coeff_transform(U, metroChannal) 
    # Записать в файл шаблон
    result_list = list('')
    result_list.append('#define kZeroVoltageCorrect '+Udig_zero+"  ; "+str(U)+" V; bits - "+capacity)
    
    for name in merto_list:
        code, capacity = app_reuse_code.calc_coeff_transform(merto_list[name], metroChannal) 
        result_list.append(
            'constant k'+name+' = '+code+"  ; "+str(merto_list[name])+" V / "+capacity+" bits")
        
    
    # Порог
    U_nom = v_nom
    U_min = U_nom-U_nom/100.0*15
    U_max = U_nom+U_nom/100.0*13
    print U_min, U_max
    U_min_d, capacity = app_reuse_code.calc_coeff_transform(U_min, thresholdChannal_min) 
    U_max_d, capacity = app_reuse_code.calc_coeff_transform(U_max, thresholdChannal_max) 
    print U_min_d, U_max_d
    result_list.append('#define VOLTAGE_THR_MIN '+U_min_d+"  ; -15% V  bits - "+capacity)
    result_list.append('#define VOLTAGE_THR_MAX '+U_max_d+"  ; +13% V  bits - "+capacity+'\n')
            
    # Находим коэффициент пересчета
    U = U_nom
    Udig_value, capacity = app_reuse_code.calc_coeff_transform(U, thresholdChannal_min) 
    print Udig_value
    
    U = 42.0
    Udig_value, capacity = app_reuse_code.calc_coeff_transform(U, metroChannal) 
    #result_list.append('#define TEST_MOCK_VOLTAGE '+Udig_value+"\t;"+str(U)+" V; bits - "+capacity)
    
    
    
    realCodeVoltage = tc.hex_word_to_uint(Udig_value)-tc.hex_word_to_uint(Udig_zero)
    k = U/realCodeVoltage
    wprintValue('K code to V :', k)
    result_list.append(';const double kTAOneVoltagePSFactor_ = '+str(k)+';')
    
    k *= 10
    ieee, mchip = f32c.pack_f32_into_i32(k, None)
    mchip = ', 0x'.join(mchip.split(' '))
    mchip = '0x'+mchip[:-4]
    result_list.append('; mchip: '+mchip+' ; K*10 = '+str(k))

    # Закрываем запись
    iow.list2file(sets=sets, lst=result_list)
Exemplo n.º 7
0
def lin_interpol_fan_curve(x, y):
    """ linear interp. air curve"""
    # Линейная
    f = interpolators.interp1d(x, y)

    # Новая ось
    xDataSrc = numpy.linspace(1, x[-1], x[-1])
    yDataSrc = f(xDataSrc)
    
    # htp
    rpt = _rpt_curve(xDataSrc, yDataSrc)
    fname = 'curve.asm'
        
    sets = { 'name': fname, 'howOpen': 'w', 'coding': 'cp1251'}
    sensorSettings = iow.list2file(sets, rpt.split('\n'))
    print 'Curve print in file '+fname
   
    return rpt
 def _new_line():
     lst = list()
     lst.append('\n')
     iow.list2file(_kSets, lst)
 def _print_string(msg):
     lst = list()
     lst.append(';    '+msg+'\n')
     iow.list2file(_kSets, lst)
Exemplo n.º 10
0
    result_map = {}
    list_parser._fill_tree_dict(folded_list, levels, 0, result_map, 'root')
    
    # Plot result
    json_result = json.dumps(result_map['root'], sort_keys=True, indent=2)
    print
    print json_result
    result_map = result_map['root']
    
    #for at in folded_list:
     #   print at
    
    # Создаем структуру           
    
    #_one_call(folded_list, result_map)

    # Plot
    _tree_walker(result_map, 0)
      
      
    # Сохранение в файл
    json_string = json.dumps(result_map, sort_keys=True, indent=2)
    to_file = [json_string]
    
    settings = {
        'name':  'extracted_words.json', 
        'howOpen': 'w', 
        'coding': 'cp866' }
        
    iow.list2file(settings, to_file)       
Exemplo n.º 11
0
def _cp1251_list_to_file(list_lines, fname):
    sets = iow.get_utf8_template()
    sets['name'] = fname
    sets['coding'] = 'cp1251'
    sets['howOpen'] = 'w'
    iow.list2file(sets, list_lines)
Exemplo n.º 12
0
def main(list_of_currents, list_metro):
    metro_channal, threshold_channal = _init_sensors()
    
    result_list = list('')
    
    # смещение нуля при обратной обработке
    result_list.append('#ifdef HALL_SENSORS')
    
    # Коррекция нуля
    delta_zero_code, capacity = app_reuse_code.calc_coeff_transform(
        0, 
        metro_channal) 

    result_list.append('    constant kZeroHallCorrect = '+delta_zero_code+
        "  ; Metro: "+str(0)+" A / "+capacity+' bit')
        
    # Теперь можно говорить об измеренных значениях
    for I in list_metro:
        src_code, capacity = app_reuse_code.calc_coeff_transform(
            list_metro[I], 
            metro_channal) 

        real_current_code = tc.hex_word_to_uint(src_code)-tc.hex_word_to_uint(delta_zero_code)
        print 'real_current_code', real_current_code
        print 'delta_zero_code', delta_zero_code
        print 'src_code', src_code
        
        result_list.append('    constant k'+I+' = 0x'+tc.byte4hex(int(real_current_code))+
            "  ; Metro: "+str(list_metro[I])+" A / "+capacity+' bit')
        
    
    # Пороги
    for I in list_of_currents :
        wprintValue('\nI,A : ', I)
        Udig, capacity = app_reuse_code.calc_coeff_transform(I, threshold_channal) 
        eprintValue('Voltage code', Udig)
        result_list.append('    constant kCurrentThreshold = '+Udig+
            "  ; Threshes: "+str(I)+" A / "+capacity+' bit')

    # Находим коэффициент пересчета
    delta_zero_code, capacity = app_reuse_code.calc_coeff_transform(0, metro_channal) 
            
    I = 10
    Udig_value, capacity = app_reuse_code.calc_coeff_transform(I, metro_channal) 
    realCodeCurrent = tc.hex_word_to_uint(Udig_value)-tc.hex_word_to_uint(delta_zero_code)
    k = I/realCodeCurrent
    wprintValue('K code to A :', k)
    
    result_list.append(';const double kTAOneCurrentFactor_ = '+str(k)+';')
    
    k *= 10 # 3.3 -> 33 для упаковки
    
    ieee, mchip = f32c.pack_f32_into_i32(k, None)
    mchip = ', 0x'.join(mchip.split(' '))
    mchip = '0x'+mchip[:-4]
    result_list.append('; mchip: '+mchip+' ; K = '+str(k))


    # Закрываем запись
    result_list.append('#endif ;HALL_SENSOR\n')
   
    iow.list2file(sets=sets, lst=result_list)
    print 'Threshes write to file '+_fname