Skip to content

Commit

Permalink
firmware: Update default value for pollux_follower_threshold form 56 …
Browse files Browse the repository at this point in the history
…to 100 to accomodate some values seen during setup of the initial factory run
  • Loading branch information
theacodes committed Mar 3, 2021
1 parent 45da40f commit e0cc29f
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 8 deletions.
4 changes: 2 additions & 2 deletions factory/libgemini/gem_settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ class GemSettings(structy.Struct):

smooth_sensitivity: structy.Fix16 = 30.0

pollux_follower_threshold: int = 56
pollux_follower_threshold: int = 100
"""This is the "deadzone" for Pollux's pitch CV input, basically, it
should be around 0v and it's the point where Pollux starts following
Castor's pitch CV. By default this is 56 code points to allow some
Castor's pitch CV. By default this is 100 code points to allow some
variance in time and temperature."""

castor_lfo_pwm: bool = False
Expand Down
4 changes: 2 additions & 2 deletions firmware/data/gem_settings.structy
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ class GemSettings:

"""This is the "deadzone" for Pollux's pitch CV input, basically, it
should be around 0v and it's the point where Pollux starts following
Castor's pitch CV. By default this is 56 code points to allow some
Castor's pitch CV. By default this is 100 code points to allow some
variance in time and temperature."""
pollux_follower_threshold: uint16 = 56
pollux_follower_threshold: uint16 = 100

"""Route LFO to PWM for oscillators"""
castor_lfo_pwm: bool = False
Expand Down
2 changes: 1 addition & 1 deletion firmware/src/generated/gem_settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ void GemSettings_init(struct GemSettings* inst) {
inst->cv_gain_error = F16(1.0);
inst->smooth_initial_gain = F16(0.1);
inst->smooth_sensitivity = F16(30.0);
inst->pollux_follower_threshold = 56;
inst->pollux_follower_threshold = 100;
inst->castor_lfo_pwm = false;
inst->pollux_lfo_pwm = false;
inst->pitch_knob_nonlinearity = F16(0.6);
Expand Down
2 changes: 1 addition & 1 deletion firmware/src/generated/gem_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ struct GemSettings {
fix16_t smooth_sensitivity;
/* This is the "deadzone" for Pollux's pitch CV input, basically, it
should be around 0v and it's the point where Pollux starts following
Castor's pitch CV. By default this is 56 code points to allow some
Castor's pitch CV. By default this is 100 code points to allow some
variance in time and temperature. */
uint16_t pollux_follower_threshold;
/* Route LFO to PWM for oscillators */
Expand Down
2 changes: 1 addition & 1 deletion user_guide/docs/scripts/gem_settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class GemSettings extends Struct {
{ name: "cv_gain_error", kind: "fix16", default: 1.0 },
{ name: "smooth_initial_gain", kind: "fix16", default: 0.1 },
{ name: "smooth_sensitivity", kind: "fix16", default: 30.0 },
{ name: "pollux_follower_threshold", kind: "uint16", default: 56 },
{ name: "pollux_follower_threshold", kind: "uint16", default: 100 },
{ name: "castor_lfo_pwm", kind: "bool", default: false },
{ name: "pollux_lfo_pwm", kind: "bool", default: false },
{ name: "pitch_knob_nonlinearity", kind: "fix16", default: 0.6 },
Expand Down
2 changes: 1 addition & 1 deletion user_guide/docs/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ If you run into issues, feel free to [reach out](mailto:support@winterbloom.com)
<span class="form-message">The following setting controls how Pollux determines when to follow Castor. The intended behavior is that when no cable is attached to Pollux's pitch CV jack, it will follow Castor's pitch. The module detects this condition by seeing if the input jack is reading 0 volts. Sometimes due to analog conversion errors this threshold needs to be adjusted. Lower thresholds may lead to glitchy behavior as the noise measures above and below the threshold, and higher settings may lead to Pollux ignoring the pitch CV input on lower notes.</span>
<div class="form-group">
<label for="pollux_follower_threshold">Pollux follower threshold</label>
<input type="number" name="pollux_follower_threshold" class="form-control" min="0" max="500" value="56" readonly />
<input type="number" name="pollux_follower_threshold" class="form-control" min="0" max="500" value="100" readonly />
<span class="form-unit"><span id="pollux_follower_threshold_display_value"></span> code points, <span id="pollux_follower_threshold_display_value_volts"></span> volts</span>
</div>
<span class="form-message">The following settings determine how the module corrects for gain and offset errors in its analog-to-digital converter (ADC). During manufacturing, we measure the ADC's response to determine its gain and offset error. We save the calibration data to the device but we also keep a copy of it- if the settings below get lost, corrupted, or otherwise messed up, you can use the restore button below to load the values that were originally on your device. If the button is greyed out, then we don't have a copy of your module's calibration data ☹️.</span>
Expand Down

0 comments on commit e0cc29f

Please sign in to comment.