CTE-käsivarsi#

Johdanto#

arm -luokka ohjaa CTE Workcellissä käytettyä 6-akselista vartta. VEX EXP C++:ssa 6-akselinen varsi voi siirtää efektoria kolmiulotteiseen asentoon, kiertää efektoria, tarkistaa, ovatko liikkeet mahdollisia, ja ohjata kiinnitettyjä työkaluja, kuten magneetin nostotyökalua tai kynänpidiketyökalua.

Tämän sivun esimerkeissä käytetään konfiguroitua 6-akselista vartta nimeltä Arm.

Rakentajat#

arm#

arm luo 6-akselisen varsiobjektin.

Käytettävissä oleva toiminto

arm(int32_t index);

Parametri

Tyyppi

Kuvaus

index

int32_t

Älyportti, johon 6-akselinen varsi on kytketty, kirjoitetaan muodossa PORTx, jossa x on portin numero. Esimerkiksi PORT1.

Esimerkki

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

Tuhoaja#

~arm#

~arm tuhoaa arm -objektin ja vapauttaa siihen liittyvät resurssit.

Käytettävissä oleva toiminto

~arm();

Jäsenten toiminnot#

arm -luokka sisältää seuraavat jäsenfunktiot:

Toiminnot — Siirrä 6-akselista vartta asentoihin tai suuntiin.

  • moveTo — Siirtää päätelaitteen määritettyyn x-, y- ja z-koordinaattiin.

  • moveInc — Siirtää päätelaitetta määritetyn etäisyyden sen nykyisestä sijainnista.

  • moveEndEffectorTo — Kiertää efektoripäätä määritettyyn kääntö-, rulla- ja kallistuskulmaan.

  • moveEndEffectorInc — Kiertää efektoripäätä määritetyn kääntö-, kallistus- ja kallistuskulman verran.

Mutaattorit — Määritä liike-, työkalu- ja ohjausasetuksia.

  • setSpeed — Asettaa 6-akselisen varren käyttämän liikenopeuden.

  • setEndEffectorType — Asettaa 6-akseliseen varteen kiinnitetyn pääteefektorin tyypin.

  • setEndEffectorMagnet — Ottaa magneetin poimintatyökalun käyttöön tai poistaa sen käytöstä.

  • setPenOffset — Asettaa kynänpidiketyökalun kanssa käytettävän z-akselin siirtymän.

  • setControlStop — Ottaa käyttöön tai poistaa käytöstä 6-akselisen varren ohjauksen pysäytyksen.

  • setTimeout — Asettaa 6-akselisen varren liiketoimintojen käyttämän aikakatkaisun.

Getterit — Palauttavat liiketilan, sijainnin, suunnan ja yhteysarvot.

  • isDone — Palauttaa, onko 6-akselinen varsi liikkunut loppuun.

  • isCrashed — Palauttaa, onko 6-akselinen varsi kaatunut liikkuessaan.

  • getX — Palauttaa pääteefektorin nykyisen x-sijainnin.

  • getY — Palauttaa pääteefektorin nykyisen y-sijainnin.

  • getZ — Palauttaa pääteefektorin nykyisen z-sijainnin.

  • getYaw — Palauttaa pääteefektorin nykyisen suunnanmuutoksen.

  • getRoll — Palauttaa pääteefektorin nykyisen rullan.

  • getPitch — Palauttaa pääteefektorin nykyisen äänenkorkeuden.

  • canArmReachTo — Palauttaa, voiko 6-akselinen varsi saavuttaa tietyn asennon.

  • canArmReachInc — Palauttaa, voiko 6-akselinen varsi liikkua määritetyn matkan.

  • canEndEffectorReachTo — Palauttaa, voiko pääteefektori saavuttaa määritetyn suunnan.

  • canEndEffectorReachInc — Palauttaa, voiko pääteefektori kiertyä määritetyn määrän.

  • isConnected — Palauttaa, onko 6-akselinen varsi kytketty EXP Brainiin.

  • timestamp — Palauttaa 6-akselisesta varresta viimeksi vastaanotetun tilapaketin aikaleiman.

  • installed — Palauttaa, onko 6-akselinen varsi kytkettynä.

Takaisinkutsutoiminnot — Suorita funktioita, kun aktivointi tapahtuu.

  • controlStopped — Rekisteröi funktion suoritettavaksi, kun ohjauksen pysäytys on käytössä.

  • crashed — Rekisteröi funktion suoritettavaksi, kun kaatuminen havaitaan.

Toiminnot#

moveTo#

moveTo siirtää 6-akselisen varren määritettyyn x-, y- ja z-koordinaattiin.

X-, y- ja z-koordinaatit kuvaavat päätyefektorin sijaintia kolmiulotteisessa avaruudessa. Käytä canArmReachTo ennen tätä funktiota, jos kohdesijainti voi olla 6-akselisen varren saavutettavan työtilan ulkopuolella.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

x

double

Kohdepaikan x-koordinaatti millimetreinä.

y

double

Kohdepaikan y-koordinaatti millimetreinä.

z

double

Kohdepaikan z-koordinaatti millimetreinä.

waitForCompletion

bool

Valinnainen. true (oletus) odottaa liikkeen päättymistä ennen jatkamista. false aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi saavutti kohdeasennon.

  • false — 6-akselinen varsi ei saavuttanut kohdeasentoa tai waitForCompletion oli asetettu arvoon false.

Esimerkkejä

// 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 siirtää 6-akselista vartta määritetyn matkan sen nykyisestä sijainnista x-, y- ja z-akseleiden suuntaisesti.

Käytä tätä funktiota liikkuaksesi suhteessa päätelaitteen nykyiseen sijaintiin. Käytä canArmReachInc ennen tätä funktiota, jos liike voi siirtää 6-akselisen varren sen ulottumattomiin työtilaan.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

x

double

X-akselin suuntainen liikematka millimetreinä.

y

double

Y-akselin suuntainen liikkumamatka millimetreinä.

z

double

Z-akselin suuntainen liikematka millimetreinä.

waitForCompletion

bool

Valinnainen. true (oletus) odottaa liikkeen päättymistä ennen jatkamista. false aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi on saavuttanut pyydetyn asennon.

  • false — 6-akselinen varsi ei saavuttanut pyydettyä asentoa tai waitForCompletion oli asetettu arvoon false.

Esimerkki

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

moveEndEffectorTo#

moveEndEffectorTo kiertää 6-akselisen varren pääteefektoria määritettyyn kääntö-, rulla- ja kallistuskulmaan.

Orientaatio kuvaa, miten efektoripäätä kierretään. yaw pyörii z-akselin ympäri, roll pyörii x-akselin ympäri ja pitch pyörii y-akselin ympäri.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

yaw

double

Kohdesuuntainen kallistuskulma asteina.

roll

double

Valinnainen. Tavoitekallistuskulma asteina. Oletusarvo on 0.

pitch

double

Valinnainen. Kohdekalibrointikulma asteina. Oletusarvo on 0.

waitForCompletion

bool

Valinnainen. true (oletus) odottaa liikkeen päättymistä ennen jatkamista. false aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

Palautusarvo

Palauttaa totuusarvon.

  • true — Pääteefektori saavutti kohdesuunnan.

  • false — Pääteefektori ei saavuttanut kohdesuuntaa tai waitForCompletion oli asetettu arvoon false.

Esimerkki

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

moveEndEffectorInc#

moveEndEffectorInc kiertää 6-akselisen varren pääteefektoria määritetyn kääntö-, rullaus- ja kallistuskulman verran sen nykyisestä suunnasta.

Käytä tätä funktiota kiertääksesi efektoria senhetkisen kääntö-, rulla- tai kallistuskulman suhteen.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

yaw

double

Kallistuksen muutos asteina.

roll

double

Valinnainen. Kallistuksen muutos asteina. Oletusarvo on 0.

pitch

double

Valinnainen. Äänenkorkeuden muutos asteina. Oletusarvo on 0.

waitForCompletion

bool

Valinnainen. true (oletus) odottaa liikkeen päättymistä ennen jatkamista. false aloittaa liikkeen ja jatkaa välittömästi seuraavalle koodiriville.

Palautusarvo

Palauttaa totuusarvon.

  • true — Pääteefektori saavutti pyydetyn suunnan.

  • false — Pääteefektori ei saavuttanut pyydettyä suuntaa tai waitForCompletion oli asetettu arvoon false.

Esimerkki

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

Mutaattorit#

setSpeed#

setSpeed asettaa 6-akselisen varren käyttämän liikenopeuden.

Käytettävissä oleva toiminto

void setSpeed(uint32_t speed);

Parametri

Tyyppi

Kuvaus

speed

uint32_t

Nopeus, jolla 6-akselisen varren tulisi liikkua, millimetreinä sekunnissa.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

setEndEffectorType#

setEndEffectorType asettaa 6-akseliseen varteen kiinnitetyn pääteefektorin tyypin.

Kun päätyefektorin tyyppiä muutetaan, 6-akselinen varsi säätää automaattisesti z-offsettiaan vastaamaan valittua työkalua.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

type

endEffectorType

6-akseliseen varteen kiinnitetty työkalu: magnet (magneetin poimintatyökalu) tai pen (kynänpidiketyökalu).

waitForCompletion

bool

Valinnainen. true (oletus) odottaa muutoksen valmistumista ennen jatkamista. false aloittaa muutoksen ja jatkaa välittömästi seuraavalle koodiriville.

Palautusarvo

Palauttaa totuusarvon.

  • true — Pyydetty tyyppi on asetettu.

  • false — Pyydettyä tyyppiä ei ole asetettu, tai waitForCompletion on asetettu arvoon false.

Esimerkki

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

setEndEffectorMagnet#

setEndEffectorMagnet ottaa magneetin poimintatyökalun käyttöön tai poistaa sen käytöstä.

Käytettävissä oleva toiminto

void setEndEffectorMagnet(bool enabled);

Parametri

Tyyppi

Kuvaus

enabled

bool

true mahdollistaa magneetin poimimisen ja pitämisen esineitä. false poistaa magneetin käytöstä ja pudottaa kaikki pidellyt esineet.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

setPenOffset#

setPenOffset asettaa z-akselin siirtymän, jota käytetään, kun kynänpidiketyökalu on kiinnitetty 6-akseliseen varteen.

Aseta pääteefektorin tyypiksi pen ennen tämän toiminnon käyttöä. Jos kynänpidiketyökalua ei ole valittu, tällä toiminnolla ei ole vaikutusta.

Kynän siirtymä on etäisyys kynänpidiketyökalun yläreunasta kuivapoistotussin kärkeen. Positiivinen z-arvo siirtää siirtymää ylöspäin työkalun kiinnityskohdasta.

Käytettävissä oleva toiminto

void setPenOffset(double zOffset);

Parametri

Tyyppi

Kuvaus

zOffset

double

Kynän siirtymän arvo millimetreinä.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

setControlStop#

setControlStop ottaa käyttöön tai poistaa käytöstä 6-akselisen varren ohjauksen pysäytyksen.

Kun ohjauksen pysäytys on käytössä, 6-akselinen varsi pysäyttää liikkeen välittömästi ja estää lisälineaariset tai nivelliikkeet.

Käytettävissä oleva toiminto

void setControlStop(bool state = true);

Parametri

Tyyppi

Kuvaus

state

bool

Valinnainen. true (oletus) ottaa käyttöön ohjauksen pysäytyksen ja estää lisälineaariset tai nivelliikkeet. false poistaa käytöstä ohjauksen pysäytyksen.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

setTimeout#

setTimeout asettaa aikakatkaisuarvon, jota käytetään 6-akselista vartta liikutettaessa.

Jos liike ei pääty ennen aikarajan saavuttamista, projekti jatkaa seuraavalle koodiriville.

Käytettävissä oleva toiminto

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

Parametri

Tyyppi

Kuvaus

timeout

int32_t

Uusi aikakatkaisuarvo.

units

timeUnits

Aikayksikkö: sec (sekuntia) tai msec (millisekuntia).

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

Getterit#

isDone#

isDone palauttaa, onko 6-akselinen varsi liikkunut loppuun.

Tästä funktiosta on hyötyä sen jälkeen, kun liikefunktiota kutsutaan, kun waitForCompletion on asetettu arvoon false.

Käytettävissä oleva toiminto

bool isDone();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi on liikkunut loppuun.

  • false — 6-akselinen varsi liikkuu edelleen.

Esimerkki

// 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 palauttaa, onko 6-akselinen varsi kaatunut liikkuessaan.

Kun törmäys havaitaan, 6-akselinen varsi pysäyttää moottorin liikkeen ja saattaa näyttää veltolta. Tämä vähentää rasitusta ja auttaa suojaamaan moottoreita vahingossa tapahtuvilta vaurioilta.

Käytettävissä oleva toiminto

bool isCrashed();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi on kaatunut.

  • false — 6-akselinen varsi ei ole kaatunut.

Esimerkki

// 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 Signal Tower and Brain screen
    Brain.Screen.print("Crash Detected");
    SignalTower6.setColor(signaltower::green, signaltower::off);
    SignalTower6.setColor(signaltower::red, signaltower::on);
    break;
  }

  wait(5, msec);
}

getX#

getX palauttaa pääteefektorin nykyisen x-sijainnin millimetreinä.

Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin x-akselilla.

Käytettävissä oleva toiminto

float getX();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa pääteefektorin x-sijaintia millimetreinä.

Esimerkki

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

getY#

getY palauttaa päätelaitteen nykyisen y-sijainnin millimetreinä.

Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin y-akselilla.

Käytettävissä oleva toiminto

float getY();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa pääteefektorin y-sijaintia millimetreinä.

Esimerkki

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

getZ#

getZ palauttaa pääteefektorin nykyisen z-sijainnin millimetreinä.

Käytä tätä funktiota lukeaksesi pääteefektorin nykyisen sijainnin z-akselilla.

Käytettävissä oleva toiminto

float getZ();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa pääteefektorin z-sijaintia millimetreinä.

Esimerkki

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

getYaw#

getYaw palauttaa päätelaitteen nykyisen kallistuskulman asteina.

Käytettävissä oleva toiminto

float getYaw();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa päätelaitteen nykyistä kallistuskulmaa asteina.

Esimerkki

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

getRoll#

getRoll palauttaa pääteefektorin nykyisen vierityksen asteina.

Käytettävissä oleva toiminto

float getRoll();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa päätelaitteen nykyistä vieritystä asteina.

Esimerkki

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

getPitch#

getPitch palauttaa pääteefektorin nykyisen nousun asteina.

Käytettävissä oleva toiminto

float getPitch();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa arvon float joka edustaa pääteefektorin nykyistä nousua asteina.

Esimerkki

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

canArmReachTo#

canArmReachTo palauttaa, voiko 6-akselinen varsi siirtää efektoria määritettyyn x-, y- ja z-koordinaattiin.

Käytä tätä funktiota tarkistaaksesi kohdesijainnin ennen moveTo-funktion käyttöä.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

x

double

Kohdepaikan x-koordinaatti millimetreinä.

y

double

Kohdepaikan y-koordinaatti millimetreinä.

z

double

Kohdepaikan z-koordinaatti millimetreinä.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi voi saavuttaa pyydetyn asennon.

  • false — 6-akselinen varsi ei voi saavuttaa pyydettyä asentoa.

Esimerkki

// 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 palauttaa, voiko 6-akselinen varsi siirtää efektoria määritetyn x-, y- ja z-etäisyyden sen nykyisestä sijainnista.

Käytä tätä funktiota tarkistaaksesi suhteellisen liikkeen ennen moveInc-funktion käyttöä.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

x

double

X-akselin suuntainen liikematka millimetreinä.

y

double

Y-akselin suuntainen liikkumamatka millimetreinä.

z

double

Z-akselin suuntainen liikematka millimetreinä.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi voi suorittaa pyydetyn liikkeen.

  • false — 6-akselinen varsi ei pysty suorittamaan pyydettyä liikettä.

Esimerkki

// 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 palauttaa, voiko pääteefektori kiertyä määritettyyn suuntaus-, rullaus- ja kallistussuuntaan.

Käytä tätä funktiota tarkistaaksesi kohteen suunnan ennen moveEndEffectorTo-funktion käyttöä.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

yaw

double

Kohdesuuntainen kallistuskulma asteina.

roll

double

Valinnainen. Tavoitekallistuskulma asteina. Oletusarvo on 0.

pitch

double

Valinnainen. Kohdekalibrointikulma asteina. Oletusarvo on 0.

Palautusarvo

Palauttaa totuusarvon.

  • true — Pääteefektori voi saavuttaa pyydetyn suunnan.

  • false — Päätelaite ei pysty saavuttamaan pyydettyä suuntaa.

Esimerkki

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

canEndEffectorReachInc#

canEndEffectorReachInc palauttaa, voiko pääteefektori kiertyä määritetyn suuntaus-, kallistus- ja kallistuskulman verran nykyisestä suunnastaan.

Käytä tätä funktiota tarkistaaksesi suhteellisen suunnan liikkeen ennen moveEndEffectorInc-funktion käyttöä.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

yaw

double

Kallistuksen muutos asteina.

roll

double

Valinnainen. Kallistuksen muutos asteina. Oletusarvo on 0.

pitch

double

Valinnainen. Äänenkorkeuden muutos asteina. Oletusarvo on 0.

Palautusarvo

Palauttaa totuusarvon.

  • true — Päätelaite voi tehdä pyydetyn kierron.

  • false — Päätelaite ei voi tehdä pyydettyä kiertoa.

Esimerkki

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

isConnected#

isConnected palauttaa, onko 6-akselinen varsi kytketty EXP Brainiin.

Tämä on yhteensopivuusfunktio, joka palauttaa saman arvon kuin installed.

Käytettävissä oleva toiminto

bool isConnected();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi on kytketty EXP-aivoihin.

  • false — 6-akselinen varsi ei ole kytketty EXP-aivoihin.

Esimerkki

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

timestamp#

timestamp palauttaa 6-akselisesta varresta viimeksi vastaanotetun tilapaketin aikaleiman.

Käytettävissä oleva toiminto

uint32_t timestamp();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa viimeisen tilapaketin aikaleiman millisekunteina muodossa uint32_t.

installed#

installed palauttaa, onko 6-akselinen varsi kytkettynä.

Käytettävissä oleva toiminto

bool installed();

Parametrit

Tällä funktiolla ei ole parametreja.

Palautusarvo

Palauttaa totuusarvon.

  • true — 6-akselinen varsi on kytketty.

  • false — 6-akselista vartta ei ole kytketty.

Takaisinkutsut#

controlStopped#

controlStopped rekisteröi funktion, joka suoritetaan, kun control stop on käytössä.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Funktio, joka suoritetaan, kun ohjauksen pysäytys on käytössä.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

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

int main() {
  vexcodeInit();

  Arm.controlStopped(onControlStopped);
}

crashed#

crashed rekisteröi funktion, joka suoritetaan, kun 6-akselinen varsi on kaatunut liikkuessaan.

Kun törmäys havaitaan, 6-akselinen varsi pysäyttää moottorin liikkeen ja saattaa näyttää veltolta. Tämä vähentää rasitusta ja auttaa suojaamaan moottoreita vahingossa tapahtuvilta vaurioilta.

Käytettävissä oleva toiminto

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

Parametri

Tyyppi

Kuvaus

callback

void (*)(void)

Toiminto, joka suoritetaan, kun 6-akselinen varsi on kaatunut liikkuessaan.

Palautusarvo

Tämä funktio ei palauta arvoa.

Esimerkki

// Called when the 6-Axis Arm crashes while moving
void onArmCrashed() {
  Brain.Screen.print("Crash detected");
  SignalTower6.setColor(signaltower::green, signaltower::off);
  SignalTower6.setColor(signaltower::red, signaltower::on);
}

int main() {
  vexcodeInit();

  Arm.crashed(onArmCrashed);
}