Easy IoT is a simplest IoT Solution presented by DFRobot
#30263
Hi there.
I have LoRa init problem using FireBeetle LoRa Module (915MHz, v2.0) with FireBeetle ESP32.

I soldered all the pins of the boards and joint together like arduino shield,
connected to computer, and upload the example code from here(https://wiki.dfrobot.com/FireBeetle_Cov ... KU_TEL0122).
but it couldn't have been compiled with these errors:

DFRobot_LoRa.h:27:23: error: 'D4' was not declared in this scope
#define NSS_PIN D4
^
DFRobot_LoRa.h:270:29: note: in expansion of macro 'NSS_PIN'
bool init(uint8_t NSSPin = NSS_PIN, uint8_t NRESETPin = RESET_PIN);
^
...

So I had opened and confirmed every single header files in arduino library directories, and hardware core directories, and I finally have concluded that there is no such definitions of digital pins for firebeetle-esp32 board.
And i had searched pin mapping for firebeetle-esp32, but I couldn't have found.

how can i define digital pins or insert values for the parameter of lora.init() to create lora object normally?
#30278
nana.wang wrote:
Fri Aug 02, 2019 2:59 am
Hi thanks for your support.
The DFRobot board ESP32 D4 responds to the io27, you can change D4 to 27 directly.
And FireBeetle ESP32 is pin mapping, you can check it in /variants/firebeetle32/pins_arduino.h
And by the way, which version SDK are you using now?
Thanks for replying!
I forgot to add error message that D2 pin was not defined either!
would you let me know the number to which D2 could be changed?

As I said, I have checked all of the directories, which includes "/variants/firebeetle32/pins_arduino.h". There is neither definition of D4, D2 nor any macros that starts with 'D' and ends with number (which means digital pin in normal arduino board)

this is my pins_arduino.h from "[Arduino_home]\hardware\espressif\esp32\variants\firebeetle32" :
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16

#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)

static const uint8_t LED_BUILTIN = 2;
#define BUILTIN_LED LED_BUILTIN // backward compatibility



static const uint8_t TX = 1;
static const uint8_t RX = 3;

static const uint8_t SDA = 21;
static const uint8_t SCL = 22;

static const uint8_t SS = 5;
static const uint8_t MOSI = 23;
static const uint8_t MISO = 19;
static const uint8_t SCK = 18;

static const uint8_t A0 = 36;
static const uint8_t A3 = 39;
static const uint8_t A4 = 32;
static const uint8_t A5 = 33;
static const uint8_t A6 = 34;
static const uint8_t A7 = 35;
static const uint8_t A10 = 4;
static const uint8_t A11 = 0;
static const uint8_t A12 = 2;
static const uint8_t A13 = 15;
static const uint8_t A14 = 13;
static const uint8_t A15 = 12;
static const uint8_t A16 = 14;
static const uint8_t A17 = 27;
static const uint8_t A18 = 25;
static const uint8_t A19 = 26;

static const uint8_t T0 = 4;
static const uint8_t T1 = 0;
static const uint8_t T2 = 2;
static const uint8_t T3 = 15;
static const uint8_t T4 = 13;
static const uint8_t T5 = 12;
static const uint8_t T6 = 14;
static const uint8_t T7 = 27;
static const uint8_t T8 = 33;
static const uint8_t T9 = 32;

static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;

#endif /* Pins_Arduino_h */

By the way, how can I check my SDK version?
#30296
glow153 wrote:
Fri Aug 02, 2019 5:28 am
nana.wang wrote:
Fri Aug 02, 2019 2:59 am
Hi thanks for your support.
The DFRobot board ESP32 D4 responds to the io27, you can change D4 to 27 directly.
And FireBeetle ESP32 is pin mapping, you can check it in /variants/firebeetle32/pins_arduino.h
And by the way, which version SDK are you using now?
Thanks for replying!
I forgot to add error message that D2 pin was not defined either!
would you let me know the number to which D2 could be changed?

As I said, I have checked all of the directories, which includes "/variants/firebeetle32/pins_arduino.h". There is neither definition of D4, D2 nor any macros that starts with 'D' and ends with number (which means digital pin in normal arduino board)

this is my pins_arduino.h from "[Arduino_home]\hardware\espressif\esp32\variants\firebeetle32" :
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16

#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)

static const uint8_t LED_BUILTIN = 2;
#define BUILTIN_LED LED_BUILTIN // backward compatibility



static const uint8_t TX = 1;
static const uint8_t RX = 3;

static const uint8_t SDA = 21;
static const uint8_t SCL = 22;

static const uint8_t SS = 5;
static const uint8_t MOSI = 23;
static const uint8_t MISO = 19;
static const uint8_t SCK = 18;

static const uint8_t A0 = 36;
static const uint8_t A3 = 39;
static const uint8_t A4 = 32;
static const uint8_t A5 = 33;
static const uint8_t A6 = 34;
static const uint8_t A7 = 35;
static const uint8_t A10 = 4;
static const uint8_t A11 = 0;
static const uint8_t A12 = 2;
static const uint8_t A13 = 15;
static const uint8_t A14 = 13;
static const uint8_t A15 = 12;
static const uint8_t A16 = 14;
static const uint8_t A17 = 27;
static const uint8_t A18 = 25;
static const uint8_t A19 = 26;

static const uint8_t T0 = 4;
static const uint8_t T1 = 0;
static const uint8_t T2 = 2;
static const uint8_t T3 = 15;
static const uint8_t T4 = 13;
static const uint8_t T5 = 12;
static const uint8_t T6 = 14;
static const uint8_t T7 = 27;
static const uint8_t T8 = 33;
static const uint8_t T9 = 32;

static const uint8_t DAC1 = 25;
static const uint8_t DAC2 = 26;

#endif /* Pins_Arduino_h */

By the way, how can I check my SDK version?
Hi, please try add FireBeetle-ESP32 via https://git.oschina.net/dfrobot/FireBee ... index.json