Слияние кода завершено, страница обновится автоматически
#ifndef BLINKER_SERIAL_BLE_H
#define BLINKER_SERIAL_BLE_H
#if !defined (__AVR__)
#ifndef BLINKER_ARDUINOJSON
#define BLINKER_ARDUINOJSON
#endif
#ifndef ARDUINOJSON_VERSION_MAJOR
#include "modules/ArduinoJson/ArduinoJson.h"
#endif
#if defined(ESP32)
#include <HardwareSerial.h>
#elif defined (__AVR__) || defined(ESP8266)
#include <SoftwareSerial.h>
#endif
#else
#if defined (BLINKER_ARDUINOJSON)
#ifndef ARDUINOJSON_VERSION_MAJOR
#include "modules/ArduinoJson/ArduinoJson.h"
#endif
#endif
#endif
#include "Adapters/BlinkerSerial.h"
#include "Blinker/BlinkerApi.h"
typedef BlinkerApi BApi;
class BlinkerSerialBLE : public BlinkerApi
{
public :
void begin( uint8_t ss_rx_pin = 2,
uint8_t ss_tx_pin = 3,
uint32_t ss_baud = 9600)
{
#if defined (__AVR__)
if (ss_rx_pin == 0 && ss_tx_pin == 1){
BApi::begin();
#if defined (__AVR_ATmega32U4__)
Serial1.begin(ss_baud);
Transp.begin(Serial1, true);
transport(Transp);
// this->conn.begin(Serial1, true);
#else
Serial.begin(ss_baud);
Transp.begin(Serial, true);
transport(Transp);
// this->conn.begin(Serial, true);
#endif
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
#if defined (__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) || defined(__SAM3X8E__)
else if (ss_rx_pin == 19 && ss_tx_pin == 18){
BApi::begin();
Serial1.begin(ss_baud);
Transp.begin(Serial1, true);
transport(Transp);
// this->conn.begin(Serial1, true);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else if (ss_rx_pin == 17 && ss_tx_pin == 16){
BApi::begin();
Serial2.begin(ss_baud);
Transp.begin(Serial2, true);
transport(Transp);
// this->conn.begin(Serial2, true);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else if (ss_rx_pin == 15 && ss_tx_pin == 14){
BApi::begin();
Serial3.begin(ss_baud);
Transp.begin(Serial3, true);
transport(Transp);
// this->conn.begin(Serial3, true);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
#endif
else {
BApi::begin();
SSerialBLE = new SoftwareSerial(ss_rx_pin, ss_tx_pin);
SSerialBLE->begin(ss_baud);
Transp.begin(*SSerialBLE, false);
transport(Transp);
// this->conn.begin(*SSerialBLE, false);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
}
#elif defined(ESP8266)
if (ss_rx_pin == RX && ss_tx_pin == TX) {
BApi::begin();
Serial.begin(ss_baud);
Transp.begin(Serial, true);
transport(Transp);
// this->conn.begin(Serial, true);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else {
BApi::begin();
SSerialBLE = new SoftwareSerial(ss_rx_pin, ss_tx_pin);
SSerialBLE->begin(ss_baud);
Transp.begin(*SSerialBLE, false);
transport(Transp);
// this->conn.begin(*SSerialBLE, false);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
#elif defined(ESP32)
BApi::begin();
HSerialBLE = new HardwareSerial(1);
HSerialBLE->begin(ss_baud, SERIAL_8N1, ss_rx_pin, ss_tx_pin);
Transp.begin(*HSerialBLE, true);
transport(Transp);
// this->conn.begin(*HSerialBLE, true);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
#elif defined(ARDUINO_SAM_DUE)
if (ss_rx_pin == 0 && ss_tx_pin == 1){
BApi::begin();
Serial.begin(ss_baud);
Transp.begin(Serial, true);
transport(Transp);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else if (ss_rx_pin == 19 && ss_tx_pin == 18){
BApi::begin();
Serial1.begin(ss_baud);
Transp.begin(Serial1, true);
transport(Transp);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else if (ss_rx_pin == 17 && ss_tx_pin == 16){
BApi::begin();
Serial2.begin(ss_baud);
Transp.begin(Serial2, true);
transport(Transp);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else if (ss_rx_pin == 15 && ss_tx_pin == 14){
BApi::begin();
Serial3.begin(ss_baud);
Transp.begin(Serial3, true);
transport(Transp);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
return;
}
else
{
BLINKER_ERR_LOG(BLINKER_F("Arduino DUE, Please set right Hardware Serial!"));
return;
}
#else
BApi::begin();
SSerialBLE = new SoftwareSerial(ss_rx_pin, ss_tx_pin);
SSerialBLE->begin(ss_baud);
Transp.begin(*SSerialBLE, false);
transport(Transp);
// this->conn.begin(*SSerialBLE, false);
BLINKER_LOG(BLINKER_F("SerialBLE initialized..."));
#endif
}
private :
BlinkerSerial Transp;
};
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )