From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Cc: Devicetree Compiler
<devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Benjamin Bimmermann <b.bimmermann-LWAfsSFWpa4@public.gmane.org>,
Ulrich Langenbach
<ulrich.langenbach-srmvecZYGfHobmly5n/iKBvVK+yQ3ZXh@public.gmane.org>
Subject: Re: [PATCH v5 3/5] Mention pylibfdt in the documentation
Date: Wed, 15 Feb 2017 16:53:01 +1100 [thread overview]
Message-ID: <20170215055301.GM12369@umbus.fritz.box> (raw)
In-Reply-To: <20170215035200.29934-4-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2723 bytes --]
On Tue, Feb 14, 2017 at 08:51:58PM -0700, Simon Glass wrote:
> Add a note about pylibfdt in the README.
>
> Signed-off-by: Simon Glass <sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
> ---
>
> Changes in v5:
> - Use an interactive session to demonstrate pylibfdt
> - Mention that more work remains
>
> Changes in v4: None
> Changes in v3: None
> Changes in v2:
> - Add details on how to obtain full help and code coverage
>
> README | 43 +++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 43 insertions(+)
>
> diff --git a/README b/README
> index f92008f..d4157ad 100644
> --- a/README
> +++ b/README
> @@ -7,6 +7,49 @@ DTC and LIBFDT are maintained by:
> David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
> Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org>
>
> +
> +Python library
> +--------------
> +
> +A Python library is also available. To build this you will need to install
> +swig and Python development files. On Debian distributions:
> +
> + sudo apt-get install swig python-dev
> +
> +The library provides an Fdt class which you can use like this:
> +
> +$ PYTHONPATH=../pylibfdt python
> +>>> import libfdt
> +>>> fdt = libfdt.Fdt(open('test_tree1.dtb').read())
> +>>> node = fdt.path_offset('/subnode@1')
I'd suggest adding some prints of the node values to show that they're
integers, rather than some exotic handle.
> +>>> prop_offset = fdt.first_property_offset(node)
> +>>> prop = fdt.get_property_by_offset(prop_offset)
> +>>> print '%s=%s' % (prop.name, prop.value)
> +compatible=subnode1
And maybe consider %r instead of %s for the values, to show the
included '\0' etc.
> +>>> node2 = fdt.path_offset('/')
> +>>> print fdt.getprop(node2, 'compatible')
> +test_tree1
> +
> +You will find tests in tests/pylibfdt_tests.py showing how to use each
> +method. Help is available using the Python help command, e.g.:
> +
> + $ cd pylibfdt
> + $ python -c "import libfdt; help(libfdt)"
> +
> +If you add new features, please check code coverage:
> +
> + $ sudo apt-get install python-pip python-pytest
> + $ sudo pip install coverage
> + $ cd tests
> + $ coverage run pylibfdt_tests.py
> + $ coverage html
> + # Open 'htmlcov/index.html' in your browser
> +
> +
> +More work remains to support all of libfdt, including access to numeric
> +values.
> +
> +
> Mailing list
> ------------
> The following list is for discussion about dtc and libfdt implementation
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2017-02-15 5:53 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-15 3:51 [PATCH v5 0/5] Introduce Python bindings for libfdt Simon Glass
[not found] ` <20170215035200.29934-1-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-15 3:51 ` [PATCH v5 1/5] Add an initial Python library " Simon Glass
[not found] ` <20170215035200.29934-2-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-15 5:29 ` David Gibson
[not found] ` <20170215052942.GI12369-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-02-17 4:48 ` Simon Glass
[not found] ` <CAPnjgZ2SK-WRkeZwzjh+gA_zB0GiNFyVyer4zA_k9LUdXRV94Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-20 3:37 ` David Gibson
[not found] ` <20170220033726.GN12644-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-02-21 18:07 ` Simon Glass
[not found] ` <CAPnjgZ2hWsfm7PoNReLt7cAk=OiZBzwERFQnb-utF4fWMuUXgw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-22 1:15 ` David Gibson
2017-02-15 5:47 ` David Gibson
2017-02-15 3:51 ` [PATCH v5 2/5] Add tests for pylibfdt Simon Glass
[not found] ` <20170215035200.29934-3-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-15 5:44 ` David Gibson
[not found] ` <20170215054423.GJ12369-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-02-17 4:48 ` Simon Glass
[not found] ` <CAPnjgZ3wEUUEx6-XiKJ5kns-tA9HdKonXULdBYcXAkyEbHaztg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-20 3:42 ` David Gibson
2017-02-21 18:08 ` Simon Glass
[not found] ` <CAPnjgZ3CSwq7mG+fVdOjx2BSKZF1hK2UY4t6OCy_qYYAC-p42A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-22 2:11 ` David Gibson
[not found] ` <20170222021142.GF12577-K0bRW+63XPQe6aEkudXLsA@public.gmane.org>
2017-02-22 4:33 ` Simon Glass
[not found] ` <CAPnjgZ2v=oQTnYFEwucuCsUN1tQGx3zQfpHBZ1gRzpyZW8_g-g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-02-22 6:19 ` David Gibson
2017-02-15 5:51 ` David Gibson
2017-02-15 3:51 ` [PATCH v5 3/5] Mention pylibfdt in the documentation Simon Glass
[not found] ` <20170215035200.29934-4-sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
2017-02-15 5:53 ` David Gibson [this message]
2017-02-15 3:51 ` [PATCH v5 4/5] Adjust libfdt.h to work with swig Simon Glass
2017-02-15 3:52 ` [PATCH v5 5/5] Build pylibfdt as part of the normal build process Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170215055301.GM12369@umbus.fritz.box \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=b.bimmermann-LWAfsSFWpa4@public.gmane.org \
--cc=devicetree-compiler-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=sjg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org \
--cc=ulrich.langenbach-srmvecZYGfHobmly5n/iKBvVK+yQ3ZXh@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).