Re: Jak "obalit" Serial.print svou funkcí

Petr Zapadlo zapik na email.cz
Pondělí Březen 4 21:08:27 CET 2019


Zdravím,

myslel jsem to asi takto:

void log_print (String text, uint8_t timeout) {
   if (timeout !=0){
     Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
     Udp.write(text);
     Udp.endPacket();
   }
   Serial.print (text);
}
Ale bohužel takto to nejde, protože nemůžu volat funkci například takto:


log_print("testovaci hlaska");

Zkusím se prokousat níže uvedenými třídami (tohle je část z c++, které 
zatím prakticky nehovím)
Petr


Dne 4.3.2019 v 17:44 Petr Štetiar napsal(a):
> 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
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list