|
|
|
@ -17,8 +17,7 @@
|
|
|
|
#pragma once
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include <stdbool.h>
|
|
|
|
#include "debug.h"
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "timer.h"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Maximum number of steps: 256
|
|
|
|
// Maximum number of steps: 256
|
|
|
|
#ifndef SEQUENCER_STEPS
|
|
|
|
#ifndef SEQUENCER_STEPS
|
|
|
|
@ -42,7 +41,18 @@
|
|
|
|
* Make sure that the items of this enumeration follow the powers of 2, separated by a ternary variant.
|
|
|
|
* Make sure that the items of this enumeration follow the powers of 2, separated by a ternary variant.
|
|
|
|
* Check the implementation of `get_step_duration` for further explanation.
|
|
|
|
* Check the implementation of `get_step_duration` for further explanation.
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
typedef enum { SQ_RES_2, SQ_RES_2T, SQ_RES_4, SQ_RES_4T, SQ_RES_8, SQ_RES_8T, SQ_RES_16, SQ_RES_16T, SQ_RES_32, SEQUENCER_RESOLUTIONS } sequencer_resolution_t;
|
|
|
|
typedef enum {
|
|
|
|
|
|
|
|
SQ_RES_2, //
|
|
|
|
|
|
|
|
SQ_RES_2T,
|
|
|
|
|
|
|
|
SQ_RES_4,
|
|
|
|
|
|
|
|
SQ_RES_4T,
|
|
|
|
|
|
|
|
SQ_RES_8,
|
|
|
|
|
|
|
|
SQ_RES_8T,
|
|
|
|
|
|
|
|
SQ_RES_16,
|
|
|
|
|
|
|
|
SQ_RES_16T,
|
|
|
|
|
|
|
|
SQ_RES_32,
|
|
|
|
|
|
|
|
SEQUENCER_RESOLUTIONS
|
|
|
|
|
|
|
|
} sequencer_resolution_t;
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
typedef struct {
|
|
|
|
bool enabled;
|
|
|
|
bool enabled;
|
|
|
|
|