Feat: add bpm label to gui
parent
6145ad8ace
commit
53ade61b13
|
|
@ -87,6 +87,7 @@ portMUX_TYPE mux = portMUX_INITIALIZER_UNLOCKED;
|
||||||
|
|
||||||
static const uint32_t DEFAULT_BPM = 120;
|
static const uint32_t DEFAULT_BPM = 120;
|
||||||
static uint16_t current_bpm = DEFAULT_BPM;
|
static uint16_t current_bpm = DEFAULT_BPM;
|
||||||
|
lv_obj_t * bpm_label = NULL;
|
||||||
|
|
||||||
#define SEQ_MAX_LEN 8
|
#define SEQ_MAX_LEN 8
|
||||||
static uint8_t sequence[SEQ_MAX_LEN] = {0};
|
static uint8_t sequence[SEQ_MAX_LEN] = {0};
|
||||||
|
|
@ -104,6 +105,10 @@ uint32_t ms_to_bpm(uint32_t ms) {
|
||||||
return 60000 / ms;
|
return 60000 / ms;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void update_bpm(void) {
|
||||||
|
lv_label_set_text_fmt(bpm_label, "BPM: %d", current_bpm);
|
||||||
|
}
|
||||||
|
|
||||||
// updates the sequence for the GUI display
|
// updates the sequence for the GUI display
|
||||||
static void update_seq(uint8_t *sequence) {
|
static void update_seq(uint8_t *sequence) {
|
||||||
char seq_str[seq_len];
|
char seq_str[seq_len];
|
||||||
|
|
@ -148,6 +153,7 @@ static void tap_tempo_handler(){
|
||||||
ESP_ERROR_CHECK(gptimer_stop(tap_tempo_timer));
|
ESP_ERROR_CHECK(gptimer_stop(tap_tempo_timer));
|
||||||
ESP_ERROR_CHECK(gptimer_set_raw_count(tap_tempo_timer, 0));
|
ESP_ERROR_CHECK(gptimer_set_raw_count(tap_tempo_timer, 0));
|
||||||
current_bpm = ms_to_bpm(count / 1000);
|
current_bpm = ms_to_bpm(count / 1000);
|
||||||
|
update_bpm();
|
||||||
ESP_LOGI(TAG, "Stopping tap tempo monitoring at %" PRIu64 "ms", count / 1000);
|
ESP_LOGI(TAG, "Stopping tap tempo monitoring at %" PRIu64 "ms", count / 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -434,13 +440,17 @@ static void gui_create(void) {
|
||||||
lv_obj_add_style(title_label, &gui_style, LV_STATE_DEFAULT);
|
lv_obj_add_style(title_label, &gui_style, LV_STATE_DEFAULT);
|
||||||
lv_obj_align(title_label, LV_ALIGN_TOP_MID, 0, 5);
|
lv_obj_align(title_label, LV_ALIGN_TOP_MID, 0, 5);
|
||||||
|
|
||||||
|
// Create and set BPM lable text
|
||||||
|
bpm_label = lv_label_create(lv_scr_act());
|
||||||
|
lv_label_set_text_fmt(bpm_label, "BPM: %d", current_bpm);
|
||||||
|
lv_obj_add_style(bpm_label, &gui_style, LV_STATE_DEFAULT);
|
||||||
|
lv_obj_align(bpm_label, LV_ALIGN_BOTTOM_LEFT, 5, -5);
|
||||||
|
|
||||||
// Create sequence text area
|
// Create sequence text area
|
||||||
sequence_label = lv_label_create(lv_scr_act());
|
sequence_label = lv_label_create(lv_scr_act());
|
||||||
lv_label_set_text(sequence_label, "oooooooo");
|
lv_label_set_text(sequence_label, "oooooooo");
|
||||||
lv_obj_add_style(sequence_label, &gui_style, LV_STATE_DEFAULT);
|
lv_obj_add_style(sequence_label, &gui_style, LV_STATE_DEFAULT);
|
||||||
|
lv_obj_align(sequence_label, LV_ALIGN_CENTER, 0, 0);
|
||||||
// Align label to center top
|
|
||||||
lv_obj_align(sequence_label, LV_ALIGN_TOP_LEFT, 0, 30);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gui_task(void *pvParameter) {
|
static void gui_task(void *pvParameter) {
|
||||||
|
|
|
||||||
Reference in New Issue