add function to mutate sequence
parent
d075f1e538
commit
37d6a701bc
|
|
@ -181,12 +181,22 @@ static void pulse_cv(uint8_t gpio_num) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void gen_rand_seq(uint8_t *sequence) {
|
static void randomize_seq(uint8_t *sequence) {
|
||||||
for (uint8_t i = 0; i < SEQ_MAX_LEN; i++) {
|
for (uint8_t i = 0; i < SEQ_MAX_LEN; i++) {
|
||||||
sequence[i] = esp_random() % 2;
|
sequence[i] = esp_random() % 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void mutate_seq(uint8_t *sequence) {
|
||||||
|
// pick a step to mutate
|
||||||
|
uint8_t step = esp_random() % SEQ_MAX_LEN;
|
||||||
|
if (sequence[step] == 1) {
|
||||||
|
sequence[step] = 0;
|
||||||
|
} else if (sequence[step] == 0) {
|
||||||
|
sequence[step] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void app_main(void) {
|
void app_main(void) {
|
||||||
/* Initialize Peripherals */
|
/* Initialize Peripherals */
|
||||||
/* Initialize GPIO */
|
/* Initialize GPIO */
|
||||||
|
|
@ -196,6 +206,7 @@ void app_main(void) {
|
||||||
/* Initialize sequence */
|
/* Initialize sequence */
|
||||||
uint8_t sequence[SEQ_MAX_LEN] = {0};
|
uint8_t sequence[SEQ_MAX_LEN] = {0};
|
||||||
uint8_t seq_len = SEQ_MAX_LEN;
|
uint8_t seq_len = SEQ_MAX_LEN;
|
||||||
|
randomize_seq(sequence);
|
||||||
|
|
||||||
/* Main Loop */
|
/* Main Loop */
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
@ -212,7 +223,7 @@ void app_main(void) {
|
||||||
printf("%i", sequence[step]);
|
printf("%i", sequence[step]);
|
||||||
vTaskDelay(500 / portTICK_PERIOD_MS);
|
vTaskDelay(500 / portTICK_PERIOD_MS);
|
||||||
}
|
}
|
||||||
gen_rand_seq(sequence);
|
mutate_seq(sequence);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Reference in New Issue