A utility for generating Daisy board support files from JSON descriptions
Project description
json2daisy
Utility for converting JSON board definitions into valid, libDaisy compatible C++ board support files for the Daisy platform.
Install
Note that this module is not intended as a standalone application at this time. You should not need to install it manually for most use cases.
You can install this package with pip:
python -m pip install json2daisy
If you'd like to build the package and install locally, you'll need the build
package:
python -m pip install build
Once that's set up, navigate to the root directory of json2daisy and run:
python3 -m build
python3 -m pip install dist/json2daisy-0.2.0.tar.gz
If pip complains about a missing file, make sure you've entered the correct version number in the archive path.
Usage
This package can be used as a standalone program on the command line or as an imported module.
On the command line:
python -m json2daisy path/to/board_description.json
As a module:
import json2daisy
# If you want to generate from an Electrosmith board:
header_string, board_name, component_info, component_aliases = json2daisy.generate_header_from_board('field')
# If you're supplying custom JSON
header_string, board_name, component_info, component_aliases = json2daisy.generate_header_from_file('path/to/board_description.json')
As you can see, the two functions above will return a number of supplementary objects in addition to the header string. These provide detailed information for how to interact with the generated header. The component_info
dictionary provides getters and setters for I/O, and the component_aliases
dictionary provides valid aliases for everything in component_info
.
For examples of how to structure the board description, take a look at the JSON files in src/json2daisy/resources.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for wstd2daisy-0.5.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd566d89bb36ec9fb245acff166f401a71374f044ec8db421a08eedd52bbe07b |
|
MD5 | 940ed14a02f7c67ceccb686d90e8c72e |
|
BLAKE2b-256 | 842e864b0f8a6aa663743608769d59bb175636468a3aa7e355b2af5837cc4d52 |