CTE ranka#

Įvadas#

arm klasė suteikia valdymą 6 ašių svirčiai, naudojamai CTE Workcell. VEX V5 C++ sistemoje 6 ašių svirtis gali perkelti galinį efektorių į pozicijas trimatėje erdvėje, pasukti galinį efektorių, patikrinti, ar galimi judesiai, ir valdyti prijungtus įrankius, tokius kaip magneto paėmimo įrankis arba rašiklio laikiklio įrankis.

6 ašių svirtis nėra sukonfigūruota kaip įrenginys „VEXcode V5“. Norėdami ją naudoti „VEX V5 C++“ projekte, rankiniu būdu sukurkite „ arm “ objektą kode su išmaniuoju prievadu, prie kurio prijungta 6 ašių svirtis.

Šio puslapio pavyzdžiuose naudojama rankiniu būdu sukonstruota 6 ašių svirtis, pavadinta Arm.

Konstruktoriai#

arm#

arm sukuria 6 ašių rankos objektą.

Galima funkcija

arm(int32_t index);

Parametras

Tipas

Aprašymas

index

int32_t

Išmanusis prievadas, prie kurio prijungta 6 ašių svirtis, užrašomas kaip PORTx, kur x yra prievado numeris. Pavyzdžiui, PORT1.

Pavyzdys

// Create a 6-Axis Arm named Arm on Port 1
arm Arm = arm(PORT1);

Naikintojas#

~arm#

~arm sunaikina arm objektą ir išlaisvina susijusius išteklius.

Galima funkcija

~arm();

Narių funkcijos#

arm klasė apima šias narines funkcijas:

Veiksmai – perkelkite 6 ašių svirtį į norimas padėtis arba kryptis.

  • moveTo — Perkelia galinį efektorių į nurodytas x, y ir z koordinates.

  • moveInc — Perkelia galinį efektorių nurodytu atstumu nuo jo dabartinės padėties.

  • moveEndEffectorTo — Pasuka galinį efektorių į nurodytą posūkio, sukimosi ir žingsnio orientaciją.

  • moveEndEffectorInc — Pasuka galinį efektorių nurodytu posūkio, sukimosi ir žingsnio dydžiu.

Mutatoriai – konfigūruokite judėjimą, įrankius ir valdymo nustatymus.

  • setSpeed — Nustato 6 ašių svirties judėjimo greitį.

  • setEndEffectorType — Nustato prie 6 ašių svirties pritvirtinto galinio efektoriaus tipą.

  • setEndEffectorMagnet — Įjungia arba išjungia magneto paėmimo įrankį.

  • setPenOffset — Nustato z ašies poslinkį, naudojamą su rašiklio laikiklio įrankiu.

  • setControlStop — Įjungia arba išjungia 6 ašių svirties valdymo sustabdymą.

  • setTimeout — Nustato 6 ašių svirties judėjimo funkcijų naudojamą skirtąjį laiką.

Getteriai – grąžina judėjimo būseną, padėtį, orientaciją ir ryšio reikšmes.

  • isDone — Grąžina, ar 6 ašių svirtis baigė judėti.

  • isCrashed — Grąžina, ar 6 ašių svirtis sugedo judėdama.

  • getX — Grąžina dabartinę galinio efektoriaus x poziciją.

  • getY — Grąžina dabartinę galinio efektoriaus y padėtį.

  • getZ — Grąžina dabartinę galinio efektoriaus z padėtį.

  • getYaw — Grąžina dabartinį galinio efektoriaus posūkio kampą.

  • getRoll — Grąžina dabartinį galinio efektoriaus sukimosi greitį.

  • getPitch — Grąžina dabartinį galinio efektoriaus garso aukštį.

  • canArmReachTo — Grąžina, ar 6 ašių svirtis gali pasiekti nurodytą padėtį.

  • canArmReachInc — Grąžina, ar 6 ašių svirtis gali judėti nurodytu atstumu.

  • canEndEffectorReachTo — Grąžina, ar galinis efektorius gali pasiekti nurodytą orientaciją.

  • canEndEffectorReachInc — Grąžina, ar galinis efektorius gali pasisukti nurodytu kiekiu.

  • isConnected — Grąžina, ar 6 ašių svirtis yra prijungta prie V5 smegenų.

  • timestamp — Grąžina paskutinio iš 6 ašių svirties gauto būsenos paketo laiko žymą.

  • installed — Grąžina, ar prijungta 6 ašių svirtis.

Atgaliniai iškvietimai – vykdyti funkcijas, kai įvyksta įjungimo įvykiai.

  • controlStopped — Registruoja funkciją, kuri bus vykdoma, kai įjungtas valdymo sustabdymas.

  • crashed — Registruoja funkciją, kuri bus vykdoma aptikus gedimą.

Veiksmai#

moveTo#

moveTo perkelia 6 ašių svirtį į nurodytas x, y ir z koordinates.

X, y ir z koordinatės apibūdina galinio efektoriaus padėtį trimatėje erdvėje. Prieš šią funkciją naudokite canArmReachTo, jei tikslinė padėtis gali būti už 6 ašių svirties pasiekiamos darbo srities ribų.

Galima funkcija

bool moveTo(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

Parametras

Tipas

Aprašymas

x

double

Tikslinės padėties x koordinatė milimetrais.

y

double

Tikslinės padėties y koordinatė milimetrais.

z

double

Tikslinės padėties z koordinatė milimetrais.

waitForCompletion

bool

Pasirinktinai. true (numatytasis) palaukia, kol judėjimas bus baigtas, prieš tęsiant. false pradeda judėjimą ir iš karto tęsia jį kita kodo eilute.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis pasiekė tikslinę padėtį.

  • false — 6 ašių svirtis nepasiekė tikslinės padėties arba waitForCompletion buvo nustatyta kaip false.

Pavyzdžiai

// Move the 6-Axis Arm to (200, 0, 100)
Arm.moveTo(200, 0, 100);

// Start moving, then print the y-position while the arm moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

moveInc#

moveInc perkelia 6 ašių svirtį nurodytu atstumu nuo dabartinės jos padėties išilgai x, y ir z ašių.

Naudokite šią funkciją, norėdami judėti pagal dabartinę galinio efektoriaus buvimo vietą. Prieš šią funkciją naudokite canArmReachInc, jei judėjimas gali perkelti 6 ašių svirtį už jos pasiekiamos darbo srities ribų.

Galima funkcija

bool moveInc(
  double x,
  double y,
  double z,
  bool   waitForCompletion = true
);

Parametras

Tipas

Aprašymas

x

double

Atstumas, kurį reikia judėti išilgai x ašies, milimetrais.

y

double

Atstumas, kurį reikia judėti išilgai y ašies, milimetrais.

z

double

Atstumas, kurį reikia judėti z ašimi, milimetrais.

waitForCompletion

bool

Pasirinktinai. true (numatytasis) palaukia, kol judėjimas bus baigtas, prieš tęsiant. false pradeda judėjimą ir iš karto tęsia jį kita kodo eilute.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis pasiekė pageidaujamą padėtį.

  • false — 6 ašių svirtis nepasiekė prašomos padėties arba waitForCompletion buvo nustatyta kaip false.

Pavyzdys

// Move the 6-Axis Arm 100 millimeters along the y-axis
Arm.moveInc(0, 100, 0);

moveEndEffectorTo#

moveEndEffectorTo pasuka 6 ašių svirties galinį efektorių į nurodytą posūkio, riedėjimo ir žingsnio orientaciją.

Orientacija apibūdina, kaip sukamas galinis efektorius. yaw sukasi aplink z ašį, roll sukasi aplink x ašį, o pitch sukasi aplink y ašį.

Galima funkcija

bool moveEndEffectorTo(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

Parametras

Tipas

Aprašymas

yaw

double

Tikslinis posūkio kampas laipsniais.

roll

double

Pasirinktinai. Tikslinis riedėjimo kampas laipsniais. Numatytoji reikšmė yra 0.

pitch

double

Pasirinktinai. Tikslinis polinkio kampas laipsniais. Numatytoji reikšmė yra 0.

waitForCompletion

bool

Pasirinktinai. true (numatytasis) palaukia, kol judėjimas bus baigtas, prieš tęsiant. false pradeda judėjimą ir iš karto tęsia jį kita kodo eilute.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Galutinis efektorius pasiekė tikslinę orientaciją.

  • false — Galutinis efektorius nepasiekė tikslinės orientacijos arba waitForCompletion buvo nustatytas į false.

Pavyzdys

// Rotate the end effector to 90 degrees of roll
Arm.moveEndEffectorTo(0, 90, 0);

moveEndEffectorInc#

moveEndEffectorInc pasuka 6 ašių svirties galinį efektorių nurodytu posūkio, riedėjimo ir žingsnio dydžiu nuo dabartinės jo orientacijos.

Naudokite šią funkciją, norėdami pasukti, atsižvelgiant į galinio efektoriaus dabartinį posūkio, riedėjimo ar žingsnio kampą.

Galima funkcija

bool moveEndEffectorInc(
  double yaw,
  double roll = 0,
  double pitch = 0,
  bool   waitForCompletion = true
);

Parametras

Tipas

Aprašymas

yaw

double

Posūkio pokytis laipsniais.

roll

double

Pasirinktinai. Pasvirimo pokytis laipsniais. Numatytoji reikšmė yra 0.

pitch

double

Pasirinktinai. Tono pokytis laipsniais. Numatytoji reikšmė yra 0.

waitForCompletion

bool

Pasirinktinai. true (numatytasis) palaukia, kol judėjimas bus baigtas, prieš tęsiant. false pradeda judėjimą ir iš karto tęsia jį kita kodo eilute.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Galinis efektorius pasiekė pageidaujamą orientaciją.

  • false — Galinis efektorius nepasiekė prašomos orientacijos arba waitForCompletion buvo nustatytas į false.

Pavyzdys

// Rotate the end effector -50 degrees in pitch
Arm.moveEndEffectorInc(0, 0, -50);

Mutatoriai#

setSpeed#

setSpeed nustato 6 ašių svirties judėjimo greitį.

Galima funkcija

void setSpeed(uint32_t speed);

Parametras

Tipas

Aprašymas

speed

uint32_t

Greitis, kuriuo turėtų judėti 6 ašių svirtis, milimetrais per sekundę.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Set the 6-Axis Arm movement speed
Arm.setSpeed(100);

setEndEffectorType#

setEndEffectorType nustato prie 6 ašių svirties pritvirtinto galinio efektoriaus tipą.

Kai pakeičiamas galinio efektoriaus tipas, 6 ašių svirtis automatiškai pakoreguoja savo z poslinkį, kad jis atitiktų pasirinktą įrankį.

Galima funkcija

bool setEndEffectorType(
  endEffectorType type,
  bool            waitForCompletion = true
);

Parametras

Tipas

Aprašymas

type

endEffectorType

Prie 6 ašių svirties pritvirtintas įrankis: magnet (magneto paėmimo įrankis) arba pen (rašiklio laikiklio įrankis).

waitForCompletion

bool

Pasirinktinai. true (numatytasis) palaukia, kol pakeitimas bus baigtas, prieš tęsiant. false pradeda pakeitimą ir iš karto tęsia kitą kodo eilutę.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Prašomas tipas nustatytas.

  • false — Prašomas tipas nebuvo nustatytas arba waitForCompletion buvo nustatytas į false.

Pavyzdys

// Set the end effector type to the Magnet Pickup Tool
Arm.setEndEffectorType(magnet);

setEndEffectorMagnet#

setEndEffectorMagnet įjungia arba išjungia magneto paėmimo įrankį.

Galima funkcija

void setEndEffectorMagnet(bool enabled);

Parametras

Tipas

Aprašymas

enabled

bool

true įjungia magnetą, kad pakeltų ir laikytų objektus. false išjungia magnetą ir numeta bet kokį laikomą objektą.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Pick up objects and then drop them
Arm.setEndEffectorType(magnet);
Arm.setEndEffectorMagnet(true);
wait(2, seconds);
Arm.setEndEffectorMagnet(false);

setPenOffset#

setPenOffset nustato z ašies poslinkį, naudojamą, kai rašiklio laikiklio įrankis pritvirtintas prie 6 ašių svirties.

Prieš naudodami šią funkciją, nustatykite galinio efektoriaus tipą į pen Jei rašiklio laikiklio įrankis nepasirinktas, ši funkcija neturi jokio poveikio.

Rašiklio poslinkis yra atstumas nuo rašiklio laikiklio įrankio viršaus iki sauso trinkimo žymeklio galiuko. Teigiama z reikšmė perkelia poslinkį aukštyn nuo įrankio tvirtinimo taško.

Galima funkcija

void setPenOffset(double zOffset);

Parametras

Tipas

Aprašymas

zOffset

double

Rašiklio poslinkio vertė milimetrais.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Set the end effector type to the Pen Holder Tool and set the pen offset
Arm.setEndEffectorType(pen);
Arm.setPenOffset(25);

setControlStop#

setControlStop įjungia arba išjungia 6 ašių svirties valdymo sustabdymą.

Įjungus valdymo stabdymą, 6 ašių svirtis nedelsiant sustabdo judėjimą ir neleidžia toliau judėti tiesiškai ar jungtimis.

Galima funkcija

void setControlStop(bool state = true);

Parametras

Tipas

Aprašymas

state

bool

Pasirinktinai. true (numatytasis) įjungia valdymo sustabdymą ir neleidžia tolesniems tiesiniams arba jungties judesiams. false išjungia valdymo sustabdymą.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Stop the 6-Axis Arm and prevent further movement
Arm.setControlStop();

setTimeout#

setTimeout nustato skirtojo laiko reikšmę, naudojamą judinant 6 ašių svirtį.

Jei judėjimas nebaigia iki skirtojo laiko pabaigos, projektas tęsia darbą su kita kodo eilute.

Galima funkcija

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

Parametras

Tipas

Aprašymas

timeout

int32_t

Nauja skirtojo laiko reikšmė.

units

timeUnits

Laiko vienetas: sec (sekundės) arba msec (milisekundės).

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Set the 6-Axis Arm timeout to 2 seconds
Arm.setTimeout(2, sec);

Getteriai#

isDone#

isDone grąžina, ar 6 ašių svirtis baigė judėti.

Ši funkcija naudinga iškvietus judėjimo funkciją su waitForCompletion nustatyta į false.

Galima funkcija

bool isDone();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis baigė judėti.

  • false — 6 ašių svirtis vis dar juda.

Pavyzdys

// Display the 6-Axis Arm's y-position while it moves
Arm.moveTo(-100, 200, 100, false);

while (!Arm.isDone()) {
  Brain.Screen.print(Arm.getY());
  Brain.Screen.newLine();
  wait(0.25, seconds);
}

isCrashed#

isCrashed grąžina, ar 6 ašių svirtis sugedo judėdama.

Aptikus avariją, 6 ašių svirtis sustabdo variklio judėjimą ir gali atrodyti, kad variklis nustoja veikti. Tai sumažina įtampą ir padeda apsaugoti variklius nuo atsitiktinio pažeidimo.

Galima funkcija

bool isCrashed();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis sugedo.

  • false — 6 ašių svirtis nesugedo.

Pavyzdys

// Quickly move to a new location
Arm.setSpeed(100);
Arm.moveTo(-40, 250, 40, false);

// While moving, check for a crash
while (true) {
  if (Arm.isCrashed()) {
    // Indicate a crash with the Brain screen
    Brain.Screen.print("Crash Detected");
    break;
  }

  wait(5, msec);
}

getX#

getX grąžina dabartinę galinio efektoriaus x padėtį milimetrais.

Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai x ašies.

Galima funkcija

float getX();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float reikšmę, nurodančią galinio efektoriaus x padėtį milimetrais.

Pavyzdys

// Print the current x position of the 6-Axis Arm
Brain.Screen.print(Arm.getX());

getY#

getY grąžina dabartinę galinio efektoriaus y padėtį milimetrais.

Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai y ašies.

Galima funkcija

float getY();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float reikšmę, nurodančią galinio efektoriaus y padėtį milimetrais.

Pavyzdys

// Print the current y position of the 6-Axis Arm
Brain.Screen.print(Arm.getY());

getZ#

getZ grąžina dabartinę galinio efektoriaus z padėtį milimetrais.

Naudokite šią funkciją, norėdami nuskaityti, kur šiuo metu yra galinis efektorius išilgai z ašies.

Galima funkcija

float getZ();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float reikšmę, nurodančią galinio efektoriaus z padėtį milimetrais.

Pavyzdys

// Print the current z position of the 6-Axis Arm
Brain.Screen.print(Arm.getZ());

getYaw#

getYaw grąžina dabartinį galinio efektoriaus posūkio kampą laipsniais.

Galima funkcija

float getYaw();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float , rodantį dabartinį galinio efektoriaus posūkio kampą laipsniais.

Pavyzdys

// Print the current yaw of the end effector
Brain.Screen.print(Arm.getYaw());

getRoll#

getRoll grąžina dabartinį galinio efektoriaus posūkį laipsniais.

Galima funkcija

float getRoll();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float , rodantį dabartinį galinio efektoriaus riedėjimą laipsniais.

Pavyzdys

// Print the current roll of the end effector
Brain.Screen.print(Arm.getRoll());

getPitch#

getPitch grąžina dabartinį galinio efektoriaus žingsnį laipsniais.

Galima funkcija

float getPitch();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina float , rodantį dabartinį galinio efektoriaus aukštį laipsniais.

Pavyzdys

// Print the current pitch of the end effector
Brain.Screen.print(Arm.getPitch());

canArmReachTo#

canArmReachTo grąžina, ar 6 ašių svirtis gali perkelti galinį efektorių į nurodytas x, y ir z koordinates.

Naudokite šią funkciją, norėdami patikrinti tikslinę padėtį prieš naudodami moveTo.

Galima funkcija

bool canArmReachTo(
  double x,
  double y,
  double z
);

Parametras

Tipas

Aprašymas

x

double

Tikslinės padėties x koordinatė milimetrais.

y

double

Tikslinės padėties y koordinatė milimetrais.

z

double

Tikslinės padėties z koordinatė milimetrais.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis gali pasiekti pageidaujamą padėtį.

  • false — 6 ašių svirtis negali pasiekti prašomos padėties.

Pavyzdys

// Move the 6-Axis Arm to (100, -20, 50) if it can reach
if (Arm.canArmReachTo(100, -20, 50)) {
  Arm.moveTo(100, -20, 50);
}

canArmReachInc#

canArmReachInc grąžina, ar 6 ašių svirtis gali perkelti galinį efektorių nurodytu x, y ir z atstumu nuo jo dabartinės padėties.

Naudokite šią funkciją, norėdami patikrinti santykinį judėjimą prieš naudodami moveInc.

Galima funkcija

bool canArmReachInc(
  double x,
  double y,
  double z
);

Parametras

Tipas

Aprašymas

x

double

Atstumas, kurį reikia judėti išilgai x ašies, milimetrais.

y

double

Atstumas, kurį reikia judėti išilgai y ašies, milimetrais.

z

double

Atstumas, kurį reikia judėti z ašimi, milimetrais.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis gali atlikti pageidaujamą judesį.

  • false — 6 ašių svirtis negali atlikti prašomo judesio.

Pavyzdys

// Increment the 6-Axis Arm 100 mm along the x-axis if possible
if (Arm.canArmReachInc(100, 0, 0)) {
  Arm.moveInc(100, 0, 0);
}

canEndEffectorReachTo#

canEndEffectorReachTo grąžina, ar galinis efektorius gali pasisukti į nurodytą posūkio, riedėjimo ir žingsnio orientaciją.

Naudokite šią funkciją, norėdami patikrinti tikslinę orientaciją prieš naudodami moveEndEffectorTo.

Galima funkcija

bool canEndEffectorReachTo(
  double yaw,
  double roll = 0,
  double pitch = 0
);

Parametras

Tipas

Aprašymas

yaw

double

Tikslinis posūkio kampas laipsniais.

roll

double

Pasirinktinai. Tikslinis riedėjimo kampas laipsniais. Numatytoji reikšmė yra 0.

pitch

double

Pasirinktinai. Tikslinis polinkio kampas laipsniais. Numatytoji reikšmė yra 0.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Galutinis efektorius gali pasiekti pageidaujamą orientaciją.

  • false — Galinis efektorius negali pasiekti prašomos orientacijos.

Pavyzdys

// Rotate the end effector to 90 degrees of roll if possible
if (Arm.canEndEffectorReachTo(0, 90, 0)) {
  Arm.moveEndEffectorTo(0, 90, 0);
}

canEndEffectorReachInc#

canEndEffectorReachInc grąžina, ar galinis efektorius gali pasisukti nurodytu posūkio, riedėjimo ir žingsnio dydžiu nuo dabartinės orientacijos.

Naudokite šią funkciją, norėdami patikrinti santykinį orientacijos judėjimą prieš naudodami moveEndEffectorInc.

Galima funkcija

bool canEndEffectorReachInc(
  double yaw,
  double roll = 0,
  double pitch = 0
);

Parametras

Tipas

Aprašymas

yaw

double

Posūkio pokytis laipsniais.

roll

double

Pasirinktinai. Pasvirimo pokytis laipsniais. Numatytoji reikšmė yra 0.

pitch

double

Pasirinktinai. Tono pokytis laipsniais. Numatytoji reikšmė yra 0.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — Galinis efektorius gali atlikti prašomą sukimąsi.

  • false — Galinis efektorius negali atlikti prašomo sukimosi.

Pavyzdys

// Increment the end effector by 10 degrees of pitch if possible
if (Arm.canEndEffectorReachInc(0, 0, 10)) {
  Arm.moveEndEffectorInc(0, 0, 10);
}

isConnected#

isConnected grąžina, ar 6 ašių svirtis yra prijungta prie V5 smegenų.

Tai suderinamumo funkcija, kuri grąžina tokią pačią reikšmę kaip ir installed.

Galima funkcija

bool isConnected();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis prijungta prie V5 smegenų.

  • false — 6 ašių svirtis neprijungta prie V5 smegenų.

Pavyzdys

// Print whether the 6-Axis Arm is connected
Brain.Screen.print(Arm.isConnected());

timestamp#

timestamp grąžina paskutinio iš 6 ašių svirties gauto būsenos paketo laiko žymą.

Galima funkcija

uint32_t timestamp();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina paskutinio būsenos paketo laiko žymą kaip uint32_t milisekundėmis.

installed#

installed grąžina, ar prijungta 6 ašių svirtis.

Galima funkcija

bool installed();

Parametrai

Ši funkcija neturi parametrų.

Grąžinimo vertė

Grąžina loginę reikšmę.

  • true — 6 ašių svirtis prijungta.

  • false — 6 ašių svirtis neprijungta.

Atgaliniai skambučiai#

controlStopped#

controlStopped užregistruoja funkciją, kuri vykdoma, kai įjungtas valdymo sustabdymas.

Galima funkcija

void controlStopped(void (* callback)(void));

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri veikia, kai įjungtas valdymo stabdymas.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Called when the 6-Axis Arm is control stopped
void onControlStopped() {
  Brain.Screen.print("Arm control stopped");
}

int main() {
  Arm.controlStopped(onControlStopped);
}

crashed#

crashed užregistruoja funkciją, kuri paleidžiama, kai 6 ašių svirtis sugenda judėdama.

Aptikus avariją, 6 ašių svirtis sustabdo variklio judėjimą ir gali atrodyti, kad variklis nustoja veikti. Tai sumažina įtampą ir padeda apsaugoti variklius nuo atsitiktinio pažeidimo.

Galima funkcija

void crashed(void (* callback)(void));

Parametras

Tipas

Aprašymas

callback

void (*)(void)

Funkcija, kuri paleidžiama, kai 6 ašių svirtis sugenda judėdama.

Grąžinimo vertė

Ši funkcija negrąžina reikšmės.

Pavyzdys

// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
  Brain.Screen.print("Crash detected");
}

int main() {
  Arm.crashed(onArmCrashed);
}