Сообщение от makakus
|
Пусть сервер распределяет датчики по тайм-слотам и сообщает время датчикам внутри АСК-Pay. Если в датчике есть кварц, отслеживание времени будет достаточно точным.
|
Конечно хотелось бы без коллизий ))) Ну да ладно.
Сейчас делаю так. Сервер рассылает запросы каждые 32мс. вроде настроил таймер на 32,0030мс
каждый 10 запрос - запрос на подключение. доставка в среднем составляет 8мс далее ожидание ответа если вдруг устройству ест что сказать.
В устройстве использую глубокий сон и подъем по watchdog таймеру. И сейчас все равно не могу нормально решить задачу синхронизации. изменить значение watchdog таймера нельзя. Только сбросить его. А сбросить его надо так чтобы он будил устройство на пару мс раньше чем будет начало таймслота.
Сейчас идея только в том чтобы при получении запроса устройство выжидало (32-
мс и сбрасывало таймер wdt. Но может есть какие нибудь более умные схемы синхронизации?
Вот к примеру блютуз использует скачкообразные смены частот. А там то как устройства синхронизируются на нужную частоту то. Этого алгоритма так и не нашел.