arduino-copilot-1.3.0: 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.

device :: SerialDevice Source #

Use this to communicate with the serial port, both input and output.

To output to the serial port, simply connect this to a [FormatOutput] that describes the serial output. Note that you can only do this once in a Sketch.

main = arduino $ doa
	Serial.baud 9600
	b <- input pin4
	Serial.device =:
		[ Serial.str "pin4:"
		, Serial.show b
		, Serial.char '\n'
		]

To input from the serial port, use this with input.

userinput <- input Serial.device

The resulting `Behavior Int8` will be updated on each iteration of the sketch. When there is no new serial input available, it will contain noInput.

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.showFormatted (constant (1.234 :: Float)) 2 -- "1.23"

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

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

byte :: Stream Int8 -> FormatOutput Source #

Write a byte to the serial port.

noInput :: Int8 Source #

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

class ShowableType t Source #

Minimal complete definition

showCType

Instances
ShowableType Bool Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Double Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Float Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Int8 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Int16 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Int32 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Int64 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Word8 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Word16 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Word32 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

ShowableType Word64 Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

class FormatableType t f Source #

Minimal complete definition

formatter

data Base Source #

Constructors

BIN 
OCT 
DEC 
HEX 
Instances
Show Base Source # 
Instance details

Defined in Copilot.Arduino.Library.Serial.Device

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.Device

Methods

formatter :: Proxy t -> Base -> String Source #