Nimu UI Configurator
Project description
Introduction
This repository provides the source code for niui
python package, which is user interface for Nordic Intertial
Measurement Units. It can be used as a local web server, which provides the user interface via browser. Data is
stored in the user's home directory.
Installing
To install, you need python setup and when functional, run
pip3 install niui
Getting Started
To get started, you need a support package provided by the seller of the Nimu product. Assuming that you have extracted
it to the directory nimu-package-123
you can open the support package by giving it to niui with --project-dir
parameter.
You need to also install the drivers for you CAN adapter. Niui uses python-can
as backend so all adapters supported by it, are also supported by niui
. See python-can documentation for further info.
As an example, use the Vector Informatik interface with channel 1. The example here is a multichannel Vector unit and and the channel indexing start from zero.
python3 -m niui --project-dir path/to/nimu-package-123 --interface vector --channel 1
As an example, use PEAK-Systems PCAN-USB adapter.
python3 -m niui --project-dir path/to/nimu-package-123 --interface pcan --channel PCAN_USBBUS1
Developing
For the development setup, there exists a docker image with all necessary dependencies on Docker Hub. You can start the container with following command.
docker run --rm -it -v <PATH_TO_CONG_PKG>:/root/NIMU -v <PATH_TO_SRC>:/mnt -p 8401:8401 -w /mnt tipith/niui-dev:v1 /bin/sh"
Then once in the docker image, start a screen session and create two windows. You can create a new window with keyboard shortcut and switch between windows with .
screen
Once two shells exist in within docker image, you may start the python API program. You can use virtual CAN interface because docker container does not have access to the physical interfaces.
python3 -m niui --interface virtual --project-dir /root/NIMU/ --non-public
Then switch screen windows and start the web page with yarn. Passing in --host variable will make the server available to docker host at port 8401.
cd niui/ui
yarn dev --host
Once development actions are ready, the typescript can be transpiled with command. This will create a index.js file under niui/templates which should be committed to the repo.
yarn build
Releases
- v1.2.1 - Fix JSON descriptor file validation.
- v1.2.0 - Added support for vectored enums. Better documentation on the dev environment.
- v1.1.0 - Added support for vectored floats
- v1.0.0 - Tested to work with PCAN and Vector adapters. Some bugfixes.
- v0.9.0 - Support config data parsing in Python. Fine tune work dir strcture.
- v0.8.0 - Device lookup. Uploading and writing firmware to the device.
- v0.7.0 - Device mock and improved tables with version difference display.
- v0.6.0 - PEP8 and typings.
- v0.5.0 - Basic workflow from the beginning to the end and item view grouping.
- v0.4.0 - Packing and releasing in public.
- v0.3.0 - Saving and loading config projects.
- v0.2.0 - Configuration editor for groups and typical items.
- v0.1.0 - Basic setup.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file niui-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: niui-1.2.1-py3-none-any.whl
- Upload date:
- Size: 177.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d73a39099d30385e8a1fbded89a138d98b77f3ec2f6fb457bc90abfe6d1c00c |
|
MD5 | b5066d7e16b6cd1a67680ccaf6bef357 |
|
BLAKE2b-256 | f8fe7df1690411677c4d70fddcd577f9987161edabaf20d05ae4d97e92583d8b |