|
|
@@ -46,6 +46,7 @@ usb flash |
|
|
#include "init_common.h" |
|
|
#include "monome.h" |
|
|
#include "midi.h" |
|
|
#include "music.h" |
|
|
#include "notes.h" |
|
|
#include "timers.h" |
|
|
#include "util.h" |
|
|
@@ -120,6 +121,8 @@ softTimer_t auxTimer[4] = { |
|
|
{ .next = NULL, .prev = NULL } |
|
|
}; |
|
|
|
|
|
uint16_t tuning_table[4][120]; |
|
|
|
|
|
static uint8_t clock_phase; |
|
|
|
|
|
void handler_None(s32 data) { ;; } |
|
|
@@ -445,6 +448,37 @@ void flash_read(void) { |
|
|
// ... |
|
|
} |
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////// |
|
|
// tuning |
|
|
|
|
|
void default_tuning(void) { |
|
|
for (uint8_t i = 0; i < 4; i++) { |
|
|
flashc_memcpy((void *)&f.tuning_table[i], ET, sizeof(ET), true); |
|
|
} |
|
|
} |
|
|
|
|
|
void init_tuning(void) { |
|
|
for (uint8_t i = 0; i < 4; i++) { |
|
|
memcpy((void*)&tuning_table[i], &f.tuning_table[i], 120); |
|
|
} |
|
|
/* memcpy((void *)&tuning_table, &f.tuning_table, sizeof(tuning_table)); */ |
|
|
} |
|
|
|
|
|
void fit_tuning(void) { |
|
|
for (uint8_t i = 0; i < 4; i++) { |
|
|
float step = 0.0; |
|
|
for (uint8_t j = 0; j < 10; j++) { |
|
|
float acc = tuning_table[i][j*12]; |
|
|
if (j < 9) { |
|
|
step = (tuning_table[i][(j+1)*12] - tuning_table[i][j*12]) / 12.0; |
|
|
} |
|
|
for (uint8_t k = j*12; k < (j+1)*12; k++) { |
|
|
tuning_table[i][k] = acc; |
|
|
acc += step; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////// |
|
|
// functions |
|
|
@@ -489,6 +523,7 @@ void clock_set_tr(uint32_t n, uint8_t phase) { |
|
|
/////// |
|
|
// global ii handlers |
|
|
void load_flash_state(void) { |
|
|
init_tuning(); |
|
|
init_levels(); |
|
|
init_cycles(); |
|
|
init_kria(); |
|
|
@@ -587,6 +622,7 @@ int main(void) |
|
|
flashc_memset32((void*)&(f.state.midi_mode), mMidiStandard, 4, true); |
|
|
flashc_memset8((void*)&(f.state.i2c_addr), 0xA0, 1, true); |
|
|
flashc_memset8((void*)&(f.state.grid_varibrightness), 16, 1, true); |
|
|
default_tuning(); |
|
|
default_kria(); |
|
|
default_mp(); |
|
|
default_es(); |
|
|
|