Prosba o dokumentacje + inne sprawy

Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Tak wygląda zapis:

https://github.com/SUPLA/supla-espressi ... b20.c#L208

Tak odczytujesz
double temp;
memcpy(&temp, value, sizeof(double));
djack2017
Posty: 686
Rejestracja: pn lis 27, 2017 7:36 am
Kontakt:

Wiem, to wszystko już przerabiałem. Chcę zmodyfikować nieco procedurę
w samym module supla_esp_devconn.c W poszczególnych komórkach value[8] są niejasne dla mnie wpisy
Chcę to na coś przekodować np na int (value*1000)
Jacek
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Dla temperatury w value[8] siedzi typ double i takim typem musisz operować.
djack2017
Posty: 686
Rejestracja: pn lis 27, 2017 7:36 am
Kontakt:

To wiem, ale właśnie nie wiem jak to zrobić w C?
Po prostu nie wiem jak przekonwertować double na np int*1000 (najbardziej mi pasuje).
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

Co rozumiesz przez int*1000 ? Po prostu chcesz to pomnożyć ?
djack2017
Posty: 686
Rejestracja: pn lis 27, 2017 7:36 am
Kontakt:

Tak - w wyniku zmienna typu int z wartością przemonożoną przez 1000
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
Awatar użytkownika
pzygmunt
Posty: 18284
Rejestracja: wt sty 19, 2016 9:26 am
Lokalizacja: Paczków
Kontakt:

double temp;
memcpy(&temp, value, sizeof(double));

(int)temp * 1000
djack2017
Posty: 686
Rejestracja: pn lis 27, 2017 7:36 am
Kontakt:

Dzięki, człowiek szuka skomplikowanych funkcji, a tymczasem rozwiązanie jest tak proste.
__________________________________________________________
Specjalizowane oprogramowanie do sterowników Sonoff, Gosund, Blitzwolf, Shelly i innych:
https://djack.com.pl/modules.php?name=Downloads&d_op=viewdownload&cid=54
magx2
Posty: 351
Rejestracja: śr maja 17, 2017 1:27 pm
Kontakt:

Trochę odświeżę temat.

Mam pytanie odnośnie pingów. Po zarejestrowaniu się urządzenie wysyła do serwera TDCS_SuplaSetActivityTimeout, w którym jest pole activity_timeout określające timeout po jakim serwer ma uznać urządzenie za martwe (sec czy ms?). W odpowiedzi serwer wysyła TSDC_SuplaSetActivityTimeoutResult. W tym proto też jest pole activity_timeout. Mam rozumieć że ono nadpisuje to co wysłało urządzenie? Druga sprawa min i max to są delty od wartości activity_timeout czy osobne wartości, tj. jeżeli mamy activity_timeout = 10 to min=2 i max=3 czy min=12 i max=13?

Druga sprawa to pingi. Co ustalony czas urządzenie wysyła TDCS_SuplaPingServer. O co chodzi w polu timeval? To jest jakiś czas od początku włączenia urządzenia? Po otrzymaniu tego proto serwer powinien odpowiedzieć TSDC_SuplaPingServerResult. I tu pojawia się pytanie czym jest timeval? Czy to jest to samo co serwer dostał w TDCS_SuplaPingServer, czy może jego wewnętrzny czas (czas od startu serwera czy otwarcia socketa do tego urządznia).

Ostatnia sprawa. Swój serwer testuję z ROW-01 od Zamela i w TDCS_SuplaPingServer dostaje same zera:

Kod: Zaznacz cały

SuplaDataPacket{version=5, rrId=3, callType=40, dataSize=8, data=[0, 0, 0, 0, 0, 0, 0, 0]})
Czemu tak się dzieje?
Java 4 Life :twisted:

API Java
GUI
Server Mock

magx2
Posty: 351
Rejestracja: śr maja 17, 2017 1:27 pm
Kontakt:

Miałeś może możliwość zapoznania się z powyższymi pytaniami?
Java 4 Life :twisted:

API Java
GUI
Server Mock

ODPOWIEDZ

Wróć do „Zagadnienia ogólne”