സിഗ്നൽ ടവർ#

ആമുഖം#

ലൈറ്റുകൾ മാറ്റുന്നതിനും CTE സിഗ്നൽ ടവറുമായുള്ള ഇടപെടലുകൾ കണ്ടെത്തുന്നതിനും signaltower ക്ലാസ് ഉപയോഗിക്കുന്നു.

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

signaltower( 
  int32_t  index );

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

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

virtual ~signaltower();

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

പാരാമീറ്റർ

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

വിവരണം

index

int32_t

സിഗ്നൽ ടവർ ബന്ധിപ്പിച്ചിരിക്കുന്ന സ്മാർട്ട് പോർട്ട്, PORTxഎന്ന് എഴുതിയിരിക്കുന്നു, ഇവിടെ x എന്നത് പോർട്ട് നമ്പറാണ് (ഉദാഹരണത്തിന്, PORT1).

ഉദാഹരണങ്ങൾ#

// Create a signal tower instance in Port 1
signaltower SignalTower = signaltower(PORT1);

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

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

  • setColor - വിവിധ ഇൻപുട്ട് രീതികൾ ഉപയോഗിച്ച് സിഗ്നൽ ടവറിലെ LED നിറങ്ങളും അവസ്ഥകളും നിയന്ത്രിക്കുന്നു.

  • setColors - സിഗ്നൽ ടവറിലെ എല്ലാ LED-കളുടെയും അവസ്ഥ വ്യക്തിഗതമായി സജ്ജമാക്കുന്നു.

  • setBlink - LED യുടെ ഐഡി ഉപയോഗിച്ച് സിഗ്നൽ ടവറിൽ ഒരു LED യുടെ ബ്ലിങ്ക് അവസ്ഥ സജ്ജമാക്കുന്നു.

  • setBlinkTime - സിഗ്നൽ ടവറിലെ LED-കൾ മിന്നുന്നതിനിടയിലുള്ള സമയം സജ്ജമാക്കുന്നു.

  • enableBlink - സിഗ്നൽ ടവറിലെ ഒന്നിലധികം LED-കൾക്ക് അവയുടെ ഐഡികൾ ഉപയോഗിച്ച് മിന്നുന്നത് പ്രാപ്തമാക്കുന്നു.

  • disableBlink - സിഗ്നൽ ടവറിലെ ഒന്നിലധികം LED-കൾക്ക് അവയുടെ ഐഡികൾ ഉപയോഗിച്ച് മിന്നുന്നത് പ്രവർത്തനരഹിതമാക്കുന്നു.

  • അമർത്തുന്നു - സിഗ്നൽ ടവർ ബമ്പർ നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

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

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

setColor#

വിവിധ ഇൻപുട്ട് രീതികൾ ഉപയോഗിച്ച് സിഗ്നൽ ടവറിലെ എൽഇഡി നിറങ്ങളും അവസ്ഥകളും നിയന്ത്രിക്കുന്നു. ഒരു പ്രോജക്റ്റിൽ റോബോട്ട് എവിടെയാണെന്ന് ട്രാക്ക് ചെയ്യുന്നതിനോ ചില വ്യവസ്ഥകൾ പാലിക്കുമ്പോൾ കാണിക്കുന്നതിനോ ഈ ലൈറ്റുകൾ ഉപയോഗിക്കാം.

Available Functions

1 — vex::color ഉപയോഗിച്ച് സിഗ്നൽ ടവറിനെ ഒരു നിറത്തിലേക്ക് സജ്ജമാക്കുന്നു.

void setColor( 
  vex::color         color, 
  signaltower::state state = signaltower::state::on );

2 — 32-ബിറ്റ് RGB, YW മൂല്യങ്ങൾ ഉപയോഗിച്ച് LED നിറങ്ങൾ സജ്ജമാക്കുന്നു.

void setColor( 
  uint32_t rgb, 
  uint32_t yw );

3 — LED ഐഡി ഉപയോഗിച്ച് വ്യക്തിഗത LED തെളിച്ചം സജ്ജമാക്കുന്നു.

void setColor( 
  ledId id, 
  uint32_t value );

4 — എല്ലാ LED-കൾക്കും വെവ്വേറെ തെളിച്ച നിലകൾ സജ്ജമാക്കുന്നു.

void setColor( 
  uint8_t r, 
  uint8_t y, 
  uint8_t g, 
  uint8_t b, 
  uint8_t w );

Parameters

പാരാമീറ്റർ

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

വിവരണം

color

vex::color

ഉപയോഗിക്കേണ്ട നിറം:

  • red
  • yellow
  • green
  • blue
  • white
  • all

state

signaltower::state

LED-യുടെ അവസ്ഥ:

  • on (Default) – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED ബ്ലിങ്ക് ചെയ്യുന്നു.

rgb

uint32_t

32-ബിറ്റ് മൂല്യം ഉപയോഗിച്ച് ചുവപ്പ്, പച്ച, നീല LED-കളുടെ തെളിച്ചം (ഉദാഹരണത്തിന്, ചുവപ്പ് ഓൺ = 0xFF0000, പച്ച ഓൺ = 0x00FF00, നീല ഓൺ = 0x0000FF).

yw

uint32_t

32-ബിറ്റ് മൂല്യം ഉപയോഗിച്ച് മഞ്ഞയും വെള്ളയും LED യുടെ തെളിച്ചം (ഉദാഹരണത്തിന്, മഞ്ഞ = 0xFF00 ഉം വെള്ള = 0x00FF).

id

ledId

നിയന്ത്രിക്കേണ്ട LED-യുടെ സൂചിക:

  • 0 – ചുവപ്പ്
  • 1 – പച്ച
  • 2 – നീല
  • 3 – വെള്ള
  • 4 – മഞ്ഞ

value

uint32_t

LED-യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, പൂജ്യം ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

r

uint8_t

ചുവന്ന LED യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, 0 ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

y

uint8_t

മഞ്ഞ LED യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, 0 ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

g

uint8_t

പച്ച LED യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, 0 ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

b

uint8_t

നീല LED യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, 0 ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

w

uint8_t

വെളുത്ത LED യുടെ തെളിച്ചം 0 മുതൽ 255 വരെയാണ്, 0 ഓഫാണ്, പരമാവധി തെളിച്ചം 255 ആണ്.

Return Values

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

Examples
// Set the Signal Tower to start blinking blue
SignalTower.setColor(vex::color::blue, signaltower::blink);

// Set the red, blue and white LEDs using hex values
SignalTower.setColor(0xFF00FF, 0x00FF);

// Set the green LED to full brightness by ID
SignalTower.setColor(1, 255);

// Set all LEDs to full brightness
SignalTower.setColor(255, 255, 255, 255, 255);

setColors#

സിഗ്നൽ ടവറിലെ എല്ലാ എൽഇഡികളുടെയും അവസ്ഥ വ്യക്തിഗതമായി സജ്ജമാക്കുന്നു. ഒരു പ്രോജക്റ്റിൽ റോബോട്ട് എവിടെയാണെന്ന് ട്രാക്ക് ചെയ്യുന്നതിനോ ചില വ്യവസ്ഥകൾ പാലിക്കുമ്പോൾ കാണിക്കുന്നതിനോ ഈ ലൈറ്റുകൾ ഉപയോഗിക്കാം.

Available Functions
void setColors( 
  signaltower::state rs, 
  signaltower::state ys, 
  signaltower::state gs, 
  signaltower::state bs, 
  signaltower::state ws );

Parameters

പാരാമീറ്റർ

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

വിവരണം

rs

signaltower::state

ചുവന്ന LED യുടെ അവസ്ഥ:

  • on – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED മിന്നുന്നു.

ys

signaltower::state

മഞ്ഞ LED യുടെ അവസ്ഥ:

  • on – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED മിന്നുന്നു.

gs

signaltower::state

പച്ച LED യുടെ അവസ്ഥ:

  • on – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED മിന്നുന്നു.

bs

signaltower::state

നീല LED യുടെ അവസ്ഥ:

  • on – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED മിന്നുന്നു.

ws

signaltower::state

വെളുത്ത LED യുടെ അവസ്ഥ:

  • on – LED ഓണാക്കുന്നു.
  • off – LED ഓഫാക്കുന്നു.
  • blink – LED മിന്നുന്നു.

Return Values

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

Examples
// Turn on all LEDs
SignalTower.setColors(signaltower::on, signaltower::on, signaltower::on, signaltower::on, signaltower::on);

setBlinkTime#

സിഗ്നൽ ടവറിലെ LED-കൾ മിന്നുന്നതിനിടയിലുള്ള സമയം സജ്ജമാക്കുന്നു.

Available Functions
void setBlinkTime( 
  uint32_t onTime, 
  uint32_t offTime = 0 );

Parameters

പാരാമീറ്റർ

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

വിവരണം

onTime

uint32_t

മിന്നിമറയുമ്പോൾ LED ഓണായിരിക്കേണ്ട സമയം മില്ലിസെക്കൻഡുകളിൽ. പരമാവധി 2500ms ആണ്. 0 എന്ന മൂല്യം ഡിഫോൾട്ടായി 500ms ആയി മാറുന്നു.

offTime

uint32_t

മിന്നിമറയുമ്പോൾ LED ഓഫായിരിക്കേണ്ട സമയം മില്ലിസെക്കൻഡുകളിൽ. പരമാവധി 2500ms ആണ്. 0 എന്ന മൂല്യം onTime മൂല്യം ഉപയോഗിക്കുന്നു. ഡിഫോൾട്ട് 0 ആണ്.

Return Values

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

pressing#

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

Available Functions
bool pressing();

Parameters

ഈ ഫംഗ്ഷന് പാരാമീറ്ററുകൾ ഇല്ല.

Return Values

സിഗ്നൽ ടവറിന്റെ ബമ്പർ നിലവിൽ അമർത്തുന്നുണ്ടോ എന്ന് സൂചിപ്പിക്കുന്ന ഒരു ബൂളിയൻ തിരികെ നൽകുന്നു.

  • true — സിഗ്നൽ ടവറിന്റെ ബമ്പർ നിലവിൽ അമർത്തിക്കൊണ്ടിരിക്കുന്നു.

  • false — സിഗ്നൽ ടവറിന്റെ ബമ്പർ അമർത്തുന്നില്ല.

pressed#

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

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

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

Return Values

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

Examples

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

// Display a message when bumper is pressed
void towerBumperPressed() {
  Brain.Screen.print("tower bumper pressed");
}

int main() നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.

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

  // Run towerBumperPressed when the tower bumper 
  // is pressed
  SignalTower.pressed(towerBumperPressed);
}

released#

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

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

Parameters

പാരാമീറ്റർ

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

വിവരണം

callback

void (*)(void)

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

Return Values

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

Examples

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

// Display a message when bumper is released
void towerBumperReleased() {
  Brain.Screen.print("tower bumper released");
}

int main() നുള്ളിൽ കോൾബാക്ക് രജിസ്റ്റർ ചെയ്യുക.

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

  // Run towerBumperReleased when the tower bumper 
  // is released
  SignalTower.released(towerBumperReleased);
}