Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Dividat Driver

Build status

Dividat drivers and hardware test suites.



Nix is required for installing dependencies and providing a suitable development environment.

Quick start

  • Create a suitable environment: nix-shell
  • Build the driver: make
  • Run the driver: ./bin/dividat-driver


Run the test suite with: make test.

Go modules

To install a module, use go get

Documentation is available at



Currently releases can only be made from Linux.

To create a release run: make release.

A default environment (defined in default.nix) provides all necessary dependencies for building on your native system (i.e. Linux or Darwin). Running make will create a binary that should run on your system (at least in the default environemnt).

Releases are built towards a more clearly specified target system (also statically linked). The target systems are defined in the nix/build folder. Nix provides toolchains and dependencies for the target system in a sub environment. The build system (in the make crossbuild target) invokes these sub environments to build releases.

Existing release targets:

  • Linux: statically linked with musl
  • Windows


To deploy a new release run: make deploy. This can only be done if you are on master or develop branch, have correctly tagged the revision and have AWS credentials set in your environment.



This application can be run as a Windows service (

A PowerShell script is provided to download and install the latest version as a Windows service. Run it with the following command in a PowerShell.

Note: You need to run it as an administrator.

PS C:\ Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(''))

Please have a look at the script before running it on your system.


To be able to connect to the driver from within a web app delivered over HTTPS, browsers need to consider the loopback address as a trustworthy origin even when not using TLS. This is the case for most modern browsers, with the exception of Safari (


Data recorder

Data from Senso can be recorded using the recorder. Start it with make record > foo.dat. The created recording can be used by the replayer.

Data replayer

Recorded data can be replayed for debugging purposes.

For default settings: npm run replay

To replay an other recording: npm run replay -- rec/simple.dat

To change the replay speed: npm run replay -- --speed=0.5 rec/simple.dat

To run without looping: npm run replay -- --once