This repository was archived by the owner on Apr 16, 2021. It is now read-only.
This repository was archived by the owner on Apr 16, 2021. It is now read-only.
Bug in 1.1.6 release: using namespace mbed clash on Serial definition #100
Open
Description
@facchinm Since the 1.1.6 release of this Arduino core we have naming issues between the Arduino and the Mbed serial interfaces. Has anything changed here?
Arduino: 1.8.13 (Windows 10), Board: “Arduino Nano 33 BLE”
In file included from sketch\static_buffer.ino.cpp:1:0:
C:\Users\kasim\OneDrive\Documents\Arduino\libraries\ei-plant_pot-arduino-1.0.1\examples\static_buffer\static_buffer.ino: In function ‘void setup()’:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: error: reference to ‘SerialUSB’ is ambiguous
#define Serial SerialUSB
^
C:\Users\kasim\OneDrive\Documents\Arduino\libraries\ei-plant_pot-arduino-1.0.1\examples\static_buffer\static_buffer.ino:53:5: note: in expansion of macro ‘Serial’
Serial.begin(115200);
^
In file included from C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:127:0,
from sketch\static_buffer.ino.cpp:1:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/USB/PluggableUSBSerial.h:279:27: note: candidates are: arduino::USBSerial SerialUSB
extern arduino::USBSerial SerialUSB;
^~~~~~~~~
In file included from sketch\static_buffer.ino.cpp:1:0:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: note: class mbed::SerialUSB
#define Serial SerialUSB
^
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/mbed/drivers/Serial.h:56:7: note: in expansion of macro ‘Serial’
class Serial : public SerialBase, public Stream, private NonCopyable {
^~~~~~
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: error: reference to ‘SerialUSB’ is ambiguous
#define Serial SerialUSB
^
C:\Users\kasim\OneDrive\Documents\Arduino\libraries\ei-plant_pot-arduino-1.0.1\examples\static_buffer\static_buffer.ino:55:5: note: in expansion of macro ‘Serial’
Serial.println("Edge Impulse Inferencing Demo");
^
In file included from C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:127:0,
from sketch\static_buffer.ino.cpp:1:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/USB/PluggableUSBSerial.h:279:27: note: candidates are: arduino::USBSerial SerialUSB
extern arduino::USBSerial SerialUSB;
^~~~~~~~~
In file included from sketch\static_buffer.ino.cpp:1:0:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: note: class mbed::SerialUSB
#define Serial SerialUSB
^
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/mbed/drivers/Serial.h:56:7: note: in expansion of macro ‘Serial’
class Serial : public SerialBase, public Stream, private NonCopyable {
^~~~~~
C:\Users\kasim\OneDrive\Documents\Arduino\libraries\ei-plant_pot-arduino-1.0.1\examples\static_buffer\static_buffer.ino: In function ‘void ei_printf(const char*, …)’:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: error: reference to ‘SerialUSB’ is ambiguous
#define Serial SerialUSB
^
C:\Users\kasim\OneDrive\Documents\Arduino\libraries\ei-plant_pot-arduino-1.0.1\examples\static_buffer\static_buffer.ino:122:9: note: in expansion of macro ‘Serial’
Serial.write(print_buf);
^
In file included from C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:127:0,
from sketch\static_buffer.ino.cpp:1:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/USB/PluggableUSBSerial.h:279:27: note: candidates are: arduino::USBSerial SerialUSB
extern arduino::USBSerial SerialUSB;
^~~~~~~~~
In file included from sketch\static_buffer.ino.cpp:1:0:
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/Arduino.h:128:16: note: class mbed::SerialUSB
#define Serial SerialUSB
^
C:\Users\kasim\AppData\Local\Arduino15\packages\arduino\hardware\mbed\1.1.6\cores\arduino/mbed/drivers/Serial.h:56:7: note: in expansion of macro ‘Serial’
class Serial : public SerialBase, public Stream, private NonCopyable {
^~~~~~
exit status 1
Error compiling for board Arduino Nano 33 BLE.
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
Reported in https://forum.edgeimpulse.com/t/deployment-building-firmware-for-arduino-nano-error/625/5
Here is an Arduino library that demonstrates the problem: ei-continuous-gestures-demo-arduino-1.0.9.zip, and this is the sketch that fails to compile:
/* Includes ---------------------------------------------------------------- */
#include <continuous_gestures_demo_inference.h>
/**
* @brief Arduino setup function
*/
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
Serial.println("Edge Impulse Inferencing Demo");
}
/**
* @brief Arduino main function
*/
void loop()
{
ei_printf("Edge Impulse standalone inferencing (Arduino)\n");
delay(1000);
}
/**
* @brief Printf function uses vsnprintf and output using Arduino Serial
*
* @param[in] format Variable argument list
*/
void ei_printf(const char *format, ...) {
static char print_buf[1024] = { 0 };
va_list args;
va_start(args, format);
int r = vsnprintf(print_buf, sizeof(print_buf), format, args);
va_end(args);
if (r > 0) {
Serial.write(print_buf);
}
}
Metadata
Metadata
Assignees
Labels
No labels