Signaltorn#

Introduktion#

Signaltornet är en anordning som använder färgade lampor för att visa robotens status. Den har också en inbyggd stötfångarbrytare som kan känna av när den trycks ned.

För exemplen nedan kommer det konfigurerade Signal Tower att namnges signal_tower_1 och kommer att användas i alla efterföljande exempel i denna API-dokumentation när det refereras till SignalTower -klassmetoder.

Nedan följer en lista över alla tillgängliga metoder:

Inställare – Konfigurera signaltornets ljusfärger och mönster.

  • set_color – Ställer in mönstret för en eller alla lysdioder i signaltornet.

  • set_colors – Ställer in tillståndet för varje LED i signaltornet.

Getters – Läs av signaltornets stötfångarstatus.

  • pressing – Returnerar om signaltornets stötfångare för närvarande är nedtryckt.

Återanrop – Kör kod när signaltornets bumperstatus ändras.

  • pressed – Registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.

  • released – Registrerar en funktion som ska anropas när signaltornets stötfångare släpps.

Konstruktörer – Initiera och konfigurera signaltornet manuellt.

Setter#

set_color#

set_color ställer in ljusmönstret för en eller alla lysdioder på signaltornet. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.

Usage:
signal_tower_1.set_color(value, state)

Parameter

Beskrivning

värde

Färglampan att styra:

  • SignalTower.RED
  • SignalTower.GREEN
  • SignalTower.BLUE
  • SignalTower.YELLOW
  • SignalTower.WHITE
  • SignalTower.ALL — Tillämpar åtgärden på alla färger.

ange

Ljusmönstret som ska tillämpas:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

# Set the Signal Tower to start blinking the blue LED
signal_tower_1.set_color(SignalTower.BLUE, signal_tower.BLINK)

set_colors#

set_colors ställer in tillståndet för varje LED-lampa i signaltornet. Dessa lampor kan användas för att spåra var roboten befinner sig i ett projekt eller för att visa när vissa villkor är uppfyllda.

Usage:
signal_tower_1.set_colors(r, y, g, b, w)

Parameter

Beskrivning

r

Tillstånd för det röda ljuset:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

y

Tillstånd för den gula lampan:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

g

Status för grönt ljus:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

b

Status för det blå ljuset:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

v

Tillstånd för det vita ljuset:

  • SignalTower.ON
  • SignalTower.OFF
  • SignalTower.BLINK — Lamporna blinkar på och av.

# Turn on all LEDs
signal_tower_1.set_colors(SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON, SignalTower.ON)

# Turn on just the red LED
signal_tower_1.set_colors(SignalTower.ON, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF, SignalTower.OFF)

Getters#

pressing#

pressing returnerar ett booleskt värde som anger om signaltornets stötfångare trycks ned för närvarande. Detta kan användas som ett nödstopp.

  • True — Signaltornets stötfångare trycks just nu.

  • False — Signaltornets stötfångare trycks inte in.

Usage:
signal_tower_1.pressing()

Återuppringningar#

pressed#

pressed registrerar en funktion som ska anropas när signaltornets stötfångare trycks ned.

Den här metoden returnerar en instans av klassen Event.

Usage:
signal_tower_1.pressed(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när signaltornets stötfångare trycks ned.

arg

Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Funktioner med parametrar för mer information.

# Define a function tower_button_pressed()
def tower_button_pressed():
    # Print that the Signal Tower's button was pressed
    # to the Brain's screen.
    brain.screen.print("button pressed")

# Run tower_button_pressed when the Signal Tower's
# button is pressed.
signal_tower_1.pressed(tower_button_pressed)

released#

released registrerar en funktion som ska anropas när signaltornets stötfångare släpps.

Den här metoden returnerar en instans av klassen Event.

Usage:
signal_tower_1.released(callback, arg)

Parametrar

Beskrivning

callback

En tidigare definierad funktion som körs när signaltornets stötfångare släpps.

arg

Valfritt. En tupel som innehåller argument som ska skickas till callback-funktionen. Se Funktioner med parametrar för mer information.

# Define a function tower_button_released()
def tower_button_released():
    # Print that the Signal Tower's button was released
    # to the Brain's screen.
    brain.screen.print("button released")

# Run tower_button_released when the Signal Tower's
# button is released.
signal_tower_1.released(tower_button_released)

Konstruktörer#

SignalTower#

SignalTower skapar ett signaltorn.

SignalTower(smartport)

Parameter

Beskrivning

smartport

Den smarta porten som signaltornet är anslutet till, skriven som Ports.PORTx där x är portens nummer.

# Construct a Signal Tower "signal_tower_1" with the
# SignalTower class
signal_tower_1 = SignalTower(Ports.PORT1)