static u16 frsky_cb() { if (state < FRSKY_BIND_DONE) { build_bind_packet_1way(); CC2500_Strobe(CC2500_SIDLE); CC2500_WriteReg(CC2500_0A_CHANNR, 0x00); CC2500_WriteData(packet, packet[0]+1); state++; return 53460; } if (state == FRSKY_BIND_DONE) { state++; PROTOCOL_SetBindState(0); } if (state >= FRSKY_DATA1) { u8 chan = calc_channel(); CC2500_Strobe(CC2500_SIDLE); CC2500_WriteReg(CC2500_0A_CHANNR, chan * 5 + 6); build_data_packet_1way(); CC2500_WriteData(packet, packet[0]+1); state++; if (state > FRSKY_DATA5) state = FRSKY_DATA1; return 9006; } return 0; }
struct session* effect_session_start(void) { struct session *sess; char *automixv = webapp_options_getv("auto-mix-n-1"); sess = mem_zalloc(sizeof(*sess), sess_destruct); if (!sess) return NULL; calc_channel(sess); sess->run_play = false; sess->run_src = false; sess->bypass = bypass; sess->trev = 0; sess->prev = 0; lock_alloc(&sess->plock); list_append(&sessionl, &sess->le, sess); if (0 == str_cmp(automixv, "true")) { sess->run_auto_mix = true; warning("auto mix enabled\n"); } else { sess->run_auto_mix = false; warning("auto mix disabled\n"); } return sess; }