Feat: add tracker under sequence to display current step
parent
30cacc2bb6
commit
a5a81a6d5c
|
|
@ -93,6 +93,7 @@ lv_obj_t * bpm_label = NULL;
|
||||||
static uint8_t sequence[SEQ_MAX_LEN] = {0};
|
static uint8_t sequence[SEQ_MAX_LEN] = {0};
|
||||||
static uint8_t seq_len = SEQ_MAX_LEN;
|
static uint8_t seq_len = SEQ_MAX_LEN;
|
||||||
lv_obj_t * sequence_label = NULL;
|
lv_obj_t * sequence_label = NULL;
|
||||||
|
lv_obj_t * sequence_tracker = NULL;
|
||||||
|
|
||||||
static const char *TAG = "sequencer";
|
static const char *TAG = "sequencer";
|
||||||
|
|
||||||
|
|
@ -452,6 +453,12 @@ static void gui_create(void) {
|
||||||
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);
|
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) {
|
static void gui_task(void *pvParameter) {
|
||||||
|
|
@ -494,7 +501,19 @@ void app_main(void) {
|
||||||
|
|
||||||
/* Main Loop */
|
/* Main Loop */
|
||||||
while (1) {
|
while (1) {
|
||||||
|
char tracker_str[seq_len];
|
||||||
for (uint8_t step = 0; step < seq_len; step++) {
|
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 step has been set for sequence
|
||||||
if (sequence[step] == 1) {
|
if (sequence[step] == 1) {
|
||||||
pulse_cv(true);
|
pulse_cv(true);
|
||||||
|
|
|
||||||
Reference in New Issue