iM@rek wstaw sobie ten kod od kolegi @lukfud bezpośrednio w kodzie programu bez dodatkowego pliku xxxx.h tylko zakomentuj lub usuń #ifndef READONLY_H_
#define READONLY_H_ i #endif i kod będzie Ci działał bez problemów. Ja tak zrobiłem zadziałało wszystko od strzała. Później chciałem sobie uporządkować trochę kod i dałem to do pliku nagłówkowego i mi się pojawił tez problem taki jak opisałeś. Ponieważ nie miałem czasu tego rozkminiać wróciłem do opcji wyjściowej i wszystko działa jak było zresztą widać na zdjęciu które dołączyłem.
Modyfikacja przykładu WebInterface Arduino
-
iM@rek
- Posts: 376
- Joined: Thu Feb 09, 2023 1:25 pm
Dziękuję za wyjaśnienia. Trochę rozumiem, trochę muszę doczytać, żeby zrozumieć.
Ogólnie to niby jest prosta sprawa:
1. Mam szkic na bazie WebInterface.
2. W nim min. używam Inputów, numerycznych i tekstowych.
3. W tekstowych chcę przekazywać/ wyświetlać łańcuchy znaków podawane bezpośrednio lub jako zmienne w programie:
4a: bezpośrednio: "Jakiś tekst"
4b: jako zmienna: tekst = "Jakiś łańcuch tekstowy"
Ten łańcuch ma się pokazywać pod otwarciu configa WI w polu tekstowym definiowanym zgodnie z Inputem tekstowym.
Można go będzie zmodyfikować, wówczas zostanie zapisany do FRAM i użyty następnym razem.
No i nie umiem tego przeskoczyć.
Inputy numeryczne mi działają, umiem do pól przekazać wartości numeryczne z programu.
Do inputów tekstowych nie umiem:
1. np. zdefiniować łańcucha - zmiennej: "Jakiś łańcuch tekstowy" i
2. przekazać go do configa na stronie WI
Niby proste, a nie umiem. Prosi się użycie string, ale preferowany jest char, z którym nie umiem się dogadać.
-
iM@rek
- Posts: 376
- Joined: Thu Feb 09, 2023 1:25 pm
W szkicu nie mam póki co niczego związanego z tym, o czym pisałem. Chciałem skorzystać z Twoich porad dla zrrr, ale nie umiem przekazać zmiennej do readonly.h.
A zmienna, jak piszę wyżej, jest dowolnym łańcuchem tekstowym, lub może być wpisana bezpośrednio w programie.
Utknąłem na przekazywaniu zmiennej do Readonly.h.
Przy okazji:
Próbowałem też w Readonly.h wpisać tekst zamiast zmiennej, ale też nie chciał tego przyjąć.
Code: Select all
...
sender->send("placeholder=\"");
sender->send("Ala ma kota"); <= podkreślał jako błąd
sender->send("\">");-
lukfud
- Posts: 2480
- Joined: Thu Nov 23, 2017 11:33 pm
- Location: Warszawa
- Has thanked: 13 times
- Been thanked: 11 times
U mnie działa, u @zzrr działa, więc u Ciebie też musi.
Podrzuć mi szkic.
https://www.facebook.com/groups/supladiy
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
https://www.facebook.com/groups/suplazamel
https://www.facebook.com/groups/suplaauraton
https://smartnerzeczy.pl
-
iM@rek
- Posts: 376
- Joined: Thu Feb 09, 2023 1:25 pm
Dzięki, wstawiłem bezpośrednio i działa.
Tyle, że... to jest działanie na zmiennej int, czyli liczbie, a ja chcę wrzucać łańcuch tekstowy typu: "Ala ma kota"...
Jak to dostosować?
Przy próbie użycia zewnętrznego Readonly.h - include - wrócił błąd deklaracji i przekazywania zmianej.
No i chciałbym móc edytować wartość (łańcuch znaków lub liczbę)
Jak zmienić deklarację sendera?
To co podał @lukfud to jest pole do wyświetlania tekstu. Czy tam dasz stringa czy int to działa bez żadnych dodatkowych operacji. Do edycji a później do zapisania w pamieci to masz inputy więc trochę nie jasne jest po co chcesz coś zapisywać do pamięci inputem a później to wyświetlać w tym polu i móc to w tym polu edytować żeby znów zapisać w pamięci. To jest coś przekombinowane. Zrób jeszcze raz to co dał @lukfud tylko bezpośrednio w kodzie i będzie tak jak poniżej. Z resztą wcześniej podawałeś dokładnie to co działa, a u Ciebie na razie nie, czyli...iM@rek wrote: Wed Aug 21, 2024 9:18 pm Tyle, że... to jest działanie na zmiennej int, czyli liczbie, a ja chcę wrzucać łańcuch tekstowy typu: "Ala ma kota"...
Code: Select all
sender->send("placeholder=\"");
sender->send("Ala ma kota. Działa :-)");
sender->send("\">");No a jeśli z jakiegoś powodu chcesz mieć to koniecznie w pliku nagłówkowym oddzielnie to spróbuj na samym początku pliku nagłówkowego dodać...
Code: Select all
#include <supla/network/html_element.h>
#include <supla/network/web_sender.h>
You do not have the required permissions to view the files attached to this post.
-
iM@rek
- Posts: 376
- Joined: Thu Feb 09, 2023 1:25 pm
zzrr wrote: Thu Aug 22, 2024 2:17 pmFaktycznie działa, dzięki, nie wiem, czemu wczoraj nie zadziałało, może jest za ciepłoCode: Select all
(...) sender->send("Ala ma kota. Działa :-)"); (...)
Póki co, odpuszczam zewnętrzny readonly.h itd. Spróbuję przy okazji, dziękuję za podpowiedź.
Czyli:
Działa zmienna tekstowa wpisana bezpośrednio w cudzysłowach w linii sender->send("Ala ma kota");
Nie umiałem przesłać łańcucha tekstowego przez zmienną, ale przed chwilą udało mi się to zrobić tak:
i działaCode: Select all
deklaracja: char oSFTWver2[] = "20240822-2023"; (...) sender->send(oSFTWver2);
Czy tak należy to robić? Czy jakoś inaczej?
Last edited by iM@rek on Thu Aug 22, 2024 7:14 pm, edited 1 time in total.
za wiele chyba to nie wnosi...iM@rek wrote: Thu Aug 22, 2024 6:05 pmi działaCode: Select all
deklaracja: char oSFTWver2[] = "20240822-2023"; (...) sender->send(oSFTWver2);
Czy ta należy to robić? Czy jakoś inaczej?
Ale spróbuj tak, bo to chyba o to Ci chodzi... no jeśli mówimy o stringu. Bo jeśli masz gotową tablicę to tak jak pokazałeś faktycznie
Masz...
String tekst = "Ala ma kota";
sender->send("placeholder=\"");
sender->send(tekst.c_str());
sender->send("\">");
-
iM@rek
- Posts: 376
- Joined: Thu Feb 09, 2023 1:25 pm
Działa i przez char i przez String - dzięki, mam, czego chciałem.
Ze skompilowanego szkicu pobiera wersję kompilacji (SFTW verzija) i wstawia do okna Configa. Póki co, zostawiam jako AllInOne - bez osobnego pliku Readonly.h.
Następny punkt ToDo: odczytać i uzupełnić pola adresów termometrów DS18b20.
To powinno być dosyć podobne do poprzedniego punktu, ale zobaczymy
You do not have the required permissions to view the files attached to this post.
