\r
/* init all the drivers for various peripherals */\r
\r
- //sm1000_leds_switches_init();\r
+ sm1000_leds_switches_init();\r
dac_open(4*DAC_BUF_SZ);\r
adc_open(4*ADC_BUF_SZ);\r
f = freedv_open(FREEDV_MODE_1600);\r
TODO:\r
[ ] UT analog interfaces from file IO\r
[ ] UTs for simultaneous tx & rx on analog interfaces\r
- [ ] measure CPU load of various parts with a blinky\r
- [ ] ADC and DAC drivers\r
- [ ] rate conversion\r
[ ] detect program assert type errors with a blinky\r
[ ] timer tick function to measure 10ms-ish type times\r
[ ] switch debouncing?\r
[ ] light led with bit errors\r
- [ ] 16 to 8 kHz rate conversion\r
- [ ] change freedv_api interface to float[]\r
*/\r
\r
/* clear filter memories */\r
\r
while(1) {\r
\r
- if (0) {\r
+ if (switch_ptt()) {\r
\r
/* Transmit -------------------------------------------------------------------------*/\r
\r
/* ADC2 is the SM1000 microphone, DAC1 is the modulator signal we send to radio tx */\r
\r
- if (adc1_read(&adc16k[FDMDV_OS_TAPS_16K], FREEDV_NSAMPLES_16K) == 0) {\r
+ if (adc2_read(&adc16k[FDMDV_OS_TAPS_16K], FREEDV_NSAMPLES_16K) == 0) {\r
GPIOE->ODR = (1 << 3);\r
\r
fdmdv_16_to_8_short(adc8k, &adc16k[FDMDV_OS_TAPS_16K], FREEDV_NSAMPLES);\r
\r
fdmdv_8_to_16_short(dac16k, &dac8k[FDMDV_OS_TAPS_8K], FREEDV_NSAMPLES); \r
\r
- dac2_write(dac16k, FREEDV_NSAMPLES_16K);\r
+ dac1_write(dac16k, FREEDV_NSAMPLES_16K);\r
\r
- //led_ptt(1); led_rt(0); led_err(0);\r
+ led_ptt(1); led_rt(0); led_err(0);\r
GPIOE->ODR &= ~(1 << 3);\r
}\r
\r
// dac8k[FDMDV_OS_TAPS_8K+i] = adc8k[i];\r
fdmdv_8_to_16_short(dac16k, &dac8k[FDMDV_OS_TAPS_8K], nout); \r
dac2_write(dac16k, 2*nout);\r
- //led_ptt(0); led_rt(f->fdmdv_stats.sync); led_err(f->total_bit_errors);\r
+ led_ptt(0); led_rt(f->fdmdv_stats.sync); led_err(f->total_bit_errors);\r
GPIOE->ODR &= ~(1 << 3);\r
}\r
\r