Jak "obalit" Serial.print svou funkcí

Petr Štetiar ynezz na true.cz
Pondělí Březen 4 17:44:01 CET 2019


Zuffa Jan <ZuffaJ na cgc.sk> [2019-03-04 16:17:40]:

> Arduinisti to maju tu:
> 
> https://forum.arduino.cc/index.php?topic=356626.0

Pokud ten puvodni dotaz chapu spravne, tak tohle neni odpoved na ten dotaz.

> static HardwareSerial serial;   // toto je už patrně definováno jinde
> static Udp            UDP;      // a toto asi také
> static MyLog          log (serial, UDP);  // tohle musíte definovat sám
> // použití
> int main () { // v Arduinu to bude v loop(), toto je test na PC
>    // jsou použitelné všechny metody print, println třídy Print
>    log.println("test");
>    // a normálně dál pracovat se serial i UDP
>    serial.println("serial");
>    UDP.println("udp");
>    return 0;
> }

Ja jsem ten puvodni dotaz spise pochopil tak, ze pujde spise o predefinovani metody
write() ve tride HardwareSerial, tedy neco takoveho:

class MySerial : public HardwareSerial {
public:
      size_t write (const uint8_t * buffer, size_t size) {
         /* poslat data do serioveho portu */
         write(buffer, size);

         /* dale pak treba pres UDP */
         udp.write(buffer, size);
    }
};

MySerial serial(UART0);

void setup()
{
    serial.println("meh");
}

-- ynezz


Další informace o konferenci Hw-list