bolderflight / sbus

Arduino and CMake library for communicating with SBUS receivers and servos.
MIT License
395 stars 140 forks source link

ESP32: candidate expects 4 arguments, 5 provided when compile #78

Open ivan3612 opened 1 month ago

ivan3612 commented 1 month ago

include "sbus.h"

bfs::SbusTx sbus_tx(&Serial,D0,D1,1);

bfs::SbusData data;

void setup() { Serial.begin(115200); while (!Serial) {} sbus_tx.Begin(); }

void loop () {

sbus_tx.data(data);
/* Write the data to the servos */
sbus_tx.Write();

}

When compelling the above code, error occurred

c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp: In member function 'void bfs::SbusRx::Begin()': c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp:74:55: error: no matching function for call to 'HardwareSerial::begin(int32_t&, int, int8_t&, int8t&, bool&)' uart->begin(baud_, SERIAL8E2, rxpin, txpin, inv); ^ In file included from C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/Arduino.h:157:0, from c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.h:30, from c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp:26: C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/HardwareSerial.h:40:10: note: candidate: void HardwareSerial::begin(long unsigned int, uint32_t, int8_t, int8_t) void begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1); ^ C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/HardwareSerial.h:40:10: note: candidate expects 4 arguments, 5 provided c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp: In member function 'void bfs::SbusTx::Begin()': c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp:225:55: error: no matching function for call to 'HardwareSerial::begin(int32_t&, int, int8_t&, int8t&, bool&)' uart->begin(baud_, SERIAL8E2, rxpin, txpin, inv); ^ In file included from C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/Arduino.h:157:0, from c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.h:30, from c:\Users\Ivan\Documents\Arduino\libraries\Bolder_Flight_Systems_SBUS\src\sbus.cpp:26: C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/HardwareSerial.h:40:10: note: candidate: void HardwareSerial::begin(long unsigned int, uint32_t, int8_t, int8_t) void begin(unsigned long baud, uint32_t config=SERIAL_8N1, int8_t rxPin=-1, int8_t txPin=-1); ^ C:\Users\Ivan\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.6\cores\esp32/HardwareSerial.h:40:10: note: candidate expects 4 arguments, 5 provided

exit status 1

Compilation error: exit status 1

flybrianfly commented 1 month ago

Looks like that particular ESP32 core dev team didn't include the ability to handle inverted serial. Are you stuck with that ESP32 core library?