extend test to a point where we can tune to FM radio
This commit is contained in:
parent
7ea4c0412b
commit
bf24be23da
|
@ -74,7 +74,7 @@ OBJ = obj
|
|||
#-------------------------------------------------------------------------------
|
||||
|
||||
# Tool suffix when cross-compiling
|
||||
CROSS_COMPILE = arm-none-eabi-
|
||||
CROSS_COMPILE = arm-cm3-eabi-
|
||||
|
||||
# Compilation tools
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
|
@ -119,7 +119,6 @@ DRIVER = $(AT91LIB)/drivers
|
|||
MEM = $(AT91LIB)/memories
|
||||
MEM = $(EXT_LIBS)/memories
|
||||
|
||||
VPATH += $(COMP)/codec-wm8731
|
||||
VPATH += $(UTILITY)
|
||||
VPATH += $(PERIPH)/dbgu
|
||||
VPATH += $(PERIPH)/pio
|
||||
|
@ -142,8 +141,6 @@ VPATH += ../../osmo-sdr/firmware/src
|
|||
|
||||
# Objects built from C source files
|
||||
C_OBJECTS += main.o
|
||||
#C_OBJECTS += wm8731.o
|
||||
#C_OBJECTS += wav.o
|
||||
C_OBJECTS += stdio.o
|
||||
C_OBJECTS += math.o
|
||||
C_OBJECTS += dbgu.o
|
||||
|
@ -161,6 +158,7 @@ C_OBJECTS += logging.o
|
|||
C_OBJECTS += tuner_e4k.o
|
||||
C_OBJECTS += tuner_e4k_transport.o
|
||||
C_OBJECTS += si570.o
|
||||
C_OBJECTS += osdr_fpga.o
|
||||
|
||||
|
||||
# Objects for different chips
|
||||
|
|
|
@ -70,19 +70,42 @@
|
|||
//------------------------------------------------------------------------------
|
||||
|
||||
/// List of pins to configure.
|
||||
static const Pin pins[] = {PINS_TWI0, PIN_PCK0, PINS_LEDS};
|
||||
static const Pin pins[] = {PINS_TWI0, PIN_PCK0, PINS_LEDS,
|
||||
PINS_MISC, PINS_SSC, PINS_FPGA_JTAG};
|
||||
|
||||
static Twid twid;
|
||||
static struct e4k_state e4k;
|
||||
static struct si570_ctx si570;
|
||||
|
||||
static void set_si570_freq(uint32_t freq)
|
||||
{
|
||||
si570_set_freq(&si570, freq/1000, 0);
|
||||
e4k.vco.fosc = freq;
|
||||
}
|
||||
|
||||
static void power_peripherals(int on)
|
||||
{
|
||||
if (on) {
|
||||
osdr_fpga_power(1);
|
||||
sam3u_e4k_power(&e4k, 1);
|
||||
sam3u_e4k_stby(&e4k, 0);
|
||||
} else {
|
||||
osdr_fpga_power(0);
|
||||
sam3u_e4k_stby(&e4k, 1);
|
||||
sam3u_e4k_power(&e4k, 0);
|
||||
}
|
||||
}
|
||||
|
||||
static void DisplayMenu(void)
|
||||
{
|
||||
printf("Menu:\r\n"
|
||||
"[0] fpga+rf power on\r\n"
|
||||
"[1] si570 init\r\n"
|
||||
"[2] e4k init\r\n"
|
||||
"[f] si570 10MHz freq\r\n"
|
||||
"[f] si570 30MHz freq\r\n"
|
||||
"[r] si570 regdump\r\n"
|
||||
"[q] 100 MHz\r\n"
|
||||
"[w] 101 MHz\r\n"
|
||||
"\r\n"
|
||||
);
|
||||
}
|
||||
|
@ -146,6 +169,9 @@ int main(void)
|
|||
key = DBGU_GetChar();
|
||||
|
||||
switch (key) {
|
||||
case '0':
|
||||
power_peripherals(1);
|
||||
break;
|
||||
case '1':
|
||||
si570_init(&si570, &twid, SI570_I2C_ADDR);
|
||||
break;
|
||||
|
@ -154,11 +180,17 @@ int main(void)
|
|||
e4k_init(&e4k);
|
||||
break;
|
||||
case 'f':
|
||||
si570_set_freq(&si570, 10000000, 0);
|
||||
set_si570_freq(30000000);
|
||||
break;
|
||||
case 'r':
|
||||
si570_regdump(&si570);
|
||||
break;
|
||||
case 'q':
|
||||
e4k_tune_freq(&e4k, 100000000);
|
||||
break;
|
||||
case 'w':
|
||||
e4k_tune_freq(&e4k, 101000000);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue