Firmware MCU: Update sequencer block to support dynamic step count and enhance documentation

This commit is contained in:
2025-12-01 22:45:58 +01:00
parent b106859252
commit 855fd01821
6 changed files with 82 additions and 50 deletions

View File

@@ -1,5 +1,8 @@
/*
* Example Code Three - Dual Channel Sequencer
* TODO:
- add predefined sequence of voltage (e.g. for usage as startup sound)
- implement INFO and MISC pins form file FIRMWARE_DEF.h
*/
#include "FIRMWARE_DEF.h"
#include "FIRMWARE.h"
@@ -12,17 +15,17 @@ Keyboard keyboard(N_KEYBOARD_ROW, N_KEYBOARD_COL, pins_keyboard_row, pins_keyboa
Adafruit_MCP4728 MCP4728;
MCP4728_channel_t cvMap[N_CV_GATES] = {MCP4728_CHANNEL_A, MCP4728_CHANNEL_B};
uint16_t keyToVoltage[N_KEYBOARD_ROW*N_KEYBOARD_COL] = { /* 83mV = 1/12V */
1*83, 5*83, 9*83,
2*83, 6*83, 10*83,
3*83, 7*83, 11*83,
4*83, 8*83, 12*83
1*83, 5*83, 9*83, /* ROW 1: B D Fis */
2*83, 6*83, 10*83, /* ROW 2: H Dis G */
3*83, 7*83, 11*83, /* ROW 3: C E Gis */
4*83, 8*83, 12*83 /* ROW 4: Cis F A' */
};
CV cv(&MCP4728, &Wire, N_CV_GATES, cvMap, keyToVoltage, N_KEYBOARD_ROW, N_KEYBOARD_COL);
// Sequencer mit 30s max, 50ms Mindest-Step-Dauer
SequencerBlock sb1(30000, 50);
SequencerBlock sb2(30000, 50);
// Sequencer 30s max, 512 max Steps
SequencerBlock sb1(30000, N_MAX_SEQ_STEPS);
SequencerBlock sb2(30000, N_MAX_SEQ_STEPS);
// Button States
struct ButtonState {