Prosba o dokumentacje + inne sprawy

magx2
Posts: 249
Joined: Wed May 17, 2017 1:27 pm

Fri Sep 01, 2017 9:26 pm

Cześć wytłumaczysz mi w jakim formacie wysyłany jest TDCS_SuplaPingServer i TSDC_SuplaPingServerResult? Dokładniej timeval. Widzę że tam w importach dzieje się jakaś magia i nie bardzo wiem jak to interpretować. Dzięki!
Java 4 Life :twisted: :twisted: :twisted:
User avatar
pzygmunt
Posts: 5757
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Sat Sep 02, 2017 10:21 am

W timeval masz dwie zmienne typu long sekundy i mikrosekundy.
Ping-a wysyłasz jeżeli nie miałeś komunikacji z urzadzeniem/klientem przez określony czas inaczej traktujesz sesję jako zombie i ją ubijasz
co jest jednoznaczne z zamknięciem połączenia.
magx2
Posts: 249
Joined: Wed May 17, 2017 1:27 pm

Sat Sep 02, 2017 1:28 pm

Dzięki. Widzę że klient też wysyła tego pinga. To jest ten obowiązkowy ping co jakiś timeout żeby serwer go nie ubił?
Java 4 Life :twisted: :twisted: :twisted:
User avatar
pzygmunt
Posts: 5757
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Sat Sep 02, 2017 1:34 pm

Tak
magx2
Posts: 249
Joined: Wed May 17, 2017 1:27 pm

Sun Sep 03, 2017 6:12 pm

pzygmunt wrote:
Sat Sep 02, 2017 10:21 am
W timeval masz dwie zmienne typu long sekundy i mikrosekundy.
Tak dla uściślenia, w C++ long ma 32 bity czy 64?
Java 4 Life :twisted: :twisted: :twisted:
User avatar
pzygmunt
Posts: 5757
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Mon Sep 04, 2017 9:00 am

W tym przypadku 64
magx2
Posts: 249
Joined: Wed May 17, 2017 1:27 pm

Mon Sep 04, 2017 9:18 pm

typedef struct {
char value[SUPLA_CHANNELVALUE_SIZE];
char sub_value[SUPLA_CHANNELVALUE_SIZE]; // For example sensor value
}TSuplaChannelValue;
O co chodzi z sub value? To jest tak samo zakodowane value jak rozmawialiśmy wcześniej?
Java 4 Life :twisted: :twisted: :twisted:
User avatar
pzygmunt
Posts: 5757
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Sep 05, 2017 6:53 am

Format jest taki sam. Trafiają tam dane z kanałów połączonych. Np jak skojarzysz czujnik otwarcia bramy z otwieraniem bramy to w sub_value będzie stan czujnika. Serwer to składa do kupy.
djack2017
Posts: 168
Joined: Mon Nov 27, 2017 7:36 am

Wed Jan 17, 2018 12:44 pm

Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:

void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);

#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
User avatar
pzygmunt
Posts: 5757
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Wed Jan 17, 2018 12:48 pm

djack2017 wrote:
Wed Jan 17, 2018 12:44 pm
Jest w supla_esp_devconn.c, na końcu, kawałek kodu odczytujacego temperaturę z DS18b20:

void DEVCONN_ICACHE_FLASH supla_esp_devconn_on_temp_humidity_changed(char humidity) {
char value[SUPLA_CHANNELVALUE_SIZE];
#if defined(TEMPERATURE_CHANNEL)
memset(value, 0, sizeof(SUPLA_CHANNELVALUE_SIZE));
supla_get_temperature(value);
srpc_ds_async_channel_value_changed(devconn->srpc, TEMPERATURE_CHANNEL, value);

#endif
....
}
siedzę nad tym już parę godzin - jak z "value" odczytać wartość liczbową temperatury. Możesz pomóc?
Jacek
Gdzie chcesz to odczytywać ? Z poziomu ESP czy z poziomu serwera czy klienta ?
Post Reply