#1 2022-08-03 18:48:59

Vovk
Учасник
З Славута
Зареєстрований: 2021-08-07
Повідомлень: 20

Першоджерела для чайників

Шановні панове, допоможіть!

Лупаю цю скалу, освоюю С на Ардуіно ІДЕ.

Дайте пораду, де можна почитати повний перелік усіх вбудованих з коробки функцій з детальним описом параметрів та результатів.

От наприклад колупаю синхронізацію часу з інтернету. Знайшов configTime(0, 0, ntpServer1, ntpServer2). Як взнати, чи синхронізація пройшла успішно? На скільки було відхилення від еталону? Наступна синхронізація відбувається автоматично чи мені потрібно це зробити самому? Як відбувається перехід на літній/зимній час? І т.ін.

Потім випадково на якихось форумах знайшов таке для ESP32: configTzTime(TZ_Asia_Jerusalem, ntpServer).

Виходить набір функцій для різних процесорів різний? Незрозуміло.

Як Ви вчилися? Поділіться своїм досвідом.

Неактивний

#2 2022-08-04 01:07:15

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

Может это попросту различные библиотеки с различными функциями вызова и различными перечнями параметров? Мало информации.

Ну и чтобы два раза не вставать, по вопросу из соседнего треда:

> Підкажіть, де шукати ці першоджерела, щоб вивчити.

Установленные библиотеки лежат в ~/Arduino/libraries. Открываем нужную, разглядываем smile

Неактивний

#3 2022-08-04 18:23:58

Vovk
Учасник
З Славута
Зареєстрований: 2021-08-07
Повідомлень: 20

Re: Першоджерела для чайників

rain пише:

Может это попросту различные библиотеки с различными функциями вызова и различными перечнями параметров? Мало информации.
---------
Установленные библиотеки лежат в ~/Arduino/libraries. Открываем нужную, разглядываем smile

В цьому конкретному випадку не користуюсь жодними зовнішніми бібліотеками. Тільки #include <WiFi.h>. Немає навіть інклуда time.h

Спробував шукати на жорсткому диску файли, в яких є configTzTime. Знайшов тільки один свій іно-файл sad
Ардуіно-іде під час компіляції на configTzTime не матюкається.

Неактивний

#4 2022-08-04 20:06:28

г0cть
Гість

Re: Першоджерела для чайників

У есп32 встроенный RTC

#5 2022-08-05 01:02:17

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

Off: черт, когда уже тут нормальный форумный движок завезут? Ни уведомлений нормальных, ни юзабельного RSS sad. Форум "для галочки" :-

Неактивний

#6 2022-08-05 01:11:14

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

> В цьому конкретному випадку не користуюсь жодними зовнішніми бібліотеками

Ок, я не угадал с "дополнительными библиотеками".

Запрос в гугл по "ESP32 configTzTime" первой ссылкой дает https://github.com/espressif/arduino-esp32/blob/master/cores/esp32/esp32-hal-time.c - тут расписаны обе упомянутые функции - со сходной структурой, но небольшими отличиями в конце.

> Спробував шукати на жорсткому диску файли, в яких є configTzTime. Знайшов тільки один свій іно-файл sad
> Ардуіно-іде під час компіляції на configTzTime не матюкається.

Значит, плохо искал:

rain@walkbook:~$ find . -iname *esp32-hal-time.c* 2>/dev/null
./.arduino15/packages/esp32/hardware/esp32/1.0.5/cores/esp32/esp32-hal-time.c

Неактивний

#7 2022-08-05 12:53:02

Vovk
Учасник
З Славута
Зареєстрований: 2021-08-07
Повідомлень: 20

Re: Першоджерела для чайників

г0cть пише:

У есп32 встроенный RTC

Він працює без зовнішнього живлення?

Неактивний

#8 2022-08-05 13:04:18

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

> Він працює без зовнішнього живлення?

Нет.

Неактивний

#9 2022-08-05 13:07:20

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

ТС, к прочтению, ответит на ряд вопросов: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/system_time.html

Неактивний

#10 2022-08-05 22:02:43

Vovk
Учасник
З Славута
Зареєстрований: 2021-08-07
Повідомлень: 20

Re: Першоджерела для чайників

rain пише:

ТС, к прочтению, ответит на ряд вопросов: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/system/system_time.html

Знову повертаюся до початку теми. Я шукаю інформацію для чайників. Мені розібратися в чужих кодах дуже важко. От є список функцій
gettimeofday
time
asctime
clock
ctime
difftime
gmtime
localtime
mktime
strftime
adjtime*
а які у них параметри, які межі застосування, які результати, яку бібліотеку потрібно підключити.
Гугл видає море інформації,  але  я можу зрозуміти тільки декілька байт, а решта для мене незрозумілий шум.

Це як дитині дати збірку поезій Шевченка замість абетки. Дитина побачить картинки, а текст буде незрозумілим.

neutral

Неактивний

#11 2022-08-06 00:20:56

rain
Учасник
Зареєстрований: 2022-04-15
Повідомлень: 6

Re: Першоджерела для чайників

Там не "чужие коды". По ссылке вполне себе документация по тому, что мы тут выше обсуждали. Например, вопрос "Як взнати, чи синхронізація пройшла успішно?" - "sntp_get_sync_status() and sntp_set_sync_status(): Can be used to get/set time synchronization status". Там же кликаем на sntp_get_sync_status() - "After the update is completed, the status will be returned as SNTP_SYNC_STATUS_COMPLETED". Т.е., если вызов функции sntp_get_sync_status() отдает нам SNTP_SYNC_STATUS_COMPLETED - значит, все ок, время установлено.

> От є список функцій

И буквально перед этим фраза "you can use the following standard C library functions...".

> а які у них параметри, які межі застосування

Вбиваем в гугл "C gettimeofday()", получаем, например, https://linuxhint.com/gettimeofday_c_language/

"The gettimeofday() function gets the system’s clock time. The current time is expressed in elapsed seconds and microseconds since 00:00:00, January 1, 1970 (Unix Epoch)". Думаю, перевести несложно - число секунд  и микросекунд с указанной даты - например, 1659734120.123 на момент написания этого сообщения.

> яку бібліотеку потрібно підключити

>>> СТАНДАРТНЫЕ ФУНКЦИИ <<<. Отдельно не надо ничего подключать. А конкретно для этой функции - дочитать до фразы "The gettimeofday() function is defined in sys/time.h header file."

И так далее.

> Гугл видає море інформації

Но главное, что он ее выдает. Так почему бы не почитать хотя бы немного из того, что он выдает? Тут нет "простых букв" - да, какие-то примеры могут быть показаны нагляднее, можно искать что-то на русском или украинском.  Для "чайников" вполне можно подобрать какую-то книгу из https://arduino.ua/cat71-literatyra - но дальше надо все же научиться получать информацию из всех доступных источников.

Остання редакція rain (2022-08-06 00:36:56)

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму