mirror of https://github.com/g4klx/MMDVM.git
Add the digital input/output pins and the serial handling.
This commit is contained in:
parent
81b0ce126d
commit
d9932fe5c0
|
@ -11,7 +11,7 @@
|
||||||
[env:MMDVM]
|
[env:MMDVM]
|
||||||
platform = ststm32
|
platform = ststm32
|
||||||
board = genericSTM32F446RE
|
board = genericSTM32F446RE
|
||||||
framework = arduino, cmsis
|
framework = arduino
|
||||||
build_unflags = -O0
|
build_unflags = -O0
|
||||||
monitor_speed = 460800
|
monitor_speed = 460800
|
||||||
build_flags =
|
build_flags =
|
||||||
|
@ -22,10 +22,6 @@ build_flags =
|
||||||
-D ARM_MATH_CM4
|
-D ARM_MATH_CM4
|
||||||
-mfpu=fpv4-sp-d16
|
-mfpu=fpv4-sp-d16
|
||||||
-mfloat-abi=hard
|
-mfloat-abi=hard
|
||||||
; enable USB serial
|
|
||||||
-D PIO_FRAMEWORK_ARDUINO_USB_HIGHSPEED_FULLMODE
|
|
||||||
-D PIO_FRAMEWORK_ARDUINO_ENABLE_CDC
|
|
||||||
-D USBCON
|
|
||||||
; increase the buffer sizes
|
; increase the buffer sizes
|
||||||
-D SERIAL_RX_BUFFER_SIZE=1024
|
-D SERIAL_RX_BUFFER_SIZE=2048
|
||||||
-D SERIAL_TX_BUFFER_SIZE=1024
|
-D SERIAL_TX_BUFFER_SIZE=2048
|
||||||
|
|
53
src/Config.h
53
src/Config.h
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015,2016,2017,2018,2020 by Jonathan Naylor G4KLX
|
* Copyright (C) 2015,2016,2017,2018,2020,2024 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -50,50 +50,15 @@
|
||||||
// Enable AX.25 support, this is only enabled if FM is also enabled.
|
// Enable AX.25 support, this is only enabled if FM is also enabled.
|
||||||
#define MODE_AX25
|
#define MODE_AX25
|
||||||
|
|
||||||
// Allow for the use of high quality external clock oscillators
|
|
||||||
// The number is the frequency of the oscillator in Hertz.
|
|
||||||
//
|
|
||||||
// The frequency of the TCXO must be an integer multiple of 48000.
|
|
||||||
// Frequencies such as 12.0 Mhz (48000 * 250) and 14.4 Mhz (48000 * 300) are suitable.
|
|
||||||
// Frequencies such as 10.0 Mhz (48000 * 208.333) or 20 Mhz (48000 * 416.666) are not suitable.
|
|
||||||
//
|
|
||||||
// For 12 MHz
|
|
||||||
#define EXTERNAL_OSC 12000000
|
|
||||||
// For 12.288 MHz
|
|
||||||
// #define EXTERNAL_OSC 12288000
|
|
||||||
// For 14.4 MHz
|
|
||||||
// #define EXTERNAL_OSC 14400000
|
|
||||||
// For 19.2 MHz
|
|
||||||
// #define EXTERNAL_OSC 19200000
|
|
||||||
|
|
||||||
// Select a baud rate for host communication. The faster speeds are needed for external FM to work.
|
// Select a baud rate for host communication. The faster speeds are needed for external FM to work.
|
||||||
// #define SERIAL_SPEED 115200 // Suitable for most older boards (Arduino Due, etc). External FM will NOT work with this!
|
// #define SERIAL_SPEED 115200 // Suitable for most older boards. External FM will NOT work with this!
|
||||||
// #define SERIAL_SPEED 230400 // Only works on newer boards like fast M4, M7, Teensy 3.x. External FM might work with this
|
// #define SERIAL_SPEED 230400 // Only works on newer boards like fast M4, M7. External FM might work with this
|
||||||
#define SERIAL_SPEED 460800 // Only works on newer boards like fast M4, M7, Teensy 3.x. External FM should work with this
|
#define SERIAL_SPEED 460800 // Only works on newer boards like fast M4, M7. External FM will work with this
|
||||||
//#define SERIAL_SPEED 500000 // Used with newer boards and Armbian on AllWinner SOCs (H2, H3) that do not support 460800
|
//#define SERIAL_SPEED 500000 // Used with newer boards and Armbian on AllWinner SOCs (H2, H3) that do not support 460800
|
||||||
|
|
||||||
// Use pins to output the current mode via LEDs
|
// Use pins to output the current mode via LEDs
|
||||||
#define MODE_LEDS
|
#define MODE_LEDS
|
||||||
|
|
||||||
// For the original Arduino Due pin layout
|
|
||||||
// #define ARDUINO_DUE_PAPA
|
|
||||||
|
|
||||||
// For the ZUM V1.0 and V1.0.1 boards pin layout
|
|
||||||
// #define ARDUINO_DUE_ZUM_V10
|
|
||||||
|
|
||||||
// For the SP8NTH board
|
|
||||||
// #define ARDUINO_DUE_NTH
|
|
||||||
|
|
||||||
// For ST Nucleo-64 STM32F446RE board
|
|
||||||
// #define STM32F4_NUCLEO_MORPHO_HEADER
|
|
||||||
// #define STM32F4_NUCLEO_ARDUINO_HEADER
|
|
||||||
|
|
||||||
// Use separate mode pins to switch external channel/filters/bandwidth for example
|
|
||||||
// #define MODE_PINS
|
|
||||||
|
|
||||||
// For the VK6MST Pi3 Shield communicating over i2c. i2c address & speed defined in i2cTeensy.cpp
|
|
||||||
// #define VK6MST_TEENSY_PI3_SHIELD_I2C
|
|
||||||
|
|
||||||
// Pass RSSI information to the host
|
// Pass RSSI information to the host
|
||||||
#define SEND_RSSI_DATA
|
#define SEND_RSSI_DATA
|
||||||
|
|
||||||
|
@ -109,6 +74,16 @@
|
||||||
// To reduce CPU load, you can remove the DC blocker by commenting out the next line
|
// To reduce CPU load, you can remove the DC blocker by commenting out the next line
|
||||||
#define USE_DCBLOCKER
|
#define USE_DCBLOCKER
|
||||||
|
|
||||||
|
// Choose the type of modem board in use, only one.
|
||||||
|
// The KI6ZUM v0.9 Pi hat, STM32F446 CPU
|
||||||
|
#define ZUM_V09_PI
|
||||||
|
// The KI6ZUM v1.0 Pi hat, STM32F722 CPU
|
||||||
|
// #define ZUM_V10_PI
|
||||||
|
// The Repeater Builder V3 board, STM32F446 CPU
|
||||||
|
// #define RB_V3_PI
|
||||||
|
// The Repeater Builder V5 board, STM32F722 CPU
|
||||||
|
// #define RB_V5_PI
|
||||||
|
|
||||||
// Constant Service LED once repeater is running
|
// Constant Service LED once repeater is running
|
||||||
// Do not use if employing an external hardware watchdog
|
// Do not use if employing an external hardware watchdog
|
||||||
// #define CONSTANT_SRV_LED
|
// #define CONSTANT_SRV_LED
|
||||||
|
|
278
src/IO.cpp
278
src/IO.cpp
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015,2016,2017,2018,2020,2021 by Jonathan Naylor G4KLX
|
* Copyright (C) 2015,2016,2017,2018,2020,2021,2024 by Jonathan Naylor G4KLX
|
||||||
* Copyright (C) 2015 by Jim Mclaughlin KI6ZUM
|
* Copyright (C) 2015 by Jim Mclaughlin KI6ZUM
|
||||||
* Copyright (C) 2016 by Colin Durbridge G4EML
|
* Copyright (C) 2016 by Colin Durbridge G4EML
|
||||||
*
|
*
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
|
|
||||||
#include "Config.h"
|
#include "Config.h"
|
||||||
#include "Globals.h"
|
#include "Globals.h"
|
||||||
|
#include "IOPins.h"
|
||||||
#include "IO.h"
|
#include "IO.h"
|
||||||
|
|
||||||
#if defined(USE_DCBLOCKER)
|
#if defined(USE_DCBLOCKER)
|
||||||
|
@ -204,7 +205,7 @@ m_lockout(false)
|
||||||
m_rrc05Filter.pCoeffs = RRC_0_5_FILTER;
|
m_rrc05Filter.pCoeffs = RRC_0_5_FILTER;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
initInt();
|
initHardware();
|
||||||
|
|
||||||
selfTest();
|
selfTest();
|
||||||
}
|
}
|
||||||
|
@ -217,106 +218,106 @@ void CIO::selfTest()
|
||||||
ledValue = !ledValue;
|
ledValue = !ledValue;
|
||||||
|
|
||||||
// We exclude PTT to avoid trigger the transmitter
|
// We exclude PTT to avoid trigger the transmitter
|
||||||
setLEDInt(ledValue);
|
setLED(ledValue);
|
||||||
setCOSInt(ledValue);
|
setCOS(ledValue);
|
||||||
#if defined(MODE_LEDS)
|
#if defined(MODE_LEDS)
|
||||||
setDStarInt(ledValue);
|
setDStar(ledValue);
|
||||||
setDMRInt(ledValue);
|
setDMR(ledValue);
|
||||||
setYSFInt(ledValue);
|
setYSF(ledValue);
|
||||||
setP25Int(ledValue);
|
setP25(ledValue);
|
||||||
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
setNXDNInt(ledValue);
|
setNXDN(ledValue);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_M17_LEDS)
|
#if !defined(USE_ALTERNATE_M17_LEDS)
|
||||||
setM17Int(ledValue);
|
setM17(ledValue);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
setPOCSAGInt(ledValue);
|
setPOCSAG(ledValue);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_FM_LEDS)
|
#if !defined(USE_ALTERNATE_FM_LEDS)
|
||||||
setFMInt(ledValue);
|
setFM(ledValue);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
::delay(250);
|
::delay(250);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(MODE_LEDS)
|
#if defined(MODE_LEDS)
|
||||||
setDStarInt(false);
|
setDStar(false);
|
||||||
setDMRInt(false);
|
setDMR(false);
|
||||||
setYSFInt(false);
|
setYSF(false);
|
||||||
setP25Int(false);
|
setP25(false);
|
||||||
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
setNXDNInt(false);
|
setNXDN(false);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_M17_LEDS)
|
#if !defined(USE_ALTERNATE_M17_LEDS)
|
||||||
setM17Int(false);
|
setM17(false);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
setPOCSAGInt(false);
|
setPOCSAG(false);
|
||||||
#endif
|
#endif
|
||||||
#if !defined(USE_ALTERNATE_FM_LEDS)
|
#if !defined(USE_ALTERNATE_FM_LEDS)
|
||||||
setFMInt(false);
|
setFM(false);
|
||||||
#endif
|
#endif
|
||||||
setDStarInt(true);
|
setDStar(true);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setDMRInt(true);
|
setDMR(true);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setYSFInt(true);
|
setYSF(true);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setP25Int(true);
|
setP25(true);
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setNXDNInt(true);
|
setNXDN(true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_M17_LEDS)
|
#if !defined(USE_ALTERNATE_M17_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setM17Int(true);
|
setM17(true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setPOCSAGInt(true);
|
setPOCSAG(true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_FM_LEDS)
|
#if !defined(USE_ALTERNATE_FM_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setFMInt(true);
|
setFM(true);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setFMInt(false);
|
setFM(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
#if !defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setPOCSAGInt(false);
|
setPOCSAG(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_M17_LEDS)
|
#if !defined(USE_ALTERNATE_M17_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setM17Int(false);
|
setM17(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
#if !defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setNXDNInt(false);
|
setNXDN(false);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setP25Int(false);
|
setP25(false);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setYSFInt(false);
|
setYSF(false);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setDMRInt(false);
|
setDMR(false);
|
||||||
|
|
||||||
::delay(250);
|
::delay(250);
|
||||||
setDStarInt(false);
|
setDStar(false);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -325,7 +326,7 @@ void CIO::start()
|
||||||
if (m_started)
|
if (m_started)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
startInt();
|
startHardware();
|
||||||
|
|
||||||
m_started = true;
|
m_started = true;
|
||||||
|
|
||||||
|
@ -350,30 +351,30 @@ void CIO::process()
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONSTANT_SRV_LED)
|
#if defined(CONSTANT_SRV_LED)
|
||||||
setLEDInt(true);
|
setLED(true);
|
||||||
#else
|
#else
|
||||||
if (m_ledCount >= 24000U) {
|
if (m_ledCount >= 24000U) {
|
||||||
m_ledCount = 0U;
|
m_ledCount = 0U;
|
||||||
m_ledValue = !m_ledValue;
|
m_ledValue = !m_ledValue;
|
||||||
setLEDInt(m_ledValue);
|
setLED(m_ledValue);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
if (m_ledCount >= 240000U) {
|
if (m_ledCount >= 240000U) {
|
||||||
m_ledCount = 0U;
|
m_ledCount = 0U;
|
||||||
m_ledValue = !m_ledValue;
|
m_ledValue = !m_ledValue;
|
||||||
setLEDInt(m_ledValue);
|
setLED(m_ledValue);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_useCOSAsLockout)
|
if (m_useCOSAsLockout)
|
||||||
m_lockout = getCOSInt();
|
m_lockout = getCOS();
|
||||||
|
|
||||||
// Switch off the transmitter if needed
|
// Switch off the transmitter if needed
|
||||||
if (m_txBuffer.getData() == 0U && m_tx) {
|
if (m_txBuffer.getData() == 0U && m_tx) {
|
||||||
m_tx = false;
|
m_tx = false;
|
||||||
setPTTInt(m_pttInvert ? true : false);
|
setPTT(m_pttInvert ? true : false);
|
||||||
DEBUG1("TX OFF");
|
DEBUG1("TX OFF");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -504,7 +505,7 @@ void CIO::process()
|
||||||
|
|
||||||
#if defined(MODE_FM)
|
#if defined(MODE_FM)
|
||||||
if (m_fmEnable) {
|
if (m_fmEnable) {
|
||||||
bool cos = getCOSInt();
|
bool cos = getCOS();
|
||||||
#if defined(USE_DCBLOCKER)
|
#if defined(USE_DCBLOCKER)
|
||||||
fm.samples(cos, dcSamples, RX_BLOCK_SIZE);
|
fm.samples(cos, dcSamples, RX_BLOCK_SIZE);
|
||||||
#else
|
#else
|
||||||
|
@ -625,7 +626,7 @@ void CIO::process()
|
||||||
|
|
||||||
#if defined(MODE_FM)
|
#if defined(MODE_FM)
|
||||||
else if (m_modemState == STATE_FM) {
|
else if (m_modemState == STATE_FM) {
|
||||||
bool cos = getCOSInt();
|
bool cos = getCOS();
|
||||||
#if defined(USE_DCBLOCKER)
|
#if defined(USE_DCBLOCKER)
|
||||||
fm.samples(cos, dcSamples, RX_BLOCK_SIZE);
|
fm.samples(cos, dcSamples, RX_BLOCK_SIZE);
|
||||||
|
|
||||||
|
@ -670,7 +671,7 @@ void CIO::write(MMDVM_STATE mode, q15_t* samples, uint16_t length, const uint8_t
|
||||||
// Switch the transmitter on if needed
|
// Switch the transmitter on if needed
|
||||||
if (!m_tx) {
|
if (!m_tx) {
|
||||||
m_tx = true;
|
m_tx = true;
|
||||||
setPTTInt(m_pttInvert ? false : true);
|
setPTT(m_pttInvert ? false : true);
|
||||||
DEBUG1("TX ON");
|
DEBUG1("TX ON");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -732,7 +733,7 @@ uint16_t CIO::getSpace() const
|
||||||
void CIO::setDecode(bool dcd)
|
void CIO::setDecode(bool dcd)
|
||||||
{
|
{
|
||||||
if (dcd != m_dcd)
|
if (dcd != m_dcd)
|
||||||
setCOSInt(dcd ? true : false);
|
setCOS(dcd ? true : false);
|
||||||
|
|
||||||
m_dcd = dcd;
|
m_dcd = dcd;
|
||||||
}
|
}
|
||||||
|
@ -749,26 +750,26 @@ void CIO::setMode(MMDVM_STATE state)
|
||||||
|
|
||||||
#if defined(MODE_LEDS)
|
#if defined(MODE_LEDS)
|
||||||
switch (m_modemState) {
|
switch (m_modemState) {
|
||||||
case STATE_DSTAR: setDStarInt(false); break;
|
case STATE_DSTAR: setDStar(false); break;
|
||||||
case STATE_DMR: setDMRInt(false); break;
|
case STATE_DMR: setDMR(false); break;
|
||||||
case STATE_YSF: setYSFInt(false); break;
|
case STATE_YSF: setYSF(false); break;
|
||||||
case STATE_P25: setP25Int(false); break;
|
case STATE_P25: setP25(false); break;
|
||||||
case STATE_NXDN: setNXDNInt(false); break;
|
case STATE_NXDN: setNXDN(false); break;
|
||||||
case STATE_M17: setM17Int(false); break;
|
case STATE_M17: setM17(false); break;
|
||||||
case STATE_POCSAG: setPOCSAGInt(false); break;
|
case STATE_POCSAG: setPOCSAG(false); break;
|
||||||
case STATE_FM: setFMInt(false); break;
|
case STATE_FM: setFM(false); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case STATE_DSTAR: setDStarInt(true); break;
|
case STATE_DSTAR: setDStar(true); break;
|
||||||
case STATE_DMR: setDMRInt(true); break;
|
case STATE_DMR: setDMR(true); break;
|
||||||
case STATE_YSF: setYSFInt(true); break;
|
case STATE_YSF: setYSF(true); break;
|
||||||
case STATE_P25: setP25Int(true); break;
|
case STATE_P25: setP25(true); break;
|
||||||
case STATE_NXDN: setNXDNInt(true); break;
|
case STATE_NXDN: setNXDN(true); break;
|
||||||
case STATE_M17: setM17Int(true); break;
|
case STATE_M17: setM17(true); break;
|
||||||
case STATE_POCSAG: setPOCSAGInt(true); break;
|
case STATE_POCSAG: setPOCSAG(true); break;
|
||||||
case STATE_FM: setFMInt(true); break;
|
case STATE_FM: setFM(true); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -844,3 +845,156 @@ bool CIO::hasLockout() const
|
||||||
{
|
{
|
||||||
return m_lockout;
|
return m_lockout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CIO::initHardware()
|
||||||
|
{
|
||||||
|
#if defined(PIN_COS)
|
||||||
|
::pinMode(PIN_COS, INPUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(PIN_LED)
|
||||||
|
::pinMode(PIN_LED, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_PTT)
|
||||||
|
::pinMode(PIN_PTT, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_COSLED)
|
||||||
|
::pinMode(PIN_COSLED, OUTPUT);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(MODE_LEDS)
|
||||||
|
#if defined(PIN_DSTAR)
|
||||||
|
::pinMode(PIN_DSTAR, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_DMR)
|
||||||
|
::pinMode(PIN_DMR, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_YSF)
|
||||||
|
::pinMode(PIN_YSF, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_P25)
|
||||||
|
::pinMode(PIN_P25, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_NXDN) && !defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
|
::pinMode(PIN_NXDN, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_POCSAG) && !defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
|
::pinMode(PIN_POCSAG, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_FM) && !defined(USE_ALTERNATE_FM_LEDS)
|
||||||
|
::pinMode(PIN_FM, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#if defined(PIN_M17) && !defined(USE_ALTERNATE_M17_LEDS)
|
||||||
|
::pinMode(PIN_M17, OUTPUT);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::startHardware()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CIO::getCOS()
|
||||||
|
{
|
||||||
|
return ::digitalRead(PIN_COS) == HIGH;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setLED(bool on)
|
||||||
|
{
|
||||||
|
::digitalWrite(PIN_LED, on ? HIGH : LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setPTT(bool on)
|
||||||
|
{
|
||||||
|
::digitalWrite(PIN_PTT, on ? HIGH : LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setCOS(bool on)
|
||||||
|
{
|
||||||
|
::digitalWrite(PIN_COSLED, on ? HIGH : LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setDStar(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS) && defined(PIN_DSTAR)
|
||||||
|
::digitalWrite(PIN_DSTAR, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setDMR(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS) && defined(PIN_DMR)
|
||||||
|
::digitalWrite(PIN_DMR, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setYSF(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS) && defined(PIN_YSF)
|
||||||
|
::digitalWrite(PIN_YSF, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setP25(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS) && defined(PIN_P25)
|
||||||
|
::digitalWrite(PIN_P25, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setNXDN(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS)
|
||||||
|
#if defined(USE_ALTERNATE_NXDN_LEDS)
|
||||||
|
::digitalWrite(PIN_YSF, on ? HIGH : LOW);
|
||||||
|
::digitalWrite(PIN_P25, on ? HIGH : LOW);
|
||||||
|
#else
|
||||||
|
#if defined(PIN_NXDN)
|
||||||
|
::digitalWrite(PIN_NXDN, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setM17(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS)
|
||||||
|
#if defined(USE_ALTERNATE_M17_LEDS)
|
||||||
|
::digitalWrite(PIN_DSTAR, on ? HIGH : LOW);
|
||||||
|
::digitalWrite(PIN_P25, on ? HIGH : LOW);
|
||||||
|
#else
|
||||||
|
#if defined(PIN_M17)
|
||||||
|
::digitalWrite(PIN_M17, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setPOCSAG(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS)
|
||||||
|
#if defined(USE_ALTERNATE_POCSAG_LEDS)
|
||||||
|
::digitalWrite(PIN_DSTAR, on ? HIGH : LOW);
|
||||||
|
::digitalWrite(PIN_DMR, on ? HIGH : LOW);
|
||||||
|
#else
|
||||||
|
#if defined(PIN_POCSAG)
|
||||||
|
::digitalWrite(PIN_POCSAG, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void CIO::setFM(bool on)
|
||||||
|
{
|
||||||
|
#if defined(MODE_LEDS)
|
||||||
|
#if defined(USE_ALTERNATE_FM_LEDS)
|
||||||
|
::digitalWrite(PIN_DSTAR, on ? HIGH : LOW);
|
||||||
|
::digitalWrite(PIN_YSF, on ? HIGH : LOW);
|
||||||
|
#else
|
||||||
|
#if defined(PIN_FM)
|
||||||
|
::digitalWrite(PIN_FM, on ? HIGH : LOW);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
32
src/IO.h
32
src/IO.h
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2015,2016,2017,2018,2020,2021 by Jonathan Naylor G4KLX
|
* Copyright (C) 2015,2016,2017,2018,2020,2021,2024 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -143,24 +143,24 @@ private:
|
||||||
|
|
||||||
bool m_lockout;
|
bool m_lockout;
|
||||||
|
|
||||||
// Hardware specific routines
|
// Hardware access routines
|
||||||
void initInt();
|
void initHardware();
|
||||||
void startInt();
|
void startHardware();
|
||||||
|
|
||||||
bool getCOSInt();
|
bool getCOS();
|
||||||
|
|
||||||
void setLEDInt(bool on);
|
void setLED(bool on);
|
||||||
void setPTTInt(bool on);
|
void setPTT(bool on);
|
||||||
void setCOSInt(bool on);
|
void setCOS(bool on);
|
||||||
|
|
||||||
void setDStarInt(bool on);
|
void setDStar(bool on);
|
||||||
void setDMRInt(bool on);
|
void setDMR(bool on);
|
||||||
void setYSFInt(bool on);
|
void setYSF(bool on);
|
||||||
void setP25Int(bool on);
|
void setP25(bool on);
|
||||||
void setNXDNInt(bool on);
|
void setNXDN(bool on);
|
||||||
void setPOCSAGInt(bool on);
|
void setPOCSAG(bool on);
|
||||||
void setM17Int(bool on);
|
void setM17(bool on);
|
||||||
void setFMInt(bool on);
|
void setFM(bool on);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
59
src/IOPins.h
59
src/IOPins.h
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
* Copyright (C) 2019,2020 by BG5HHP
|
||||||
|
* Copyright (C) 2024 by Jonathan Naylor, G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,60 +17,20 @@
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _IO_PINS_H
|
#if !defined(_IO_PINS_H)
|
||||||
#define _IO_PINS_H
|
#define _IO_PINS_H
|
||||||
|
|
||||||
#if !defined(CONFIG_H)
|
#if defined(ZUM_V09_PI)
|
||||||
#error "Requires Config.h to be included first!"
|
#include "pins/pins_zum_v09_pi.h"
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(STM32F4_RPT_HAT_TGO)
|
#elif defined(ZUM_V10_PI)
|
||||||
#include "pins/pins_f4_rpt_tgo.h"
|
#include "pins/pins_zum_v10_pi.h"
|
||||||
|
|
||||||
#elif defined(STM32F4_DISCOVERY)
|
#elif defined(RB_V3_PI)
|
||||||
#include "pins/pins_f4_discovery.h"
|
#include "pins/pins_rb_v3_pi.h"
|
||||||
|
|
||||||
#elif defined(STM32F4_PI)
|
#elif defined(RB_V5_PI)
|
||||||
#include "pins/pins_f4_pi.h"
|
#include "pins/pins_rb_v5_pi.h"
|
||||||
|
|
||||||
#elif defined(STM32F722_PI)
|
|
||||||
#include "pins/pins_f7_pi.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F4_F4M)
|
|
||||||
#include "pins/pins_f4_f4m.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F722_F7M)
|
|
||||||
#include "pins/pins_f7_f7m.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F722_RPT_HAT)
|
|
||||||
#include "pins/pins_f7_rpt_hat.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F4_NUCLEO)
|
|
||||||
#if defined(STM32F4_NUCLEO_MORPHO_HEADER)
|
|
||||||
#include "pins/pins_f4_nucleo_morpho.h"
|
|
||||||
#elif defined(STM32F4_NUCLEO_ARDUINO_HEADER)
|
|
||||||
#include "pins/pins_f4_nucleo_arduino.h"
|
|
||||||
#else
|
|
||||||
#error "Either STM32F4_NUCLEO_MORPHO_HEADER or STM32F4_NUCLEO_ARDUINO_HEADER need to be defined"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#elif defined(STM32F7_NUCLEO)
|
|
||||||
#include "pins/pins_f7_nucleo.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F4_DVM)
|
|
||||||
#include "pins/pins_f4_stm32dvm_v3.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F7_DVM)
|
|
||||||
#include "pins/pins_f7_stm32dvm_v5.h"
|
|
||||||
|
|
||||||
#elif defined(DRCC_DVM_NQF)
|
|
||||||
#include "pins/pins_f4_drcc_nqf.h"
|
|
||||||
|
|
||||||
#elif defined(DRCC_DVM_HHP446)
|
|
||||||
#include "pins/pins_f4_drcc_hhp446.h"
|
|
||||||
|
|
||||||
#elif defined(STM32F4_EDA_405) || defined(STM32F4_EDA_446)
|
|
||||||
#include "pins/pins_f4_stm32eda.h"
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "A valid board type macro need to be defined."
|
#error "A valid board type macro need to be defined."
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2013,2015-2021 by Jonathan Naylor G4KLX
|
* Copyright (C) 2013,2015-2021,2024 by Jonathan Naylor G4KLX
|
||||||
* Copyright (C) 2016 by Colin Durbridge G4EML
|
* Copyright (C) 2016 by Colin Durbridge G4EML
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
@ -26,6 +26,7 @@
|
||||||
|
|
||||||
#include "SerialPort.h"
|
#include "SerialPort.h"
|
||||||
#include "Version.h"
|
#include "Version.h"
|
||||||
|
#include "IOPins.h"
|
||||||
|
|
||||||
const uint8_t MMDVM_FRAME_START = 0xE0U;
|
const uint8_t MMDVM_FRAME_START = 0xE0U;
|
||||||
|
|
||||||
|
@ -97,18 +98,6 @@ const uint8_t MMDVM_DEBUG4 = 0xF4U;
|
||||||
const uint8_t MMDVM_DEBUG5 = 0xF5U;
|
const uint8_t MMDVM_DEBUG5 = 0xF5U;
|
||||||
const uint8_t MMDVM_DEBUG_DUMP = 0xFAU;
|
const uint8_t MMDVM_DEBUG_DUMP = 0xFAU;
|
||||||
|
|
||||||
#if EXTERNAL_OSC == 12000000
|
|
||||||
#define TCXO "12.0000 MHz"
|
|
||||||
#elif EXTERNAL_OSC == 12288000
|
|
||||||
#define TCXO "12.2880 MHz"
|
|
||||||
#elif EXTERNAL_OSC == 14400000
|
|
||||||
#define TCXO "14.4000 MHz"
|
|
||||||
#elif EXTERNAL_OSC == 19200000
|
|
||||||
#define TCXO "19.2000 Mhz"
|
|
||||||
#else
|
|
||||||
#define TCXO "NO TCXO"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(DRCC_DVM_NQF)
|
#if defined(DRCC_DVM_NQF)
|
||||||
#define HW_TYPE "MMDVM DRCC_DVM_NQF"
|
#define HW_TYPE "MMDVM DRCC_DVM_NQF"
|
||||||
#elif defined(DRCC_DVM_HHP446)
|
#elif defined(DRCC_DVM_HHP446)
|
||||||
|
@ -122,11 +111,11 @@ const uint8_t MMDVM_DEBUG_DUMP = 0xFAU;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(GITVERSION)
|
#if defined(GITVERSION)
|
||||||
#define concat(h, a, b, c) h " " a " " b " GitID #" c ""
|
#define concat(h, a, b) h " " a " GitID #" b ""
|
||||||
const char HARDWARE[] = concat(HW_TYPE, VERSION, TCXO, GITVERSION);
|
const char HARDWARE[] = concat(HW_TYPE, VERSION, GITVERSION);
|
||||||
#else
|
#else
|
||||||
#define concat(h, a, b, c, d) h " " a " " b " (Build: " c " " d ")"
|
#define concat(h, a, b, c) h " " a " (Build: " b " " c ")"
|
||||||
const char HARDWARE[] = concat(HW_TYPE, VERSION, TCXO, __TIME__, __DATE__);
|
const char HARDWARE[] = concat(HW_TYPE, VERSION, __TIME__, __DATE__);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const uint8_t PROTOCOL_VERSION = 2U;
|
const uint8_t PROTOCOL_VERSION = 2U;
|
||||||
|
@ -136,14 +125,20 @@ const int MAX_SERIAL_DATA = 250;
|
||||||
const uint16_t MAX_SERIAL_COUNT = 100U;
|
const uint16_t MAX_SERIAL_COUNT = 100U;
|
||||||
|
|
||||||
CSerialPort::CSerialPort() :
|
CSerialPort::CSerialPort() :
|
||||||
|
m_host(PIN_HOST_RXD, PIN_HOST_TXD),
|
||||||
|
#if defined(SERIAL_REPEATER)
|
||||||
|
m_rpt(PIN_RPT_RXD, PIN_RPT_TXD),
|
||||||
|
#endif
|
||||||
m_buffer(),
|
m_buffer(),
|
||||||
m_ptr(0U),
|
m_ptr(0U),
|
||||||
m_len(0U),
|
m_len(0U),
|
||||||
m_debug(false),
|
m_debug(false),
|
||||||
m_serialData(),
|
m_serialData(),
|
||||||
m_lastSerialAvail(0),
|
m_lastSerialAvail(0),
|
||||||
m_lastSerialAvailCount(0U),
|
m_lastSerialAvailCount(0U)
|
||||||
m_i2CData()
|
#if defined(I2C_REPEATER)
|
||||||
|
,m_i2CData()
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +151,7 @@ void CSerialPort::sendACK(uint8_t type)
|
||||||
reply[2U] = MMDVM_ACK;
|
reply[2U] = MMDVM_ACK;
|
||||||
reply[3U] = type;
|
reply[3U] = type;
|
||||||
|
|
||||||
writeInt(1U, reply, 4);
|
m_host.write(reply, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::sendNAK(uint8_t type, uint8_t err)
|
void CSerialPort::sendNAK(uint8_t type, uint8_t err)
|
||||||
|
@ -169,7 +164,7 @@ void CSerialPort::sendNAK(uint8_t type, uint8_t err)
|
||||||
reply[3U] = type;
|
reply[3U] = type;
|
||||||
reply[4U] = err;
|
reply[4U] = err;
|
||||||
|
|
||||||
writeInt(1U, reply, 5);
|
m_host.write(reply, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::getStatus()
|
void CSerialPort::getStatus()
|
||||||
|
@ -305,7 +300,7 @@ void CSerialPort::getStatus()
|
||||||
reply[18U] = 0x00U;
|
reply[18U] = 0x00U;
|
||||||
reply[19U] = 0x00U;
|
reply[19U] = 0x00U;
|
||||||
|
|
||||||
writeInt(1U, reply, 20);
|
m_host.write(reply, 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::getVersion()
|
void CSerialPort::getVersion()
|
||||||
|
@ -363,7 +358,7 @@ void CSerialPort::getVersion()
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t CSerialPort::setConfig(const uint8_t* data, uint16_t length)
|
uint8_t CSerialPort::setConfig(const uint8_t* data, uint16_t length)
|
||||||
|
@ -893,24 +888,24 @@ void CSerialPort::setMode(MMDVM_STATE modemState)
|
||||||
|
|
||||||
void CSerialPort::start()
|
void CSerialPort::start()
|
||||||
{
|
{
|
||||||
beginInt(1U, SERIAL_SPEED);
|
m_host.begin(SERIAL_SPEED);
|
||||||
|
|
||||||
#if defined(SERIAL_REPEATER)
|
#if defined(SERIAL_REPEATER)
|
||||||
#if defined(SERIAL_REPEATER_BAUD_RATE)
|
#if defined(SERIAL_REPEATER_BAUD_RATE)
|
||||||
beginInt(3U, SERIAL_REPEATER_BAUD_RATE);
|
m_rpt.begin(SERIAL_REPEATER_BAUD_RATE);
|
||||||
#else
|
#else
|
||||||
beginInt(3U, 9600);
|
m_rpt.begin(9600);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#if defined(I2C_REPEATER)
|
#if defined(I2C_REPEATER)
|
||||||
beginInt(10U, 9600);
|
m_rpt.begin(9600);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::process()
|
void CSerialPort::process()
|
||||||
{
|
{
|
||||||
while (availableForReadInt(1U)) {
|
while (m_host.available()) {
|
||||||
uint8_t c = readInt(1U);
|
uint8_t c = m_host.read();
|
||||||
|
|
||||||
if (m_ptr == 0U) {
|
if (m_ptr == 0U) {
|
||||||
if (c == MMDVM_FRAME_START) {
|
if (c == MMDVM_FRAME_START) {
|
||||||
|
@ -961,23 +956,23 @@ void CSerialPort::process()
|
||||||
// Write any outgoing serial data
|
// Write any outgoing serial data
|
||||||
uint16_t serialSpace = m_serialData.getData();
|
uint16_t serialSpace = m_serialData.getData();
|
||||||
if (serialSpace > 0U) {
|
if (serialSpace > 0U) {
|
||||||
int avail = availableForWriteInt(3U);
|
int avail = m_rpt.availableForWrite();
|
||||||
if (avail < serialSpace)
|
if (avail < serialSpace)
|
||||||
serialSpace = avail;
|
serialSpace = avail;
|
||||||
|
|
||||||
for (uint16_t i = 0U; i < serialSpace; i++) {
|
for (uint16_t i = 0U; i < serialSpace; i++) {
|
||||||
uint8_t c = 0U;
|
uint8_t c = 0U;
|
||||||
m_serialData.get(c);
|
m_serialData.get(c);
|
||||||
writeInt(3U, &c, 1U);
|
m_rpt.write(&c, 1U);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Read any incoming serial data, and send out in batches
|
// Read any incoming serial data, and send out in batches
|
||||||
int serialAvail = availableForReadInt(3U);
|
int serialAvail = m_rpt.available();
|
||||||
if ((serialAvail > 0 && serialAvail == m_lastSerialAvail && m_lastSerialAvailCount >= MAX_SERIAL_COUNT) || (serialAvail >= MAX_SERIAL_DATA)) {
|
if ((serialAvail > 0 && serialAvail == m_lastSerialAvail && m_lastSerialAvailCount >= MAX_SERIAL_COUNT) || (serialAvail >= MAX_SERIAL_DATA)) {
|
||||||
uint8_t buffer[MAX_SERIAL_DATA];
|
uint8_t buffer[MAX_SERIAL_DATA];
|
||||||
for (int i = 0; i < serialAvail && i < MAX_SERIAL_DATA; i++) {
|
for (int i = 0; i < serialAvail && i < MAX_SERIAL_DATA; i++) {
|
||||||
buffer[i] = readInt(3U);
|
buffer[i] = m_rpt.read();
|
||||||
m_lastSerialAvail--;
|
m_lastSerialAvail--;
|
||||||
}
|
}
|
||||||
writeSerialData(buffer, serialAvail - m_lastSerialAvail);
|
writeSerialData(buffer, serialAvail - m_lastSerialAvail);
|
||||||
|
@ -994,14 +989,14 @@ void CSerialPort::process()
|
||||||
// Write any outgoing serial data
|
// Write any outgoing serial data
|
||||||
uint16_t i2CSpace = m_i2CData.getData();
|
uint16_t i2CSpace = m_i2CData.getData();
|
||||||
if (i2CSpace > 0U) {
|
if (i2CSpace > 0U) {
|
||||||
int avail = availableForWriteInt(10U);
|
int avail = m_rpt.available();
|
||||||
if (avail < i2CSpace)
|
if (avail < i2CSpace)
|
||||||
i2CSpace = avail;
|
i2CSpace = avail;
|
||||||
|
|
||||||
for (uint16_t i = 0U; i < i2CSpace; i++) {
|
for (uint16_t i = 0U; i < i2CSpace; i++) {
|
||||||
uint8_t c = 0U;
|
uint8_t c = 0U;
|
||||||
m_i2CData.get(c);
|
m_i2CData.get(c);
|
||||||
writeInt(10U, &c, 1U);
|
m_rpt.write(&c, 1U);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1457,7 +1452,7 @@ void CSerialPort::writeDStarHeader(const uint8_t* header, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDStarData(const uint8_t* data, uint8_t length)
|
void CSerialPort::writeDStarData(const uint8_t* data, uint8_t length)
|
||||||
|
@ -1480,7 +1475,7 @@ void CSerialPort::writeDStarData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDStarLost()
|
void CSerialPort::writeDStarLost()
|
||||||
|
@ -1497,7 +1492,7 @@ void CSerialPort::writeDStarLost()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_DSTAR_LOST;
|
reply[2U] = MMDVM_DSTAR_LOST;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDStarEOT()
|
void CSerialPort::writeDStarEOT()
|
||||||
|
@ -1514,7 +1509,7 @@ void CSerialPort::writeDStarEOT()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_DSTAR_EOT;
|
reply[2U] = MMDVM_DSTAR_EOT;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1539,7 +1534,7 @@ void CSerialPort::writeDMRData(bool slot, const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDMRLost(bool slot)
|
void CSerialPort::writeDMRLost(bool slot)
|
||||||
|
@ -1556,7 +1551,7 @@ void CSerialPort::writeDMRLost(bool slot)
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = slot ? MMDVM_DMR_LOST2 : MMDVM_DMR_LOST1;
|
reply[2U] = slot ? MMDVM_DMR_LOST2 : MMDVM_DMR_LOST1;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1581,7 +1576,7 @@ void CSerialPort::writeYSFData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeYSFLost()
|
void CSerialPort::writeYSFLost()
|
||||||
|
@ -1598,7 +1593,7 @@ void CSerialPort::writeYSFLost()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_YSF_LOST;
|
reply[2U] = MMDVM_YSF_LOST;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1623,7 +1618,7 @@ void CSerialPort::writeP25Hdr(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeP25Ldu(const uint8_t* data, uint8_t length)
|
void CSerialPort::writeP25Ldu(const uint8_t* data, uint8_t length)
|
||||||
|
@ -1646,7 +1641,7 @@ void CSerialPort::writeP25Ldu(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeP25Lost()
|
void CSerialPort::writeP25Lost()
|
||||||
|
@ -1663,7 +1658,7 @@ void CSerialPort::writeP25Lost()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_P25_LOST;
|
reply[2U] = MMDVM_P25_LOST;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1688,7 +1683,7 @@ void CSerialPort::writeNXDNData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeNXDNLost()
|
void CSerialPort::writeNXDNLost()
|
||||||
|
@ -1705,7 +1700,7 @@ void CSerialPort::writeNXDNLost()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_NXDN_LOST;
|
reply[2U] = MMDVM_NXDN_LOST;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1730,7 +1725,7 @@ void CSerialPort::writeM17LinkSetup(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeM17Stream(const uint8_t* data, uint8_t length)
|
void CSerialPort::writeM17Stream(const uint8_t* data, uint8_t length)
|
||||||
|
@ -1753,7 +1748,7 @@ void CSerialPort::writeM17Stream(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeM17EOT()
|
void CSerialPort::writeM17EOT()
|
||||||
|
@ -1770,7 +1765,7 @@ void CSerialPort::writeM17EOT()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_M17_EOT;
|
reply[2U] = MMDVM_M17_EOT;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeM17Lost()
|
void CSerialPort::writeM17Lost()
|
||||||
|
@ -1787,7 +1782,7 @@ void CSerialPort::writeM17Lost()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_M17_LOST;
|
reply[2U] = MMDVM_M17_LOST;
|
||||||
|
|
||||||
writeInt(1U, reply, 3);
|
m_host.write(reply, 3);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1812,7 +1807,7 @@ void CSerialPort::writeFMData(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 4U] = data[i];
|
reply[i + 4U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 4U);
|
m_host.write(reply, length + 4U);
|
||||||
} else {
|
} else {
|
||||||
reply[1U] = length + 3U;
|
reply[1U] = length + 3U;
|
||||||
reply[2U] = MMDVM_FM_DATA;
|
reply[2U] = MMDVM_FM_DATA;
|
||||||
|
@ -1820,7 +1815,7 @@ void CSerialPort::writeFMData(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 3U] = data[i];
|
reply[i + 3U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 3U);
|
m_host.write(reply, length + 3U);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1839,7 +1834,7 @@ void CSerialPort::writeFMStatus(uint8_t status)
|
||||||
reply[2U] = MMDVM_FM_STATUS;
|
reply[2U] = MMDVM_FM_STATUS;
|
||||||
reply[3U] = status;
|
reply[3U] = status;
|
||||||
|
|
||||||
writeInt(1U, reply, 4U);
|
m_host.write(reply, 4U);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeFMEOT()
|
void CSerialPort::writeFMEOT()
|
||||||
|
@ -1856,7 +1851,7 @@ void CSerialPort::writeFMEOT()
|
||||||
reply[1U] = 3U;
|
reply[1U] = 3U;
|
||||||
reply[2U] = MMDVM_FM_EOT;
|
reply[2U] = MMDVM_FM_EOT;
|
||||||
|
|
||||||
writeInt(1U, reply, 3U);
|
m_host.write(reply, 3U);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1881,7 +1876,7 @@ void CSerialPort::writeAX25Data(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 4U] = data[i];
|
reply[i + 4U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 4U);
|
m_host.write(reply, length + 4U);
|
||||||
} else {
|
} else {
|
||||||
reply[1U] = length + 3U;
|
reply[1U] = length + 3U;
|
||||||
reply[2U] = MMDVM_AX25_DATA;
|
reply[2U] = MMDVM_AX25_DATA;
|
||||||
|
@ -1889,7 +1884,7 @@ void CSerialPort::writeAX25Data(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 3U] = data[i];
|
reply[i + 3U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 3U);
|
m_host.write(reply, length + 3U);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1909,7 +1904,7 @@ void CSerialPort::writeSerialData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1928,7 +1923,7 @@ void CSerialPort::writeI2CData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1949,7 +1944,7 @@ void CSerialPort::writeCalData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeRSSIData(const uint8_t* data, uint8_t length)
|
void CSerialPort::writeRSSIData(const uint8_t* data, uint8_t length)
|
||||||
|
@ -1969,7 +1964,7 @@ void CSerialPort::writeRSSIData(const uint8_t* data, uint8_t length)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebug(const char* text)
|
void CSerialPort::writeDebug(const char* text)
|
||||||
|
@ -1989,7 +1984,7 @@ void CSerialPort::writeDebug(const char* text)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count, true);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebug(const char* text, int16_t n1)
|
void CSerialPort::writeDebug(const char* text, int16_t n1)
|
||||||
|
@ -2012,7 +2007,7 @@ void CSerialPort::writeDebug(const char* text, int16_t n1)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count, true);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2)
|
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2)
|
||||||
|
@ -2038,7 +2033,7 @@ void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2)
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count, true);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n3)
|
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n3)
|
||||||
|
@ -2067,7 +2062,7 @@ void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count, true);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n3, int16_t n4)
|
void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n3, int16_t n4)
|
||||||
|
@ -2099,7 +2094,7 @@ void CSerialPort::writeDebug(const char* text, int16_t n1, int16_t n2, int16_t n
|
||||||
|
|
||||||
reply[1U] = count;
|
reply[1U] = count;
|
||||||
|
|
||||||
writeInt(1U, reply, count, true);
|
m_host.write(reply, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
|
void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
|
||||||
|
@ -2116,7 +2111,7 @@ void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 4U] = data[i];
|
reply[i + 4U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 4U);
|
m_host.write(reply, length + 4U);
|
||||||
} else {
|
} else {
|
||||||
reply[1U] = length + 3U;
|
reply[1U] = length + 3U;
|
||||||
reply[2U] = MMDVM_DEBUG_DUMP;
|
reply[2U] = MMDVM_DEBUG_DUMP;
|
||||||
|
@ -2124,6 +2119,6 @@ void CSerialPort::writeDebugDump(const uint8_t* data, uint16_t length)
|
||||||
for (uint16_t i = 0U; i < length; i++)
|
for (uint16_t i = 0U; i < length; i++)
|
||||||
reply[i + 3U] = data[i];
|
reply[i + 3U] = data[i];
|
||||||
|
|
||||||
writeInt(1U, reply, length + 3U);
|
m_host.write(reply, length + 3U);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,10 @@ public:
|
||||||
void writeDebugDump(const uint8_t* data, uint16_t length);
|
void writeDebugDump(const uint8_t* data, uint16_t length);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
HardwareSerial m_host;
|
||||||
|
#if defined(SERIAL_REPEATER)
|
||||||
|
HardwareSerial m_rpt;
|
||||||
|
#endif
|
||||||
uint8_t m_buffer[512U];
|
uint8_t m_buffer[512U];
|
||||||
uint16_t m_ptr;
|
uint16_t m_ptr;
|
||||||
uint16_t m_len;
|
uint16_t m_len;
|
||||||
|
@ -107,7 +111,9 @@ private:
|
||||||
CRingBuffer<uint8_t> m_serialData;
|
CRingBuffer<uint8_t> m_serialData;
|
||||||
int m_lastSerialAvail;
|
int m_lastSerialAvail;
|
||||||
uint16_t m_lastSerialAvailCount;
|
uint16_t m_lastSerialAvailCount;
|
||||||
|
#if defined(I2C_REPEATER)
|
||||||
CRingBuffer<uint8_t> m_i2CData;
|
CRingBuffer<uint8_t> m_i2CData;
|
||||||
|
#endif
|
||||||
|
|
||||||
void sendACK(uint8_t type);
|
void sendACK(uint8_t type);
|
||||||
void sendNAK(uint8_t type, uint8_t err);
|
void sendNAK(uint8_t type, uint8_t err);
|
||||||
|
|
|
@ -1,96 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_DISCOVERY_H
|
|
||||||
#define _PINS_F4_DISCOVERY_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 Discovery Board:
|
|
||||||
|
|
||||||
PTT PB13 output P1 Pin37
|
|
||||||
COSLED PA7 output P1 Pin17
|
|
||||||
LED PD15 output P1 Pin47
|
|
||||||
COS PA5 input P1 Pin15
|
|
||||||
|
|
||||||
DSTAR PD12 output P1 Pin44
|
|
||||||
DMR PD13 output P1 Pin45
|
|
||||||
YSF PD14 output P1 Pin46
|
|
||||||
P25 PD11 output P1 Pin43
|
|
||||||
NXDN PD10 output P1 Pin42
|
|
||||||
|
|
||||||
RX PA0 analog input P1 Pin12
|
|
||||||
RSSI PA1 analog input P1 Pin11
|
|
||||||
TX PA4 analog output P1 Pin16
|
|
||||||
|
|
||||||
EXT_CLK PA15 input P2 Pin40
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_5
|
|
||||||
#define PORT_COS GPIOA
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_7
|
|
||||||
#define PORT_COSLED GPIOA
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_15
|
|
||||||
#define PORT_LED GPIOD
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_11
|
|
||||||
#define PORT_P25 GPIOD
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_10
|
|
||||||
#define PORT_NXDN GPIOD
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_12
|
|
||||||
#define PORT_DSTAR GPIOD
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_13
|
|
||||||
#define PORT_DMR GPIOD
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_14
|
|
||||||
#define PORT_YSF GPIOD
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOD
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,143 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_DRCC_HHP446_H
|
|
||||||
#define _PINS_F4_DRCC_HHP446_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for DRCC_DVM BG5HHP F446 board rev1
|
|
||||||
|
|
||||||
TX/PTT_LED PB12 output
|
|
||||||
RX/COS_LED PB5 output
|
|
||||||
STATUS_LED PB10 output
|
|
||||||
|
|
||||||
COS_IN PB13 input
|
|
||||||
|
|
||||||
DSTAR N/A
|
|
||||||
DMR N/A
|
|
||||||
YSF N/A
|
|
||||||
P25 N/A
|
|
||||||
NXDN N/A
|
|
||||||
POCSAG N/A
|
|
||||||
|
|
||||||
MDMR/BIT0 PB8 output
|
|
||||||
MYSF/BIT1 PB9 output
|
|
||||||
MDSTAR/BIT2 PB14 output
|
|
||||||
MP25/BIT3 PB15 output Generic Mode Pins
|
|
||||||
MNXDN N/A
|
|
||||||
MPOCSAG N/A
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA1 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK N/A
|
|
||||||
|
|
||||||
UART1_TX PA9 output
|
|
||||||
UART1_RX PA10 output Host Data Communication
|
|
||||||
|
|
||||||
UART2_TX PA2 output
|
|
||||||
UART2_RX PA3 output Nextion Data Communication
|
|
||||||
|
|
||||||
I2C1_SCL PB6 output
|
|
||||||
I2C1_SDA PB7 output OLED Data Communication as master
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_13
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_12
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_5
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_10
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_TXLED GPIO_Pin_4
|
|
||||||
#define PORT_TXLED GPIOB
|
|
||||||
#define RCC_Per_TXLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_P25 GPIO_Pin_3
|
|
||||||
// #define PORT_P25 GPIOB
|
|
||||||
// #define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_NXDN GPIO_Pin_10
|
|
||||||
// #define PORT_NXDN GPIOA
|
|
||||||
// #define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
// #define PIN_POCSAG GPIO_Pin_12
|
|
||||||
// #define PORT_POCSAG GPIOB
|
|
||||||
// #define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_DSTAR GPIO_Pin_10
|
|
||||||
// #define PORT_DSTAR GPIOB
|
|
||||||
// #define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_DMR GPIO_Pin_4
|
|
||||||
// #define PORT_DMR GPIOB
|
|
||||||
// #define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_YSF GPIO_Pin_5
|
|
||||||
// #define PORT_YSF GPIOB
|
|
||||||
// #define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_15
|
|
||||||
#define PORT_MP25 GPIOB
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_9
|
|
||||||
#define PORT_MDSTAR GPIOB
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_8
|
|
||||||
#define PORT_MDMR GPIOB
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_14
|
|
||||||
#define PORT_MYSF GPIOB
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOB
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
#define PORT_TX GPIOA
|
|
||||||
#define RCC_Per_TX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,144 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_DRCC_NQF_H
|
|
||||||
#define _PINS_F4_DRCC_NQF_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for DRCC_DVM BG7NQF board rev1
|
|
||||||
|
|
||||||
TX/PTT_LED PB12 output
|
|
||||||
RX/COS_LED PB5 output
|
|
||||||
STATUS_LED PB10 output
|
|
||||||
|
|
||||||
COS_IN PB13 input
|
|
||||||
|
|
||||||
DSTAR N/A
|
|
||||||
DMR N/A
|
|
||||||
YSF N/A
|
|
||||||
P25 N/A
|
|
||||||
NXDN N/A
|
|
||||||
POCSAG N/A
|
|
||||||
|
|
||||||
MDMR/BIT0 PB8 output
|
|
||||||
MYSF/BIT1 PB9 output
|
|
||||||
MDSTAR/BIT2 PB14 output
|
|
||||||
MP25/BIT3 PB15 output Generic Mode Pins
|
|
||||||
MNXDN N/A
|
|
||||||
MPOCSAG N/A
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA1 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
|
|
||||||
UART1_TX PA9 output
|
|
||||||
UART1_RX PA10 output Host Data Communication
|
|
||||||
|
|
||||||
UART2_TX PA2 output
|
|
||||||
UART2_RX PA3 output Nextion Data Communication
|
|
||||||
|
|
||||||
I2C1_SCL PB6 output
|
|
||||||
I2C1_SDA PB7 output OLED Data Communication as master
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_13
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_12
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_5
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_10
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_TXLED GPIO_Pin_4
|
|
||||||
#define PORT_TXLED GPIOB
|
|
||||||
#define RCC_Per_TXLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_P25 GPIO_Pin_3
|
|
||||||
// #define PORT_P25 GPIOB
|
|
||||||
// #define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_NXDN GPIO_Pin_10
|
|
||||||
// #define PORT_NXDN GPIOA
|
|
||||||
// #define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
// #define PIN_POCSAG GPIO_Pin_12
|
|
||||||
// #define PORT_POCSAG GPIOB
|
|
||||||
// #define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_DSTAR GPIO_Pin_10
|
|
||||||
// #define PORT_DSTAR GPIOB
|
|
||||||
// #define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_DMR GPIO_Pin_4
|
|
||||||
// #define PORT_DMR GPIOB
|
|
||||||
// #define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
// #define PIN_YSF GPIO_Pin_5
|
|
||||||
// #define PORT_YSF GPIOB
|
|
||||||
// #define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_15
|
|
||||||
#define PORT_MP25 GPIOB
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_9
|
|
||||||
#define PORT_MDSTAR GPIOB
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_8
|
|
||||||
#define PORT_MDMR GPIOB
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_14
|
|
||||||
#define PORT_MYSF GPIOB
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
#define PORT_TX GPIOA
|
|
||||||
#define RCC_Per_TX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_F4M_H
|
|
||||||
#define _PINS_F4_F4M_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for MMDVM-F4M Pi-Hat F0DEI board:
|
|
||||||
|
|
||||||
PTT PB13 output
|
|
||||||
COSLED PB14 output
|
|
||||||
LED PB15 output
|
|
||||||
COS PC0 input
|
|
||||||
|
|
||||||
DSTAR PC7 output
|
|
||||||
DMR PC8 output
|
|
||||||
YSF PA8 output
|
|
||||||
P25 PC9 output
|
|
||||||
NXDN PB1 output
|
|
||||||
POCSAG PB12 output
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA7 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_0
|
|
||||||
#define PORT_COS GPIOC
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_15
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_9
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_1
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_7
|
|
||||||
#define PORT_DSTAR GPIOC
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_8
|
|
||||||
#define PORT_DMR GPIOC
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_8
|
|
||||||
#define PORT_YSF GPIOA
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_7
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_7
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_NUCLEO_ARDUINO_H
|
|
||||||
#define _PINS_F4_NUCLEO_ARDUINO_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 Nucleo boards (Arduino header):
|
|
||||||
|
|
||||||
PTT PB10 output CN9 Pin7
|
|
||||||
COSLED PB3 output CN9 Pin4
|
|
||||||
LED PB5 output CN9 Pin5
|
|
||||||
COS PB4 input CN9 Pin6
|
|
||||||
|
|
||||||
DSTAR PA1 output CN8 Pin2
|
|
||||||
DMR PA4 output CN8 Pin3
|
|
||||||
YSF PB0 output CN8 Pin4
|
|
||||||
P25 PC1 output CN8 Pin5
|
|
||||||
NXDN PA3 output CN9 Pin1
|
|
||||||
POCSAG PB12 output
|
|
||||||
|
|
||||||
RX PA0 analog input CN8 Pin1
|
|
||||||
RSSI PC0 analog input CN8 Pin6
|
|
||||||
TX PA5 analog output CN5 Pin6
|
|
||||||
|
|
||||||
EXT_CLK PB8 input CN5 Pin10
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_4
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_10
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_3
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_5
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_1
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_3
|
|
||||||
#define PORT_NXDN GPIOA
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_1
|
|
||||||
#define PORT_DSTAR GPIOA
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_4
|
|
||||||
#define PORT_DMR GPIOA
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_0
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_8
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource8
|
|
||||||
#define PORT_EXT_CLK GPIOB
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_0
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_10
|
|
||||||
#define PORT_RSSI GPIOC
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_5
|
|
||||||
#define PIN_TX_CH DAC_Channel_2
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,134 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_NUCLEO_MORPHO_H
|
|
||||||
#define _PINS_F4_NUCLEO_MORPHO_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 Nucleo boards (ST Morpho header):
|
|
||||||
|
|
||||||
PTT PB13 output CN10 Pin30
|
|
||||||
COSLED PB14 output CN10 Pin28
|
|
||||||
LED PA5 output CN10 Pin11
|
|
||||||
COS PB15 input CN10 Pin26
|
|
||||||
|
|
||||||
DSTAR PB10 output CN10 Pin25
|
|
||||||
DMR PB4 output CN10 Pin27
|
|
||||||
YSF PB5 output CN10 Pin29
|
|
||||||
P25 PB3 output CN10 Pin31
|
|
||||||
NXDN PA10 output CN10 Pin33
|
|
||||||
POCSAG PB12 output CN10 Pin16
|
|
||||||
|
|
||||||
MDSTAR PC4 output CN10 Pin34
|
|
||||||
MDMR PC5 output CN10 Pin6
|
|
||||||
MYSF PC2 output CN7 Pin35
|
|
||||||
MP25 PC3 output CN7 Pin37
|
|
||||||
MNXDN PC6 output CN10 Pin4
|
|
||||||
MPOCSAG PC8 output CN10 Pin2
|
|
||||||
|
|
||||||
RX PA0 analog input CN7 Pin28
|
|
||||||
RSSI PA1 analog input CN7 Pin30
|
|
||||||
TX PA4 analog output CN7 Pin32
|
|
||||||
|
|
||||||
EXT_CLK PA15 input CN7 Pin17
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_15
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_5
|
|
||||||
#define PORT_LED GPIOA
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_3
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_10
|
|
||||||
#define PORT_NXDN GPIOA
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_10
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_4
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_5
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_3
|
|
||||||
#define PORT_MP25 GPIOC
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MNXDN GPIO_Pin_6
|
|
||||||
#define PORT_MNXDN GPIOC
|
|
||||||
#define RCC_Per_MNXDN RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_4
|
|
||||||
#define PORT_MDSTAR GPIOC
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_5
|
|
||||||
#define PORT_MDMR GPIOC
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_2
|
|
||||||
#define PORT_MYSF GPIOC
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MPOCSAG GPIO_Pin_8
|
|
||||||
#define PORT_MPOCSAG GPIOC
|
|
||||||
#define RCC_Per_MPOCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_PI_H
|
|
||||||
#define _PINS_F4_PI_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 Pi Board:
|
|
||||||
|
|
||||||
PTT PB13 output
|
|
||||||
COSLED PB14 output
|
|
||||||
LED PB15 output
|
|
||||||
COS PC0 input
|
|
||||||
|
|
||||||
DSTAR PC7 output
|
|
||||||
DMR PC8 output
|
|
||||||
YSF PA8 output
|
|
||||||
P25 PC9 output
|
|
||||||
NXDN PB1 output
|
|
||||||
POCSAG PB12 output
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA7 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_0
|
|
||||||
#define PORT_COS GPIOC
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_15
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_9
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_1
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_7
|
|
||||||
#define PORT_DSTAR GPIOC
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_8
|
|
||||||
#define PORT_DMR GPIOC
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_8
|
|
||||||
#define PORT_YSF GPIOA
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_7
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_7
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,134 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_RPT_TGO_H
|
|
||||||
#define _PINS_F4_RPT_TGO_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for MMDVM_RPT_Hat Pi-Hat BG4TGO board::
|
|
||||||
|
|
||||||
PTT PB13 output CN10 Pin30
|
|
||||||
COSLED PB14 output CN10 Pin28
|
|
||||||
LED PA5 output CN10 Pin11
|
|
||||||
COS PB15 input CN10 Pin26
|
|
||||||
|
|
||||||
DSTAR PB10 output CN10 Pin25
|
|
||||||
DMR PB4 output CN10 Pin27
|
|
||||||
YSF PB5 output CN10 Pin29
|
|
||||||
P25 PB3 output CN10 Pin31
|
|
||||||
NXDN PA10 output CN10 Pin33
|
|
||||||
POCSAG PB12 output CN10 Pin16
|
|
||||||
|
|
||||||
MDSTAR PC4 output CN10 Pin34
|
|
||||||
MDMR PC5 output CN10 Pin6
|
|
||||||
MYSF PC2 output CN7 Pin35
|
|
||||||
MP25 PC3 output CN7 Pin37
|
|
||||||
MNXDN PC6 output CN10 Pin4
|
|
||||||
MPOCSAG PC8 output CN10 Pin2
|
|
||||||
|
|
||||||
RX PA0 analog input CN7 Pin28
|
|
||||||
RSSI PA1 analog input CN7 Pin30
|
|
||||||
TX PA4 analog output CN7 Pin32
|
|
||||||
|
|
||||||
EXT_CLK PA15 input CN7 Pin17
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_15
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_5
|
|
||||||
#define PORT_LED GPIOA
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_3
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_10
|
|
||||||
#define PORT_NXDN GPIOA
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_10
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_4
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_5
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_3
|
|
||||||
#define PORT_MP25 GPIOC
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MNXDN GPIO_Pin_6
|
|
||||||
#define PORT_MNXDN GPIOC
|
|
||||||
#define RCC_Per_MNXDN RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_4
|
|
||||||
#define PORT_MDSTAR GPIOC
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_5
|
|
||||||
#define PORT_MDMR GPIOC
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_2
|
|
||||||
#define PORT_MYSF GPIOC
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MPOCSAG GPIO_Pin_8
|
|
||||||
#define PORT_MPOCSAG GPIOC
|
|
||||||
#define RCC_Per_MPOCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,108 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_STM32DVM_V3_H
|
|
||||||
#define _PINS_F4_STM32DVM_V3_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 STM32-DVM rev 3 Board:
|
|
||||||
|
|
||||||
COS PB13 input
|
|
||||||
PTT PB12 output
|
|
||||||
COSLED PB4 output
|
|
||||||
LED PB3 output
|
|
||||||
|
|
||||||
P25 PB8 output
|
|
||||||
NXDN PB9 output
|
|
||||||
DSTAR PB6 output
|
|
||||||
DMR PB5 output
|
|
||||||
YSF PB7 output
|
|
||||||
POCSAG PC10 output (Not Valid)
|
|
||||||
FM PB14 output
|
|
||||||
|
|
||||||
RX PB0 analog input
|
|
||||||
RSSI PB1 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_13
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_12
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_4
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_3
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_8
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_9
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_6
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_5
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_7
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define PIN_POCSAG GPIO_Pin_10
|
|
||||||
#define PORT_POCSAG GPIOC
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_FM GPIO_Pin_14
|
|
||||||
#define PORT_FM GPIOB
|
|
||||||
#define RCC_Per_FM RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_8
|
|
||||||
#define PORT_RX GPIOB
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_9
|
|
||||||
#define PORT_RSSI GPIOB
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,108 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F4_STM32EDA
|
|
||||||
#define _PINS_F4_STM32EDA
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F4 STM32-DVM-MTR2K & STM32-DVM-MASTR3:
|
|
||||||
|
|
||||||
COS PB13 input
|
|
||||||
PTT PB12 output
|
|
||||||
COSLED PB4 output
|
|
||||||
LED PB3 output
|
|
||||||
|
|
||||||
P25 PB8 output
|
|
||||||
NXDN PB9 output
|
|
||||||
DSTAR PB6 output
|
|
||||||
DMR PB5 output
|
|
||||||
YSF PB7 output
|
|
||||||
POCSAG PC10 output
|
|
||||||
FM PB14 output
|
|
||||||
|
|
||||||
RX PB0 analog input
|
|
||||||
RSSI PB1 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_13
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_12
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_4
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_3
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_8
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_9
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_6
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_5
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_7
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_10
|
|
||||||
#define PORT_POCSAG GPIOC
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_FM GPIO_Pin_14
|
|
||||||
#define PORT_FM GPIOB
|
|
||||||
#define RCC_Per_FM RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_8
|
|
||||||
#define PORT_RX GPIOB
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_9
|
|
||||||
#define PORT_RSSI GPIOB
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F7_F7M_H
|
|
||||||
#define _PINS_F7_F7M_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for MMDVM-F7M Pi-Hat F0DEI board:
|
|
||||||
|
|
||||||
PTT PB13 output
|
|
||||||
COSLED PB14 output
|
|
||||||
LED PB15 output
|
|
||||||
COS PC0 input
|
|
||||||
|
|
||||||
DSTAR PC7 output
|
|
||||||
DMR PC8 output
|
|
||||||
YSF PA8 output
|
|
||||||
P25 PC9 output
|
|
||||||
NXDN PB1 output
|
|
||||||
POCSAG PB12 output
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA7 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_0
|
|
||||||
#define PORT_COS GPIOC
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_15
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_9
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_1
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_7
|
|
||||||
#define PORT_DSTAR GPIOC
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_8
|
|
||||||
#define PORT_DMR GPIOC
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_8
|
|
||||||
#define PORT_YSF GPIOA
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_7
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_7
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,129 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F7_NUCLEO_H
|
|
||||||
#define _PINS_F7_NUCLEO_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F7 Nucleo boards (ST Morpho header):
|
|
||||||
|
|
||||||
PTT PB13 output CN12 Pin30
|
|
||||||
COSLED PB14 output CN12 Pin28
|
|
||||||
LED PA5 output CN12 Pin11
|
|
||||||
COS PB15 input CN12 Pin26
|
|
||||||
|
|
||||||
DSTAR PB10 output CN12 Pin25
|
|
||||||
DMR PB4 output CN12 Pin27
|
|
||||||
YSF PB5 output CN12 Pin29
|
|
||||||
P25 PB3 output CN12 Pin31
|
|
||||||
NXDN PA10 output CN12 Pin33
|
|
||||||
POCSAG PB12 output CN12 Pin16
|
|
||||||
|
|
||||||
MDSTAR PC4 output CN12 Pin34
|
|
||||||
MDMR PC5 output CN12 Pin6
|
|
||||||
MYSF PC2 output CN11 Pin35
|
|
||||||
MP25 PC3 output CN11 Pin37
|
|
||||||
MNXDN PC6 output CN12 Pin4
|
|
||||||
|
|
||||||
RX PA0 analog input CN11 Pin28
|
|
||||||
RSSI PA1 analog input CN11 Pin30
|
|
||||||
TX PA4 analog output CN11 Pin32
|
|
||||||
|
|
||||||
EXT_CLK PA15 input CN11 Pin17
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_15
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_5
|
|
||||||
#define PORT_LED GPIOA
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_3
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_10
|
|
||||||
#define PORT_NXDN GPIOA
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_10
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_4
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_5
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_3
|
|
||||||
#define PORT_MP25 GPIOC
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MNXDN GPIO_Pin_6
|
|
||||||
#define PORT_MNXDN GPIOC
|
|
||||||
#define RCC_Per_MNXDN RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_4
|
|
||||||
#define PORT_MDSTAR GPIOC
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_5
|
|
||||||
#define PORT_MDMR GPIOC
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_2
|
|
||||||
#define PORT_MYSF GPIOC
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_1
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,101 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F7_PI_H
|
|
||||||
#define _PINS_F7_PI_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F722 Pi Board:
|
|
||||||
|
|
||||||
PTT PB13 output
|
|
||||||
COSLED PB14 output
|
|
||||||
LED PB15 output
|
|
||||||
COS PC0 input
|
|
||||||
|
|
||||||
DSTAR PC7 output
|
|
||||||
DMR PC8 output
|
|
||||||
YSF PA8 output
|
|
||||||
P25 PC9 output
|
|
||||||
NXDN PB1 output
|
|
||||||
POCSAG PB12 output
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA7 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_0
|
|
||||||
#define PORT_COS GPIOC
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_13
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_14
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_15
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_9
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_1
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_12
|
|
||||||
#define PORT_POCSAG GPIOB
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_7
|
|
||||||
#define PORT_DSTAR GPIOC
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_8
|
|
||||||
#define PORT_DMR GPIOC
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_8
|
|
||||||
#define PORT_YSF GPIOA
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_7
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_7
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,144 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F7_RPT_HAT_H
|
|
||||||
#define _PINS_F7_RPT_HAT_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for MMDVM_RPT_Hat Pi-Hat F0DEI DB9MAT DF2ET board:
|
|
||||||
|
|
||||||
PTT PB14 output
|
|
||||||
COSLED PB13 output
|
|
||||||
LED PB12 output
|
|
||||||
COS PC0 input
|
|
||||||
|
|
||||||
DSTAR PB15 output
|
|
||||||
DMR PC6 output
|
|
||||||
YSF PC7 output
|
|
||||||
P25 PC8 output
|
|
||||||
NXDN PC9 output
|
|
||||||
POCSAG PA8 output
|
|
||||||
FM PA11 output
|
|
||||||
|
|
||||||
MDSTAR PC1 output
|
|
||||||
MDMR PC2 output
|
|
||||||
MYSF PC3 output
|
|
||||||
MP25 PC4 output
|
|
||||||
MNXDN PC10 output
|
|
||||||
MPOCSAG PC11 output
|
|
||||||
MFM PC13 output
|
|
||||||
|
|
||||||
RX PA0 analog input
|
|
||||||
RSSI PA7 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_0
|
|
||||||
#define PORT_COS GPIOC
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_14
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_13
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_12
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_8
|
|
||||||
#define PORT_P25 GPIOC
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_9
|
|
||||||
#define PORT_NXDN GPIOC
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_POCSAG GPIO_Pin_8
|
|
||||||
#define PORT_POCSAG GPIOA
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_FM GPIO_Pin_11
|
|
||||||
#define PORT_FM GPIOA
|
|
||||||
#define RCC_Per_FM RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_15
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_6
|
|
||||||
#define PORT_DMR GPIOC
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_7
|
|
||||||
#define PORT_YSF GPIOC
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#if defined(MODE_PINS)
|
|
||||||
#define PIN_MP25 GPIO_Pin_4
|
|
||||||
#define PORT_MP25 GPIOC
|
|
||||||
#define RCC_Per_MP25 RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MNXDN GPIO_Pin_10
|
|
||||||
#define PORT_MNXDN GPIOC
|
|
||||||
#define RCC_Per_MNXDN RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDSTAR GPIO_Pin_1
|
|
||||||
#define PORT_MDSTAR GPIOC
|
|
||||||
#define RCC_Per_MDSTAR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MDMR GPIO_Pin_2
|
|
||||||
#define PORT_MDMR GPIOC
|
|
||||||
#define RCC_Per_MDMR RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MYSF GPIO_Pin_3
|
|
||||||
#define PORT_MYSF GPIOC
|
|
||||||
#define RCC_Per_MYSF RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MPOCSAG GPIO_Pin_11
|
|
||||||
#define PORT_MPOCSAG GPIOC
|
|
||||||
#define RCC_Per_MPOCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
|
|
||||||
#define PIN_MFM GPIO_Pin_13
|
|
||||||
#define PORT_MFM GPIOC
|
|
||||||
#define RCC_Per_MFM RCC_AHB1Periph_GPIOC
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_0
|
|
||||||
#define PORT_RX GPIOA
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_7
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_7
|
|
||||||
#define PORT_RSSI GPIOA
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOA
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -1,108 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright (C) 2019,2020 by BG5HHP
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _PINS_F7_STM32DVM_V5_H
|
|
||||||
#define _PINS_F7_STM32DVM_V5_H
|
|
||||||
|
|
||||||
/*
|
|
||||||
Pin definitions for STM32F7 STM32-DVM rev 5 Board:
|
|
||||||
|
|
||||||
COS PB13 input
|
|
||||||
PTT PB12 output
|
|
||||||
COSLED PB4 output
|
|
||||||
LED PB3 output
|
|
||||||
|
|
||||||
P25 PB8 output
|
|
||||||
NXDN PB9 output
|
|
||||||
DSTAR PB6 output
|
|
||||||
DMR PB5 output
|
|
||||||
YSF PB7 output
|
|
||||||
POCSAG PC10 output (Not Valid)
|
|
||||||
FM PB14 output
|
|
||||||
|
|
||||||
RX PB0 analog input
|
|
||||||
RSSI PB1 analog input
|
|
||||||
TX PA4 analog output
|
|
||||||
|
|
||||||
EXT_CLK PA15 input
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_COS GPIO_Pin_13
|
|
||||||
#define PORT_COS GPIOB
|
|
||||||
#define RCC_Per_COS RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_PTT GPIO_Pin_12
|
|
||||||
#define PORT_PTT GPIOB
|
|
||||||
#define RCC_Per_PTT RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_COSLED GPIO_Pin_4
|
|
||||||
#define PORT_COSLED GPIOB
|
|
||||||
#define RCC_Per_COSLED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_LED GPIO_Pin_3
|
|
||||||
#define PORT_LED GPIOB
|
|
||||||
#define RCC_Per_LED RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_P25 GPIO_Pin_8
|
|
||||||
#define PORT_P25 GPIOB
|
|
||||||
#define RCC_Per_P25 RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_NXDN GPIO_Pin_9
|
|
||||||
#define PORT_NXDN GPIOB
|
|
||||||
#define RCC_Per_NXDN RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DSTAR GPIO_Pin_6
|
|
||||||
#define PORT_DSTAR GPIOB
|
|
||||||
#define RCC_Per_DSTAR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_DMR GPIO_Pin_5
|
|
||||||
#define PORT_DMR GPIOB
|
|
||||||
#define RCC_Per_DMR RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_YSF GPIO_Pin_7
|
|
||||||
#define PORT_YSF GPIOB
|
|
||||||
#define RCC_Per_YSF RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define PIN_POCSAG GPIO_Pin_10
|
|
||||||
#define PORT_POCSAG GPIOC
|
|
||||||
#define RCC_Per_POCSAG RCC_AHB1Periph_GPIOC
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define PIN_FM GPIO_Pin_14
|
|
||||||
#define PORT_FM GPIOB
|
|
||||||
#define RCC_Per_FM RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_EXT_CLK GPIO_Pin_15
|
|
||||||
#define SRC_EXT_CLK GPIO_PinSource15
|
|
||||||
#define PORT_EXT_CLK GPIOA
|
|
||||||
|
|
||||||
#define PIN_RX GPIO_Pin_0
|
|
||||||
#define PIN_RX_CH ADC_Channel_8
|
|
||||||
#define PORT_RX GPIOB
|
|
||||||
#define RCC_Per_RX RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_RSSI GPIO_Pin_1
|
|
||||||
#define PIN_RSSI_CH ADC_Channel_9
|
|
||||||
#define PORT_RSSI GPIOB
|
|
||||||
#define RCC_Per_RSSI RCC_AHB1Periph_GPIOB
|
|
||||||
|
|
||||||
#define PIN_TX GPIO_Pin_4
|
|
||||||
#define PIN_TX_CH DAC_Channel_1
|
|
||||||
|
|
||||||
#endif
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019,2020 by BG5HHP
|
||||||
|
* Copyright (C) 2024 by Jonathan Naylor, G4KLX
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(_PINS_RB_V3_H)
|
||||||
|
#define _PINS_RB_V3_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Pin definitions for Repeater Builder rev 3 Board:
|
||||||
|
|
||||||
|
COS PB13 input
|
||||||
|
PTT PB12 output
|
||||||
|
COSLED PB4 output
|
||||||
|
LED PB3 output
|
||||||
|
|
||||||
|
Mode LEDs
|
||||||
|
P25 PB8 output
|
||||||
|
NXDN PB9 output
|
||||||
|
DSTAR PB6 output
|
||||||
|
DMR PB5 output
|
||||||
|
YSF PB7 output
|
||||||
|
FM PB14 output
|
||||||
|
|
||||||
|
Analogue input/output
|
||||||
|
RX PB0 analogue input
|
||||||
|
RSSI PB1 analogue input
|
||||||
|
TX PA4 analogue output
|
||||||
|
|
||||||
|
Host communication
|
||||||
|
TXD PA9
|
||||||
|
RXD PA10
|
||||||
|
|
||||||
|
Serial repeater
|
||||||
|
TXD PC12
|
||||||
|
RXD PD2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PIN_COS PB13
|
||||||
|
|
||||||
|
#define PIN_PTT PB12
|
||||||
|
|
||||||
|
#define PIN_COSLED PB4
|
||||||
|
|
||||||
|
#define PIN_LED PB3
|
||||||
|
|
||||||
|
#define PIN_P25 PB8
|
||||||
|
|
||||||
|
#define PIN_NXDN PB9
|
||||||
|
|
||||||
|
#define PIN_DSTAR PB6
|
||||||
|
|
||||||
|
#define PIN_DMR PB5
|
||||||
|
|
||||||
|
#define PIN_YSF PB7
|
||||||
|
|
||||||
|
#define PIN_FM PB14
|
||||||
|
|
||||||
|
#define PIN_RX PB0
|
||||||
|
|
||||||
|
#define PIN_RSSI PB1
|
||||||
|
|
||||||
|
#define PIN_TX PA4
|
||||||
|
|
||||||
|
#define PIN_HOST_TXD PA9
|
||||||
|
|
||||||
|
#define PIN_HOST_RXD PA10
|
||||||
|
|
||||||
|
#define PIN_RPT_TXD PC12
|
||||||
|
|
||||||
|
#define PIN_RPT_RXD PD2
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,88 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019,2020 by BG5HHP
|
||||||
|
* Copyright (C) 2024 by Jonathan Naylor, G4KLX
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(_PINS_RB_V5_H)
|
||||||
|
#define _PINS_RB_V5_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Pin definitions for Repeater Builder rev 5 Board:
|
||||||
|
|
||||||
|
COS PB13 input
|
||||||
|
PTT PB12 output
|
||||||
|
COSLED PB4 output
|
||||||
|
LED PB3 output
|
||||||
|
|
||||||
|
Mode LEDs
|
||||||
|
P25 PB8 output
|
||||||
|
NXDN PB9 output
|
||||||
|
DSTAR PB6 output
|
||||||
|
DMR PB5 output
|
||||||
|
YSF PB7 output
|
||||||
|
FM PB14 output
|
||||||
|
|
||||||
|
Analogue input/output
|
||||||
|
RX PB0 analogue input
|
||||||
|
RSSI PB1 analogue input
|
||||||
|
TX PA4 analogue output
|
||||||
|
|
||||||
|
Host communication
|
||||||
|
TXD PA9
|
||||||
|
RXD PA10
|
||||||
|
|
||||||
|
Serial repeater
|
||||||
|
TXD PC12
|
||||||
|
RXD PD2
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define PIN_COS PB13
|
||||||
|
|
||||||
|
#define PIN_PTT PB12
|
||||||
|
|
||||||
|
#define PIN_COSLED PB4
|
||||||
|
|
||||||
|
#define PIN_LED PB3
|
||||||
|
|
||||||
|
#define PIN_P25 PB8
|
||||||
|
|
||||||
|
#define PIN_NXDN PB9
|
||||||
|
|
||||||
|
#define PIN_DSTAR PB6
|
||||||
|
|
||||||
|
#define PIN_DMR PB5
|
||||||
|
|
||||||
|
#define PIN_YSF PB7
|
||||||
|
|
||||||
|
#define PIN_FM PB14
|
||||||
|
|
||||||
|
#define PIN_RX PB0
|
||||||
|
|
||||||
|
#define PIN_RSSI PB1
|
||||||
|
|
||||||
|
#define PIN_TX PA4
|
||||||
|
|
||||||
|
#define PIN_HOST_TXD PA9
|
||||||
|
|
||||||
|
#define PIN_HOST_RXD PA10
|
||||||
|
|
||||||
|
#define PIN_RPT_TXD PC12
|
||||||
|
|
||||||
|
#define PIN_RPT_RXD PD2
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019,2020 by BG5HHP
|
||||||
|
* Copyright (C) 2024 by Jonathan Naylor, G4KLX
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(_PINS_ZUM_V09_PI_H)
|
||||||
|
#define _PINS_ZUM_V09_PI_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Pin definitions for KI6ZUM v0.9 Pi Board:
|
||||||
|
|
||||||
|
PTT PB13 output
|
||||||
|
COSLED PB14 output
|
||||||
|
LED PB15 output
|
||||||
|
COS PC0 input
|
||||||
|
|
||||||
|
Mode LEDs
|
||||||
|
DSTAR PC7 output
|
||||||
|
DMR PC8 output
|
||||||
|
YSF PA8 output
|
||||||
|
P25 PC9 output
|
||||||
|
NXDN PB1 output
|
||||||
|
POCSAG PB12 output
|
||||||
|
|
||||||
|
Analogue input/output
|
||||||
|
RX PA0 analogue input
|
||||||
|
RSSI PA7 analogue input
|
||||||
|
TX PA4 analogue output
|
||||||
|
|
||||||
|
Host communication
|
||||||
|
TXD PA9
|
||||||
|
RXD PA10
|
||||||
|
|
||||||
|
Serial repeater
|
||||||
|
TXD PC12
|
||||||
|
RXD PD2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PIN_PTT PB13
|
||||||
|
|
||||||
|
#define PIN_COSLED PB14
|
||||||
|
|
||||||
|
#define PIN_LED PB15
|
||||||
|
|
||||||
|
#define PIN_COS PC0
|
||||||
|
|
||||||
|
#define PIN_DSTAR PC7
|
||||||
|
|
||||||
|
#define PIN_DMR PC8
|
||||||
|
|
||||||
|
#define PIN_YSF PA8
|
||||||
|
|
||||||
|
#define PIN_P25 PC9
|
||||||
|
|
||||||
|
#define PIN_NXDN PB1
|
||||||
|
|
||||||
|
#define PIN_POCSAG PB12
|
||||||
|
|
||||||
|
#define PIN_RX PA0
|
||||||
|
|
||||||
|
#define PIN_RSSI PA7
|
||||||
|
|
||||||
|
#define PIN_TX PA4
|
||||||
|
|
||||||
|
#define PIN_HOST_TXD PA9
|
||||||
|
|
||||||
|
#define PIN_HOST_RXD PA10
|
||||||
|
|
||||||
|
#define PIN_RPT_TXD PC12
|
||||||
|
|
||||||
|
#define PIN_RPT_RXD PD2
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2019,2020 by BG5HHP
|
||||||
|
* Copyright (C) 2024 by Jonathan Naylor, G4KLX
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(_PINS_ZUM_V10_PI_H)
|
||||||
|
#define _PINS_ZUM_V10_PI_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Pin definitions for KI6ZUM v1.0 Pi Board:
|
||||||
|
|
||||||
|
PTT PB13 output
|
||||||
|
COSLED PB14 output
|
||||||
|
LED PB15 output
|
||||||
|
COS PC0 input
|
||||||
|
|
||||||
|
Mode LEDs
|
||||||
|
DSTAR PC7 output
|
||||||
|
DMR PC8 output
|
||||||
|
YSF PA8 output
|
||||||
|
P25 PC9 output
|
||||||
|
NXDN PB1 output
|
||||||
|
POCSAG PB12 output
|
||||||
|
|
||||||
|
Analogue input/output
|
||||||
|
RX PA0 analogue input
|
||||||
|
RSSI PA7 analogue input
|
||||||
|
TX PA4 analogue output
|
||||||
|
|
||||||
|
Host communication
|
||||||
|
TXD PA9
|
||||||
|
RXD PA10
|
||||||
|
|
||||||
|
Serial repeater
|
||||||
|
TXD PC12
|
||||||
|
RXD PD2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define PIN_PTT PB13
|
||||||
|
|
||||||
|
#define PIN_COSLED PB14
|
||||||
|
|
||||||
|
#define PIN_LED PB15
|
||||||
|
|
||||||
|
#define PIN_COS PC0
|
||||||
|
|
||||||
|
#define PIN_DSTAR PC7
|
||||||
|
|
||||||
|
#define PIN_DMR PC8
|
||||||
|
|
||||||
|
#define PIN_YSF PA8
|
||||||
|
|
||||||
|
#define PIN_P25 PC9
|
||||||
|
|
||||||
|
#define PIN_NXDN PB1
|
||||||
|
|
||||||
|
#define PIN_POCSAG PB12
|
||||||
|
|
||||||
|
#define PIN_RX PA0
|
||||||
|
|
||||||
|
#define PIN_RSSI PA7
|
||||||
|
|
||||||
|
#define PIN_TX PA4
|
||||||
|
|
||||||
|
#define PIN_HOST_TXD PA9
|
||||||
|
|
||||||
|
#define PIN_HOST_RXD PA10
|
||||||
|
|
||||||
|
#define PIN_RPT_TXD PC12
|
||||||
|
|
||||||
|
#define PIN_RPT_RXD PD2
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in New Issue