И еще про Sidereal Technology
Jun. 15th, 2022 08:15 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вчера допоздна засиделся: пытался проанализировать данные, которые приходят по команде "XXS" (а там очень удобно: за один присест все нужные данные о монтировке). И вдруг - бац, вместо 33 байт, как в даташите, мне приходит 41. ОК, делаю расширенную структуру, добивая двумя uint32_t (там все равно нули). И получаю какую-то чушь, совершенно не соответствующую действительности. hexdump пришедшей посылки показывает, что я ее правильно интерпретирую. Разве что меня смутило: какого черта к checksum пришлось добавлять 0x11, чтобы все сходилось (причем, в самой посылке этого 0x11 нет, как нет и того, что могло бы в сумме это дать, если вдруг первые или последние пара байт - левак).
Похоже, придется таки оперировать чисто текстовыми командами. Зато не придется тратить время на таймаут (данные идут побайтно, да еще и с достаточно большим интервалом, т.е. обычный select на 5мс не годится для определения конца посылки) — можно просто ждать, пока '\r' придет.
Для начала хочу потренироваться с ПИД-регулятором и его "автотренировкой": сэмулирую кривую второго порядка, по которой перемещается условный объект, и попытаюсь сопровождать его. Заодно проверю скорость реакции привода. А то у меня возникло смутное подозрение, что использовать его для работы телескопа невозможно (если он не сможет хотя бы 15 раз в секунду выдавать текущее местоположение и принимать новые значения скорости)!
Додумались же, сволочи, задать максимальную скорость "общения" всего-то в 19200 бод (т.е. 1920 символов в секунду — выходит всего лишь 132 символа за один цикл, что при присущей контроллеру тормознутости может вылиться и в 64, а то и 32, что маловато)!
Похоже, придется таки оперировать чисто текстовыми командами. Зато не придется тратить время на таймаут (данные идут побайтно, да еще и с достаточно большим интервалом, т.е. обычный select на 5мс не годится для определения конца посылки) — можно просто ждать, пока '\r' придет.
Для начала хочу потренироваться с ПИД-регулятором и его "автотренировкой": сэмулирую кривую второго порядка, по которой перемещается условный объект, и попытаюсь сопровождать его. Заодно проверю скорость реакции привода. А то у меня возникло смутное подозрение, что использовать его для работы телескопа невозможно (если он не сможет хотя бы 15 раз в секунду выдавать текущее местоположение и принимать новые значения скорости)!
Додумались же, сволочи, задать максимальную скорость "общения" всего-то в 19200 бод (т.е. 1920 символов в секунду — выходит всего лишь 132 символа за один цикл, что при присущей контроллеру тормознутости может вылиться и в 64, а то и 32, что маловато)!