update BPM to support one decimal place

This commit is contained in:
Dominic DiTaranto 2026-03-17 20:38:46 -04:00
parent c61a6af387
commit 425d8e28f7
2 changed files with 10 additions and 10 deletions

View file

@ -397,21 +397,21 @@ void DisplayHandler::render() {
} }
void DisplayHandler::renderMainPage() { void DisplayHandler::renderMainPage() {
std::string bpm_string = "BPM: " + std::to_string((uint8_t)BPM); char bpm_buffer[16];
snprintf(bpm_buffer, sizeof(bpm_buffer), "BPM %.1f", BPM);
if (cursorPosition == 0) { if (cursorPosition == 0) {
if (cursorClick == 1) { if (cursorClick == 1) {
pico_ssd1306::fillRect(display, 0, 0, 100, 18); pico_ssd1306::fillRect(display, 0, 0, 110, 18);
pico_ssd1306::drawText(display, font_12x16, bpm_string.c_str(), 1, 2, pico_ssd1306::drawText(display, font_12x16, bpm_buffer, 1, 2,
pico_ssd1306::WriteMode::SUBTRACT); pico_ssd1306::WriteMode::SUBTRACT);
} else { } else {
pico_ssd1306::drawRect(display, 0, 0, 100, 18, pico_ssd1306::drawRect(display, 0, 0, 110, 18,
pico_ssd1306::WriteMode::ADD); pico_ssd1306::WriteMode::ADD);
pico_ssd1306::drawText(display, font_12x16, bpm_string.c_str(), 1, 2); pico_ssd1306::drawText(display, font_12x16, bpm_buffer, 1, 2);
} }
} else { } else {
pico_ssd1306::drawText(display, font_12x16, bpm_string.c_str(), 1, 2); pico_ssd1306::drawText(display, font_12x16, bpm_buffer, 1, 2);
} }
uint8_t cursor_x = 2; uint8_t cursor_x = 2;

View file

@ -84,9 +84,9 @@ void update_period() {
void update_BPM(bool up) { void update_BPM(bool up) {
if (up) { if (up) {
BPM++; BPM += 0.5;
} else { } else {
BPM--; BPM -= 0.5;
} }
update_period(); update_period();
@ -358,7 +358,7 @@ int main() {
last_ppqn_idx = EXTPPQNIdx; last_ppqn_idx = EXTPPQNIdx;
} }
BPM = (uint8_t)(filteredBPM + 0.5f); BPM = filteredBPM;
if (PLAY) { if (PLAY) {
for (Gate *g : outputs) { for (Gate *g : outputs) {