മത്സരം#

ആമുഖം#

ഔദ്യോഗിക മത്സര നിയന്ത്രണത്തിനായി ഒരു V5 പ്രോജക്റ്റ് രൂപപ്പെടുത്താൻ competition ക്ലാസ് നിങ്ങളെ സഹായിക്കുന്നു. ഓട്ടോണമസ്, ഡ്രൈവർ കൺട്രോൾ സമയത്ത് പ്രവർത്തിപ്പിക്കുന്നതിനുള്ള ഫംഗ്ഷനുകൾ രജിസ്റ്റർ ചെയ്യാൻ ഇത് നിങ്ങളെ അനുവദിക്കുന്നു, കൂടാതെ ലളിതമായ സ്റ്റാറ്റസ് പരിശോധനകൾ നൽകുന്നു, അതുവഴി നിങ്ങളുടെ കോഡിന് മാച്ച് സ്റ്റേറ്റിനോട് (പ്രാപ്തമാക്കിയ/അപ്രാപ്തമാക്കിയ, ഓട്ടോണമസ്/ഡ്രൈവർ, ഫീൽഡ് നിയന്ത്രണം മുതലായവ) പ്രതികരിക്കാൻ കഴിയും.

ക്ലാസ് കൺസ്ട്രക്‌ടറുകൾ#

competition();

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

competition വസ്തുവിനെ നശിപ്പിക്കുകയും അനുബന്ധ വിഭവങ്ങൾ പുറത്തുവിടുകയും ചെയ്യുന്നു.

~competition();

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

ഈ കൺസ്ട്രക്റ്റർ ഒരു പാരാമീറ്ററുകളും സ്വീകരിക്കുന്നില്ല.

ഉദാഹരണങ്ങൾ#

// Create the competition instance
competition Competition = competition();

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

competition ക്ലാസ്സിൽ ഇനിപ്പറയുന്ന അംഗ പ്രവർത്തനങ്ങൾ ഉൾപ്പെടുന്നു:

  • autonomous — ഓട്ടോണമസ് പിരീഡ് ആരംഭിക്കുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • drivercontrol — ഡ്രൈവർ കൺട്രോൾ കാലയളവ് ആരംഭിക്കുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • isEnabled — മത്സര നിയന്ത്രണത്തിലായിരിക്കുമ്പോൾ നിങ്ങളുടെ റോബോട്ടിന്റെ സ്റ്റാറ്റസ് നൽകുന്നു.

  • isDriverControl — റോബോട്ടിന്റെ അവസ്ഥ ഡ്രൈവർ നിയന്ത്രണമാണോ എന്ന് നൽകുന്നു.

  • isAutonomous — റോബോട്ടിന്റെ അവസ്ഥ സ്വയംഭരണാധികാരമുള്ളതാണോ എന്ന് നൽകുന്നു.

  • isCompetitionSwitch — മത്സര സ്വിച്ച് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

  • isFieldControl — ഫീൽഡ് നിയന്ത്രണം ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് നൽകുന്നു.

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

// Create the competition instance
competition Competition = competition();

autonomous#

ഓട്ടോണമസ് പിരീഡ് ആരംഭിക്കുമ്പോൾ വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

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

Parameters

പേര്

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

വിവരണം

callback

void (*)(void)

പാരാമീറ്ററുകളൊന്നും എടുക്കാതെ ഒരു മൂല്യവും തിരികെ നൽകാത്ത ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ. ഓട്ടോണമസ് പിരീഡ് ആരംഭിക്കുമ്പോൾ ഈ ഫംഗ്ഷൻ പ്രവർത്തിക്കും.

Return Values

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

Examples
void autonomousControl(void) {
  // Place automonous code here.
  Brain.Screen.clearScreen();
  Brain.Screen.print("autonomous");
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the autonomous control period.
    Competition.autonomous(autonomousControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

drivercontrol#

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

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

പാരാമീറ്ററുകളൊന്നും എടുക്കാതെ മൂല്യം തിരികെ നൽകാത്ത ഒരു ഫംഗ്ഷനിലേക്കുള്ള ഒരു പോയിന്റർ. ഡ്രൈവർ കൺട്രോൾ പിരീഡ് ആരംഭിക്കുമ്പോൾ ഈ ഫംഗ്ഷൻ പ്രവർത്തിക്കും.

Return Values

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

Examples
void userControl(void) {
  Brain.Screen.clearScreen();
  // place driver control in this while loop
  while (true) {
    wait(20, msec);
  }
}

int main(){
    // Create competition instance.
    competition Competition;

    // Set up callback for the driver control period.
    Competition.drivercontrol(userControl);

    // Prevent main from exiting with an infinite loop.
    while (true) {
        wait(100, msec);
    }
}

isEnabled#

മത്സര നിയന്ത്രണത്തിലായിരിക്കുമ്പോൾ നിങ്ങളുടെ റോബോട്ടിന്റെ നില നൽകുന്നു.

Available Functions
bool isEnabled();

Parameters

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

Return Values

ഓട്ടോണമസ് നിയന്ത്രണ കാലയളവ് അല്ലെങ്കിൽ ഡ്രൈവർ നിയന്ത്രണ കാലയളവ് സജീവമാണോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true – ഓട്ടോണമസ് അല്ലെങ്കിൽ ഡ്രൈവർ നിയന്ത്രണ കാലയളവ് സജീവമാണ്.

  • false – രണ്ട് നിയന്ത്രണ കാലയളവും സജീവമല്ല.

isDriverControl#

റോബോട്ട് ഡ്രൈവർ കൺട്രോൾ മോഡിലാണോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു.

Available Functions
bool isDriverControl();

Parameters

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

Return Values

റോബോട്ട് ഡ്രൈവർ കൺട്രോൾ മോഡിലാണോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true – റോബോട്ട് ഡ്രൈവർ നിയന്ത്രണ മോഡിലാണുള്ളത്.

  • false – റോബോട്ട് ഡ്രൈവർ നിയന്ത്രണ മോഡിലല്ല.

isAutonomous#

റോബോട്ട് ഓട്ടോണമസ് മോഡിലാണോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു.

Available Functions
bool isAutonomous();

Parameters

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

Return Values

റോബോട്ട് ഓട്ടോണമസ് മോഡിലാണോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true – റോബോട്ട് സ്വയംഭരണ മോഡിലാണ്.

  • false – റോബോട്ട് ഓട്ടോണമസ് മോഡിൽ അല്ല.

isCompetitionSwitch#

കോംപറ്റീഷൻ കൺട്രോൾ സ്വിച്ച് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

Available Functions
bool isCompetitionSwitch();

Parameters

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

Notes
  • മത്സര നിയന്ത്രണ സ്വിച്ച് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് ഈ ഫംഗ്ഷൻ പരിശോധിക്കുന്നു. V5 ഫീൽഡ് നിയന്ത്രണ സിസ്റ്റം സ്ഥാപിക്കുന്നതിന് മുമ്പ് മത്സര നിയന്ത്രണ സ്വിച്ച് ഉപയോഗിക്കുന്നു.

Return Values

കോംപറ്റീഷൻ കൺട്രോൾ സ്വിച്ച് ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true – മത്സര നിയന്ത്രണ സ്വിച്ച് ബന്ധിപ്പിച്ചിരിക്കുന്നു.

  • false – മത്സര നിയന്ത്രണ സ്വിച്ച് ബന്ധിപ്പിച്ചിട്ടില്ല.

isFieldControl#

ഫീൽഡ് കൺട്രോളർ ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ തിരികെ നൽകുന്നു.

Available Functions
bool isFieldControl();

Parameters

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

Return Values

ഫീൽഡ് കൺട്രോളർ ബന്ധിപ്പിച്ചിട്ടുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ നൽകുന്നു:

  • true – ഫീൽഡ് കൺട്രോളർ ബന്ധിപ്പിച്ചിരിക്കുന്നു.

  • false – ഫീൽഡ് കൺട്രോളർ ബന്ധിപ്പിച്ചിട്ടില്ല.