Skip to content

Software:Serial protocol

etoestja edited this page Sep 29, 2012 · 1 revision

Описание протокола взаимодействия через последовательный порт

Компьютер ⇔ квадрокоптер

  • n — сбросить значения силы и моментов, angle и интегральных составляющих ПИДов в 0.
  • p — обменяться состояниями:
    • ⇒ моменты (6 байт, по 2 на ось)
    • ⇒ сила (один байт, значения 0...100)
    • ⇒ тип реакции на воздействия (один байт, значения '0'...)
    • ⇒ коэффициенты ПИД для угла (по два байта на каждый из трех, аргументы -1.5, 1.5, 2 для функции read_double())
    • ⇒ коэффициенты ПИД для угловой скорости (параметры такие же)
    • ⇐ моменты (6 байт, по 2 на ось)
    • angle (4 байта, по 2 на ось)
    • angularVelocity (6 байт, по 2 на ось)
    • accelData (6 байт, по 2 на ось)
    • torqueManualCorrection (6 байт, по 2 на ось)
    • ⇐ мощности моторов (4 байта, по одному на мотор)
    • ⇐ время выполнения loop(), 10-6 сек. (3 байта, нужно составить вместе, сначала старший)
    • ⇐ тип реакции на воздействия (один байт, значения '0'...)

Компьютер ⇔ джойстик

  • r — запросить данные
    • ⇐ ось x джойстика (2 байта, сначала старший)
    • ⇐ ось y джойстика (2 байта, сначала старший)
    • ⇐ значение мощности (2 байта, сначала старший)
    • ⇐ значение переключателя ON/OFF (1 байт)