Skip to content

composing and exploring vibrotactile patterns (tactons) in real time; share tactons and design stunning tactile experiences collaboratively

License

Notifications You must be signed in to change notification settings

TactileVision/TactJam-firmware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TactJam-firmware

TactJam setup

TactJam is a collaborative playground for composing spatial tactons. The project is split into the following repositories:

If you are looking for the software that drives the device, you have come to the right place. Here you find the firmware and a test suite to run isolated tests for several hardware and software components.

How to build and develop the firmware

The TactJam hardware is based on the ESP32 MCU by Espressif (you might need this driver to detect it on Windows). To simplify the embedded development we use PlatformIO. For the sake of convience the code editor VSCodium offers a package for PlatformIO. Please refer to the installation guide for details. Of course you can also use other editors (see the list of supported editors), or use only the CLI. The firmware code includes libvtp as submoule. To include submodules during clone you can use the command git clone --recurse-submodules https://github.com/TactileVision/TactJam-firmware.git.

Configuration

The build configuration of the PlatformIO project is stored in the platformio.ini (see below). Please change the upload_port to the correct port of your ESP and the monitor_speed according to your needs.

[env:tactjam]
platform = espressif32
board = esp32dev
framework = arduino
upload_port = /dev/cu.SLAB_USBtoUART
monitor_speed = 115200

How to contribute

Anyone with the passion for free software is welcome to contribute to this project by:

  • 👩‍💻 developing software
  • 👾 filing any issues or suggesting new features
  • 🧑‍🏭 sending pull requests for fixed bugs or new features

Before you start, please take a look at the project board and the issues. Maybe there is already a similar bug or feature request that is already under construction and may need your expertise and support.

Branching model

In 2010 Vincent Driessen wrote a nice blog post where he introduced a branching model called git-flow. Over the years it became very popular and was used in many projects. Meanwhile GitHub introduced a much simpler workflow called GitHub flow. Both approaches have their pros and cons. That’s why we use a combination – git-flow as the branching model and the pull request workflow suggested in GitHub flow.

How to commit

To make contribution easier for everyone we like use a common structure of git commit messages:

<type>[optional scope]: <description>
[optional body]
[optional footer(s)]

Please refer to www.conventionalcommits.org for more information.

Code style

This might not be the world’s largest code base. However, a consistent code style makes it easier to read and maintain. The people at Google are very experienced in this and have published their guidelines for different languages. For this project we want to orientate ourselves by this (e.g. C++ style guide for firmware code).

Copyright

TactJam-hardware is (C) 2020 Tactile Vision

It is licensed under the MIT license. For details, please refer to the LICENSE file.

About

composing and exploring vibrotactile patterns (tactons) in real time; share tactons and design stunning tactile experiences collaboratively

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published