-------------------------------------------------------------------------------
-- |
-- Module : System.Hardware.Arduino
-- Copyright : (c) Levent Erkok
-- License : BSD3
-- Maintainer : erkokl@gmail.com
-- Stability : experimental
--
-- (The hArduino library is hosted at .
-- Comments, bug reports, and patches are always welcome.)
--
-- hArduino: Control Arduino from Haskell, using the Firmata protocol.
--
-- The hArduino library allows construction of Haskell programs that control
-- Arduino boards that are running the (freely available) Firmata program. Note
-- that hArduino does /not/ allow you to run arbitrary Haskell code on the
-- Arduino! It simply allows you to control a board from Haskell, where you
-- can exchange information with the board, send/receive commands from other
-- peripherals connected, etc.
--
-- See for a short video (4m29s)
-- of the blink example.
-------------------------------------------------------------------------------
module System.Hardware.Arduino (
-- * Running the controller
withArduino, Arduino
-- * Programming the Arduino
-- ** Pins
, analog, digital, pin, Pin, PinMode(..), setPinMode
-- ** Analog input
, analogRead
-- ** Digital I/O
, digitalWrite, digitalRead
-- ** Programming with triggers
, waitFor, waitAny, waitAnyHigh, waitAnyLow
-- ** Receiving and sending pulses
, pulse, pulseIn_hostTiming, pulseOut_hostTiming
-- * Misc utilities
, setAnalogSamplingInterval, pullUpResistor, delay, time, timeOut
, queryFirmware
)
where
import System.Hardware.Arduino.Data
import System.Hardware.Arduino.Comm
import System.Hardware.Arduino.Firmata