UTFTConverter-0.1.0.1: UTFTConverter.cabal
name: UTFTConverter
category: Graphics, Text
version: 0.1.0.1
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