Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 13 additions & 4 deletions faderpunk/src/apps/control.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,8 @@ pub async fn run(
let mut main_layer_value = fader.get_value();
let mut fad_val = 0;
let mut out: u16 = 0;
let mut last_out = 0;
let mut last_midi = 0u32;
let mut last_i2c = 0u16;

loop {
app.delay_millis(1).await;
Expand Down Expand Up @@ -333,11 +334,19 @@ pub async fn run(
} else {
attenuate_bipolar(main_layer_value, att_layer_value)
};
if last_out != (midi_out as u32 * 127) / 4095 {
let midi_val = if nrpn {
midi_out as u32
} else {
(midi_out as u32 * 127) / 4095
};
if last_midi != midi_val {
midi.send_cc(midi_cc, midi_out).await;
i2c.send_fader_value(0, out, range);
last_midi = midi_val;
}
if last_i2c != midi_out {
i2c.send_fader_value(0, midi_out, range);
last_i2c = midi_out;
}
last_out = (midi_out as u32 * 127) / 4095;

// Update LEDs
match latch_active_layer {
Expand Down