Merge branch 'master' into devel

pull/32/head
Andy CA6JAU 8 years ago
commit b397b1292c

@ -43,7 +43,7 @@ uint32_t ADF7021_REG1;
uint32_t div2; uint32_t div2;
uint32_t f_div; uint32_t f_div;
static void Send_AD7021_control_shift() static void Send_AD7021_control_shift()
{ {
int AD7021_counter; int AD7021_counter;
@ -62,7 +62,7 @@ static void Send_AD7021_control_shift()
io.SDATA_pin(LOW); io.SDATA_pin(LOW);
} }
static void Send_AD7021_control_slePulse() static void Send_AD7021_control_slePulse()
{ {
io.SLE_pin(HIGH); io.SLE_pin(HIGH);
io.dlybit(); io.dlybit();
@ -301,7 +301,7 @@ void CIO::ifConf(MMDVM_STATE modemState, bool reset)
ADF7021_REG13 |= (uint32_t) ADF7021_SLICER_TH_DMR << 4; // slicer threshold ADF7021_REG13 |= (uint32_t) ADF7021_SLICER_TH_DMR << 4; // slicer threshold
ADF7021_REG2 = (uint32_t) 0b10 << 28; // invert data (and RC alpha = 0.5) ADF7021_REG2 = (uint32_t) 0b10 << 28; // invert data (and RC alpha = 0.5)
ADF7021_REG2 |= (uint32_t) (m_cwIdTXLevel / div2) << 19; // deviation ADF7021_REG2 |= (uint32_t) (m_cwIdTXLevel / div2) << 19; // deviation
ADF7021_REG2 |= (uint32_t) 0b111 << 4; // modulation (RC 4FSK) ADF7021_REG2 |= (uint32_t) 0b111 << 4; // modulation (RC 4FSK)
break; break;
@ -626,9 +626,9 @@ void CIO::ifConf2(MMDVM_STATE modemState)
Send_AD7021_control2(); Send_AD7021_control2();
// MODULATION (2) // MODULATION (2)
ADF7021_REG2 |= (uint32_t) 0b0010; // register 2 ADF7021_REG2 |= (uint32_t) 0b0010; // register 2
ADF7021_REG2 |= (uint32_t) m_power << 13; // power level ADF7021_REG2 |= (uint32_t) (m_power & 0x3F) << 13; // power level
ADF7021_REG2 |= (uint32_t) 0b110001 << 7; // PA ADF7021_REG2 |= (uint32_t) 0b110001 << 7; // PA
AD7021_control_word = ADF7021_REG2; AD7021_control_word = ADF7021_REG2;
Send_AD7021_control2(); Send_AD7021_control2();
@ -786,7 +786,6 @@ void CIO::interrupt2()
} }
#endif #endif
//======================================================================================================================
void CIO::setTX() void CIO::setTX()
{ {
// PTT pin on (doing it earlier helps to measure timing impact) // PTT pin on (doing it earlier helps to measure timing impact)
@ -806,7 +805,6 @@ void CIO::setTX()
while(CLK_pin()); while(CLK_pin());
} }
//======================================================================================================================
void CIO::setRX(bool doSle) void CIO::setRX(bool doSle)
{ {
// PTT pin off (doing it earlier helps to measure timing impact) // PTT pin off (doing it earlier helps to measure timing impact)
@ -827,6 +825,11 @@ void CIO::setRX(bool doSle)
} }
} }
void CIO::setPower(uint8_t power)
{
m_power = power >> 2;
}
uint32_t CIO::RXfreq() uint32_t CIO::RXfreq()
{ {
return (uint32_t)((float)(ADF7021_PFD / f_div) * ((float)((32768 * m_RX_N_divider) + m_RX_F_divider) / 32768.0)) + 100000; return (uint32_t)((float)(ADF7021_PFD / f_div) * ((float)((32768 * m_RX_N_divider) + m_RX_F_divider) / 32768.0)) + 100000;
@ -867,6 +870,7 @@ void CIO::printConf()
DEBUG1("MMDVM_HS FW configuration:"); DEBUG1("MMDVM_HS FW configuration:");
DEBUG2I("TX freq (Hz):", TXfreq()); DEBUG2I("TX freq (Hz):", TXfreq());
DEBUG2I("RX freq (Hz):", RXfreq()); DEBUG2I("RX freq (Hz):", RXfreq());
DEBUG2("Power set:", m_power);
DEBUG2("D-Star dev (Hz):", devDSTAR()); DEBUG2("D-Star dev (Hz):", devDSTAR());
DEBUG2("DMR +1 sym dev (Hz):", devDMR()); DEBUG2("DMR +1 sym dev (Hz):", devDMR());
DEBUG2("YSF_H +1 sym dev (Hz):", devYSF_H()); DEBUG2("YSF_H +1 sym dev (Hz):", devYSF_H());

@ -71,7 +71,7 @@ Reboot your RPi:
sudo reboot sudo reboot
### Build de firmware and upload to ZUMspot RPi ### Build the firmware and upload to ZUMspot RPi
If you are using Pi-Star, expand filesystem (if you haven't done before): If you are using Pi-Star, expand filesystem (if you haven't done before):

@ -266,17 +266,19 @@ bool CIO::hasRXOverflow()
return m_rxBuffer.hasOverflowed(); return m_rxBuffer.hasOverflowed();
} }
uint8_t CIO::setFreq(uint32_t frequency_rx, uint32_t frequency_tx) uint8_t CIO::setFreq(uint32_t frequency_rx, uint32_t frequency_tx, uint8_t rf_power)
{ {
// power level // Configure power level
m_power = 0xFF; setPower(rf_power);
// Check frequency ranges
if( !( ((frequency_rx >= VHF1_MIN)&&(frequency_rx < VHF1_MAX)) || ((frequency_tx >= VHF1_MIN)&&(frequency_tx < VHF1_MAX)) || \ if( !( ((frequency_rx >= VHF1_MIN)&&(frequency_rx < VHF1_MAX)) || ((frequency_tx >= VHF1_MIN)&&(frequency_tx < VHF1_MAX)) || \
((frequency_rx >= UHF1_MIN)&&(frequency_rx < UHF1_MAX)) || ((frequency_tx >= UHF1_MIN)&&(frequency_tx < UHF1_MAX)) || \ ((frequency_rx >= UHF1_MIN)&&(frequency_rx < UHF1_MAX)) || ((frequency_tx >= UHF1_MIN)&&(frequency_tx < UHF1_MAX)) || \
((frequency_rx >= VHF2_MIN)&&(frequency_rx < VHF2_MAX)) || ((frequency_tx >= VHF2_MIN)&&(frequency_tx < VHF2_MAX)) || \ ((frequency_rx >= VHF2_MIN)&&(frequency_rx < VHF2_MAX)) || ((frequency_tx >= VHF2_MIN)&&(frequency_tx < VHF2_MAX)) || \
((frequency_rx >= UHF2_MIN)&&(frequency_rx < UHF2_MAX)) || ((frequency_tx >= UHF2_MIN)&&(frequency_tx < UHF2_MAX)) ) ) ((frequency_rx >= UHF2_MIN)&&(frequency_rx < UHF2_MAX)) || ((frequency_tx >= UHF2_MIN)&&(frequency_tx < UHF2_MAX)) ) )
return 4U; return 4U;
// Configure frequency
m_frequency_rx = frequency_rx; m_frequency_rx = frequency_rx;
m_frequency_tx = frequency_tx; m_frequency_tx = frequency_tx;

@ -91,7 +91,8 @@ public:
void process(void); void process(void);
bool hasTXOverflow(void); bool hasTXOverflow(void);
bool hasRXOverflow(void); bool hasRXOverflow(void);
uint8_t setFreq(uint32_t frequency_rx, uint32_t frequency_tx); uint8_t setFreq(uint32_t frequency_rx, uint32_t frequency_tx, uint8_t rf_power);
void setPower(uint8_t power);
void setMode(MMDVM_STATE modemState); void setMode(MMDVM_STATE modemState);
void setDecode(bool dcd); void setDecode(bool dcd);
void setLoDevYSF(bool ysfLoDev); void setLoDevYSF(bool ysfLoDev);

@ -146,7 +146,7 @@ Reboot your RPi:
sudo reboot sudo reboot
#### Build de firmware and upload to ZUMspot RPi #### Build the firmware and upload to ZUMspot RPi
If you are using Pi-Star, expand filesystem (if you haven't done before): If you are using Pi-Star, expand filesystem (if you haven't done before):

@ -189,7 +189,7 @@ void CSerialPort::getVersion()
uint8_t CSerialPort::setConfig(const uint8_t* data, uint8_t length) uint8_t CSerialPort::setConfig(const uint8_t* data, uint8_t length)
{ {
if (length < 15U) if (length < 13U)
return 4U; return 4U;
bool ysfLoDev = (data[0U] & 0x08U) == 0x08U; bool ysfLoDev = (data[0U] & 0x08U) == 0x08U;
@ -298,10 +298,19 @@ uint8_t CSerialPort::setMode(const uint8_t* data, uint8_t length)
uint8_t CSerialPort::setFreq(const uint8_t* data, uint8_t length) uint8_t CSerialPort::setFreq(const uint8_t* data, uint8_t length)
{ {
uint32_t freq_rx, freq_tx; uint32_t freq_rx, freq_tx;
uint8_t rf_power;
if (length < 9U) if (length < 9U)
return 4U; return 4U;
// Old MMDVMHost, set full power
if (length == 9U)
rf_power = 255U;
// New MMDVMHost, set power from MMDVM.ini
if (length == 10U)
rf_power = data[9];
freq_rx = data[1] * 1; freq_rx = data[1] * 1;
freq_rx += data[2] * 256; freq_rx += data[2] * 256;
freq_rx += data[3] * 65536; freq_rx += data[3] * 65536;
@ -312,7 +321,7 @@ uint8_t CSerialPort::setFreq(const uint8_t* data, uint8_t length)
freq_tx += data[7] * 65536; freq_tx += data[7] * 65536;
freq_tx += data[8] * 16777216; freq_tx += data[8] * 16777216;
return io.setFreq(freq_rx, freq_tx); return io.setFreq(freq_rx, freq_tx, rf_power);
} }
void CSerialPort::setMode(MMDVM_STATE modemState) void CSerialPort::setMode(MMDVM_STATE modemState)

@ -17,7 +17,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Configure latest version # Configure latest version
FW_VERSION="v1.0.2" FW_VERSION="v1.1.0"
# Change USB-serial port name ONLY in macOS # Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441" MAC_DEV_USB_SER="/dev/cu.usbmodem1441"

@ -17,7 +17,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Configure latest version # Configure latest version
FW_VERSION="v1.0.2" FW_VERSION="v1.1.0"
# Change USB-serial port name ONLY in macOS # Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441" MAC_DEV_USB_SER="/dev/cu.usbmodem1441"

@ -17,7 +17,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Configure latest version # Configure latest version
FW_VERSION="v1.0.2" FW_VERSION="v1.1.0"
# Change USB-serial port name ONLY in macOS # Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441" MAC_DEV_USB_SER="/dev/cu.usbmodem1441"

@ -17,7 +17,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Configure latest version # Configure latest version
FW_VERSION="v1.0.2" FW_VERSION="v1.1.0"
# Change USB-serial port name ONLY in macOS # Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441" MAC_DEV_USB_SER="/dev/cu.usbmodem1441"

@ -17,7 +17,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Configure latest version # Configure latest version
FW_VERSION="v1.0.2" FW_VERSION="v1.1.0"
# Change USB-serial port name ONLY in macOS # Change USB-serial port name ONLY in macOS
MAC_DEV_USB_SER="/dev/cu.usbmodem1441" MAC_DEV_USB_SER="/dev/cu.usbmodem1441"

@ -22,9 +22,9 @@
#include "Config.h" #include "Config.h"
#define VER_MAJOR "1" #define VER_MAJOR "1"
#define VER_MINOR "0" #define VER_MINOR "1"
#define VER_REV "4" #define VER_REV "0"
#define VERSION_DATE "20171227" #define VERSION_DATE "20180106"
#if defined(ZUMSPOT_ADF7021) #if defined(ZUMSPOT_ADF7021)
#define BOARD_INFO "ZUMspot" #define BOARD_INFO "ZUMspot"

Loading…
Cancel
Save

Powered by TurnKey Linux.