Feat: add tracker under sequence to display current step

main
rkcf 2023-02-05 00:37:05 -06:00
parent 30cacc2bb6
commit a5a81a6d5c
1 changed files with 19 additions and 0 deletions

View File

@ -93,6 +93,7 @@ lv_obj_t * bpm_label = NULL;
static uint8_t sequence[SEQ_MAX_LEN] = {0};
static uint8_t seq_len = SEQ_MAX_LEN;
lv_obj_t * sequence_label = NULL;
lv_obj_t * sequence_tracker = NULL;
static const char *TAG = "sequencer";
@ -452,6 +453,12 @@ static void gui_create(void) {
lv_label_set_text(sequence_label, "oooooooo");
lv_obj_add_style(sequence_label, &gui_style, LV_STATE_DEFAULT);
lv_obj_align(sequence_label, LV_ALIGN_CENTER, 0, 0);
// Create sequence tracker text area
sequence_tracker = lv_label_create(lv_scr_act());
lv_obj_add_style(sequence_tracker, &gui_style, LV_STATE_DEFAULT);
lv_label_set_text(sequence_tracker, "_ ");
lv_obj_align(sequence_tracker, LV_ALIGN_CENTER, 0, 5); // slightly lower than main sequence
}
static void gui_task(void *pvParameter) {
@ -494,7 +501,19 @@ void app_main(void) {
/* Main Loop */
while (1) {
char tracker_str[seq_len];
for (uint8_t step = 0; step < seq_len; step++) {
// advance step tracker
if (step == 0) {
tracker_str[seq_len - 1] = ' ';
} else {
tracker_str[step - 1] = ' ';
}
tracker_str[step] = '_';
// set the new sequence label
lv_label_set_text(sequence_tracker, tracker_str);
// if step has been set for sequence
if (sequence[step] == 1) {
pulse_cv(true);