forked from platformio/platformio-core
PIO Unified Debugger
This commit is contained in:
@ -7,6 +7,14 @@ PlatformIO 3.0
|
|||||||
3.4.0 (2017-??-??)
|
3.4.0 (2017-??-??)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* `PIO Unified Debugger <http://docs.platformio.org/page/plus/debugging.html>`__
|
||||||
|
|
||||||
|
- 100+ boards
|
||||||
|
- Multiple architectures and development platforms
|
||||||
|
- Zero Configuration
|
||||||
|
- Compatibility with the popular IDEs: Eclipse, Atom, VSCode, Sublime Text, etc
|
||||||
|
- Windows, MacOS, Linux (+ARMv6-8)
|
||||||
|
|
||||||
* Multi-line support for the different options in `Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__,
|
* Multi-line support for the different options in `Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__,
|
||||||
such as: ``build_flags``, ``build_unflags``, etc.
|
such as: ``build_flags``, ``build_unflags``, etc.
|
||||||
(`issue #889 <https://github.com/platformio/platformio-core/issues/889>`_)
|
(`issue #889 <https://github.com/platformio/platformio-core/issues/889>`_)
|
||||||
|
2
docs
2
docs
Submodule docs updated: 723f9369f5...78fb29eb21
@ -48,6 +48,8 @@ def generate_boards(boards):
|
|||||||
return int(ceil(size / b) * b)
|
return int(ceil(size / b) * b)
|
||||||
assert NotImplemented()
|
assert NotImplemented()
|
||||||
|
|
||||||
|
platforms = {m['name']: m['title'] for m in PLATFORM_MANIFESTS}
|
||||||
|
|
||||||
lines = []
|
lines = []
|
||||||
|
|
||||||
lines.append("""
|
lines.append("""
|
||||||
@ -56,6 +58,7 @@ def generate_boards(boards):
|
|||||||
|
|
||||||
* - ID
|
* - ID
|
||||||
- Name
|
- Name
|
||||||
|
- Platform
|
||||||
- Microcontroller
|
- Microcontroller
|
||||||
- Frequency
|
- Frequency
|
||||||
- Flash
|
- Flash
|
||||||
@ -66,12 +69,15 @@ def generate_boards(boards):
|
|||||||
lines.append("""
|
lines.append("""
|
||||||
* - ``{id}``
|
* - ``{id}``
|
||||||
- `{name} <{url}>`_
|
- `{name} <{url}>`_
|
||||||
|
- :ref:`{platform_title} <platform_{platform}>`
|
||||||
- {mcu}
|
- {mcu}
|
||||||
- {f_cpu:d} MHz
|
- {f_cpu:d} MHz
|
||||||
- {rom} Kb
|
- {rom} Kb
|
||||||
- {ram} Kb""".format(
|
- {ram} Kb""".format(
|
||||||
id=data['id'],
|
id=data['id'],
|
||||||
name=data['name'],
|
name=data['name'],
|
||||||
|
platform=data['platform'],
|
||||||
|
platform_title=platforms[data['platform']],
|
||||||
url=data['url'],
|
url=data['url'],
|
||||||
mcu=data['mcu'].upper(),
|
mcu=data['mcu'].upper(),
|
||||||
f_cpu=int(data['fcpu']) / 1000000,
|
f_cpu=int(data['fcpu']) / 1000000,
|
||||||
@ -423,11 +429,88 @@ popular embedded boards and IDE.
|
|||||||
f.write("\n".join(lines))
|
f.write("\n".join(lines))
|
||||||
|
|
||||||
|
|
||||||
|
def update_debugging():
|
||||||
|
vendors = {}
|
||||||
|
platforms = []
|
||||||
|
frameworks = []
|
||||||
|
for data in BOARDS:
|
||||||
|
if not data['debug']:
|
||||||
|
continue
|
||||||
|
platforms.append(data['platform'])
|
||||||
|
frameworks.extend(data['frameworks'])
|
||||||
|
vendor = data['vendor']
|
||||||
|
if vendor in vendors:
|
||||||
|
vendors[vendor].append(data)
|
||||||
|
else:
|
||||||
|
vendors[vendor] = [data]
|
||||||
|
|
||||||
|
lines = []
|
||||||
|
# Platforms
|
||||||
|
lines.append(""".. _debugging_platforms:
|
||||||
|
|
||||||
|
Platforms
|
||||||
|
---------
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Description""")
|
||||||
|
|
||||||
|
for manifest in PLATFORM_MANIFESTS:
|
||||||
|
if manifest['name'] not in platforms:
|
||||||
|
continue
|
||||||
|
p = PlatformFactory.newPlatform(manifest['name'])
|
||||||
|
lines.append(
|
||||||
|
"""
|
||||||
|
* - :ref:`platform_{type_}`
|
||||||
|
- {description}"""
|
||||||
|
.format(type_=manifest['name'], description=p.description))
|
||||||
|
|
||||||
|
# Frameworks
|
||||||
|
lines.append("""
|
||||||
|
Frameworks
|
||||||
|
----------
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
|
||||||
|
* - Name
|
||||||
|
- Description""")
|
||||||
|
for framework in API_FRAMEWORKS:
|
||||||
|
if framework['name'] not in frameworks:
|
||||||
|
continue
|
||||||
|
lines.append("""
|
||||||
|
* - :ref:`framework_{name}`
|
||||||
|
- {description}""".format(**framework))
|
||||||
|
|
||||||
|
# Boards
|
||||||
|
lines.append("""
|
||||||
|
Boards
|
||||||
|
------
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
For more detailed ``board`` information please scroll tables below by horizontal.
|
||||||
|
""")
|
||||||
|
for vendor, boards in sorted(vendors.iteritems()):
|
||||||
|
lines.append(str(vendor))
|
||||||
|
lines.append("~" * len(vendor))
|
||||||
|
lines.append(generate_boards(boards))
|
||||||
|
|
||||||
|
with open(
|
||||||
|
join(util.get_source_dir(), "..", "docs", "plus",
|
||||||
|
"debugging.rst"), "r+") as fp:
|
||||||
|
content = fp.read()
|
||||||
|
fp.seek(0)
|
||||||
|
fp.truncate()
|
||||||
|
fp.write(content[:content.index(".. _debugging_platforms:")] +
|
||||||
|
"\n".join(lines))
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
update_create_platform_doc()
|
update_create_platform_doc()
|
||||||
update_platform_docs()
|
update_platform_docs()
|
||||||
update_framework_docs()
|
update_framework_docs()
|
||||||
update_embedded_boards()
|
update_embedded_boards()
|
||||||
|
update_debugging()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
@ -73,7 +73,7 @@ def test_init_ide_atom(clirunner, validate_cliresult, tmpdir):
|
|||||||
|
|
||||||
# switch to NodeMCU
|
# switch to NodeMCU
|
||||||
result = clirunner.invoke(
|
result = clirunner.invoke(
|
||||||
cmd_init, ["--ide", "atom", "-b", "nodemcuv2", "-b", "uno"])
|
cmd_init, ["--ide", "atom", "-b", "nodemcuv2"])
|
||||||
validate_cliresult(result)
|
validate_cliresult(result)
|
||||||
validate_pioproject(str(tmpdir))
|
validate_pioproject(str(tmpdir))
|
||||||
assert "arduinoespressif" in tmpdir.join(".clang_complete").read()
|
assert "arduinoespressif" in tmpdir.join(".clang_complete").read()
|
||||||
|
Reference in New Issue
Block a user