Move more RF path stuff (initialization and MAX5864 state management) into rf_path.c.

Changed initial RF path mode to lowest power (OFF).
Remove initial MAX2837 IF setting -- it's a waste of effort when the first (and necessary) tuning operation will reset it anyway (perhaps to a different value).
This commit is contained in:
Jared Boone
2013-09-17 17:25:00 -07:00
parent b92e916b21
commit 1ec9f560b4
2 changed files with 20 additions and 11 deletions

View File

@ -22,8 +22,11 @@
#include "rf_path.h"
#include <hackrf_core.h>
#include <rffc5071.h>
#include <max2837.h>
#include <max5864.h>
#ifdef JAWBREAKER
/*
@ -64,7 +67,14 @@
uint8_t switchctrl = SWITCHCTRL_SAFE;
void rf_path_init(void) {
rffc5071_set_gpo(switchctrl);
ssp1_set_mode_max5864();
max5864_shutdown();
ssp1_set_mode_max2837();
max2837_setup();
max2837_mode_shutdown();
rffc5071_setup();
}
void rf_path_set_direction(const rf_path_direction_t direction) {
@ -83,6 +93,9 @@ void rf_path_set_direction(const rf_path_direction_t direction) {
} else {
rffc5071_enable();
}
ssp1_set_mode_max5864();
max5864_tx();
ssp1_set_mode_max2837();
max2837_start();
max2837_tx();
break;
@ -99,6 +112,9 @@ void rf_path_set_direction(const rf_path_direction_t direction) {
} else {
rffc5071_enable();
}
ssp1_set_mode_max5864();
max5864_rx();
ssp1_set_mode_max2837();
max2837_start();
max2837_rx();
break;
@ -108,6 +124,9 @@ void rf_path_set_direction(const rf_path_direction_t direction) {
/* Set RF path to receive direction when "off" */
switchctrl &= ~SWITCHCTRL_TX;
rffc5071_disable();
ssp1_set_mode_max5864();
max5864_shutdown();
ssp1_set_mode_max2837();
max2837_stop();
break;
}

View File

@ -777,8 +777,6 @@ void usb_configuration_changed(
}
int main(void) {
const uint32_t ifreq = 2600000000U;
pin_setup();
enable_1v8_power();
cpu_clock_init();
@ -801,14 +799,6 @@ int main(void) {
usb_run(&usb_device);
ssp1_init();
ssp1_set_mode_max5864();
max5864_xcvr();
ssp1_set_mode_max2837();
max2837_setup();
max2837_set_frequency(ifreq);
rffc5071_setup();
rf_path_init();