Skip to content

Commit 0c4b278

Browse files
committed
Add show_char and show_message
Added 5x8 pixel font, `show_char()` and `show_message()` functions, removed `sticktask()`. Removed deprecations from `LED` module
1 parent 9827529 commit 0c4b278

File tree

4 files changed

+156
-35
lines changed

4 files changed

+156
-35
lines changed

src/SenseHat.jl

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ __precompile__()
22
module SenseHat
33

44
export led_matrix, RGB565, led_clear,
5-
Stick, StickEvent, sticktask, readstick,
5+
show_char, show_message,
6+
Stick, StickEvent, readstick,
67
pressure, temperature, humidity
78

89

@@ -18,4 +19,7 @@ using .Stick
1819
include("sensors.jl")
1920
using .Sensors
2021

22+
include("text.jl")
23+
using .Text
24+
2125
end # module

src/led.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@ end
3030

3131

3232

33-
typealias U5 UFixed{UInt8,5}
34-
typealias U6 UFixed{UInt8,6}
33+
const U5 = Normed{UInt8,5}
34+
const U6 = Normed{UInt8,6}
3535

36-
immutable RGB565 <: AbstractRGB{U8}
36+
immutable RGB565 <: AbstractRGB{Normed{UInt8, 8}}
3737
data::UInt16
3838
end
3939

src/stick.jl

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module Stick
22

3-
export StickEvent, readstick, sticktask
3+
export StickEvent, readstick
44

55
function _stick_input_device()
66
try
@@ -83,34 +83,4 @@ function readstick()
8383
end
8484
end
8585

86-
"""
87-
sticktask()
88-
89-
This is a `Task` that produces `StickEvent`s when the joystick on the Sense HAT is
90-
manipulated. It will block until new `StickEvent`s occur.
91-
92-
A typical usage will be to create a new task which will call this asynchronously, e.g. the
93-
following will call the function `f(::StickEvent)` for each event:
94-
95-
```
96-
@schedule for e in sticktask()
97-
f(e)
98-
end
99-
```
100-
101-
"""
102-
function sticktask()
103-
@task open(STICK_INPUT_DEVICE) do dev
104-
fddev = RawFD(fd(dev))
105-
while true
106-
wait(fddev, readable=true)
107-
s = read(dev, StickEventRaw)
108-
if s.ev_type == EV_KEY
109-
produce(StickEvent(s))
110-
end
111-
end
112-
end
113-
end
114-
115-
11686
end # module

src/text.jl

Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
module Text
2+
3+
import SenseHat.LED: RGB565, led_matrix, led_clear
4+
5+
export show_char, show_message
6+
7+
"""
8+
show_char(c::Char, color::RGB565 = RGB565(1.0,1.0,1.0))
9+
10+
Display a single character `c` on the `Sense-Hat` LED Matrix.
11+
"""
12+
function show_char(c::Char, color::RGB565 = RGB565(1.0,1.0,1.0))
13+
led_clear()
14+
if haskey(font, c)
15+
convert(::Type{RGB565}, x::Bool) = x ? color : RGB565(0.0,0.0,0.0)
16+
img = hcat(font[c], Bool.(zeros(8, 3)))
17+
img = convert.(RGB565, img)
18+
led_matrix()[:] = permutedims(img, (2,1))
19+
else
20+
error("Character font for $c not available \n")
21+
end
22+
return
23+
end
24+
25+
26+
"""
27+
show_message(s::String, speed::Real = 0.2, color::RGB565 = RGB565(1.0,1.0,1.0))
28+
29+
Display a scrolling message `s` on the `Sense-Hat` LED Matrix. `speed` is the time in seconds per frame.
30+
"""
31+
function show_message(s::String, speed::Real = 0.33, color::RGB565 = RGB565(1.0,1.0,1.0))
32+
for c in s
33+
if haskey(font, c) == false
34+
error("Character font for $c not available \n")
35+
return
36+
end
37+
end
38+
convert(::Type{RGB565}, x::Bool) = x ? color : RGB565(0.0,0.0,0.0)
39+
led_clear()
40+
img = Array{Bool}(8, 16+5*length(s))
41+
img[1:8,1:8] = Bool.(zeros(8,8))
42+
img[1:8,(8+5*length(s)):(15+5*length(s))] = Bool.(zeros(8,8))
43+
for i in 1:length(s)
44+
img[1:8, (4 + 5*i):(5*i+8)] = font[s[i]]
45+
end
46+
for i in 1:(size(img)[2] - 8)
47+
frame = convert.(RGB565, img[1:8, i:(i+7)])
48+
led_matrix()[:] = permutedims(frame, (2,1))
49+
sleep(speed)
50+
end
51+
led_clear()
52+
return
53+
end
54+
55+
font = Dict(' ' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]),
56+
'+' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 1 1 1 1 1 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 0 0 0 ; ]),
57+
'-' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]),
58+
'*' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 1 0 0 ; 1 0 1 0 1 ; 0 1 1 1 0 ; 1 0 1 0 1 ; 0 0 1 0 0 ; 0 0 0 0 0 ; ]),
59+
'/' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 0 0 0 0 ; 0 0 0 0 0 ; ]),
60+
'!' => Bool.([0 0 0 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 0 0 0 ; 0 0 1 0 0 ; ]),
61+
'"' => Bool.([0 0 0 0 0 ; 0 1 0 1 0 ; 0 1 0 1 0 ; 0 1 0 1 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]),
62+
'#' => Bool.([0 0 0 0 0 ; 0 1 0 1 0 ; 0 1 0 1 0 ; 1 1 1 1 1 ; 0 1 0 1 0 ; 1 1 1 1 1 ; 0 1 0 1 0 ; 0 1 0 1 0 ; ]),
63+
'$' => Bool.([0 0 0 0 0 ; 0 0 1 0 0 ; 0 1 1 1 1 ; 1 0 1 0 0 ; 0 1 1 1 0 ; 0 0 1 0 1 ; 1 1 1 1 0 ; 0 0 1 0 0 ; ]),
64+
'>' => Bool.([0 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; ]),
65+
'<' => Bool.([0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; ]),
66+
'0' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 1 1 ; 1 0 1 0 1 ; 1 1 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
67+
'1' => Bool.([0 0 0 0 0 ; 0 0 1 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 1 1 1 0 ; ]),
68+
'2' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 1 1 1 1 ; ]),
69+
'3' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
70+
'4' => Bool.([0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 1 1 0 ; 0 1 0 1 0 ; 1 0 0 1 0 ; 1 1 1 1 1 ; 0 0 0 1 0 ; 0 0 0 1 0 ; ]),
71+
'5' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 1 0 0 0 0 ; 1 1 1 1 0 ; 0 0 0 0 1 ; 0 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
72+
'6' => Bool.([0 0 0 0 0 ; 0 0 1 1 0 ; 0 1 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
73+
'7' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; ]),
74+
'8' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
75+
'9' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 1 1 0 0 ; ]),
76+
'.' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 1 1 0 0 ; ]),
77+
'=' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]),
78+
')' => Bool.([0 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; ]),
79+
'(' => Bool.([0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; ]),
80+
'A' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
81+
'B' => Bool.([0 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 0 ; ]),
82+
'C' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
83+
'D' => Bool.([0 0 0 0 0 ; 1 1 1 0 0 ; 1 0 0 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 1 0 ; 1 1 1 0 0 ; ]),
84+
'E' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 1 ; ]),
85+
'F' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; ]),
86+
'G' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 0 ; 1 0 1 1 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; ]),
87+
'H' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
88+
'I' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 1 1 1 0 ; ]),
89+
'J' => Bool.([0 0 0 0 0 ; 0 0 1 1 1 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 1 0 0 1 0 ; 0 1 1 0 0 ; ]),
90+
'K' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 1 0 ; 1 0 1 0 0 ; 1 1 0 0 0 ; 1 0 1 0 0 ; 1 0 0 1 0 ; 1 0 0 0 1 ; ]),
91+
'L' => Bool.([0 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 1 ; ]),
92+
'M' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 1 0 1 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
93+
'N' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 0 0 1 ; 1 0 1 0 1 ; 1 0 0 1 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
94+
'O' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
95+
'P' => Bool.([0 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; ]),
96+
'Q' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 1 0 1 ; 1 0 0 1 0 ; 0 1 1 0 1 ; ]),
97+
'R' => Bool.([0 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 1 1 1 0 ; 1 0 1 0 0 ; 1 0 0 1 0 ; 1 0 0 0 1 ; ]),
98+
'S' => Bool.([0 0 0 0 0 ; 0 1 1 1 1 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 0 1 1 1 0 ; 0 0 0 0 1 ; 0 0 0 0 1 ; 1 1 1 1 0 ; ]),
99+
'T' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; ]),
100+
'U' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
101+
'V' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 0 1 0 ; 0 0 1 0 0 ; ]),
102+
'W' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 1 1 0 1 1 ; 1 0 0 0 1 ; ]),
103+
'X' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 0 1 0 ; 0 0 1 0 0 ; 0 1 0 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
104+
'Y' => Bool.([0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 0 1 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; ]),
105+
'Z' => Bool.([0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 0 0 0 0 ; 1 1 1 1 1 ; ]),
106+
'a' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 0 ; 0 0 0 0 1 ; 0 1 1 1 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; ]),
107+
'b' => Bool.([0 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 1 1 0 ; 1 1 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
108+
'c' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
109+
'd' => Bool.([0 0 0 0 0 ; 0 0 0 0 1 ; 0 0 0 0 1 ; 0 1 1 0 1 ; 1 0 0 1 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; ]),
110+
'e' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 1 1 1 1 ; 1 0 0 0 0 ; 0 1 1 1 0 ; ]),
111+
'f' => Bool.([0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 1 0 1 ; 0 0 1 0 0 ; 0 1 1 1 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; ]),
112+
'g' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; 0 0 0 0 1 ; 0 1 1 1 0 ; ]),
113+
'h' => Bool.([0 0 0 0 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; 1 0 1 1 0 ; 1 1 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
114+
'i' => Bool.([0 0 0 0 0 ; 0 0 1 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 1 1 1 0 ; ]),
115+
'j' => Bool.([0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 0 0 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 1 0 0 1 0 ; 0 1 1 0 0 ; ]),
116+
'k' => Bool.([0 0 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 1 ; 0 1 0 1 0 ; 0 1 1 0 0 ; 0 1 0 1 0 ; 0 1 0 0 1 ; ]),
117+
'l' => Bool.([0 0 0 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 1 1 1 0 ; ]),
118+
'm' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 0 1 0 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; ]),
119+
'n' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 1 1 0 ; 1 1 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; ]),
120+
'o' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 1 1 0 ; ]),
121+
'p' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 1 1 0 ; 1 0 0 0 1 ; 1 1 1 1 0 ; 1 0 0 0 0 ; 1 0 0 0 0 ; ]),
122+
'q' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 1 ; 1 0 0 0 1 ; 0 1 1 1 1 ; 0 0 0 0 1 ; 0 0 0 0 1 ; ]),
123+
'r' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 0 1 1 ; 0 1 1 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; ]),
124+
's' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 1 1 ; 1 0 0 0 0 ; 0 1 1 1 0 ; 0 0 0 0 1 ; 1 1 1 1 0 ; ]),
125+
't' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 1 0 0 ; 0 1 1 1 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 1 ; 0 0 0 1 0 ; ]),
126+
'u' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 1 1 ; 0 1 1 0 1 ; ]),
127+
'v' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 0 1 0 1 0 ; 0 0 1 0 0 ; ]),
128+
'w' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 0 0 1 ; 1 0 0 0 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 0 1 0 1 0 ; ]),
129+
'x' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 0 0 1 ; 0 0 1 1 0 ; 0 0 1 0 0 ; 0 1 1 0 0 ; 1 0 0 1 1 ; ]),
130+
'y' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 0 0 1 ; 0 1 0 0 1 ; 0 0 1 1 0 ; 0 0 1 0 0 ; 1 1 0 0 0 ; ]),
131+
'z' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 1 1 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 1 1 1 1 ; ]),
132+
'?' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 0 0 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 0 0 0 0 ; 0 0 1 0 0 ; ]),
133+
',' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; ]),
134+
';' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 1 1 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; ]),
135+
':' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 1 1 0 0 ; 0 0 0 0 0 ; 0 1 1 0 0 ; 0 1 1 0 0 ; 0 0 0 0 0 ; ]),
136+
'|' => Bool.([0 0 0 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; 0 0 1 0 0 ; ]),
137+
'@' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 1 0 0 0 1 ; 0 0 0 0 1 ; 0 1 1 0 1 ; 1 0 1 0 1 ; 1 0 1 0 1 ; 0 1 1 1 0 ; ]),
138+
'%' => Bool.([0 0 0 0 0 ; 1 1 0 0 0 ; 1 1 0 0 1 ; 0 0 0 1 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 1 0 0 1 1 ; 0 0 0 1 1 ; ]),
139+
'[' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 0 0 0 ; 0 1 1 1 0 ; ]),
140+
'&' => Bool.([0 0 0 0 0 ; 0 1 1 0 0 ; 1 0 0 1 0 ; 1 0 1 0 0 ; 0 1 0 0 0 ; 1 0 1 0 1 ; 1 0 0 1 0 ; 0 1 1 0 1 ; ]),
141+
'_' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 1 1 1 1 1 ; ]),
142+
'\'' => Bool.([0 0 0 0 0 ; 0 1 1 0 0 ; 0 0 1 0 0 ; 0 1 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]),
143+
']' => Bool.([0 0 0 0 0 ; 0 1 1 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 0 0 1 0 ; 0 1 1 1 0 ; ]),
144+
'\\' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 1 0 0 0 0 ; 0 1 0 0 0 ; 0 0 1 0 0 ; 0 0 0 1 0 ; 0 0 0 0 1 ; 0 0 0 0 0 ; ]),
145+
'~' => Bool.([0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 1 1 0 1 ; 1 0 1 1 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; 0 0 0 0 0 ; ]));
146+
147+
end #module

0 commit comments

Comments
 (0)