ESP8266-01 ---- DUE / Serial1 anders, als auf dem Mega

Hi ich möchte euch ein kleines Problem vorstellen, auf das ich gestern gestoßen bin.....

Bisherige Konfiguration:
Mega Nachbau und Internetanbindung über einen ESP8266-01.
Im Zuge der Entwicklung: Speichermangel.........

Also umgerüstet auf einen DUE und den ESP8266-01 da dran.

Genutzt habe ich folgende Lib: http://docs.iteadstudio.com/ITEADLIB_Arduino_WeeESP8266/index.html

Weils einfach ist und auf dem Mega gut funktioniert hat.

Aber auf dem DUE nicht. Keine Debugausgaben auf Serial.
Kein anspringen der setup() Funktion.

Ein kurzer Testcode, welcher auf dem Mega funktioniert, aber auf dem DUE nicht:

#include "ESP8266.h"
ESP8266 wifi(Serial1);

void setup(void)
{
    Serial.begin(9600);
    Serial.print("setup begin\r\n");

    Serial.print("FW Version:");
    Serial.println(wifi.getVersion().c_str());
}

Aus den Beispielcodes der Lib

Dieses funktioniert auf dem Mega und auf dem DUE:

#include "ESP8266.h"
ESP8266 *wifi;

void setup(void)
{
    Serial.begin(9600);
    wifi = new ESP8266(Serial1);
    Serial.print("setup begin\r\n");

    Serial.print("FW Version:");
    Serial.println(wifi->getVersion().c_str());
}

Zur "Nichtfunktion" führt das begin(9600) der Serial1 Verbindung im Konstruktor der ESP8266 Klasse.
Scheinbar steht Serial1 erst beim Start der setup() Funktion zur Verfügung.

Warum ist das so?
Wie kann ich das ändern?
In den DUE Bereichen des Forums und im Inet habe ich keine Antwort gefunden.

Im Grunde habe ich es jetzt am laufen, aber die dynamische Generierung mit new stört mich etwas. Es wäre kein Drama, wenn es so bleiben müsste....

Besten Dank, fürs zuhören!

Scheinbar steht Serial1 erst beim Start der setup() Funktion zur Verfügung.

Das ist eine Funktion die in sertup() aufgerufen wird. Darum gibt es sie vorher nicht.

Die Bibliothek ist nicht für den DUE zertifiziert:

Suppported Mainboards

Arduino UNO and its derivatives
Arduino MEGA and its derivatives
Iteaduino UNO
WBoard Pro

Grüße Uwe

uwefed:
Die Bibliothek ist nicht für den DUE zertifiziert:

Das ist mir bekannt.
Das aufgetretene Problem ist nicht wirklich ein Problem der Lib.
Die Lib tuts auf dem ARM genauso gut, wie auf dem AVR. (bisher)

Mich hat das unterschiedliche Verhalten der Arduino Laufzeitumgebung überrascht.
In der AVR Umgebung steht Serial1 vor setup() bereit.
In der SAM Umgebung nicht.

Die Übergabe von Serial1 per "Constructor Injection" kommt mir sehr entgegen, da ich dann die Objekte statisch anlegen kann(AVR)/könnte(leider nicht beim DUE). (wie es die Lib eigentlich vorsieht)

Alternativ:
Der Wechsel auf "Setter Injection". Aber das würde einen Umbau der Lib erfordern.
Und ich hätte (kurzzeitig) ein unvollständig konstruiertes Objekt im Speicher. Unschön.