പരിധി സ്വിച്ച്#

ആമുഖം#

ഒരു വസ്തുവുമായുള്ള ശാരീരിക സമ്പർക്കം കണ്ടെത്തുന്ന ഒരു ചെറിയ ഡിജിറ്റൽ സെൻസറായ ലിമിറ്റ് സ്വിച്ചിനൊപ്പം limit ക്ലാസ് ഉപയോഗിക്കുന്നു.

VEX EXP പരിധി സ്വിച്ച്.

ക്ലാസ് കൺസ്ട്രക്റ്റർ#

limit(
  triport::port &port);

ക്ലാസ് ഡിസ്ട്രക്റ്റർ#

limit ഒബ്‌ജക്റ്റിനെ നശിപ്പിക്കുകയും അനുബന്ധ ഉറവിടങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

virtual ~limit();

പാരാമീറ്ററുകൾ#

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

port

triport::port &

ലിമിറ്റ് സ്വിച്ച് ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്, Brain.ThreeWirePort.X അല്ലെങ്കിൽ ExpanderName.Xഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ X എന്നത് പോർട്ട് അക്ഷരമാണ് (ഉദാഹരണത്തിന്, Brain.ThreeWirePort.A അല്ലെങ്കിൽ Expander1.A).

ഉദാഹരണം#

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

അംഗ പ്രവർത്തനങ്ങൾ#

limit ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ ഫംഗ്‌ഷനുകൾ ഉൾപ്പെടുന്നു:

  • pressingഅമർത്തുന്നു – പരിധി സ്വിച്ച് അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • pressed – പരിധി സ്വിച്ച് അമർത്തുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • released – ലിമിറ്റ് സ്വിച്ച് റിലീസ് ചെയ്യുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്‌ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

ഏതെങ്കിലും limit മെമ്പർ ഫംഗ്‌ഷനുകൾ വിളിക്കുന്നതിന് മുമ്പ്, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു limit ഉദാഹരണം സൃഷ്ടിക്കണം:

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

ലിമിറ്റ് സ്വിച്ച് നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു. റോബോട്ട് മറ്റ് വസ്തുക്കളിൽ ഇടിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കാൻ ഇത് ഉപയോഗിക്കാം.

Available Functions
int32_t pressing();

Parameters

ഈ ഫംഗ്ഷൻ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

Return Values

ലിമിറ്റ് സ്വിച്ച് അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന int32_t നൽകുന്നു.

  • 1 — പരിധി സ്വിച്ച് അമർത്തിക്കൊണ്ടിരിക്കുന്നു.

  • 0 — പരിധി സ്വിച്ച് അമർത്തുന്നില്ല.

pressed#

ലിമിറ്റ് സ്വിച്ച് അമർത്തുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

ലിമിറ്റ് സ്വിച്ച് അമർത്തുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക ( int main() ന് പുറത്ത്)

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

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#

ലിമിറ്റ് സ്വിച്ച് പുറത്തിറങ്ങുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

Parameters

പാരാമീറ്റർ

ടൈപ്പ് ചെയ്യുക

വിവരണം

callback

void (*)(void)

ലിമിറ്റ് സ്വിച്ച് റിലീസ് ചെയ്യുമ്പോൾ വിളിക്കപ്പെടുന്ന ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ.

Return Values

ഈ ഫംഗ്ഷൻ ഒരു മൂല്യം തിരികെ നൽകുന്നില്ല.

Examples

കോൾബാക്ക് ഫംഗ്ഷൻ നിർവചിക്കുക ( int main() ന് പുറത്ത്)

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

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