From 5155e9a0d540284a2f6e24b48f66b9d984228cbf Mon Sep 17 00:00:00 2001 From: Vladimir Zahradnik Date: Thu, 6 Aug 2020 15:55:33 +0200 Subject: [PATCH 1/2] Add support for RS485 on Controllino Maxi/Mega --- src/RS485.cpp | 4 ++++ src/RS485.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/RS485.cpp b/src/RS485.cpp index 2f018e7..92aa32e 100644 --- a/src/RS485.cpp +++ b/src/RS485.cpp @@ -166,4 +166,8 @@ void RS485Class::setPins(int txPin, int dePin, int rePin) _rePin = rePin; } +#if defined(CONTROLLINO_MAXI) || defined(CONTROLLINO_MEGA) +RS485Class RS485(SERIAL_PORT_HARDWARE3, CONTROLLINO_RS485_TX, CONTROLLINO_RS485_DE, CONTROLLINO_RS485_nRE); +#else RS485Class RS485(SERIAL_PORT_HARDWARE, RS485_DEFAULT_TX_PIN, RS485_DEFAULT_DE_PIN, RS485_DEFAULT_RE_PIN); +#endif diff --git a/src/RS485.h b/src/RS485.h index 24b976f..c6efa06 100644 --- a/src/RS485.h +++ b/src/RS485.h @@ -22,6 +22,10 @@ #include +#if defined(CONTROLLINO_MAXI) || defined(CONTROLLINO_MEGA) +#include +#endif + #ifdef PIN_SERIAL1_TX #define RS485_DEFAULT_TX_PIN PIN_SERIAL1_TX #else From a30126ccda3660bac22eb90e39d312748ad9af2e Mon Sep 17 00:00:00 2001 From: robert_faltus Date: Wed, 16 Sep 2020 17:30:00 +0200 Subject: [PATCH 2/2] ATmega2560 and ATmega328 update --- src/RS485.cpp | 4 ++++ src/RS485.h | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/RS485.cpp b/src/RS485.cpp index 92aa32e..0444b93 100644 --- a/src/RS485.cpp +++ b/src/RS485.cpp @@ -168,6 +168,10 @@ void RS485Class::setPins(int txPin, int dePin, int rePin) #if defined(CONTROLLINO_MAXI) || defined(CONTROLLINO_MEGA) RS485Class RS485(SERIAL_PORT_HARDWARE3, CONTROLLINO_RS485_TX, CONTROLLINO_RS485_DE, CONTROLLINO_RS485_nRE); +#elif defined(__AVR_ATmega2560__) +RS485Class RS485(Serial3, RS485_TX_PIN, RS485_DE_PIN, RS485_nRE_PIN); +#elif defined(__AVR_ATmega328P__) +RS485Class RS485(Serial, RS485_TX_PIN, RS485_DE_PIN, RS485_nRE_PIN); #else RS485Class RS485(SERIAL_PORT_HARDWARE, RS485_DEFAULT_TX_PIN, RS485_DEFAULT_DE_PIN, RS485_DEFAULT_RE_PIN); #endif diff --git a/src/RS485.h b/src/RS485.h index c6efa06..47cf15f 100644 --- a/src/RS485.h +++ b/src/RS485.h @@ -26,6 +26,16 @@ #include #endif +#if defined(__AVR_ATmega2560__) + #define RS485_DE_PIN 21 + #define RS485_nRE_PIN 20 + #define RS485_TX_PIN 14 +#elif defined(__AVR_ATmega328P__) + #define RS485_DE_PIN 3 + #define RS485_nRE_PIN 2 + #define RS485_TX_PIN 1 +#endif + #ifdef PIN_SERIAL1_TX #define RS485_DEFAULT_TX_PIN PIN_SERIAL1_TX #else