crystal-patlite

Crystal library for controlling PATLITE signal towers by using PHN commands.

Patlite for Crystal

Crystal library for controlling PATLITE signal towers by using PHN commands.

Installation

Add this to your application's shard.yml:

dependencies:
  patlite:
    github: arcage/crystal-patlite

Usage

require "patlite"

patlite_host = "192.168.0.100"
patlite_port = 10000

# initialize host(ip) and port for a signal tower
patlite = Patlite::PHN.new(patlite_host, patlite_port)

# set signal tower statuses
#
# You can set:
# - Light setting: `{{COLOR}}_{{PATTERN}}`
#
#    - `{{COLOR}}`   = red / yellow / green
#    - `{{PATTERN}}` = off / on / flash
#
# - Beep setting: `beep_{{PATTERN}}`
#
#    - `{{PATTERN}}` = off / short / long
patlite.set do
  red_on
  beep_long
end

# get signal tower statuses
status = patlite.status
status.red          #=> Patlite::PHN::Status::Light::ON
status.beep_short?  #=> false
puts status
#=> "RED:on / YELLOW:off / GREEN:off / BEEP:long"

sleep(2)

# add signal tower statuses to current settings
patlite.add do
  green_flash
  beep_off
end

puts patlite.status
#=> "RED:on / YELLOW:off / GREEN:flash / BEEP:off"

sleep(2)

# turn off all lights and beep
patlite.clear

puts patlite.status
#=> "RED:off / YELLOW:off / GREEN:off / BEEP:off"

Contributors

  • arcage ʕ·ᴥ·ʔAKJ - creator, maintainer
Repository

crystal-patlite

Owner
Statistic
  • 1
  • 0
  • 0
  • 0
  • 0
  • over 7 years ago
  • November 25, 2016
License

MIT License

Links
Synced at

Mon, 16 Sep 2024 17:56:10 GMT

Languages