29-06-2020, 22:31
(29-06-2020, 21:47)Jarewa0606 napisał(a): nie możesz napisać tak by było potwierdzenie odbioru?? jeżeli brak lub niepoprawne wyślij ponownie...Nie mogę bo to strasznie wydłuży bezwładność odbiornika. Tak jak napisałem, odbiornik odmierza czas od ostatniego odbioru danych. Jeśli przekroczy ustalony próg czasu (chciałbym żeby było to 100 milisekund), automatycznie wyłącza silniki aby nigdzie po na przykład wyczerpaniu się baterii w pilocie samoczynnie nie jechał z przesłaną w ostatnim momencie prędkością. Jeśli ja wyślę dane, będę czekał aż odbiornik je odbierze, po czym znów wyśle dane do pilota, a pilot je odbierze to już na samym tym procesie tracę sporo ponad 100 milisekund.
Moje założenia się sprawdzają, tylko w związku z tym że raz na jakiś czas dane z jakiegoś powodu się nie wyślą następuje efekt, że od wysłania jednych danych do drugich mija około 140 milisekund, a więc nie mieszczę się w moim celu. I pytanie jak to zrobić żeby za każdym razem te dane zostały wysłane bo nie mam pojęcia dlaczego czasami się one nie wysyłają - i nie chodzi mi o to że nie dotarły do odbiornika, po prostu operacja radio.write (&daneDoWyslania, sizeof(daneDoWyslania)); się jakby czasami nie wykonuje,a powinna.