Skip to content
Permalink
Browse files

Merge remote-tracking branch 'csboling/csboling-dev' into disting_ex_…

…merge
  • Loading branch information
scanner-darkly committed Jul 18, 2020
2 parents d3291ce + 082d4c7 commit 6fb03dcf6ff79dfa1b19d7c9dd366b35090d3f9d
Showing with 370 additions and 1 deletion.
  1. +21 −0 src/ansible_grid.c
  2. +1 −0 src/ansible_grid.h
  3. +10 −1 src/ansible_preset_docdef.c
  4. +338 −0 tools/flash_tools/schemata/ansible/v161_dev.py
@@ -69,6 +69,7 @@ uint8_t cue_div;
uint8_t cue_steps;

uint8_t meta;
bool meta_reset_all;

uint8_t scale_data[16][8];

@@ -399,6 +400,7 @@ void grid_keytimer(void) {
flashc_memset8((void*)&(f.kria_state.cue_div), cue_div, 1, true);
flashc_memset8((void*)&(f.kria_state.cue_steps), cue_steps, 1, true);
flashc_memset8((void*)&(f.kria_state.meta), meta, 1, true);
flashc_memset8((void*)&(f.kria_state.meta_reset_all), meta_reset_all, 1, true);
flashc_memcpy((void *)&f.kria_state.k[preset], &k, sizeof(k), true);

flashc_memcpy((void *)&f.scale, &scale_data, sizeof(scale_data), true);
@@ -554,6 +556,7 @@ uint8_t div_sync;
u8 pos[4][KRIA_NUM_PARAMS];
u8 pos_mul[4][KRIA_NUM_PARAMS];
bool pos_reset;
bool meta_reset;
u8 tr[4];
u8 note[4];
u8 oct[4];
@@ -616,6 +619,7 @@ void default_kria() {
flashc_memset8((void*)&(f.kria_state.cue_div), 0, 1, true);
flashc_memset8((void*)&(f.kria_state.cue_steps), 3, 1, true);
flashc_memset8((void*)&(f.kria_state.meta), 0, 1, true);
flashc_memset8((void*)&(f.kria_state.meta_reset_all), false, 1, true);

for(i1=0;i1<8;i1++)
k.glyph[i1] = 0;
@@ -673,6 +677,7 @@ void init_kria() {
div_sync = f.kria_state.div_sync;
cue_div = f.kria_state.cue_div;
cue_steps = f.kria_state.cue_steps;
meta_reset_all = f.kria_state.meta_reset_all;

preset = f.kria_state.preset;

@@ -901,6 +906,14 @@ void clock_kria(uint8_t phase) {
}
}

if (meta && meta_reset) {
meta_pos = k.meta_start;
change_pattern(k.meta_pat[meta_pos]);
meta_next = 0;
meta_count = 0;
meta_reset = false;
}

if(pos_reset) {
clock_count = 0;
u64 current_tick = get_ticks();
@@ -1021,6 +1034,9 @@ void clock_kria_track( uint8_t trackNum ) {
static void kria_off(void* o) {
int index = *(u8*)o;
timer_remove( &auxTimer[index] );

if (k.p[k.pattern].t[index].dur[pos[index][mDur]] == 5 && repeats[index] <= 0) return;

clr_tr(TR1 + index);
tr[index] = 0;
}
@@ -1898,6 +1914,9 @@ void handler_KriaGridKey(s32 data) {
grid_refresh = &refresh_grid_tuning;
restore_grid_tuning();
}
else if (y == 7 && x == 15) {
meta_reset_all = !meta_reset_all;
}
monomeFrameDirty++;
}
}
@@ -2904,6 +2923,7 @@ void handler_KriaTr(s32 data) {
break;
case 3:
pos_reset = true;
if (meta && meta_reset_all) meta_reset = true;
break;
default:
break;
@@ -3359,6 +3379,7 @@ void refresh_kria_config(void) {
monomeLedBuffer[R5 + 13] = i;

monomeLedBuffer[R7 + 14] = L0;
monomeLedBuffer[R7 + 15] = meta_reset_all ? L1 : L0;
}


@@ -95,6 +95,7 @@ typedef struct {
uint8_t cue_div;
uint8_t cue_steps;
uint8_t meta;
bool meta_reset_all;
kria_data_t k[GRID_PRESETS];
} kria_state_t;

@@ -243,7 +243,7 @@ json_docdef_t ansible_app_docdefs[] = {
.write = json_write_object,
.state = &ansible_app_object_state[0],
.params = &((json_read_object_params_t) {
.docdef_ct = 11,
.docdef_ct = 12,
.docdefs = ((json_docdef_t[]) {
{
.name = "clock_period",
@@ -335,6 +335,15 @@ json_docdef_t ansible_app_docdefs[] = {
.dst_offset = offsetof(nvram_data_t, kria_state.meta),
}),
},
{
.name = "meta_reset_all",
.read = json_read_scalar,
.write = json_write_bool,
.params = &((json_read_scalar_params_t) {
.dst_size = sizeof_field(nvram_data_t, kria_state.meta_reset_all),
.dst_offset = offsetof(nvram_data_t, kria_state.meta_reset_all),
}),
},
{
.name = "presets",
.read = json_read_array,

0 comments on commit 6fb03dc

Please sign in to comment.