Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data CATConfig = CATConfig {}
- defaultConfig :: CATConfig
- data CATState = CATState {}
- defaultState :: CATState
- data CATError = CATError CATErrorType Text
- data CATErrorType
- newtype CAT m a = CAT {}
- throwCAT :: Monad m => CATError -> CAT m a
- catchCAT :: Monad m => CAT m a -> (CATError -> CAT m a) -> CAT m a
- runCAT :: MonadIO m => CATConfig -> CATState -> CAT m a -> m (Either CATError (a, [Text]))
- catInit :: MonadIO m => CAT m ()
- catDeinit :: MonadIO m => CAT m ()
- catFrequency :: MonadIO m => CAT m (Maybe Frequency)
- catMode :: MonadIO m => CAT m (Maybe QsoMode)
- catPowerSSB :: MonadIO m => CAT m (Maybe Int)
- catSetPowerSSB :: MonadIO m => Int -> CAT m ()
- module Ham.CAT.SerialCAT
- module Ham.CAT.YaesuFT891
- module Ham.CAT.ElecraftKX2
Documentation
Configuration for the CAT monad.
CATConfig | |
|
Instances
Show CATConfig Source # | |
Generic CATConfig Source # | |
ToJSON CATConfig Source # | |
Defined in Ham.Internal.CAT | |
FromJSON CATConfig Source # | |
type Rep CATConfig Source # | |
Defined in Ham.Internal.CAT type Rep CATConfig = D1 (MetaData "CATConfig" "Ham.Internal.CAT" "ham-0.1.0.0-8Jb3s78JRYM4BaePNf8wNc" False) (C1 (MetaCons "CATConfig" PrefixI True) (S1 (MetaSel (Just "catPort") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 String) :*: (S1 (MetaSel (Just "catRadio") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Radio) :*: S1 (MetaSel (Just "catSerialSettings") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SerialPortSettings)))) |
defaultConfig :: CATConfig Source #
Default configuration. Note this assumes port and radio, so you will want to adjust it.
State type for the CAT monad.
CATState | |
|
defaultState :: CATState Source #
Default state. Note that this sets the SerialCAT to a default implementation. You will want to change that.
data CATErrorType Source #
Instances
Show CATErrorType Source # | |
Defined in Ham.Internal.CAT showsPrec :: Int -> CATErrorType -> ShowS # show :: CATErrorType -> String # showList :: [CATErrorType] -> ShowS # |
The computer aided transceiver monad.
catchCAT :: Monad m => CAT m a -> (CATError -> CAT m a) -> CAT m a Source #
Catching exceptions in the Overpass
monad.
:: MonadIO m | |
=> CATConfig | |
-> CATState | State to start with. |
-> CAT m a | |
-> m (Either CATError (a, [Text])) |
Run an action in the CAT monad.
catInit :: MonadIO m => CAT m () Source #
FIXME: Add error handling. What if the radio can not be opened?
catFrequency :: MonadIO m => CAT m (Maybe Frequency) Source #
Get the current frequency from the transceiver.
module Ham.CAT.SerialCAT
module Ham.CAT.YaesuFT891
module Ham.CAT.ElecraftKX2