module LD220::Mode::UTC
Constants
- ENHANCED_PREAMBLE
Public Instance Methods
clear()
click to toggle source
# File lib/ld220/mode/utc.rb, line 8 def clear write "\x1f" end
cursor(enabled)
click to toggle source
# File lib/ld220/mode/utc.rb, line 18 def cursor(enabled) write enabled ? "\x13" : "\x14" end
enhanced_cmd() { || ... }
click to toggle source
# File lib/ld220/mode/utc.rb, line 49 def enhanced_cmd enhanced_mode yield standard_mode end
enhanced_mode()
click to toggle source
# File lib/ld220/mode/utc.rb, line 55 def enhanced_mode write "\x1b\x64" end
move_cursor_to(pos)
click to toggle source
# File lib/ld220/mode/utc.rb, line 22 def move_cursor_to(pos) raise ArgumentError, "Position must be between 0 and 39" unless (0..39).include? pos write "\x10#{pos.chr}" end
reset()
click to toggle source
# File lib/ld220/mode/utc.rb, line 12 def reset standard_mode move_cursor_to 0 clear end
scroll_msg(msg)
click to toggle source
# File lib/ld220/mode/utc.rb, line 27 def scroll_msg(msg) msg = msg.to_s # Messages longer than 45 chars are accepted, but truncated raise ArgumentError, "Message must be 45 or fewer characters" if msg.length > 45 enhanced_cmd { write "#{ENHANCED_PREAMBLE}\x44#{msg}\x0d" } end
scroll_once(msg)
click to toggle source
# File lib/ld220/mode/utc.rb, line 34 def scroll_once(msg) enhanced_cmd { write "#{ENHANCED_PREAMBLE}\x46#{msg}\x0d" } end
show_time(time = Time.now)
click to toggle source
# File lib/ld220/mode/utc.rb, line 45 def show_time(time = Time.now) enhanced_cmd { write "#{ENHANCED_PREAMBLE}\x45#{time.strftime "%H:%M"}\x0d" } end
standard_mode()
click to toggle source
# File lib/ld220/mode/utc.rb, line 59 def standard_mode write "\x1b\x0f\x0d" end
stop_scroll()
click to toggle source
# File lib/ld220/mode/utc.rb, line 38 def stop_scroll # There is no documented way to stop an infinite scroll. # However, using "scroll once" with an empty value gets us close scroll_once '' reset end