I thought I’d give tabs a try in the Arduino IDE (1.8.5) as my Blynk project is growing, any idea what I’m doing wrong?
As an example I have two tabs with the following code:
<AA_Includes.ino>
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "";
char ssid[] = "";
char pass[] = "";
<AA_Setup.ino>
void setup()
{
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
BLYNK_APP_CONNECTED()
{
Serial.println("App Connected!");
}
BLYNK_APP_DISCONNECTED()
{
Serial.println("App Disconnected!");
}
From what I understand these should be concatenated and compiled as a single sketch.
However, if the setup function is not on the same tab as the includes it creates the following cpp in the temp folder, with the includes after the blynk functions:
#include <Arduino.h>
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void setup();
#line 8 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void loop();
#line 14 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void BlynkWidgetWriteInternalPinACON(BlynkReq __attribute__((__unused__)) &request, const BlynkParam __attribute__((__unused__)) ¶m);
#line 19 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void BlynkWidgetWriteInternalPinADIS(BlynkReq __attribute__((__unused__)) &request, const BlynkParam __attribute__((__unused__)) ¶m);
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "";
char ssid[] = "";
char pass[] = "";
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void setup()
{
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
void loop()
{
Blynk.run();
}
BLYNK_APP_CONNECTED()
{
Serial.println("App Connected!");
}
BLYNK_APP_DISCONNECTED()
{
Serial.println("App Disconnected!");
}
If I move the setup function to the first tab (containing the includes) it compiles correctly:
#include <Arduino.h>
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
char auth[] = "";
char ssid[] = "";
char pass[] = "";
#line 11 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
void setup();
#line 3 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void loop();
#line 9 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void BlynkWidgetWriteInternalPinACON(BlynkReq __attribute__((__unused__)) &request, const BlynkParam __attribute__((__unused__)) ¶m);
#line 14 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void BlynkWidgetWriteInternalPinADIS(BlynkReq __attribute__((__unused__)) &request, const BlynkParam __attribute__((__unused__)) ¶m);
#line 11 "D:\\OneDrive\\Arduino\\AA_Includes\\AA_Includes.ino"
void setup()
{
// Debug console
Serial.begin(115200);
Blynk.begin(auth, ssid, pass);
}
#line 1 "D:\\OneDrive\\Arduino\\AA_Includes\\BB_Setup.ino"
void loop()
{
Blynk.run();
}
BLYNK_APP_CONNECTED()
{
Serial.println("App Connected!");
}
BLYNK_APP_DISCONNECTED()
{
Serial.println("App Disconnected!");
}