diff --git a/IO.h b/IO.h index a52db83..51c19c3 100644 --- a/IO.h +++ b/IO.h @@ -75,6 +75,7 @@ public: void DMR_pin(bool on); void YSF_pin(bool on); void P25_pin(bool on); + void NXDN_pin(bool on); void COS_pin(bool on); void interrupt(void); #if defined(DUPLEX) diff --git a/IOArduino.cpp b/IOArduino.cpp index cc80f8f..d31a3c1 100644 --- a/IOArduino.cpp +++ b/IOArduino.cpp @@ -47,6 +47,7 @@ #define PIN_DMR_LED PB13 #define PIN_YSF_LED PB1 #define PIN_P25_LED PB0 +#define PIN_NXDN_LED PA8 #define PIN_PTT_LED PB14 #define PIN_COS_LED PB15 @@ -69,6 +70,7 @@ #define PIN_DMR_LED PB13 #define PIN_YSF_LED PB1 #define PIN_P25_LED PB0 +#define PIN_NXDN_LED PA8 #define PIN_PTT_LED PB14 #define PIN_COS_LED PB15 @@ -93,6 +95,7 @@ #define PIN_DMR_LED 17 #define PIN_YSF_LED 18 #define PIN_P25_LED 19 +#define PIN_NXDN_LED 20 #define PIN_PTT_LED 14 #define PIN_COS_LED 15 @@ -113,6 +116,7 @@ #define PIN_DMR_LED 15 #define PIN_YSF_LED 16 #define PIN_P25_LED 17 +#define PIN_NXDN_LED 18 #define PIN_PTT_LED 9 #define PIN_COS_LED 10 @@ -163,6 +167,7 @@ void CIO::Init() pinMode(PIN_DMR_LED, OUTPUT); pinMode(PIN_YSF_LED, OUTPUT); pinMode(PIN_P25_LED, OUTPUT); + pinMode(PIN_NXDN_LED, OUTPUT); pinMode(PIN_PTT_LED, OUTPUT); pinMode(PIN_COS_LED, OUTPUT); @@ -306,6 +311,11 @@ void CIO::P25_pin(bool on) digitalWrite(PIN_P25_LED, on ? HIGH : LOW); } +void CIO::NXDN_pin(bool on) +{ + digitalWrite(PIN_NXDN_LED, on ? HIGH : LOW); +} + void CIO::PTT_pin(bool on) { digitalWrite(PIN_PTT_LED, on ? HIGH : LOW); diff --git a/IOSTM.cpp b/IOSTM.cpp index af0fc74..d2bd437 100644 --- a/IOSTM.cpp +++ b/IOSTM.cpp @@ -80,6 +80,9 @@ #define PIN_P25_LED GPIO_Pin_12 #define PORT_P25_LED GPIOA +#define PIN_NXDN_LED GPIO_Pin_8 +#define PORT_NXDN_LED GPIOA + #define PIN_PTT_LED GPIO_Pin_12 #define PORT_PTT_LED GPIOB @@ -140,6 +143,9 @@ #define PIN_P25_LED GPIO_Pin_0 #define PORT_P25_LED GPIOB +#define PIN_NXDN_LED GPIO_Pin_8 +#define PORT_NXDN_LED GPIOA + #define PIN_PTT_LED GPIO_Pin_14 #define PORT_PTT_LED GPIOB @@ -209,6 +215,9 @@ #define PIN_P25_LED GPIO_Pin_0 #define PORT_P25_LED GPIOB +#define PIN_NXDN_LED GPIO_Pin_8 +#define PORT_NXDN_LED GPIOA + #define PIN_PTT_LED GPIO_Pin_14 #define PORT_PTT_LED GPIOB @@ -413,6 +422,12 @@ void CIO::Init() GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(PORT_P25_LED, &GPIO_InitStruct); + // NXDN LED + GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; + GPIO_InitStruct.GPIO_Pin = PIN_NXDN_LED; + GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; + GPIO_Init(PORT_NXDN_LED, &GPIO_InitStruct); + // PTT LED GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Pin = PIN_PTT_LED; @@ -627,6 +642,11 @@ void CIO::P25_pin(bool on) GPIO_WriteBit(PORT_P25_LED, PIN_P25_LED, on ? Bit_SET : Bit_RESET); } +void CIO::NXDN_pin(bool on) +{ + GPIO_WriteBit(PORT_NXDN_LED, PIN_NXDN_LED, on ? Bit_SET : Bit_RESET); +} + void CIO::PTT_pin(bool on) { GPIO_WriteBit(PORT_PTT_LED, PIN_PTT_LED, on ? Bit_SET : Bit_RESET);