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 |
|---|---|---|
|
|
Port Pintar yang terhubung ke Lengan 6-Axis, ditulis sebagai |
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 |
|---|---|---|
|
|
Koordinat x dari posisi target dalam milimeter. |
|
|
Koordinat y dari posisi target dalam milimeter. |
|
|
Koordinat z dari posisi target dalam milimeter. |
|
|
Opsional. |
Nilai Kembalian
Mengembalikan nilai Boolean.
true— Lengan 6-Axis mencapai posisi target.false— Lengan 6-Axis tidak mencapai posisi target, atauwaitForCompletiondiatur kefalse.
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 |
|---|---|---|
|
|
Jarak yang ditempuh sepanjang sumbu x dalam milimeter. |
|
|
Jarak yang ditempuh sepanjang sumbu y dalam milimeter. |
|
|
Jarak yang ditempuh sepanjang sumbu z dalam milimeter. |
|
|
Opsional. |
Nilai Kembalian
Mengembalikan nilai Boolean.
true— Lengan 6-Axis mencapai posisi yang diminta.false— Lengan 6-Axis tidak mencapai posisi yang diminta, atauwaitForCompletiondiatur kefalse.
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 |
|---|---|---|
|
|
Sudut yaw target dalam derajat. |
|
|
Opsional. Sudut putaran target dalam derajat. Nilai default adalah |
|
|
Opsional. Sudut kemiringan target dalam derajat. Nilai default adalah |
|
|
Opsional. |
Nilai Kembalian
Mengembalikan nilai Boolean.
true— Ujung efektor mencapai orientasi target.false— Ujung efektor tidak mencapai orientasi target, atauwaitForCompletiondiatur kefalse.
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 |
|---|---|---|
|
|
Perubahan arah putaran (yaw), dalam derajat. |
|
|
Opsional. Perubahan putaran, dalam derajat. Nilai default adalah |
|
|
Opsional. Perubahan nada, dalam derajat. Nilai default adalah |
|
|
Opsional. |
Nilai Kembalian
Mengembalikan nilai Boolean.
true— Ujung efektor mencapai orientasi yang diminta.false— Ujung efektor tidak mencapai orientasi yang diminta, atauwaitForCompletiondiatur kefalse.
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
Alat yang terpasang pada Lengan 6-Axis: |
|
|
Opsional. |
Nilai Kembalian
Mengembalikan nilai Boolean.
true— Tipe yang diminta telah ditetapkan.false— Tipe yang diminta tidak diatur, atauwaitForCompletiondiatur kefalse.
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 |
|---|---|---|
|
|
|
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
Opsional. |
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 |
|---|---|---|
|
|
Nilai batas waktu yang baru. |
|
|
Satuan waktu: |
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 |
|---|---|---|
|
|
Koordinat x dari posisi target dalam milimeter. |
|
|
Koordinat y dari posisi target dalam milimeter. |
|
|
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 |
|---|---|---|
|
|
Jarak yang ditempuh sepanjang sumbu x dalam milimeter. |
|
|
Jarak yang ditempuh sepanjang sumbu y dalam milimeter. |
|
|
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 |
|---|---|---|
|
|
Sudut yaw target dalam derajat. |
|
|
Opsional. Sudut putaran target dalam derajat. Nilai default adalah |
|
|
Opsional. Sudut kemiringan target dalam derajat. Nilai default adalah |
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 |
|---|---|---|
|
|
Perubahan arah putaran (yaw), dalam derajat. |
|
|
Opsional. Perubahan putaran, dalam derajat. Nilai default adalah |
|
|
Opsional. Perubahan nada, dalam derajat. Nilai default adalah |
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 |
|---|---|---|
|
|
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 |
|---|---|---|
|
|
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);
}