def get_boards_need_reset(sdk_path, arduino_sdk_version):
    '''Checking bootloader.file settings to analyze
       if it's needed to reset port. Pattern to find it, e.g.:
           LilyPadUSB.bootloader.file=Caterina-LilyPadUSB.hex (SDK vers < 1.5.x)
           LilyPadUSB.bootloader.file=caterina/Caterina-LilyPadUSB.hex (SDK vers == 1.5.x)

        parameters:
            sdk_path: Arduino SDK path
            arduino_sdk_version: Arduino SDK compatible version
        return:
            List of boards that user's SDK needs to be reseted before uploading
    '''
    from biicode.client.dev.hardware.arduino.arduino_converter import boards_pretty_settings
    board_settings = boards_pretty_settings(sdk_path, arduino_sdk_version)
    boards_need_reset = []
    for board, value in board_settings.iteritems():
        for _setting, _value in value:
            if 'file' in _setting and 'caterina' in _value.lower():
                boards_need_reset.append(board)
    return boards_need_reset
dataset/ETHPy150Open biicode/client/dev/hardware/arduino/arduino_port_utils.py/get_boards_need_reset/original