diff --git a/firmware/export/pcm_record.h b/firmware/export/pcm_record.h index 964d3a003e..af73108d86 100644 --- a/firmware/export/pcm_record.h +++ b/firmware/export/pcm_record.h @@ -48,4 +48,6 @@ unsigned long pcm_num_recorded_bytes(void); void pcm_pause_recording(void); void pcm_resume_recording(void); +void pcmrec_set_mux(int source); + #endif diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c index 3101a16e02..6eb7bbcba8 100644 --- a/firmware/pcm_record.c +++ b/firmware/pcm_record.c @@ -655,4 +655,13 @@ static void pcmrec_thread(void) logf("thread pcmrec done"); } - +void pcmrec_set_mux(int source) +{ + if(source == 0) + and_l(~0x00800000, &GPIO_OUT); /* Line In */ + else + or_l(0x00800000, &GPIO_OUT); /* FM radio */ + + or_l(0x00800000, &GPIO_ENABLE); + or_l(0x00800000, &GPIO_FUNCTION); +}