Split platform __doc__ to description and vedor url

This commit is contained in:
Ivan Kravets
2015-03-16 12:47:43 +02:00
parent 39f052a57d
commit 0bfc6dfe3e
13 changed files with 44 additions and 74 deletions

View File

@@ -2,14 +2,9 @@
Platform ``atmelavr`` Platform ``atmelavr``
===================== =====================
Atmel AVR 8- and 32-bit MCUs deliver a unique combination of performance, power efficiency and design flexibility. Optimized to speed time to market-and easily adapt to new ones-they are based on the industrys most code-efficient architecture for C and assembly programming.
Atmel AVR 8- and 32-bit MCUs deliver a unique combination of For more detailed information please visit `vendor site <http://www.atmel.com/products/microcontrollers/avr/default.aspx>`_.
performance, power efficiency and design flexibility. Optimized to
speed time to market-and easily adapt to new ones-they are based on
the industrys most code-efficient architecture for C and assembly
programming.
http://www.atmel.com/products/microcontrollers/avr/default.aspx
.. contents:: .. contents::

View File

@@ -2,12 +2,9 @@
Platform ``atmelsam`` Platform ``atmelsam``
===================== =====================
Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
Atmel | SMART offers Flash- based ARM products based on the ARM For more detailed information please visit `vendor site <http://www.atmel.com/products/microcontrollers/arm/default.aspx>`_.
Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB
to 2MB of Flash including a rich peripheral and feature mix.
http://www.atmel.com/products/microcontrollers/arm/default.aspx
.. contents:: .. contents::

View File

@@ -2,13 +2,9 @@
Platform ``freescalekinetis`` Platform ``freescalekinetis``
============================= =============================
Freescale Kinetis Microcontrollers is family of multiple hardware- and software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU series. Kinetis MCUs offer exceptional low-power performance, scalability and feature integration.
Freescale Kinetis Microcontrollers is family of multiple hardware- and For more detailed information please visit `vendor site <http://www.freescale.com/webapp/sps/site/homepage.jsp?code=KINETIS>`_.
software-compatible ARM Cortex-M0+, Cortex-M4 and Cortex-M7-based MCU
series. Kinetis MCUs offer exceptional low-power performance,
scalability and feature integration.
http://www.freescale.com/webapp/sps/site/homepage.jsp?code=KINETIS
.. contents:: .. contents::

View File

@@ -2,15 +2,9 @@
Platform ``nordicnrf51`` Platform ``nordicnrf51``
======================== ========================
The Nordic nRF51 Series is a family of highly flexible, multi-protocol, system-on-chip (SoC) devices for ultra-low power wireless applications. nRF51 Series devices support a range of protocol stacks including Bluetooth Smart (previously called Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as Gazell.
The Nordic nRF51 Series is a family of highly flexible, For more detailed information please visit `vendor site <https://www.nordicsemi.com/eng/Products/nRF51-Series-SoC>`_.
multi-protocol, system-on-chip (SoC) devices for ultra-low power
wireless applications. nRF51 Series devices support a range of
protocol stacks including Bluetooth Smart (previously called
Bluetooth low energy), ANT and proprietary 2.4GHz protocols such as
Gazell.
https://www.nordicsemi.com/eng/Products/nRF51-Series-SoC
.. contents:: .. contents::

View File

@@ -2,15 +2,9 @@
Platform ``nxplpc`` Platform ``nxplpc``
=================== ===================
The NXP LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals.
The NXP LPC is a family of 32-bit microcontroller integrated circuits For more detailed information please visit `vendor site <http://www.nxp.com/products/microcontrollers/>`_.
by NXP Semiconductors. The LPC chips are grouped into related series
that are based around the same 32-bit ARM processor core, such as the
Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each
microcontroller consists of the processor core, static RAM memory,
flash memory, debugging interface, and various peripherals.
http://www.nxp.com/products/microcontrollers/
.. contents:: .. contents::

View File

@@ -2,15 +2,9 @@
Platform ``ststm32`` Platform ``ststm32``
==================== ====================
The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M processor is designed to offer new degrees of freedom to MCU users. It offers a 32-bit product range that combines very high performance, real-time capabilities, digital signal processing, and low-power, low-voltage operation, while maintaining full integration and ease of development.
The STM32 family of 32-bit Flash MCUs based on the ARM Cortex-M For more detailed information please visit `vendor site <http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32>`_.
processor is designed to offer new degrees of freedom to MCU users.
It offers a 32-bit product range that combines very high performance,
real-time capabilities, digital signal processing, and low-power,
low-voltage operation, while maintaining full integration and ease of
development.
http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32
.. contents:: .. contents::

View File

@@ -2,14 +2,9 @@
Platform ``teensy`` Platform ``teensy``
=================== ===================
Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port. No special programmer is needed, only a standard "Mini-B" USB cable and a PC or Macintosh with a USB port.
Teensy is a complete USB-based microcontroller development system, in For more detailed information please visit `vendor site <https://www.pjrc.com/teensy>`_.
a very small footprint, capable of implementing many types of projects.
All programming is done via the USB port. No special programmer is
needed, only a standard "Mini-B" USB cable and a PC or Macintosh with
a USB port.
https://www.pjrc.com/teensy
.. contents:: .. contents::

View File

@@ -2,13 +2,9 @@
Platform ``timsp430`` Platform ``timsp430``
===================== =====================
MSP430 microcontrollers (MCUs) from Texas Instruments (TI) are 16-bit, RISC-based, mixed-signal processors designed for ultra-low power. These MCUs offer the lowest power consumption and the perfect mix of integrated peripherals for thousands of applications.
MSP430 microcontrollers (MCUs) from Texas Instruments (TI) For more detailed information please visit `vendor site <http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/overview.page>`_.
are 16-bit, RISC-based, mixed-signal processors designed for ultra-low
power. These MCUs offer the lowest power consumption and the perfect
mix of integrated peripherals for thousands of applications.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/overview.page
.. contents:: .. contents::

View File

@@ -2,13 +2,9 @@
Platform ``titiva`` Platform ``titiva``
=================== ===================
Texas Instruments TM4C12x MCUs offer the industrys most popular ARM Cortex-M4 core with scalable memory and package options, unparalleled connectivity peripherals, advanced application functions, industry-leading analog integration, and extensive software solutions.
Texas Instruments TM4C12x MCUs offer the industrys most popular For more detailed information please visit `vendor site <http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/control_automation/tm4c12x/overview.page>`_.
ARM Cortex-M4 core with scalable memory and package options, unparalleled
connectivity peripherals, advanced application functions, industry-leading
analog integration, and extensive software solutions.
http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/c2000_performance/control_automation/tm4c12x/overview.page
.. contents:: .. contents::

View File

@@ -19,18 +19,18 @@ def cli(query, json_output):
for platform in platforms: for platform in platforms:
p = PlatformFactory.newPlatform(platform) p = PlatformFactory.newPlatform(platform)
name = p.get_name() name = p.get_name()
info = p.get_short_info() description = p.get_description()
if query == "all": if query == "all":
query = "" query = ""
search_data = "%s %s %s" % (name, info, p.get_packages()) search_data = "%s %s %s" % (name, description, p.get_packages())
if query and query.lower() not in search_data.lower(): if query and query.lower() not in search_data.lower():
continue continue
data.append({ data.append({
"name": name, "name": name,
"info": info, "description": description,
"packages": p.get_packages() "packages": p.get_packages()
}) })
@@ -42,5 +42,5 @@ def cli(query, json_output):
click.echo(" (available packages: %s)" % ", ".join( click.echo(" (available packages: %s)" % ", ".join(
p.get_packages().keys())) p.get_packages().keys()))
click.secho("-" * len(item['name']), fg="cyan") click.secho("-" * len(item['name']), fg="cyan")
click.echo(item['info']) click.echo(item['description'])
click.echo() click.echo()

View File

@@ -12,7 +12,7 @@ from platformio.pkgmanager import PackageManager
from platformio.platforms.base import PlatformFactory from platformio.platforms.base import PlatformFactory
@click.command("show", short_help="Show details about installed platforms") @click.command("show", short_help="Show details about installed platform")
@click.argument("platform") @click.argument("platform")
@click.pass_context @click.pass_context
def cli(ctx, platform): def cli(ctx, platform):
@@ -29,8 +29,9 @@ def cli(ctx, platform):
raise PlatformNotInstalledYet(platform) raise PlatformNotInstalledYet(platform)
p = PlatformFactory.newPlatform(platform) p = PlatformFactory.newPlatform(platform)
click.echo("{name:<20} - {info}".format( click.echo("{name:<20} - {description} [ {url} ]".format(
name=click.style(p.get_name(), fg="cyan"), info=p.get_short_info())) name=click.style(p.get_name(), fg="cyan"),
description=p.get_description(), url=p.get_vendor_url()))
installed_packages = PackageManager.get_installed() installed_packages = PackageManager.get_installed()
for name in p.get_installed_packages(): for name in p.get_installed_packages():

View File

@@ -176,10 +176,17 @@ class BasePlatform(object):
return builtin return builtin
raise NotImplementedError() raise NotImplementedError()
def get_short_info(self): def get_description(self):
if self.__doc__: if self.__doc__:
doclines = [l.strip() for l in self.__doc__.splitlines()] doclines = [l.strip() for l in self.__doc__.splitlines() if
return " ".join(doclines).strip() l.strip()]
return " ".join(doclines[:-1]).strip()
else:
raise NotImplementedError()
def get_vendor_url(self):
if self.__doc__ and "http" in self.__doc__:
return self.__doc__[self.__doc__.index("http"):].strip()
else: else:
raise NotImplementedError() raise NotImplementedError()

View File

@@ -99,9 +99,13 @@ def generate_platform(name):
lines.append("=" * len(_title)) lines.append("=" * len(_title))
p = PlatformFactory.newPlatform(name) p = PlatformFactory.newPlatform(name)
lines.extend([l.strip() for l in p.__doc__.split("\n")]) lines.append(p.get_description())
lines.append("""
For more detailed information please visit `vendor site <%s>`_.""" %
p.get_vendor_url())
lines.append(""".. contents::""") lines.append("""
.. contents::""")
lines.append(""" lines.append("""
Packages Packages
-------- --------
@@ -153,8 +157,9 @@ def generate_framework(name, data):
lines.append(_title) lines.append(_title)
lines.append("=" * len(_title)) lines.append("=" * len(_title))
lines.append(data['description']) lines.append(data['description'])
lines.append("""\n.. contents::""")
lines.append(""" lines.append("""
.. contents::
Boards Boards
------ ------