mirror of
https://github.com/portapack-mayhem/mayhem-firmware.git
synced 2026-09-11 09:09:29 +00:00
Sampling frequency and Receiver Model tweaks. (#3053)
This commit is contained in:
@@ -730,8 +730,8 @@ void ClockManager::set_sampling_frequency(const uint32_t frequency) {
|
|||||||
radio::invalidate_spi_config();
|
radio::invalidate_spi_config();
|
||||||
|
|
||||||
// Configure Si5351 clocks
|
// Configure Si5351 clocks
|
||||||
clock_generator.set_ms_frequency(0, afe_rate * 2, si5351_vco_f, 1); // CLK0: AFE_CLK
|
clock_generator.set_ms_frequency(0, afe_rate * 4, si5351_vco_f, 2); // CLK0: AFE_CLK
|
||||||
clock_generator.set_ms_frequency(1, afe_rate * 2, si5351_vco_f, 0); // CLK1: SCT_CLK
|
clock_generator.set_ms_frequency(1, afe_rate * 4, si5351_vco_f, 1); // CLK1: SCT_CLK
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* Codec clock is at sampling frequency, CPLD and SGPIO clocks are at
|
/* Codec clock is at sampling frequency, CPLD and SGPIO clocks are at
|
||||||
|
|||||||
@@ -79,6 +79,15 @@ static constexpr SPIConfig ssp_config_max283x = {
|
|||||||
CR0_CLOCKRATE(ssp_scr(ssp1_pclk_f, ssp1_cpsr, max283x_spi_f) + 3) | CR0_FRFSPI | CR0_DSS9BIT,
|
CR0_CLOCKRATE(ssp_scr(ssp1_pclk_f, ssp1_cpsr, max283x_spi_f) + 3) | CR0_FRFSPI | CR0_DSS9BIT,
|
||||||
.cpsr = ssp1_cpsr,
|
.cpsr = ssp1_cpsr,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static max283x::MAX283x* transceiver = nullptr;
|
||||||
|
|
||||||
|
void set_rx_buff_vcm(const size_t v) {
|
||||||
|
if (transceiver) {
|
||||||
|
transceiver->set_rx_buff_vcm(v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
/* MAX2837/MAX2839 use 16-bit SPI transfers */
|
/* MAX2837/MAX2839 use 16-bit SPI transfers */
|
||||||
static constexpr SPIConfig ssp_config_max283x = {
|
static constexpr SPIConfig ssp_config_max283x = {
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ void disable();
|
|||||||
|
|
||||||
#ifdef PRALINE
|
#ifdef PRALINE
|
||||||
void invalidate_spi_config();
|
void invalidate_spi_config();
|
||||||
|
void set_rx_buff_vcm(const size_t v);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace debug {
|
namespace debug {
|
||||||
|
|||||||
@@ -242,6 +242,14 @@ void ReceiverModel::set_normalized_headphone_volume(uint8_t v) {
|
|||||||
void ReceiverModel::enable() {
|
void ReceiverModel::enable() {
|
||||||
enabled_ = true;
|
enabled_ = true;
|
||||||
radio::set_direction(rf::Direction::Receive);
|
radio::set_direction(rf::Direction::Receive);
|
||||||
|
|
||||||
|
#ifdef PRALINE
|
||||||
|
/* Anchor the Common Mode Voltage (VCM) to 1.2V.
|
||||||
|
* This stabilizes the electrical floor of the I/Q signals.
|
||||||
|
*/
|
||||||
|
radio::set_rx_buff_vcm(1);
|
||||||
|
#endif
|
||||||
|
|
||||||
update_tuning_frequency();
|
update_tuning_frequency();
|
||||||
update_antenna_bias();
|
update_antenna_bias();
|
||||||
update_rf_amp();
|
update_rf_amp();
|
||||||
|
|||||||
Reference in New Issue
Block a user