Lengan CTE#

Perkenalan#

Kelas arm menyediakan kontrol untuk Lengan 6-Axis yang digunakan dalam Workcell CTE. Dalam VEX EXP C++, Lengan 6-Axis dapat menggerakkan end effector ke posisi dalam ruang tiga dimensi, memutar end effector, memeriksa apakah pergerakan dimungkinkan, dan mengontrol alat yang terpasang seperti Magnet Pickup Tool atau Pen Holder Tool.

Contoh-contoh pada halaman ini menggunakan Lengan 6-Axis yang telah dikonfigurasi bernama Arm.

Konstruktor#

arm#

arm membuat objek Lengan 6-Axis.

Fungsi yang Tersedia

arm(int32_t index);

Parameter

Jenis

Keterangan

index

int32_t

Port Pintar yang terhubung ke Lengan 6-Axis, ditulis sebagai PORTx, di mana x adalah nomor port. Misalnya, PORT1.

Contoh

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

Penghancur#

~arm#

~arm menghancurkan objek arm dan melepaskan sumber daya terkait.

Fungsi yang Tersedia

~arm();

Fungsi Keanggotaan#

Kelas arm mencakup fungsi anggota berikut:

Aksi — Gerakkan Lengan 6-Axis ke posisi atau orientasi tertentu.

  • moveTo — Memindahkan ujung efektor ke koordinat x, y, dan z yang ditentukan.

  • moveInc — Menggerakkan ujung efektor sejauh jarak tertentu dari posisi saat ini.

  • moveEndEffectorTo — Memutar ujung efektor ke orientasi yaw, roll, dan pitch yang ditentukan.

  • moveEndEffectorInc — Memutar ujung efektor dengan jumlah yaw, roll, dan pitch yang ditentukan.

Mutator — Mengonfigurasi pergerakan, alat, dan pengaturan kontrol.

  • setSpeed — Mengatur kecepatan gerakan yang digunakan oleh Lengan 6-Axis.

  • setEndEffectorType — Mengatur tipe end effector yang terpasang pada Lengan 6-Axis.

  • setEndEffectorMagnet — Mengaktifkan atau menonaktifkan Alat Pengambilan Magnet.

  • setPenOffset — Mengatur offset sumbu z yang digunakan dengan Alat Pemegang Pena.

  • setControlStop — Mengaktifkan atau menonaktifkan kontrol stop untuk Lengan 6-Axis.

  • setTimeout — Mengatur waktu habis yang digunakan oleh fungsi pergerakan Lengan 6-Axis.

Getter — Mengembalikan status gerakan, posisi, orientasi, dan nilai koneksi.

  • isDone — Mengembalikan apakah Lengan 6-Axis telah selesai bergerak.

  • isCrashed — Mengembalikan apakah Lengan 6-Axis mengalami crash saat bergerak.

  • getX — Mengembalikan posisi x saat ini dari efektor akhir.

  • getY — Mengembalikan posisi y saat ini dari ujung efektor.

  • getZ — Mengembalikan posisi z saat ini dari efektor ujung.

  • getYaw — Mengembalikan yaw saat ini dari efektor akhir.

  • getRoll — Mengembalikan hasil lemparan akhir dari efektor.

  • getPitch — Mengembalikan pitch saat ini dari efektor akhir.

  • canArmReachTo — Mengembalikan apakah Lengan 6-Axis dapat mencapai posisi yang ditentukan.

  • canArmReachInc — Mengembalikan apakah Lengan 6-Axis dapat bergerak sejauh jarak tertentu.

  • canEndEffectorReachTo — Mengembalikan apakah ujung efektor dapat mencapai orientasi yang ditentukan.

  • canEndEffectorReachInc — Mengembalikan apakah end effector dapat berputar dengan jumlah yang ditentukan.

  • isConnected — Mengembalikan apakah Lengan 6-Axis terhubung ke EXP Brain.

  • timestamp — Mengembalikan stempel waktu dari paket status terakhir yang diterima dari Lengan 6-Axis.

  • installed — Mengembalikan apakah Lengan 6-Axis terhubung.

Callback — Menjalankan fungsi saat peristiwa ARM terjadi.

  • controlStopped — Mendaftarkan fungsi yang akan dijalankan ketika penghentian kontrol diaktifkan.

  • crashed — Mendaftarkan fungsi yang akan dijalankan ketika terjadi crash.

Tindakan#

moveTo#

Perintah moveTo menggerakkan Lengan 6-Axis ke koordinat x, y, dan z yang ditentukan.

Koordinat x, y, dan z menggambarkan posisi ujung efektor dalam ruang tiga dimensi. Gunakan canArmReachTo sebelum fungsi ini jika posisi target mungkin berada di luar ruang kerja yang dapat dijangkau oleh Lengan 6-Axis.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

x

double

Koordinat x dari posisi target dalam milimeter.

y

double

Koordinat y dari posisi target dalam milimeter.

z

double

Koordinat z dari posisi target dalam milimeter.

waitForCompletion

bool

Opsional. true (default) menunggu hingga pergerakan selesai sebelum melanjutkan. false memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis mencapai posisi target.

  • false — Lengan 6-Axis tidak mencapai posisi target, atau waitForCompletion diatur ke false.

Contoh

// 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 menggerakkan Lengan 6-Axis sejauh jarak tertentu dari posisi saat ini di sepanjang sumbu x, y, dan z.

Gunakan fungsi ini untuk bergerak relatif terhadap posisi ujung efektor saat ini. Gunakan canArmReachInc sebelum fungsi ini jika pergerakan tersebut dapat menempatkan Lengan 6-Axis di luar ruang kerja yang dapat dijangkau.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

x

double

Jarak yang ditempuh sepanjang sumbu x dalam milimeter.

y

double

Jarak yang ditempuh sepanjang sumbu y dalam milimeter.

z

double

Jarak yang ditempuh sepanjang sumbu z dalam milimeter.

waitForCompletion

bool

Opsional. true (default) menunggu hingga pergerakan selesai sebelum melanjutkan. false memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis mencapai posisi yang diminta.

  • false — Lengan 6-Axis tidak mencapai posisi yang diminta, atau waitForCompletion diatur ke false.

Contoh

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

moveEndEffectorTo#

Perintah moveEndEffectorTo memutar ujung lengan 6-Axis ke orientasi yaw, roll, dan pitch yang ditentukan.

Orientasi menjelaskan bagaimana ujung efektor diputar. yaw berputar di sekitar sumbu z, roll berputar di sekitar sumbu x, dan pitch berputar di sekitar sumbu y.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

yaw

double

Sudut yaw target dalam derajat.

roll

double

Opsional. Sudut putaran target dalam derajat. Nilai default adalah 0.

pitch

double

Opsional. Sudut kemiringan target dalam derajat. Nilai default adalah 0.

waitForCompletion

bool

Opsional. true (default) menunggu hingga pergerakan selesai sebelum melanjutkan. false memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Ujung efektor mencapai orientasi target.

  • false — Ujung efektor tidak mencapai orientasi target, atau waitForCompletion diatur ke false.

Contoh

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

moveEndEffectorInc#

moveEndEffectorInc memutar ujung efektor Lengan 6-Axis dengan jumlah yaw, roll, dan pitch yang ditentukan dari orientasi saat ini.

Gunakan fungsi ini untuk memutar relatif terhadap yaw, roll, atau pitch end effector saat ini.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

yaw

double

Perubahan arah putaran (yaw), dalam derajat.

roll

double

Opsional. Perubahan putaran, dalam derajat. Nilai default adalah 0.

pitch

double

Opsional. Perubahan nada, dalam derajat. Nilai default adalah 0.

waitForCompletion

bool

Opsional. true (default) menunggu hingga pergerakan selesai sebelum melanjutkan. false memulai pergerakan dan langsung melanjutkan ke baris kode berikutnya.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Ujung efektor mencapai orientasi yang diminta.

  • false — Ujung efektor tidak mencapai orientasi yang diminta, atau waitForCompletion diatur ke false.

Contoh

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

Mutator#

setSpeed#

setSpeed mengatur kecepatan pergerakan yang digunakan oleh Lengan 6-Axis.

Fungsi yang Tersedia

void setSpeed(uint32_t speed);

Parameter

Jenis

Keterangan

speed

uint32_t

Kecepatan pergerakan Lengan 6-Axis, dalam milimeter per detik.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

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

setEndEffectorType#

setEndEffectorType mengatur jenis efektor ujung yang terpasang pada Lengan 6-Axis.

Saat jenis ujung efektor diubah, Lengan 6-Axis secara otomatis menyesuaikan offset z-nya agar sesuai dengan alat yang dipilih.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

type

endEffectorType

Alat yang terpasang pada Lengan 6-Axis: magnet (Alat Pengambil Magnet) atau pen (Alat Pemegang Pena).

waitForCompletion

bool

Opsional. true (default) menunggu hingga perubahan selesai sebelum melanjutkan. false memulai perubahan dan langsung melanjutkan ke baris kode berikutnya.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Tipe yang diminta telah ditetapkan.

  • false — Tipe yang diminta tidak diatur, atau waitForCompletion diatur ke false.

Contoh

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

setEndEffectorMagnet#

setEndEffectorMagnet mengaktifkan atau menonaktifkan Alat Pengambilan Magnet.

Fungsi yang Tersedia

void setEndEffectorMagnet(bool enabled);

Parameter

Jenis

Keterangan

enabled

bool

true memungkinkan magnet untuk mengambil dan menahan objek. false menonaktifkan magnet dan menjatuhkan objek yang ditahan.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

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

setPenOffset#

setPenOffset mengatur offset sumbu z yang digunakan saat Pen Holder Tool terpasang pada Lengan 6-Axis.

Atur tipe end effector ke pen sebelum menggunakan fungsi ini. Jika Pen Holder Tool tidak dipilih, fungsi ini tidak akan berpengaruh.

Offset pena adalah jarak dari bagian atas Alat Pemegang Pena ke ujung Spidol Penghapus Kering. Nilai z positif menggeser offset ke atas dari titik pemasangan alat.

Fungsi yang Tersedia

void setPenOffset(double zOffset);

Parameter

Jenis

Keterangan

zOffset

double

Nilai offset pena dalam milimeter.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

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

setControlStop#

setControlStop mengaktifkan atau menonaktifkan kontrol stop untuk Lengan 6-Axis.

Saat kontrol berhenti diaktifkan, Lengan 6-Axis akan segera menghentikan pergerakan dan mencegah pergerakan linier atau sendi lebih lanjut.

Fungsi yang Tersedia

void setControlStop(bool state = true);

Parameter

Jenis

Keterangan

state

bool

Opsional. true (default) mengaktifkan penghentian kontrol dan mencegah pergerakan linier atau sendi lebih lanjut. false menonaktifkan penghentian kontrol.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

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

setTimeout#

setTimeout mengatur nilai batas waktu yang digunakan saat menggerakkan Lengan 6-Axis.

Jika suatu pergerakan tidak selesai sebelum waktu habis, proyek akan berlanjut ke baris kode berikutnya.

Fungsi yang Tersedia

void setTimeout(
  int32_t   timeout,
  timeUnits units
);

Parameter

Jenis

Keterangan

timeout

int32_t

Nilai batas waktu yang baru.

units

timeUnits

Satuan waktu: sec (detik) atau msec (milidetik).

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

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

Pencari#

isDone#

isDone mengembalikan nilai boolean yang menunjukkan apakah Lengan 6-Axis telah selesai bergerak.

Fungsi ini berguna setelah fungsi pergerakan dipanggil dengan waitForCompletion diatur ke false.

Fungsi yang Tersedia

bool isDone();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis telah selesai bergerak.

  • false — Lengan 6-Axis masih bergerak.

Contoh

// 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 mengembalikan nilai boolean yang menunjukkan apakah Lengan 6-Axis mengalami benturan saat bergerak.

Saat terjadi benturan, Lengan 6-Axis akan menghentikan pergerakan motor dan mungkin tampak lemas. Hal ini mengurangi tekanan dan membantu melindungi motor dari kerusakan yang tidak disengaja.

Fungsi yang Tersedia

bool isCrashed();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis telah mengalami kerusakan.

  • false — Lengan 6-Axis tidak mengalami kerusakan.

Contoh

// 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 mengembalikan posisi x saat ini dari ujung efektor dalam milimeter.

Gunakan fungsi ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu x.

Fungsi yang Tersedia

float getX();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili posisi x dari ujung efektor dalam milimeter.

Contoh

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

getY#

getY mengembalikan posisi y saat ini dari ujung efektor dalam milimeter.

Gunakan fungsi ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu y.

Fungsi yang Tersedia

float getY();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili posisi y dari ujung efektor dalam milimeter.

Contoh

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

getZ#

getZ mengembalikan posisi z saat ini dari ujung efektor dalam milimeter.

Gunakan fungsi ini untuk membaca lokasi ujung efektor saat ini di sepanjang sumbu z.

Fungsi yang Tersedia

float getZ();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili posisi z dari ujung efektor dalam milimeter.

Contoh

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

getYaw#

getYaw mengembalikan nilai yaw (sudut kemiringan) dari ujung efektor saat ini dalam derajat.

Fungsi yang Tersedia

float getYaw();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili sudut yaw (putaran) ujung efektor saat ini dalam derajat.

Contoh

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

getRoll#

getRoll mengembalikan nilai putaran (roll) ujung efektor saat ini dalam derajat.

Fungsi yang Tersedia

float getRoll();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili putaran ujung efektor saat ini dalam derajat.

Contoh

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

getPitch#

getPitch mengembalikan pitch ujung efektor saat ini dalam derajat.

Fungsi yang Tersedia

float getPitch();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai float float yang mewakili kemiringan (pitch) ujung efektor saat ini dalam derajat.

Contoh

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

canArmReachTo#

canArmReachTo mengembalikan nilai yang menunjukkan apakah Lengan 6-Axis dapat menggerakkan ujung efektor ke koordinat x, y, dan z yang ditentukan.

Gunakan fungsi ini untuk memeriksa posisi target sebelum menggunakan moveTo.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

x

double

Koordinat x dari posisi target dalam milimeter.

y

double

Koordinat y dari posisi target dalam milimeter.

z

double

Koordinat z dari posisi target dalam milimeter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis dapat mencapai posisi yang diminta.

  • false — Lengan 6-Axis tidak dapat mencapai posisi yang diminta.

Contoh

// 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 mengembalikan nilai yang menunjukkan apakah Lengan 6-Axis dapat menggerakkan ujung efektor sejauh jarak x, y, dan z yang ditentukan dari posisi saat ini.

Gunakan fungsi ini untuk memeriksa pergerakan relatif sebelum menggunakan moveInc.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

x

double

Jarak yang ditempuh sepanjang sumbu x dalam milimeter.

y

double

Jarak yang ditempuh sepanjang sumbu y dalam milimeter.

z

double

Jarak yang ditempuh sepanjang sumbu z dalam milimeter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis dapat melakukan gerakan yang diminta.

  • false — Lengan 6-Axis tidak dapat melakukan gerakan yang diminta.

Contoh

// 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 mengembalikan nilai yang menunjukkan apakah ujung efektor dapat berputar ke orientasi yaw, roll, dan pitch yang ditentukan.

Gunakan fungsi ini untuk memeriksa orientasi target sebelum menggunakan moveEndEffectorTo.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

yaw

double

Sudut yaw target dalam derajat.

roll

double

Opsional. Sudut putaran target dalam derajat. Nilai default adalah 0.

pitch

double

Opsional. Sudut kemiringan target dalam derajat. Nilai default adalah 0.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Ujung efektor dapat mencapai orientasi yang diminta.

  • false — Ujung efektor tidak dapat mencapai orientasi yang diminta.

Contoh

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

canEndEffectorReachInc#

canEndEffectorReachInc mengembalikan nilai yang menunjukkan apakah end effector dapat berputar dengan jumlah yaw, roll, dan pitch yang ditentukan dari orientasi saat ini.

Gunakan fungsi ini untuk memeriksa pergerakan orientasi relatif sebelum menggunakan moveEndEffectorInc.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

yaw

double

Perubahan arah putaran (yaw), dalam derajat.

roll

double

Opsional. Perubahan putaran, dalam derajat. Nilai default adalah 0.

pitch

double

Opsional. Perubahan nada, dalam derajat. Nilai default adalah 0.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Ujung efektor dapat melakukan rotasi yang diminta.

  • false — Ujung efektor tidak dapat melakukan rotasi yang diminta.

Contoh

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

isConnected#

isConnected mengembalikan nilai boolean yang menunjukkan apakah Lengan 6-Axis terhubung ke EXP Brain.

Ini adalah fungsi kompatibilitas yang mengembalikan nilai yang sama dengan installed.

Fungsi yang Tersedia

bool isConnected();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis terhubung ke EXP Brain.

  • false — Lengan 6-Axis tidak terhubung ke EXP Brain.

Contoh

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

timestamp#

timestamp mengembalikan stempel waktu dari paket status terakhir yang diterima dari Lengan 6-Axis.

Fungsi yang Tersedia

uint32_t timestamp();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan stempel waktu paket status terakhir sebagai uint32_t dalam milidetik.

installed#

installed mengembalikan informasi apakah Lengan 6-Axis terhubung.

Fungsi yang Tersedia

bool installed();

Parameter

Fungsi ini tidak memiliki parameter.

Nilai Kembalian

Mengembalikan nilai Boolean.

  • true — Lengan 6-Axis terhubung.

  • false — Lengan 6-Axis tidak terhubung.

Panggilan balik#

controlStopped#

controlStopped mendaftarkan sebuah fungsi yang akan dijalankan ketika penghentian kontrol diaktifkan.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

callback

void (*)(void)

Sebuah fungsi yang dijalankan ketika kontrol berhenti diaktifkan.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

// 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 mendaftarkan fungsi yang dijalankan ketika Lengan 6-Axis mengalami kerusakan saat bergerak.

Saat terjadi benturan, Lengan 6-Axis akan menghentikan pergerakan motor dan mungkin tampak lemas. Hal ini mengurangi tekanan dan membantu melindungi motor dari kerusakan yang tidak disengaja.

Fungsi yang Tersedia

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

Parameter

Jenis

Keterangan

callback

void (*)(void)

Sebuah fungsi yang dijalankan ketika Lengan 6-Axis mengalami benturan saat bergerak.

Nilai Kembalian

Fungsi ini tidak mengembalikan nilai.

Contoh

// 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);
}