diff --git a/ADF7021.h b/ADF7021.h index cd28ba6..7508439 100644 --- a/ADF7021.h +++ b/ADF7021.h @@ -117,6 +117,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_DISC_BW_YSF_H 516U // K=28 #define ADF7021_DISC_BW_P25 394U // K=32 #define ADF7021_DISC_BW_NXDN 295U // K=32 +#define ADF7021_DISC_BW_M17 393U // XXX FIXME #define ADF7021_DISC_BW_POCSAG 406U // K=22 // Post demodulator bandwith (REG 04) @@ -125,6 +126,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_POST_BW_YSF 20U #define ADF7021_POST_BW_P25 6U #define ADF7021_POST_BW_NXDN 7U +#define ADF7021_POST_BW_M17 7U // XXX FIXME #define ADF7021_POST_BW_POCSAG 1U // IF filter (REG 05) @@ -142,7 +144,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_REG10_YSF 0x01FE473A #define ADF7021_REG10_P25 0x01FE473A #define ADF7021_REG10_NXDN 0x01FE473A -#define ADF7021_REG10_M17 0x01FE473A +#define ADF7021_REG10_M17 0x01FE473A // XXX FIXME #if defined(ADF7021_AFC_POS) #define AFC_OFFSET_DMR -250 #define AFC_OFFSET_YSF -250 @@ -161,7 +163,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_REG10_YSF 0x049E472A #define ADF7021_REG10_P25 0x049E472A #define ADF7021_REG10_NXDN 0x049E472A -#define ADF7021_REG10_M17 0x049E472A +#define ADF7021_REG10_M17 0x049E472A // XXX FIXME #define AFC_OFFSET_DMR 0 #define AFC_OFFSET_YSF 0 #define AFC_OFFSET_P25 0 @@ -196,6 +198,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_DEV_P25 13U #endif #define ADF7021_DEV_NXDN 8U +#define ADF7021_DEV_M17 14U // XXX FIXME #define ADF7021_DEV_POCSAG 96U // TX/RX CLOCK register (REG 03) @@ -206,14 +209,14 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_REG3_YSF_H 0x29EC0493 #define ADF7021_REG3_P25 0x29EC0493 #define ADF7021_REG3_NXDN 0x29EC0493 -#define ADF7021_REG3_M17 0x29EC0493 +#define ADF7021_REG3_M17 0x29EC0493 // XXX FIXME #else #define ADF7021_REG3_DMR 0x29ECA093 #define ADF7021_REG3_YSF_L 0x29ECA093 #define ADF7021_REG3_YSF_H 0x29ECA093 #define ADF7021_REG3_P25 0x29ECA093 #define ADF7021_REG3_NXDN 0x29ECA113 -#define ADF7021_REG3_M17 0x29ECA093 +#define ADF7021_REG3_M17 0x29ECA093 // XXX FIXME #endif #define ADF7021_REG3_POCSAG 0x29EE8093 @@ -225,6 +228,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_DISC_BW_YSF_H 430U // K=28 #define ADF7021_DISC_BW_P25 493U // K=32 #define ADF7021_DISC_BW_NXDN 246U // K=32 +#define ADF7021_DISC_BW_M17 393U // XXX FIXME #define ADF7021_DISC_BW_POCSAG 338U // K=22 // Post demodulator bandwith (REG 04) @@ -233,6 +237,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_POST_BW_YSF 20U #define ADF7021_POST_BW_P25 6U #define ADF7021_POST_BW_NXDN 8U +#define ADF7021_POST_BW_M17 7U // XXX FIXME #define ADF7021_POST_BW_POCSAG 1U // IF filter (REG 05) @@ -250,7 +255,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_REG10_YSF 0x01FE557A #define ADF7021_REG10_P25 0x01FE557A #define ADF7021_REG10_NXDN 0x01FE557A -#define ADF7021_REG10_M17 0x01FE557A +#define ADF7021_REG10_M17 0x01FE557A // XXX FIXME #if defined(ADF7021_AFC_POS) #define AFC_OFFSET_DMR -250 #define AFC_OFFSET_YSF -250 @@ -269,7 +274,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_REG10_YSF 0x049E556A #define ADF7021_REG10_P25 0x049E556A #define ADF7021_REG10_NXDN 0x049E556A -#define ADF7021_REG10_M17 0x049E556A +#define ADF7021_REG10_M17 0x049E556A // XXX FIXME #define AFC_OFFSET_DMR 0 #define AFC_OFFSET_YSF 0 #define AFC_OFFSET_P25 0 @@ -288,6 +293,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_SLICER_TH_YSF_H 69U #define ADF7021_SLICER_TH_P25 43U #define ADF7021_SLICER_TH_NXDN 26U +#define ADF7021_SLICER_TH_M17 26U // XXX FIXME #else @@ -297,6 +303,7 @@ www.analog.com/media/en/technical-documentation/data-sheets/ADF7021.pdf #define ADF7021_SLICER_TH_YSF_H 75U #define ADF7021_SLICER_TH_P25 47U #define ADF7021_SLICER_TH_NXDN 26U +#define ADF7021_SLICER_TH_M17 26U // XXX FIXME #endif diff --git a/IOSTM.cpp b/IOSTM.cpp index 208cdeb..2d31f83 100644 --- a/IOSTM.cpp +++ b/IOSTM.cpp @@ -1,4 +1,5 @@ /* + * Copyright (C) 2020 by Jonathan Naylor G4KLX * Copyright (C) 2016 by Jim McLaughlin KI6ZUM * Copyright (C) 2016,2017,2018,2019 by Andy Uribe CA6JAU * Copyright (C) 2017 by Danilo DB4PLE @@ -83,6 +84,10 @@ #define PIN_NXDN_LED GPIO_Pin_8 #define PORT_NXDN_LED GPIOA +// XXX FIXME +#define PIN_M17_LED GPIO_Pin_8 +#define PORT_M17_LED GPIOA + #define PIN_POCSAG_LED GPIO_Pin_5 #define PORT_POCSAG_LED GPIOA @@ -173,6 +178,14 @@ #endif #define PORT_NXDN_LED GPIOA +// XXX FIXME +#if defined(STM32_USB_HOST) +#define PIN_M17_LED GPIO_Pin_1 +#else +#define PIN_M17_LED GPIO_Pin_7 +#endif +#define PORT_M17_LED GPIOA + #define PIN_POCSAG_LED GPIO_Pin_5 #define PORT_POCSAG_LED GPIOA @@ -248,6 +261,10 @@ #define PIN_NXDN_LED GPIO_Pin_8 #define PORT_NXDN_LED GPIOA +// XXX FIXME +#define PIN_M17_LED GPIO_Pin_8 +#define PORT_M17_LED GPIOA + #define PIN_POCSAG_LED GPIO_Pin_7 #define PORT_POCSAG_LED GPIOA @@ -734,6 +751,16 @@ void CIO::NXDN_pin(bool on) #endif } +void CIO::M17_pin(bool on) +{ +#if defined(USE_ALTERNATE_M17_LEDS) + GPIO_WriteBit(PORT_DSTAR_LED, PIN_DSTAR_LED, on ? Bit_SET : Bit_RESET); + GPIO_WriteBit(PORT_P25_LED, PIN_P25_LED, on ? Bit_SET : Bit_RESET); +#else + GPIO_WriteBit(PORT_M17_LED, PIN_M17_LED, on ? Bit_SET : Bit_RESET); +#endif +} + void CIO::POCSAG_pin(bool on) { #if defined(USE_ALTERNATE_POCSAG_LEDS)