-
Notifications
You must be signed in to change notification settings - Fork 5
/
UTFTConverter.cabal
171 lines (156 loc) · 4.93 KB
/
UTFTConverter.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
name: UTFTConverter
category: Graphics, Text
version: 0.1.0.1
x-revision: 6
license: MIT
cabal-version: >=1.10
license-file: LICENSE
author: Alexander Isenko
maintainer: Alexander Isenko <alex.isenko@protonmail.com>
homepage: http://github.com/cirquit/UTFTConverter
bug-reports: http://github.com/cirquit/UTFTConverter/issues
build-type: Simple
synopsis: Processing popular picture formats into .c or .raw format in RGB565
description:
/About:/
.
This package was created because I could not find a tool that can be used on UNIX systems to
parse a picture into an array of 'RGB565' values and save them to a '.c' or '.raw' file. Both formats
are used by the <http://www.rinkydinkelectronics.com/library.php?id=51 UTFT library> to display pictures on to a TFT display.
.
This package includes, but not limited to, an executable which is made to be as identical as possible
to the corresponding tool that is also downloaded with the <http://www.rinkydinkelectronics.com/library.php?id=51 UTFT library>.
.
.
/Usage:/
.
> ./UTFTConverter <filespec> /c|r [/o <path>] [/t AVR|ARM|PIC32]
>
> <filespec>: File(s) to convert
> parameters: /c - Create output as .c array files
> /r - Create output as .raw files
> /o <path> - Set the output directory to <path>
> /t <platform> - Select target plaform
> AVR : Most Arduinos, Bobuion
> ARM : Arduino Due, Teensy, TI CC3200 LaunchPad
> PIC32 : All chipKit boards
>
> You must specify either /c or /r. All other parameters are optional.
> If /o is ommited the current directory will be used for output.
> If /t is ommited the target platform will be set to AVR.'
.
.
/Supported formats:/
.
The binary tests if the pictures are encoded correctly via magic bytes using <http://hackage.haskell.org/package/image-type ImageType>. If the extention is wrong, but the encoding is correct, it will still try to convert the picture.
.
The exported library is using <http://hackage.haskell.org/package/JuicyPixels JuicyPixels> to convert incoming
.
* '.gif'
.
* '.png'
.
* '.jpg' \/\ '.jpe' \/\ '.jpeg'
.
* '.bmp'
.
* '.tga'
.
and translates every pixel to a 'RGB565' format, which is a 4 digit hex number.
.
.
/Library:/
.
The only really reusable library is the 'Format.RGB565'.
It support the conversion from
.
* 'RGB' to 'RGB565' as ('Word8', 'Word8', 'Word8') -> 'Int'
.
* 'Int' to 'Hex' as 'Int' -> 'String'
.
.
/Example usage:/
.
> >>> toRGB565 (0, 0, 255)
> 31
.
> >>> toRGB565Hex (0, 0, 255)
> "001F"
.
> >>> toHex 100
> 64
.
> >>> toNHex 6 100
> "0064"
extra-source-files:
Makefile
README.md
source-repository head
type: git
location: git://github.com/cirquit/UTFTConverter.git
-- _______________________
--| |
--| Library configuration |
--|_______________________|
library
build-depends:
base >=4.7 && <4.9 ,
filepath >=1.3 && <1.5 ,
directory >=1.2 && <1.3 ,
time >=1.4 && <1.6 ,
image-type >=0.1.0.0 ,
bytestring >=0.10 && <0.11 ,
JuicyPixels >=3.2 && <3.3
exposed-modules:
Format ,
Format.C ,
Format.Converter ,
Format.Raw ,
Format.RGB565
other-extensions:
BangPatterns ,
TypeSynonymInstances
hs-source-dirs: src
default-language: Haskell2010
-- __________________________
--| |
--| Executable configuration |
--|__________________________|
executable UTFTConverter
build-depends:
base >=4.7 && <4.9 ,
filepath >=1.3 && <1.5 ,
directory >=1.2 && <1.3 ,
time >=1.4 && <1.6 ,
bytestring >=0.10 && <0.11 ,
JuicyPixels >=3.2 && <3.3 ,
UTFTConverter ==0.1.*
other-extensions:
BangPatterns ,
TypeSynonymInstances
main-is: Main.hs
hs-source-dirs: main-src
default-language: Haskell2010
ghc-options: -Wall -O2
-- __________________________
--| |
--| Test suite configuration |
--|__________________________|
test-suite lib-tests
build-depends:
base >=4.7 && <4.9 ,
filepath >=1.3 && <1.5 ,
directory >=1.2 && <1.3 ,
time >=1.4 && <1.6 ,
bytestring >=0.10 && <0.11 ,
JuicyPixels >=3.2 && <3.3 ,
hspec ==2.1.* ,
UTFTConverter ==0.1.*
other-extensions:
BangPatterns ,
TypeSynonymInstances
main-is: Tests.hs
hs-source-dirs: tests
default-language: Haskell2010
ghc-options: -Wall -O2
type: exitcode-stdio-1.0