Limit Anahtarı#

giriiş#

limit sınıfı, bir nesneyle fiziksel teması algılayan küçük bir dijital sensör olan Limit Anahtarı ile birlikte kullanılır.

VEX EXP Limit Anahtarı.

Sınıf Oluşturucu#

limit(
  triport::port &port);

Sınıf Yıkıcısı#

limit nesnesini yok eder ve ilişkili kaynakları serbest bırakır.

virtual ~limit();

Parametreler#

Parametre

Tip

Tanım

port

triport::port &

Limit anahtarının bağlı olduğu 3 telli port, Brain.ThreeWirePort.X veya ExpanderName.Xşeklinde yazılır; burada X port harfidir (örneğin, Brain.ThreeWirePort.A veya Expander1.A).

Örnek#

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

Üye Fonksiyonları#

limit sınıfı aşağıdaki üye fonksiyonlarını içerir:

  • pressingbasıyor – Limit Anahtarının basılıp basılmadığını döndürür.

  • pressed – Limit Anahtarına basıldığında çağrılacak bir fonksiyonu kaydeder.

  • released – Limit Anahtarı serbest bırakıldığında çağrılacak bir fonksiyonu kaydeder.

limit üye fonksiyonunu çağırmadan önce, aşağıda gösterildiği gibi limit oluşturulmalıdır:

/* 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#

Limit anahtarının şu anda basılı olup olmadığını döndürür. Bu, robotun diğer nesnelere çarpıp çarpmadığını kontrol etmek için kullanılabilir.

Available Functions
int32_t pressing();

Parameters

Bu fonksiyon herhangi bir parametre kabul etmez.

Return Values

Limit anahtarının basılıp basılmadığını gösteren int32_t değerini döndürür.

  • 1 — Limit anahtarına basılıyor.

  • 0 — Limit anahtarına basılmıyor.

pressed#

Limit anahtarına basıldığında çağrılacak bir fonksiyonu kaydeder.

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

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Limit anahtarına basıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

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

Geri çağrıyı main() fonksiyonunun içine kaydedin 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#

Limit anahtarı bırakıldığında çağrılacak bir fonksiyonu kaydeder.

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

Parameters

Parametre

Tip

Tanım

callback

void (*)(void)

Limit anahtarı bırakıldığında çağrılacak bir fonksiyona işaretçi.

Return Values

Bu fonksiyon bir değer döndürmez.

Examples

Geri çağırma fonksiyonunu tanımlayın ( int main() dışında)

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

Geri çağrıyı main() fonksiyonunun içine kaydedin 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);
}