i2c-bus-0.1.0: i2c-bus.cabal
cabal-version: 1.12
-- This file has been generated from package.yaml by hpack version 0.39.1.
--
-- see: https://github.com/sol/hpack
name: i2c-bus
version: 0.1.0
synopsis: Typed I2C communication
description: Library for I2C communication with utilities for working with registers, etc.
.
Just import the module "I2C", and you will typically get everything you need.
.
== Features
* Connections to chips on I2C buses.
* An exception type 'I2C.Exception.I2CErr'
* A module "I2C.Raw" to perform direct write and read using 'Storable' types.
* A module "I2C.Register" to work with chips that use registers.
* Types for binary serialization between host architecture and chip hardware.
* Handy utilities through Template Haskell to define chips, registers and
(sub)fields of registers.
* Settings to control the code generation by Template Haskell.
* An API specification for backend implementations. Currently, only a
Linux backend is implemented.
category: hardware,
chip,
i2c,
raspberrypi
homepage: https://github.com/karamellpelle/i2c-bus
bug-reports: https://github.com/karamellpelle/i2c-bus/issues
author: karamellpelle@hotmail.com
maintainer: karamellpelle@hotmail.com
copyright: karamellpelle@hotmail.com
license: MIT
license-file: LICENSE
build-type: Simple
extra-source-files:
README.md
CHANGELOG.md
cbits/foreign.h
tests/GHCI.hs
tests/ssd1306/haskell-128x32.gif
source-repository head
type: git
location: https://github.com/karamellpelle/i2c-bus
library
exposed-modules:
I2C.Chip
I2C.Exception
I2C.Internal
I2C.Types
I2C.Raw
I2C.Register
I2C.TH
I2C
other-modules:
Paths_i2c_bus
hs-source-dirs:
source-lib
default-extensions:
NoImplicitPrelude
OverloadedStrings
other-extensions:
CPP
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wprepositive-qualified-module -Wno-name-shadowing -Wno-unused-top-binds -Wno-unused-matches -Wno-unused-imports
cpp-options: -DARCH_IS_UNKNOWN -DINTERNAL_USE_EMPTY
build-depends:
base >=4.20 && <4.23
, data-default ==0.8.*
, relude ==1.2.*
, template-haskell >=2.22 && <2.25
default-language: GHC2024
if os( linux )
cpp-options: -UINTERNAL_USE_EMPTY -DINTERNAL_USE_LINUX
if arch( aarch64 ) || arch( i386 ) || arch( x86_64 )
cpp-options: -UARCH_IS_UNKNOWN -DARCH_IS_LITTLE_ENDIAN
if os(linux)
exposed-modules:
I2C.Internal.Linux
include-dirs:
/usr/include
cbits
c-sources:
cbits/foreign.c
build-depends:
unix ==2.8.*
test-suite ssd1306
type: exitcode-stdio-1.0
main-is: Main.hs
other-modules:
SSD1306
Paths_i2c_bus
hs-source-dirs:
tests/ssd1306/
default-extensions:
NoImplicitPrelude
OverloadedStrings
ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wmissing-home-modules -Wpartial-fields -Wredundant-constraints -Wprepositive-qualified-module -Wno-name-shadowing -Wno-unused-top-binds -Wno-unused-matches -Wno-unused-imports -threaded -rtsopts -with-rtsopts "-N -T"
cpp-options: -DARCH_IS_UNKNOWN -DINTERNAL_USE_EMPTY
build-depends:
JuicyPixels >=3.3.7 && <3.4
, base >=4.20 && <4.23
, data-default ==0.8.*
, i2c-bus
, relude ==1.2.*
, template-haskell >=2.22 && <2.25
default-language: GHC2024
if os( linux )
cpp-options: -UINTERNAL_USE_EMPTY -DINTERNAL_USE_LINUX
if arch( aarch64 ) || arch( i386 ) || arch( x86_64 )
cpp-options: -UARCH_IS_UNKNOWN -DARCH_IS_LITTLE_ENDIAN