Skip to content

Dreamer Nano / Leonardo mag kein HardwareSerial* #1

@thewabbit0

Description

@thewabbit0

Ich habe ein Dreamer Nano 4.1 - Board, welches an den Arduino Leonardo angelehnt ist. Der Code kompiliert in der gegebenen Form aber nicht, weil "Serial" am Leonardo (und am Dreamer Nano) nicht vom Typ HardwareSerial*, sonder vom Typ Serial_* ist (weil USB CDC und kein nativer serieller Port).

Die Abhilfe ist einfach - die Funktionsdefinitionen für

  • void serial_android(HardwareSerial* localSerial)
  • void serial_logview(HardwareSerial* localSerial)
  • void serial_debug(HardwareSerial* localSerial)
  • void serial_mmc(HardwareSerial* localSerial)

in Arduino_Pedelec_Controller sollten geändert werden in void serial_[...](Stream* localSerial). Weil die Funktionen ohnehin nichts anderes machen, als printf aufzurufen, ist ein Downcast zum Stream* unproblematisch.

Außerdem ist noch in serial_command.cpp die Definition / Zuweisung in Zeile 68

HardwareSerial* active_serial_port = &Serial;

zu ersetzen durch eine entsprechende Fallunterscheidung:

#if defined(USBCON)
  Serial_* active_serial_port = &Serial;
#else
   HardwareSerial* active_serial_port = &Serial;
#endif

Dann kompiliert es auch mit dem Dreamer Nano.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions