###################################################
CFLAGS = -std=gnu11 -O0 -g -Wall -Tstm32_flash.ld -DSTM32F40_41xxx -DCORTEX_M4
-CFLAGS += -mlittle-endian -mthumb -mthumb-interwork -nostartfiles -mcpu=cortex-m4
+CFLAGS += -mlittle-endian -mthumb -mthumb-interwork -nostartfiles -mcpu=cortex-m4 -Wno-unused-function
ifeq ($(FLOAT_TYPE), hard)
CFLAGS += -fsingle-precision-constant -Wdouble-promotion
#include <stm32f4xx_rcc.h>
#include "gdb_stdio.h"
#include "comp.h"
+#include <string.h>
//#include "gmsk_test_dat_m4.h"
#define SINE_SAMPLES 32
int tx_imm[DUC_N];
//Complex input to chain
-COMP comp_in[DUC_N/10];
+#define COMP_IN_SZ (DUC_48N)
+COMP comp_in[COMP_IN_SZ];
unsigned short outbuf[DAC_DUC_BUF_SZ];
fast_dac_open(2*DAC_DUC_BUF_SZ,2*DAC_BUF_SZ);
tstart=tend=tup=cyc=0;
//Initalize complex input with signal at zero
- for(i=0;i<DUC_48N;i++){
+ for(i=0;i<COMP_IN_SZ;i++){
comp_in[i].real=1;
comp_in[i].imag=0;
}
)
{
int i, j, k;
+#ifndef FIXED_IIR
float x, y, z;
+#endif
int n, m, o;
for(i=0, j=0; i<ADC_TUNER_BUF_SZ/2; j++) {
//#define printf gdb_stdio_printf
int main(void) {
- int ret;
//printf("starting\n");
I2C_Setup();
si5351_init(0, SI5351_CRYSTAL_LOAD_6PF, 0);
- ret = si5351_set_freq(1000000000ULL, 0, SI5351_CLK0);
+ si5351_set_freq(1000000000ULL, 0, SI5351_CLK0);
+ // int ret = si5351_set_freq(1000000000ULL, 0, SI5351_CLK0);
//printf(" ret = %d\n", ret);
while(1);
return;
case SI5351_CLKNONE:
return;
+ default:
+ return;
}
reg_val = si5351_read(reg_addr);
uint64_t si5351_pll_calc(uint64_t freq, struct Si5351RegSet *reg, int32_t correction) {
uint64_t ref_freq = Si5351_Config.xtal_freq * SI5351_FREQ_MULT;
uint32_t a, b, c, p1, p2, p3;
- uint64_t lltmp, rfrac, denom;
+ uint64_t lltmp, denom;
// Factor calibration value into nominal crystal frequency
lltmp = freq % ref_freq;
lltmp *= denom;
do_div(lltmp, ref_freq);
- rfrac = lltmp;
b = (((uint64_t)(freq % ref_freq)) * RFRAC_DENOM) / ref_freq;
c = b ? RFRAC_DENOM : 1;
short zeros[SINE_SAMPLES];
int main(void) {
- int ret, ptt, i;
+ int ptt, i;
uint64_t freq_in_Hz_times_100;
for(i=0; i<SINE_SAMPLES; i++)
I2C_Setup();
si5351_init(0, SI5351_CRYSTAL_LOAD_6PF, 0);
freq_in_Hz_times_100 = 1070000000ULL - 3200000ULL;
- ret = si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
+ // int ret = si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
+ si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
//dac_open(DAC_FS_96KHZ, 4*DAC_BUF_SZ);
adc_open(ADC_FS_96KHZ, 10*ADC_BUF_SZ);
int n = adc1_samps();
if (n) {
- uint16_t s, buf[n];
+ uint16_t buf[n];
uint8_t b;
- adc1_read(buf,n);
+ adc1_read((short*)buf,n);
for(i=0; i<n; i++) {
b = (uint8_t)(buf[i]&0xFF);
VCP_put_char(b);
b = (uint8_t)((buf[i]>>8)&0xFF);
VCP_put_char(b);
//VCP_get_char(&b);
- //s = b << 8;
+ //uint16_t s = b << 8;
//VCP_get_char(&b);
//s += b;
//buf[i] = s;
//short speechbuf[320];
int main(void) {
- int ret, ptt, i;
+ int ptt;
uint64_t freq_in_Hz_times_100;
struct freedv * fdv;
struct FSK * fsk;
I2C_Setup();
si5351_init(0, SI5351_CRYSTAL_LOAD_6PF, 0);
freq_in_Hz_times_100 = 1070000000ULL - 3200000ULL;
- ret = si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
+ // int ret = si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
+ si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
/* Open up the FreeDV thing */
fdv = freedv_open(FREEDV_MODE_2400A);
//short buf[ADC_BUF_SZ*4];
dac_open(DAC_FS_16KHZ*2, DAC_BUF_SZ*4);
adc_open(ADC_FS_96KHZ, ADC_BUF_SZ*11);
- size_t lss;
//usb_vcp_init();
int mbptr = 0;
- int k;
int spstate;
ptt = 0;
int nin = freedv_nin(fdv);
1,0,0,0,0,0,1,1, };
int main(void) {
- int ret, ptt, i;
+ int ptt, i;
uint64_t freq_in_Hz_times_100;
struct FSK * fsk;
struct freedv_vhf_deframer * deframer;
- char chbuf[100];
float * mod_buf;
sm1000_leds_switches_init();
I2C_Setup();
si5351_init(0, SI5351_CRYSTAL_LOAD_6PF, 0);
freq_in_Hz_times_100 = 1070000000ULL - 3200000ULL;
- ret = si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
+ si5351_set_freq(freq_in_Hz_times_100, 0, SI5351_CLK0);
dac_open(DAC_FS_96KHZ, 2000);
adc_open(ADC_FS_96KHZ, 2000);
static void TIM_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
- DMA_InitTypeDef DMA_InitStructure;
/* GPIOA and GPIOB clock enable */
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB, ENABLE);
}
void Timer1Config() {
- int i;
-
/* TIM Configuration */
TIM_Config();
static uint8_t usbd_cdc_Setup (void *pdev,
USB_SETUP_REQ *req)
{
- uint16_t len;
+ uint16_t len = 0;
uint8_t *pbuf;
switch (req->bmRequest & USB_REQ_TYPE_MASK)
if(pdev->cfg.low_power)
{
/* un-gate USB Core clock */
- power.d32 = USB_OTG_READ_REG32(&pdev->regs.PCGCCTL);
+ power.d32 = USB_OTG_READ_REG32(pdev->regs.PCGCCTL);
power.b.gatehclk = 0;
power.b.stoppclk = 0;
USB_OTG_WRITE_REG32(pdev->regs.PCGCCTL, power.d32);
if(dsts.b.suspsts == 1)
{
/* un-gate USB Core clock */
- power.d32 = USB_OTG_READ_REG32(&pdev->regs.PCGCCTL);
+ power.d32 = USB_OTG_READ_REG32(pdev->regs.PCGCCTL);
power.b.gatehclk = 0;
power.b.stoppclk = 0;
USB_OTG_WRITE_REG32(pdev->regs.PCGCCTL, power.d32);
if(pdev->cfg.low_power)
{
/* un-gate USB Core clock */
- power.d32 = USB_OTG_READ_REG32(&pdev->regs.PCGCCTL);
+ power.d32 = USB_OTG_READ_REG32(pdev->regs.PCGCCTL);
power.b.gatehclk = 0;
power.b.stoppclk = 0;
USB_OTG_WRITE_REG32(pdev->regs.PCGCCTL, power.d32);