Skip to content

API dokumentácia

Frogieder edited this page Jun 9, 2021 · 4 revisions

Toto je API dokumentácia pre robota Šrobko.

types.h

struct ArmPosition {
    int armX;
    int armY;
    int armRot;
    int elbow;
    int handRot;
    int handAngle;

    ArmPosition(): armX(0), armY(0), armRot(0), elbow(0), handRot(0), handAngle(0) {}
};

Ukladá pozíciu ruky

  • Atribúty
    • int armX - ukladá horizontálnu pozíciu ruky
    • int armY - ukladá vertikálnu pozíciu ruky
    • int armRot - ukladá rotáciu ruky
    • int elbow - ukladá uhol lakťa
    • int handRot - ukladá rotáciu dlane
    • int handAngle - ukladá uhol prstov Všetky hodnoty sú v stupňoch v intervale od 0 po 180.
  • Funkcie
    • ArmPosition(): armX(0), armY(0), armRot(0), elbow(0), handRot(0), handAngle(0)
      Vytvorí nový objekt ArmPositon
struct HeadPosition {
    int headX;
    int headY;

    HeadPosition(): headX(0), headY(0) {}
};

Ukladá pozíciu hlavy robota.

  • Atribúty
    • int headX - ukladá horizontálny uhol hlavy
    • int headY - ukladá vertikálny uhol hlavy Všetky hodnoty sú v stupňoch v intervale od 0 po 180
  • Funkcie
    • HeadPosition(): headX(0), headY(0)
      Vytvorí nový objekt HeadPosition.
struct RobotPosition {
    HeadPosition head;
    ArmPosition leftArm;
    ArmPosition rightArm;

    RobotPosition(): head(HeadPosition()), leftArm(ArmPosition()), rightArm(ArmPosition()) {}

    void parseRawData(uint8_t data[25]);

    void toRawData(char data[25]);
}

Ukladá pozíciu robota

  • Atribúty
    • HeadPosition head - ukladá pozíciu hlavy
    • ArmPosition leftArm - ukladá pozíciu ľavej ruky
    • ArmPosition rightArm - ukladá pozíciu pravej ruky
  • Funkcie
    • RobotPosition(): head(HeadPosition()), leftArm(ArmPosition()), rightArm(ArmPosition())
      Vytvorí nový objekt RobotPosition
    • void parseRawData(uint8_t data[25]) Zapíše dáta serv do objektu RobotPosition.
      • Parametre
        • uint8_t data[25]
    • void toRawData(char data[25]) Konvertuje uložené údaje na dáta pre servá.
      • Parametre
        • uint8_t data[25] - výstup dát.

motors.h

Motors();

Vytvorí nový objekt Motors. Piny motorov sú nastavené na predvolené hodnoty.

  • Vráti:
    • Motors
Motors(uint8_t motorPins[25]);

Vytvorí nový objekt Motors.

  • Parametre:
    • uint8_t motorPins[25]
  • Vráti:
    • Motors
void move(RobotPosition position);

Posunie robota do špecifikovanej polohy.

  • Parametre:
    • RobotPosition position
void moveRightArm(ArmPosition position);

Posunie pravú ruku robota do špecifikovanej polohy.

  • Parametre:
    • ArmPosition position
void moveLeftArm(ArmPosition position);

Posunie ľavú ruku robota do špecifikovanej polohy.

  • Parametre:
    • ArmPosition position
void moveHead(HeadPosition position);

Posunie hlavu robota do špecifikovanej polohy.

  • Parametre:
    • HeadPosition position
void writeMotor(int motorIndex, int value);

Nastaví motor na špecifikovaný uhol

  • Parameters:
    • int motorIndex (od 0 do 24)
    • int value (v stupňoch 0 do 180)

radio.h

Radio();

Vytvorí nový objekt Radio. Piny sú nastavené na predvolené hodnoty.

  • Vráti:
    • Radio
Radio(uint8_t cePin, uint8_t csnPin);

Vytvorí nový objekt Radio

  • Parametre:
    • uint8_t cePin
    • uint8_t csnPin
  • Vráti:
    • Radio
bool readData(RobotPosition &position);

Prečíta dáta z rádia

  • Parametre:
    • RobotPosition &position - prečítané dáta zapíše do daného objektu RobotPosition.
  • Vráti:
    • bool
      • true - Boli prečítané nové dáta
      • false - Nenašli sa nové dáta

button.h

Button(uint8_t _buttonIndex);

CVytvorí nový objekt Button.

  • Parametre
    • uint8_t _buttonIndex (od 0 do 5)
  • Vráti
    • Button objekt
bool isPressed();

Vráti aktuálny stav tlačidla.

  • Vráti
    • bool
      • true - tlačidlo je stlačené
      • false - tlačidlo nie je stlačené

speaker.h

Speaker();

Vytvorí nový objekt Speaker.

  • Vráti
    • Speaker objekt
void play(int toneFreq, int duration);

Zahrá špecifikovaný tón s danou dĺžkou.

  • Parametre
    • int toneFreq
    • int duration v milisekundách

tones.h

Obsahuje defnície frekvencií tónov.

Clone this wiki locally