|
|
|
@ -6,6 +6,11 @@ void ServoController::initServos() {
|
|
|
|
|
delay(50); // Espera 50ms para o motor se mover
|
|
|
|
|
VrtSrv.attach(13, 500, 2500);
|
|
|
|
|
delay(50);
|
|
|
|
|
|
|
|
|
|
HrzSrv.write(0);
|
|
|
|
|
delay(50);
|
|
|
|
|
VrtSrv.write(0);
|
|
|
|
|
delay(50);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ServoController::initMag() {
|
|
|
|
@ -47,18 +52,9 @@ void ServoController::initMag() {
|
|
|
|
|
void ServoController::updateHeading() {
|
|
|
|
|
mag.getHeadingDegrees();
|
|
|
|
|
sVector_t raw = mag.readRaw();
|
|
|
|
|
float tmp = raw.HeadingDegress;
|
|
|
|
|
headingDegrees = raw.HeadingDegress;
|
|
|
|
|
|
|
|
|
|
headingBuffer[bufferPos++] = tmp;
|
|
|
|
|
if (bufferPos > HEADING_BUFFER_LENGTH) {
|
|
|
|
|
bufferPos = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
headingDegrees = 0;
|
|
|
|
|
for (byte i = 0; i < HEADING_BUFFER_LENGTH; i++) {
|
|
|
|
|
headingDegrees += headingBuffer[i];
|
|
|
|
|
}
|
|
|
|
|
headingDegrees /= HEADING_BUFFER_LENGTH;
|
|
|
|
|
WebMonitor.println(headingDegrees);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void ServoController::moveToAzAlt(float azimuth, float altitude) {
|
|
|
|
|