// busp_servo.cc // buzz - Programme du robot Efrei Robotique I1-I2 2003 // Copyright (C) 2003 Nicolas Schodet // #include "busp_servo.h" #include "busp.h" // Constructeur. BuspServo::BuspServo () { for (int i = 0; i < 8; ++i) m_pos[i] = 127; } // Bouge le servo N en POS. void BuspServo::moveTo (int n, int pos) { set (n, pos); } // Bouge le servo N de DIFF. void BuspServo::move (int n, int diff) { set (n, m_pos[n & 0x07] + diff); } // Fait le déplacement effectif. void BuspServo::set (int n, int pos) { if (pos > 255) pos = 255; else if (pos < 0) pos = 0; n &= 0x07; m_pos[n] = pos; Busp::getInstance ().write (m_address, n); Busp::getInstance ().write (m_address, pos); }