arduino-copilot-1.1.1: Arduino programming in haskell using the Copilot stream DSL

Safe HaskellNone
LanguageHaskell98

Copilot.Arduino.Library.Serial

Description

Serial port library for arduino-copilot.

This module is designed to be imported qualified as Serial

Synopsis

Documentation

baud :: Int -> Sketch () Source #

Configure the baud rate of the serial port.

This must be included in your sketch if it uses the serial port.

output Source #

Arguments

:: Stream Bool

This Stream controls when output is sent to the serial port.

-> [FormatOutput] 
-> Sketch () 

Output to the serial port.

Note that this can only be used once in a Sketch.

main = arduino $ do
	Serial.baud 9600
	b <- readfrom pin3
	n <- readvoltage a1
	Serial.output true
		[ Serial.str "pin3:"
		, Serial.show b
		, Serial.str " a1:"
		, Serial.show n
		, Serial.char '\n'
		]

char :: Char -> FormatOutput Source #

Use this to output a Char

str :: String -> FormatOutput Source #

Use this to output a String

show :: forall t. (ShowableType t, Typed t) => Stream t -> FormatOutput Source #

Use this to show the current value of a Stream.

Numbers will be formatted in decimal. Bool is displayed as 0 and 1.

showFormatted :: forall t f. (ShowableType t, Typed t, FormatableType t f) => Stream t -> f -> FormatOutput Source #

Show the current value of a Stream with control over the formatting.

When used with a Float, provide the number of decimal places to show.

Serial.show (constant (1.234 :: Float)) 2 -- "1.23"

When used with any Integral type, provide the Base to display it in

Serial.show (constant (78 :: Int8)) Serial.HEX -- "4E"

input :: Input Int8 Source #

Input from the serial port.

Reads one byte on each iteration of the sketch. When there is no serial input available, reads noInput.

userinput <- Serial.input

input' :: [Int8] -> Input Int8 Source #

The list is used to simulate serial input when interpreting the program.

noInput :: Int8 Source #

Value that is read from serial port when there is no input available.

class ShowableType t Source #

Minimal complete definition

showCType

class FormatableType t f Source #

Minimal complete definition

formatter

Instances
FormatableType Float Int Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial

Methods

formatter :: Proxy Float -> Int -> String

Integral t => FormatableType (t :: Type) Base Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial

Methods

formatter :: Proxy t -> Base -> String

data Base Source #

Constructors

BIN 
OCT 
DEC 
HEX 
Instances
Show Base Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial

Methods

showsPrec :: Int -> Base -> ShowS #

show :: Base -> String #

showList :: [Base] -> ShowS #

Integral t => FormatableType (t :: Type) Base Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial

Methods

formatter :: Proxy t -> Base -> String