Giter VIP home page Giter VIP logo

syntherrupter's People

Contributors

kant avatar madsbarnkob avatar mmmzzzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

syntherrupter's Issues

Startup fails when using Nextion Editor/Simulator

Im having problems with tiva firmware compatibility and nextion editor on version 4.2.0 and higher using nextion editor version 1.63.3. The nextion editor remains black even after resetting microcontroller. Versions 4.1.4 and earlier work with nextion editor version 1.16.3.

Originally posted by @WayneSeng in #7 (comment)

Firmware Version Check

Description

Many firmware versions I released are not fully backwards compatible. Although I try to avoid this, the communication protocol between Nextion and Tiva is kept as tight as possible, which makes it difficult to add new features without changing existing commands. As of now the release notes - which you should absolutely read - indicate if a new release is not compatible. However it would maybe be useful to add such a check to the GUI, too.

Tasks

  • Step 1: Basic version check and warning if Nextion and Tiva Firmware are different versions.
  • Step 2: Store in Firmware which versions are compatible and which are not. Display mismatch warning only if the versions are actually not compatible.
    • Introduce Firmware numbers for easier lookup
  • Step 3: Add information which features are not available and maybe disable them.

Related issues

TBD

Modulation Wheel(Enhancement)

Please disregard my previous issue. The noises go away after increasing power. There is one idea I do want to pitch. I noticed the modulation wheel acts more like a tremelo wheel that changes the volume of the output. Is there anyway to change this to pitch variation instead of volume variation?

Fix signed bitshifts

Description and Task

A lot of bitshifts in the Nextion firmware ignore the fact that the sign bit is shifted differently than other bits. It doesn't matter as long as the sign bit is 0, but if it is 1, the resulting value will be by far too high.

Instead of

a.val=b.val&0xffff0000
a.val=a.val>>16

It should be

a.val=b.val>>16
a.val=a.val&0xffff
  • Check all bitshifts and fix them if necessary.

Related issues

None so far.

Midi Settings For Tesla Coils

When you go into Assign Midi channels on syntherrupter, Channel 0 is not an instrument channel. Maybe this should be 1 to 16 not 0 to 15? gets little confusing when selecting the channel in the midi playing software for example channel 1 on the computer is channel 0 on syntherrupter channel 2 on computer is channel 1 on syntherrupter ;-)

Editable ADSR Parameters

Description

Currently ADSR parameters are set at compile time. They should rather be customizable at runtime, by the user.

Tasks

  • Create GUI page which allows editing the parameter
  • Define communication protocol
  • Modify Tiva Firmware to receive and store changes.

Related issues

TBD

No Emergency Shutdown on Startup and Login Screens

Problem

Before Sysex was a thing it was impossible to generate any output signals on the Startup and Login screens. Therefore they don‘t contain any code for the emergency shutdown feature (hit any „inactive“ part like the background or titles to disable all outputs).

However, with Sysex it is possible to generate signals at any point, and I found myself using Sysex a lot (and the touchscreen sometimes not at all). This essentially means I don‘t have the emergency shutdown anymore.

Fix

Add the emergency shutdown to these pages, too.

More MIDI Program Settings

Description

Currently there are 8 ADSR parameters for each MIDI program: 4 pairs of amplitude and duration values. However, there are more parameters that could change depending on the program and thus the desired sound. One example would be if the interpolation between two data points should be linear or exponential.

Tasks

  • Define MIDI Program standard, incl. number of points, point properties, ... (current draft below)
  • Implement new functions in Tiva Firmware

Related issues

TBD

Notes or entire outputs missing

Sometimes an entire output stops working or only plays certain notes. At this point only a reset helps.

This issue only affects the v4.2.0-beta.4 release.

EEPROM Reset

Description

Ok so you goofed up the passwords. What now? Wouldn't it be useful if you could set a jumper which makes the microcontroller reset all settings to default?
Just in case this really happened to you: If you're on v3.x.x: flash v2.0.1. If you're on v2.x.x: flash v3.0.0. After flashing the "new" version you may get a config warning on startup. That's fine! The config stored in EEPROM is not valid for the "new" firmware which forces it to use the default values. To overwrite the current data in the EEPROM with the default settings, enter the settings page, modify any value and return to the main menu.

Tasks

  • Search a good pin to be shorted to ground or VCC.
  • Add check of this pin to the startup and reset EEPROM if jumper is set.

Related issues

TBD

Compensation for non-linearity of Tesla Coils

Description

Unlike speakers, tesla coils are nowhere near being linear in audio. Small ontimes cause almost no audio at all, and even when breakout occurs, the arc volume doesn't scale linearly with ontime.

Tasks

  • Define "mapping standard", incl. number of points, ...
  • Create User Interface to modify the mapping parameters
  • Define communication protocol
  • Modify Tiva Firmware to receive and store changes.

Related issues

TBD

RTFM!

Description and Task

wRite The Freaking Manual! So much stuff that should be documented and explained...

Related issues

TBD

Minimum offtime not saved

Version

v4.1.2

Issue

The minimum offtime is set back to "0" after a powercycle. I noticed this two times while testing out the syntherrupter. I didn't check if it only happens under certain circumstances.

--
Btw, Thank you for this project. Works great so far!

Nextion Startup Timeout

Problem

If the connection between the Nextion screen and the Tiva microcontroller is for some reason broken, the Nextion screen remains dark - which doesn‘t give the user any clues about what‘s wrong.

Fix

Add a timeout on the Nextion startup screen that after x seconds shows an info message (something like „no connection to the Tiva micro; check your wiring“).

MIDI Commands for all Syntherrupter Settings

Description

Just like the note to stereo mapping is controlled by NRPs, all the other parameters should be modifiable by MIDI commands, too. This would allow to embed the settings in your MIDI files so that you can switch between files without the need to change anything by hand (like stereo reaches).

Tasks

  • Define MIDI SysEx and/or NRP commands for all settings
  • Add command processing to MIDI class
  • Send values to Nextion
  • Add option to send all current settings to the host.

Related issues

TBD

Logarithmic Volume

Description

Currently the MIDI velocity, volume, etc affect the resulting volume linearly. However, following the MIDI standard, they should be seen as logarithmic.

Tasks

  • Find out where exactly the exp function should be applied (at the end, intermediate, ...)
  • Put it there.

Related issues

TBD

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.