5.2.1 - Updated I2C files

Dependents:   mbed-TFT-example-NCS36510 mbed-Accelerometer-example-NCS36510 mbed-Accelerometer-example-NCS36510

Committer:
jacobjohnson
Date:
Mon Feb 27 17:45:05 2017 +0000
Revision:
1:f30bdcd2b33b
Parent:
0:098463de4c5d
changed the inputscale from 1 to 7 in analogin_api.c.  This will need to be changed later, and accessed from the main level, but for now this allows the  adc to read a value from 0 to 3.7V, instead of just up to 1V.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-onsemi 0:098463de4c5d 1 #! /usr/bin/env python2
group-onsemi 0:098463de4c5d 2 """
group-onsemi 0:098463de4c5d 3 mbed SDK
group-onsemi 0:098463de4c5d 4 Copyright (c) 2011-2013 ARM Limited
group-onsemi 0:098463de4c5d 5
group-onsemi 0:098463de4c5d 6 Licensed under the Apache License, Version 2.0 (the "License");
group-onsemi 0:098463de4c5d 7 you may not use this file except in compliance with the License.
group-onsemi 0:098463de4c5d 8 You may obtain a copy of the License at
group-onsemi 0:098463de4c5d 9
group-onsemi 0:098463de4c5d 10 http://www.apache.org/licenses/LICENSE-2.0
group-onsemi 0:098463de4c5d 11
group-onsemi 0:098463de4c5d 12 Unless required by applicable law or agreed to in writing, software
group-onsemi 0:098463de4c5d 13 distributed under the License is distributed on an "AS IS" BASIS,
group-onsemi 0:098463de4c5d 14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
group-onsemi 0:098463de4c5d 15 See the License for the specific language governing permissions and
group-onsemi 0:098463de4c5d 16 limitations under the License.
group-onsemi 0:098463de4c5d 17
group-onsemi 0:098463de4c5d 18
group-onsemi 0:098463de4c5d 19 TEST BUILD & RUN
group-onsemi 0:098463de4c5d 20 """
group-onsemi 0:098463de4c5d 21 import sys
group-onsemi 0:098463de4c5d 22 import json
group-onsemi 0:098463de4c5d 23 from time import sleep
group-onsemi 0:098463de4c5d 24 from shutil import copy
group-onsemi 0:098463de4c5d 25 from os.path import join, abspath, dirname
group-onsemi 0:098463de4c5d 26
group-onsemi 0:098463de4c5d 27 # Be sure that the tools directory is in the search path
group-onsemi 0:098463de4c5d 28 ROOT = abspath(join(dirname(__file__), ".."))
group-onsemi 0:098463de4c5d 29 sys.path.insert(0, ROOT)
group-onsemi 0:098463de4c5d 30
group-onsemi 0:098463de4c5d 31 from tools.utils import args_error
group-onsemi 0:098463de4c5d 32 from tools.utils import NotSupportedException
group-onsemi 0:098463de4c5d 33 from tools.paths import BUILD_DIR
group-onsemi 0:098463de4c5d 34 from tools.paths import MBED_LIBRARIES
group-onsemi 0:098463de4c5d 35 from tools.paths import RTOS_LIBRARIES
group-onsemi 0:098463de4c5d 36 from tools.paths import RPC_LIBRARY
group-onsemi 0:098463de4c5d 37 from tools.paths import ETH_LIBRARY
group-onsemi 0:098463de4c5d 38 from tools.paths import USB_HOST_LIBRARIES, USB_LIBRARIES
group-onsemi 0:098463de4c5d 39 from tools.paths import DSP_LIBRARIES
group-onsemi 0:098463de4c5d 40 from tools.paths import FS_LIBRARY
group-onsemi 0:098463de4c5d 41 from tools.paths import UBLOX_LIBRARY
group-onsemi 0:098463de4c5d 42 from tools.tests import TESTS, Test, TEST_MAP
group-onsemi 0:098463de4c5d 43 from tools.tests import TEST_MBED_LIB
group-onsemi 0:098463de4c5d 44 from tools.tests import test_known, test_name_known
group-onsemi 0:098463de4c5d 45 from tools.targets import TARGET_MAP
group-onsemi 0:098463de4c5d 46 from tools.options import get_default_options_parser
group-onsemi 0:098463de4c5d 47 from tools.options import extract_profile
group-onsemi 0:098463de4c5d 48 from tools.build_api import build_project
group-onsemi 0:098463de4c5d 49 from tools.build_api import mcu_toolchain_matrix
group-onsemi 0:098463de4c5d 50 from utils import argparse_filestring_type
group-onsemi 0:098463de4c5d 51 from utils import argparse_many
group-onsemi 0:098463de4c5d 52 from utils import argparse_dir_not_parent
group-onsemi 0:098463de4c5d 53 from tools.toolchains import mbedToolchain, TOOLCHAIN_CLASSES, TOOLCHAIN_PATHS
group-onsemi 0:098463de4c5d 54 from tools.settings import CLI_COLOR_MAP
group-onsemi 0:098463de4c5d 55
group-onsemi 0:098463de4c5d 56 if __name__ == '__main__':
group-onsemi 0:098463de4c5d 57 # Parse Options
group-onsemi 0:098463de4c5d 58 parser = get_default_options_parser(add_app_config=True)
group-onsemi 0:098463de4c5d 59 group = parser.add_mutually_exclusive_group(required=False)
group-onsemi 0:098463de4c5d 60 group.add_argument("-p",
group-onsemi 0:098463de4c5d 61 type=argparse_many(test_known),
group-onsemi 0:098463de4c5d 62 dest="program",
group-onsemi 0:098463de4c5d 63 help="The index of the desired test program: [0-%d]" % (len(TESTS)-1))
group-onsemi 0:098463de4c5d 64
group-onsemi 0:098463de4c5d 65 group.add_argument("-n",
group-onsemi 0:098463de4c5d 66 type=argparse_many(test_name_known),
group-onsemi 0:098463de4c5d 67 dest="program",
group-onsemi 0:098463de4c5d 68 help="The name of the desired test program")
group-onsemi 0:098463de4c5d 69
group-onsemi 0:098463de4c5d 70 parser.add_argument("-j", "--jobs",
group-onsemi 0:098463de4c5d 71 type=int,
group-onsemi 0:098463de4c5d 72 dest="jobs",
group-onsemi 0:098463de4c5d 73 default=0,
group-onsemi 0:098463de4c5d 74 help="Number of concurrent jobs. Default: 0/auto (based on host machine's number of CPUs)")
group-onsemi 0:098463de4c5d 75
group-onsemi 0:098463de4c5d 76 parser.add_argument("-v", "--verbose",
group-onsemi 0:098463de4c5d 77 action="store_true",
group-onsemi 0:098463de4c5d 78 dest="verbose",
group-onsemi 0:098463de4c5d 79 default=False,
group-onsemi 0:098463de4c5d 80 help="Verbose diagnostic output")
group-onsemi 0:098463de4c5d 81
group-onsemi 0:098463de4c5d 82 parser.add_argument("--silent",
group-onsemi 0:098463de4c5d 83 action="store_true",
group-onsemi 0:098463de4c5d 84 dest="silent",
group-onsemi 0:098463de4c5d 85 default=False,
group-onsemi 0:098463de4c5d 86 help="Silent diagnostic output (no copy, compile notification)")
group-onsemi 0:098463de4c5d 87
group-onsemi 0:098463de4c5d 88 parser.add_argument("-D",
group-onsemi 0:098463de4c5d 89 action="append",
group-onsemi 0:098463de4c5d 90 dest="macros",
group-onsemi 0:098463de4c5d 91 help="Add a macro definition")
group-onsemi 0:098463de4c5d 92
group-onsemi 0:098463de4c5d 93 group.add_argument("-S", "--supported-toolchains",
group-onsemi 0:098463de4c5d 94 action="store_true",
group-onsemi 0:098463de4c5d 95 dest="supported_toolchains",
group-onsemi 0:098463de4c5d 96 default=False,
group-onsemi 0:098463de4c5d 97 help="Displays supported matrix of MCUs and toolchains")
group-onsemi 0:098463de4c5d 98
group-onsemi 0:098463de4c5d 99 parser.add_argument('-f', '--filter',
group-onsemi 0:098463de4c5d 100 dest='general_filter_regex',
group-onsemi 0:098463de4c5d 101 default=None,
group-onsemi 0:098463de4c5d 102 help='For some commands you can use filter to filter out results')
group-onsemi 0:098463de4c5d 103
group-onsemi 0:098463de4c5d 104 # Local run
group-onsemi 0:098463de4c5d 105 parser.add_argument("--automated", action="store_true", dest="automated",
group-onsemi 0:098463de4c5d 106 default=False, help="Automated test")
group-onsemi 0:098463de4c5d 107 parser.add_argument("--host", dest="host_test",
group-onsemi 0:098463de4c5d 108 default=None, help="Host test")
group-onsemi 0:098463de4c5d 109 parser.add_argument("--extra", dest="extra",
group-onsemi 0:098463de4c5d 110 default=None, help="Extra files")
group-onsemi 0:098463de4c5d 111 parser.add_argument("--peripherals", dest="peripherals",
group-onsemi 0:098463de4c5d 112 default=None, help="Required peripherals")
group-onsemi 0:098463de4c5d 113 parser.add_argument("--dep", dest="dependencies",
group-onsemi 0:098463de4c5d 114 default=None, help="Dependencies")
group-onsemi 0:098463de4c5d 115 parser.add_argument("--source", dest="source_dir", type=argparse_filestring_type,
group-onsemi 0:098463de4c5d 116 default=None, help="The source (input) directory", action="append")
group-onsemi 0:098463de4c5d 117 parser.add_argument("--duration", type=int, dest="duration",
group-onsemi 0:098463de4c5d 118 default=None, help="Duration of the test")
group-onsemi 0:098463de4c5d 119 parser.add_argument("--build", dest="build_dir", type=argparse_dir_not_parent(ROOT),
group-onsemi 0:098463de4c5d 120 default=None, help="The build (output) directory")
group-onsemi 0:098463de4c5d 121 parser.add_argument("-N", "--artifact-name", dest="artifact_name",
group-onsemi 0:098463de4c5d 122 default=None, help="The built project's name")
group-onsemi 0:098463de4c5d 123 parser.add_argument("-d", "--disk", dest="disk",
group-onsemi 0:098463de4c5d 124 default=None, help="The mbed disk")
group-onsemi 0:098463de4c5d 125 parser.add_argument("-s", "--serial", dest="serial",
group-onsemi 0:098463de4c5d 126 default=None, help="The mbed serial port")
group-onsemi 0:098463de4c5d 127 parser.add_argument("-b", "--baud", type=int, dest="baud",
group-onsemi 0:098463de4c5d 128 default=None, help="The mbed serial baud rate")
group-onsemi 0:098463de4c5d 129 group.add_argument("-L", "--list-tests", action="store_true", dest="list_tests",
group-onsemi 0:098463de4c5d 130 default=False, help="List available tests in order and exit")
group-onsemi 0:098463de4c5d 131
group-onsemi 0:098463de4c5d 132 # Ideally, all the tests with a single "main" thread can be run with, or
group-onsemi 0:098463de4c5d 133 # without the rtos, eth, usb_host, usb, dsp, fat, ublox
group-onsemi 0:098463de4c5d 134 parser.add_argument("--rtos",
group-onsemi 0:098463de4c5d 135 action="store_true", dest="rtos",
group-onsemi 0:098463de4c5d 136 default=False, help="Link with RTOS library")
group-onsemi 0:098463de4c5d 137
group-onsemi 0:098463de4c5d 138 parser.add_argument("--rpc",
group-onsemi 0:098463de4c5d 139 action="store_true", dest="rpc",
group-onsemi 0:098463de4c5d 140 default=False, help="Link with RPC library")
group-onsemi 0:098463de4c5d 141
group-onsemi 0:098463de4c5d 142 parser.add_argument("--eth",
group-onsemi 0:098463de4c5d 143 action="store_true", dest="eth",
group-onsemi 0:098463de4c5d 144 default=False,
group-onsemi 0:098463de4c5d 145 help="Link with Ethernet library")
group-onsemi 0:098463de4c5d 146
group-onsemi 0:098463de4c5d 147 parser.add_argument("--usb_host",
group-onsemi 0:098463de4c5d 148 action="store_true",
group-onsemi 0:098463de4c5d 149 dest="usb_host",
group-onsemi 0:098463de4c5d 150 default=False,
group-onsemi 0:098463de4c5d 151 help="Link with USB Host library")
group-onsemi 0:098463de4c5d 152
group-onsemi 0:098463de4c5d 153 parser.add_argument("--usb",
group-onsemi 0:098463de4c5d 154 action="store_true",
group-onsemi 0:098463de4c5d 155 dest="usb",
group-onsemi 0:098463de4c5d 156 default=False,
group-onsemi 0:098463de4c5d 157 help="Link with USB Device library")
group-onsemi 0:098463de4c5d 158
group-onsemi 0:098463de4c5d 159 parser.add_argument("--dsp",
group-onsemi 0:098463de4c5d 160 action="store_true",
group-onsemi 0:098463de4c5d 161 dest="dsp",
group-onsemi 0:098463de4c5d 162 default=False,
group-onsemi 0:098463de4c5d 163 help="Link with DSP library")
group-onsemi 0:098463de4c5d 164
group-onsemi 0:098463de4c5d 165 parser.add_argument("--fat",
group-onsemi 0:098463de4c5d 166 action="store_true",
group-onsemi 0:098463de4c5d 167 dest="fat",
group-onsemi 0:098463de4c5d 168 default=False,
group-onsemi 0:098463de4c5d 169 help="Link with FS ad SD card file system library")
group-onsemi 0:098463de4c5d 170
group-onsemi 0:098463de4c5d 171 parser.add_argument("--ublox",
group-onsemi 0:098463de4c5d 172 action="store_true",
group-onsemi 0:098463de4c5d 173 dest="ublox",
group-onsemi 0:098463de4c5d 174 default=False,
group-onsemi 0:098463de4c5d 175 help="Link with U-Blox library")
group-onsemi 0:098463de4c5d 176
group-onsemi 0:098463de4c5d 177 parser.add_argument("--testlib",
group-onsemi 0:098463de4c5d 178 action="store_true",
group-onsemi 0:098463de4c5d 179 dest="testlib",
group-onsemi 0:098463de4c5d 180 default=False,
group-onsemi 0:098463de4c5d 181 help="Link with mbed test library")
group-onsemi 0:098463de4c5d 182
group-onsemi 0:098463de4c5d 183 # Specify a different linker script
group-onsemi 0:098463de4c5d 184 parser.add_argument("-l", "--linker", dest="linker_script",
group-onsemi 0:098463de4c5d 185 type=argparse_filestring_type,
group-onsemi 0:098463de4c5d 186 default=None, help="use the specified linker script")
group-onsemi 0:098463de4c5d 187
group-onsemi 0:098463de4c5d 188 options = parser.parse_args()
group-onsemi 0:098463de4c5d 189
group-onsemi 0:098463de4c5d 190 # Only prints matrix of supported toolchains
group-onsemi 0:098463de4c5d 191 if options.supported_toolchains:
group-onsemi 0:098463de4c5d 192 print mcu_toolchain_matrix(platform_filter=options.general_filter_regex)
group-onsemi 0:098463de4c5d 193 exit(0)
group-onsemi 0:098463de4c5d 194
group-onsemi 0:098463de4c5d 195 # Print available tests in order and exit
group-onsemi 0:098463de4c5d 196 if options.list_tests is True:
group-onsemi 0:098463de4c5d 197 print '\n'.join(map(str, sorted(TEST_MAP.values())))
group-onsemi 0:098463de4c5d 198 sys.exit()
group-onsemi 0:098463de4c5d 199
group-onsemi 0:098463de4c5d 200 # force program to "0" if a source dir is specified
group-onsemi 0:098463de4c5d 201 if options.source_dir is not None:
group-onsemi 0:098463de4c5d 202 p = 0
group-onsemi 0:098463de4c5d 203 else:
group-onsemi 0:098463de4c5d 204 # Program Number or name
group-onsemi 0:098463de4c5d 205 p = options.program
group-onsemi 0:098463de4c5d 206
group-onsemi 0:098463de4c5d 207 # If 'p' was set via -n to list of numbers make this a single element integer list
group-onsemi 0:098463de4c5d 208 if type(p) != type([]):
group-onsemi 0:098463de4c5d 209 p = [p]
group-onsemi 0:098463de4c5d 210
group-onsemi 0:098463de4c5d 211 # Target
group-onsemi 0:098463de4c5d 212 if options.mcu is None :
group-onsemi 0:098463de4c5d 213 args_error(parser, "argument -m/--mcu is required")
group-onsemi 0:098463de4c5d 214 mcu = options.mcu[0]
group-onsemi 0:098463de4c5d 215
group-onsemi 0:098463de4c5d 216 # Toolchain
group-onsemi 0:098463de4c5d 217 if options.tool is None:
group-onsemi 0:098463de4c5d 218 args_error(parser, "argument -t/--tool is required")
group-onsemi 0:098463de4c5d 219 toolchain = options.tool[0]
group-onsemi 0:098463de4c5d 220
group-onsemi 0:098463de4c5d 221 if (options.program is None) and (not options.source_dir):
group-onsemi 0:098463de4c5d 222 args_error(parser, "one of -p, -n, or --source is required")
group-onsemi 0:098463de4c5d 223
group-onsemi 0:098463de4c5d 224 if options.source_dir and not options.build_dir:
group-onsemi 0:098463de4c5d 225 args_error(parser, "argument --build is required when argument --source is provided")
group-onsemi 0:098463de4c5d 226
group-onsemi 0:098463de4c5d 227
group-onsemi 0:098463de4c5d 228 if options.color:
group-onsemi 0:098463de4c5d 229 # This import happens late to prevent initializing colorization when we don't need it
group-onsemi 0:098463de4c5d 230 import colorize
group-onsemi 0:098463de4c5d 231 if options.verbose:
group-onsemi 0:098463de4c5d 232 notify = mbedToolchain.print_notify_verbose
group-onsemi 0:098463de4c5d 233 else:
group-onsemi 0:098463de4c5d 234 notify = mbedToolchain.print_notify
group-onsemi 0:098463de4c5d 235 notify = colorize.print_in_color_notifier(CLI_COLOR_MAP, notify)
group-onsemi 0:098463de4c5d 236 else:
group-onsemi 0:098463de4c5d 237 notify = None
group-onsemi 0:098463de4c5d 238
group-onsemi 0:098463de4c5d 239 if not TOOLCHAIN_CLASSES[toolchain].check_executable():
group-onsemi 0:098463de4c5d 240 search_path = TOOLCHAIN_PATHS[toolchain] or "No path set"
group-onsemi 0:098463de4c5d 241 args_error(parser, "Could not find executable for %s.\n"
group-onsemi 0:098463de4c5d 242 "Currently set search path: %s"
group-onsemi 0:098463de4c5d 243 %(toolchain,search_path))
group-onsemi 0:098463de4c5d 244
group-onsemi 0:098463de4c5d 245 # Test
group-onsemi 0:098463de4c5d 246 for test_no in p:
group-onsemi 0:098463de4c5d 247 test = Test(test_no)
group-onsemi 0:098463de4c5d 248 if options.automated is not None: test.automated = options.automated
group-onsemi 0:098463de4c5d 249 if options.dependencies is not None: test.dependencies = options.dependencies
group-onsemi 0:098463de4c5d 250 if options.host_test is not None: test.host_test = options.host_test;
group-onsemi 0:098463de4c5d 251 if options.peripherals is not None: test.peripherals = options.peripherals;
group-onsemi 0:098463de4c5d 252 if options.duration is not None: test.duration = options.duration;
group-onsemi 0:098463de4c5d 253 if options.extra is not None: test.extra_files = options.extra
group-onsemi 0:098463de4c5d 254
group-onsemi 0:098463de4c5d 255 if not test.is_supported(mcu, toolchain):
group-onsemi 0:098463de4c5d 256 print 'The selected test is not supported on target %s with toolchain %s' % (mcu, toolchain)
group-onsemi 0:098463de4c5d 257 sys.exit()
group-onsemi 0:098463de4c5d 258
group-onsemi 0:098463de4c5d 259 # Linking with extra libraries
group-onsemi 0:098463de4c5d 260 if options.rtos: test.dependencies.append(RTOS_LIBRARIES)
group-onsemi 0:098463de4c5d 261 if options.rpc: test.dependencies.append(RPC_LIBRARY)
group-onsemi 0:098463de4c5d 262 if options.eth: test.dependencies.append(ETH_LIBRARY)
group-onsemi 0:098463de4c5d 263 if options.usb_host: test.dependencies.append(USB_HOST_LIBRARIES)
group-onsemi 0:098463de4c5d 264 if options.usb: test.dependencies.append(USB_LIBRARIES)
group-onsemi 0:098463de4c5d 265 if options.dsp: test.dependencies.append(DSP_LIBRARIES)
group-onsemi 0:098463de4c5d 266 if options.fat: test.dependencies.append(FS_LIBRARY)
group-onsemi 0:098463de4c5d 267 if options.ublox: test.dependencies.append(UBLOX_LIBRARY)
group-onsemi 0:098463de4c5d 268 if options.testlib: test.dependencies.append(TEST_MBED_LIB)
group-onsemi 0:098463de4c5d 269
group-onsemi 0:098463de4c5d 270 build_dir = join(BUILD_DIR, "test", mcu, toolchain, test.id)
group-onsemi 0:098463de4c5d 271 if options.source_dir is not None:
group-onsemi 0:098463de4c5d 272 test.source_dir = options.source_dir
group-onsemi 0:098463de4c5d 273 build_dir = options.source_dir
group-onsemi 0:098463de4c5d 274
group-onsemi 0:098463de4c5d 275 if options.build_dir is not None:
group-onsemi 0:098463de4c5d 276 build_dir = options.build_dir
group-onsemi 0:098463de4c5d 277
group-onsemi 0:098463de4c5d 278 try:
group-onsemi 0:098463de4c5d 279 bin_file = build_project(test.source_dir, build_dir, mcu, toolchain,
group-onsemi 0:098463de4c5d 280 test.dependencies,
group-onsemi 0:098463de4c5d 281 linker_script=options.linker_script,
group-onsemi 0:098463de4c5d 282 clean=options.clean,
group-onsemi 0:098463de4c5d 283 verbose=options.verbose,
group-onsemi 0:098463de4c5d 284 notify=notify,
group-onsemi 0:098463de4c5d 285 silent=options.silent,
group-onsemi 0:098463de4c5d 286 macros=options.macros,
group-onsemi 0:098463de4c5d 287 jobs=options.jobs,
group-onsemi 0:098463de4c5d 288 name=options.artifact_name,
group-onsemi 0:098463de4c5d 289 app_config=options.app_config,
group-onsemi 0:098463de4c5d 290 inc_dirs=[dirname(MBED_LIBRARIES)],
group-onsemi 0:098463de4c5d 291 build_profile=extract_profile(parser,
group-onsemi 0:098463de4c5d 292 options,
group-onsemi 0:098463de4c5d 293 toolchain))
group-onsemi 0:098463de4c5d 294 print 'Image: %s'% bin_file
group-onsemi 0:098463de4c5d 295
group-onsemi 0:098463de4c5d 296 if options.disk:
group-onsemi 0:098463de4c5d 297 # Simple copy to the mbed disk
group-onsemi 0:098463de4c5d 298 copy(bin_file, options.disk)
group-onsemi 0:098463de4c5d 299
group-onsemi 0:098463de4c5d 300 if options.serial:
group-onsemi 0:098463de4c5d 301 # Import pyserial: https://pypi.python.org/pypi/pyserial
group-onsemi 0:098463de4c5d 302 from serial import Serial
group-onsemi 0:098463de4c5d 303
group-onsemi 0:098463de4c5d 304 sleep(TARGET_MAP[mcu].program_cycle_s)
group-onsemi 0:098463de4c5d 305
group-onsemi 0:098463de4c5d 306 serial = Serial(options.serial, timeout = 1)
group-onsemi 0:098463de4c5d 307 if options.baud:
group-onsemi 0:098463de4c5d 308 serial.setBaudrate(options.baud)
group-onsemi 0:098463de4c5d 309
group-onsemi 0:098463de4c5d 310 serial.flushInput()
group-onsemi 0:098463de4c5d 311 serial.flushOutput()
group-onsemi 0:098463de4c5d 312
group-onsemi 0:098463de4c5d 313 try:
group-onsemi 0:098463de4c5d 314 serial.sendBreak()
group-onsemi 0:098463de4c5d 315 except:
group-onsemi 0:098463de4c5d 316 # In linux a termios.error is raised in sendBreak and in setBreak.
group-onsemi 0:098463de4c5d 317 # The following setBreak() is needed to release the reset signal on the target mcu.
group-onsemi 0:098463de4c5d 318 try:
group-onsemi 0:098463de4c5d 319 serial.setBreak(False)
group-onsemi 0:098463de4c5d 320 except:
group-onsemi 0:098463de4c5d 321 pass
group-onsemi 0:098463de4c5d 322
group-onsemi 0:098463de4c5d 323 while True:
group-onsemi 0:098463de4c5d 324 c = serial.read(512)
group-onsemi 0:098463de4c5d 325 sys.stdout.write(c)
group-onsemi 0:098463de4c5d 326 sys.stdout.flush()
group-onsemi 0:098463de4c5d 327
group-onsemi 0:098463de4c5d 328 except KeyboardInterrupt, e:
group-onsemi 0:098463de4c5d 329 print "\n[CTRL+c] exit"
group-onsemi 0:098463de4c5d 330 except NotSupportedException, e:
group-onsemi 0:098463de4c5d 331 print "\nNot supported for selected target"
group-onsemi 0:098463de4c5d 332 except Exception,e:
group-onsemi 0:098463de4c5d 333 if options.verbose:
group-onsemi 0:098463de4c5d 334 import traceback
group-onsemi 0:098463de4c5d 335 traceback.print_exc(file=sys.stdout)
group-onsemi 0:098463de4c5d 336 else:
group-onsemi 0:098463de4c5d 337 print "[ERROR] %s" % str(e)
group-onsemi 0:098463de4c5d 338
group-onsemi 0:098463de4c5d 339 sys.exit(1)