{-# LANGUAGE DeriveGeneric #-} {-| Definitions for supported radios. -} module Ham.CAT.Radios (Radio(..) ,serialInterface ,module Ham.CAT.YaesuFT891 ,module Ham.CAT.ElecraftKX2) where import Data.Map import Ham.CAT.YaesuFT891 import Ham.CAT.ElecraftKX2 import Ham.CAT.SerialCAT import GHC.Generics -- | Identifier for each of the supported radios. -- The names are more or less self-explanatory. data Radio = YaesuFT891 | ElecraftK3 -- ^ This includes K3, KX2, KX3. deriving (Show, Generic, Ord, Eq) -- | Map from radio identifiers to serial interfaces. -- This is used e.g. when reading a radio identifier from a configuration file, -- to instantiate the correct `SerialCAT'. serialInterface :: Map Radio SerialCAT serialInterface = fromList [(YaesuFT891, yaesuFT891) ,(ElecraftK3, elecraftKX2)]