Konkurence#
Ievads#
competition klase palīdz strukturēt V5 projektu oficiālai sacensību vadībai. Tā ļauj reģistrēt funkcijas, kas darbosies autonomās un vadītāja vadības laikā, un nodrošina vienkāršas statusa pārbaudes, lai jūsu kods varētu reaģēt uz spēles stāvokli (iespējots/atspējots, autonoms/vadītājs, lauka vadība utt.).
Klases konstruktori#
competition();
Klases iznīcinātājs#
Iznīcina competition objektu un atbrīvo saistītos resursus.
~competition();
Parametri#
Šis konstruktors nepieņem nekādus parametrus.
Piemēri#
// Create the competition instance
competition Competition = competition();
Dalībnieku funkcijas#
competition klase ietver šādas dalībfunkcijas:
autonomous— Reģistrē funkciju, kas tiks izsaukta, kad sākas autonomais periods.drivercontrol— Reģistrē funkciju, kas tiks izsaukta, kad sākas draivera vadības periods.isEnabled— Atgriež jūsu robota statusu, kad tas ir sacensību kontrolē.isDriverControl— Atgriež, vai robota stāvoklis ir vadītāja vadība.isAutonomous— Atgriež, vai robota stāvoklis ir autonoms.isCompetitionSwitch— Atgriež, vai sacensību slēdzis ir pievienots.isFieldControl— Atgriež, vai lauka vadība ir pievienota.
Pirms jebkuru competition dalībfunkciju izsaukšanas ir jāizveido competition instance, kā parādīts zemāk:
// Create the competition instance
competition Competition = competition();
autonomous#
Reģistrē funkciju, kas tiks izsaukta, kad sākas autonomais periods.
Available Functionsvoid autonomous( void (* callback)(void) );
Vārds |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas nepieņem parametrus un neatgriež nekādu vērtību. Šī funkcija darbosies, kad sāksies autonomais periods. |
Šī funkcija neatgriež vērtību.
Examplesvoid 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#
Reģistrē funkciju, kas tiks izsaukta, kad sākas draivera vadības periods.
Available Functionsvoid drivercontrol( void (* callback)(void) );
Parametrs |
Tips |
Apraksts |
|---|---|---|
|
|
Rādītājs uz funkciju, kas nepieņem parametrus un neatgriež nekādu vērtību. Šī funkcija darbosies, kad sāksies draivera vadības periods. |
Šī funkcija neatgriež vērtību.
Examplesvoid 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#
Atgriež jūsu robota statusu, kad tas ir sacensību kontrolē.
Available Functionsbool isEnabled();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež Būla vērtību, kas norāda, vai ir aktīvs autonomais vai vadītāja vadības periods:
true– Autonomā vai vadītāja vadības periods ir aktīvs.false– Neviens no kontroles periodiem nav aktīvs.
isDriverControl#
Atgriež Būla vērtību, kas norāda, vai robots atrodas vadītāja vadības režīmā.
Available Functionsbool isDriverControl();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež Būla vērtību, kas norāda, vai robots atrodas vadītāja vadības režīmā:
true– Robots ir vadītāja vadības režīmā.false– Robots nav vadītāja vadības režīmā.
isAutonomous#
Atgriež Būla vērtību, kas norāda, vai robots atrodas autonomā režīmā.
Available Functionsbool isAutonomous();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež Būla vērtību, kas norāda, vai robots atrodas autonomā režīmā:
true– Robots darbojas autonomajā režīmā.false– Robots nav autonomajā režīmā.
isCompetitionSwitch#
Atgriež Būla vērtību, kas norāda, vai ir pievienots sacensību vadības slēdzis:
Available Functionsbool isCompetitionSwitch();
Šī funkcija nepieņem nekādus parametrus.
NotesŠī funkcija pārbauda, vai ir pievienots sacensību vadības slēdzis. Sacensību vadības slēdzis tiek izmantots pirms V5 lauka vadības sistēmas uzstādīšanas.
Atgriež Būla vērtību, kas norāda, vai ir pievienots sacensību vadības slēdzis:
true– Sacensību vadības slēdzis ir pievienots.false– Sacensību vadības slēdzis nav pievienots.
isFieldControl#
Atgriež Būla vērtību, kas norāda, vai lauka kontrolieris ir pievienots.
Available Functionsbool isFieldControl();
Šī funkcija nepieņem nekādus parametrus.
Return ValuesAtgriež Būla vērtību, kas norāda, vai lauka kontrolieris ir pievienots:
true– Lauka kontrolieris ir pievienots.false– Lauka kontrolieris nav pievienots.