-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Bindings to librtlsdr -- -- Bindings to librtlsdr. Turns your Realtek RTL2832 based DVB dongle -- into a SDR receiver. -- -- For more information see: -- http://sdr.osmocom.org/trac/wiki/rtl-sdr -- -- This library is a straightforward wrapper around the C library -- functions. See the C library documentation: -- https://github.com/steve-m/librtlsdr/blob/master/include/rtl-sdr.h @package rtlsdr @version 0.1.0.3 -- | This library is a straightforward wrapper around the C library -- functions. See the C library documentation: -- https://github.com/steve-m/librtlsdr/blob/master/include/rtl-sdr.h -- -- Example usage: -- --
-- import Data.List -- import Foreign.Marshal.Array -- import RTLSDR -- -- bufSize = 16384 -- sampleRate = 1280000 -- frequency = 90200000 -- -- main = do -- dev <- open 0 -- case dev of -- Nothing -> putStrLn "Error opening device" -- Just dev -> do -- setSampleRate dev sampleRate -- setCenterFreq dev frequency -- setTunerGainMode dev False -- resetBuffer dev -- allocaArray bufSize $ \ptr -> do -- res <- readSync dev ptr bufSize -- case res of -- False -> putStrLn "Error reading from device" -- True -> do -- res <- peekArray bufSize ptr -- putStrLn $ intercalate " " $ map show res --module RTLSDR getDeviceCount :: IO Word32 getDeviceName :: Word32 -> IO String getDeviceUSBString :: Word32 -> IO (Maybe (String, String, String)) data GIBSError NameNull :: GIBSError NoDevices :: GIBSError NoMatching :: GIBSError getIndexBySerial :: String -> IO (Either GIBSError Int) data RTLSDR open :: Word32 -> IO (Maybe RTLSDR) close :: RTLSDR -> IO () setXtalFreq :: RTLSDR -> Word32 -> Word32 -> IO Bool getXtalFreq :: RTLSDR -> IO (Maybe (Word32, Word32)) getUSBStrings :: RTLSDR -> IO (Maybe (String, String, String)) data EEPROMError InvalidHandle :: EEPROMError SizeExceeded :: EEPROMError NoEEPROM :: EEPROMError writeEEPROM :: RTLSDR -> [Word8] -> Int -> IO (Maybe EEPROMError) readEEPROM :: RTLSDR -> Int -> Int -> IO (Either EEPROMError [Word8]) setCenterFreq :: RTLSDR -> Word32 -> IO Bool getCenterFreq :: RTLSDR -> IO (Maybe Word32) setFreqCorrection :: RTLSDR -> Int32 -> IO Bool getFreqCorrection :: RTLSDR -> IO Int32 data Tuner RtlsdrTunerUnknown :: Tuner RtlsdrTunerE4000 :: Tuner RtlsdrTunerFc0012 :: Tuner RtlsdrTunerFc0013 :: Tuner RtlsdrTunerFc2580 :: Tuner RtlsdrTunerR820t :: Tuner RtlsdrTunerR828d :: Tuner getTunerType :: RTLSDR -> IO Tuner getTunerGains :: RTLSDR -> IO (Maybe [Int]) setTunerGain :: RTLSDR -> Int32 -> IO Bool getTunerGain :: RTLSDR -> IO (Maybe Int32) setTunerIFGain :: RTLSDR -> Int -> Int -> IO Bool setTunerGainMode :: RTLSDR -> Bool -> IO Bool setSampleRate :: RTLSDR -> Word32 -> IO Bool getSampleRate :: RTLSDR -> IO (Maybe Word32) setTestMode :: RTLSDR -> Bool -> IO Bool setAGCMode :: RTLSDR -> Bool -> IO Bool data DirectSamplingMode DSDisabled :: DirectSamplingMode DSI :: DirectSamplingMode DSQ :: DirectSamplingMode setDirectSampling :: RTLSDR -> DirectSamplingMode -> IO Bool getDirectSampling :: RTLSDR -> IO (Maybe DirectSamplingMode) setOffsetTuning :: RTLSDR -> Bool -> IO Bool getOffsetTuning :: RTLSDR -> IO (Maybe Bool) resetBuffer :: RTLSDR -> IO Int readSync :: RTLSDR -> Ptr CUChar -> Int -> IO Bool type ReadCallback = Ptr CUChar -> Word32 -> Ptr CInt -> IO () readAsync :: RTLSDR -> Word32 -> Word32 -> (Ptr CUChar -> Int -> IO ()) -> IO Bool cancelAsync :: RTLSDR -> IO Bool instance Show GIBSError instance Show EEPROMError instance Show Tuner instance Eq Tuner instance Enum DirectSamplingMode instance Show DirectSamplingMode instance Eq DirectSamplingMode instance Enum Tuner