Sakelar Batas#

Perkenalan#

Kelas limit digunakan dengan Limit Switch, yaitu sensor digital kecil yang mendeteksi kontak fisik dengan suatu objek.

Saklar Batas VEX V5.

Konstruktor Kelas#

limit(
  triport::port &port);

Destruktor Kelas#

Menghancurkan objek limit dan melepaskan sumber daya terkait.

virtual ~limit();

Parameter#

Parameter

Jenis

Keterangan

port

triport::port &

Port 3-Kabel yang terhubung ke Sakelar Batas, ditulis sebagai Brain.ThreeWirePort.X atau ExpanderName.X, di mana X adalah huruf port (misalnya, Brain.ThreeWirePort.A atau Expander1.A).

Contoh#

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

Fungsi Keanggotaan#

Kelas limit mencakup fungsi anggota berikut:

  • pressing – Mengembalikan apakah Saklar Batas sedang ditekan.

  • pressed – Mendaftarkan fungsi yang akan dipanggil setiap kali Saklar Batas ditekan.

  • released – Mendaftarkan fungsi yang akan dipanggil setiap kali Saklar Batas dilepaskan.

Sebelum memanggil fungsi anggota limit apa pun, sebuah instance limit harus dibuat, seperti yang ditunjukkan di bawah ini:

/* This constructor is required when using VS Code.
Limit Switch configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create a limit instance in Port A
limit LimitSwitchA = limit(Brain.ThreeWirePort.A);

pressing#

Mengembalikan nilai boolean yang menunjukkan apakah sakelar batas sedang ditekan. Ini dapat digunakan untuk memeriksa apakah robot menabrak objek lain.

Available Functions
int32_t pressing();

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values

Mengembalikan nilai int32_t yang menunjukkan apakah sakelar batas sedang ditekan.

  • 1 — Sakelar batas sedang ditekan.

  • 0 — Sakelar batas tidak ditekan.

pressed#

Mendaftarkan fungsi yang akan dipanggil ketika sakelar batas ditekan.

Available Functions
void pressed(
  void (* callback)(void) );

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Penunjuk ke fungsi yang akan dipanggil ketika sakelar batas ditekan.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

void switchPressed() {
  // The Brain will print that the Limit Switch was pressed
  // on the Brain's screen.
  Brain.Screen.print("switch pressed");
}

Daftarkan fungsi callback di dalam int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchPressed when the Limit Switch is pressed.
  LimitSwitchA.pressed(switchPressed);
}

released#

Mendaftarkan fungsi yang akan dipanggil ketika sakelar batas dilepas.

Available Functions
void released(
  void (* callback)(void) );

Parameters

Parameter

Jenis

Keterangan

callback

void (*)(void)

Pointer ke sebuah fungsi yang akan dipanggil ketika Limit Switch dilepaskan.

Return Values

Fungsi ini tidak mengembalikan nilai.

Examples

Definisikan fungsi callback (di luar int main())

void switchReleased() {
  // The Brain will print that the Limit Switch was released
  // on the Brain's screen.
  Brain.Screen.print("switch released");
}

Daftarkan fungsi callback di dalam int main()

int main() {
  /* vexcodeInit() is only required when using VEXcode.
  Remove vexcodeInit() if compiling in VS Code. */
  vexcodeInit();

  // Run switchReleased when the Limit Switch is released.
  LimitSwitchA.released(switchReleased);
}