Skip to main content

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

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

niui-1.2.1-py3-none-any.whl (177.4 kB view details)

Uploaded Python 3

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

Hashes for niui-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1d73a39099d30385e8a1fbded89a138d98b77f3ec2f6fb457bc90abfe6d1c00c
MD5 b5066d7e16b6cd1a67680ccaf6bef357
BLAKE2b-256 f8fe7df1690411677c4d70fddcd577f9987161edabaf20d05ae4d97e92583d8b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page