Re: Jak "obalit" Serial.print svou funkcí
Pavel Brychta
pavel.brychta na duhasys.eu
Středa Březen 6 08:05:56 CET 2019
DD,
mohlo by stačit:
void log_print (String text, uint8_t timeout = 0) {
if (timeout !=0){
Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());
Udp.write(text);
Udp.endPacket();
}
Serial.print (text);
}
Pak by měl fungovat jak zápis
log_print("testovaci hlaska") , tak i log_print("testovaci hlaska", 1)
Pavel Brychta
Dne 4.3.2019 v 21:08 Petr Zapadlo napsal(a):
> 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
>
> _______________________________________________
> 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