Add M17 LED support.

This commit is contained in:
Jonathan Naylor 2020-10-23 17:05:16 +01:00
parent bb9fe7f561
commit fc9cb227f3
2 changed files with 40 additions and 6 deletions

View file

@ -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

View file

@ -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)