module LibBladeRF.Gain (
bladeRFSetTXVGA2
, bladeRFGetTXVGA2
, bladeRFSetTXVGA1
, bladeRFGetTXVGA1
, bladeRFSetRXVGA2
, bladeRFGetRXVGA2
, bladeRFSetRXVGA1
, bladeRFGetRXVGA1
, bladeRFSetLNAGain
, bladeRFGetLNAGain
, bladeRFSetGain
) where
import Foreign
import Foreign.C.Types
import Foreign.C.String
import Bindings.LibBladeRF
import LibBladeRF.LibBladeRF
import LibBladeRF.Types
bladeRFSetTXVGA2 :: DeviceHandle
-> Int
-> IO ()
bladeRFSetTXVGA2 dev g = do
c'bladerf_set_txvga2 (unDeviceHandle dev) (fromIntegral g)
return ()
bladeRFGetTXVGA2 :: DeviceHandle
-> IO Int
bladeRFGetTXVGA2 dev = do
p <- malloc :: IO (Ptr CInt)
c'bladerf_get_txvga2 (unDeviceHandle dev) p
g <- peek p
free p
return $ fromIntegral g
bladeRFSetTXVGA1 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO ()
bladeRFSetTXVGA1 dev g = do
c'bladerf_set_txvga1 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return ()
bladeRFGetTXVGA1 :: DeviceHandle
-> IO Int
bladeRFGetTXVGA1 dev = do
p <- malloc :: IO (Ptr CInt)
c'bladerf_get_txvga1 (unDeviceHandle dev) p
g <- peek p
free p
return $ fromIntegral g
bladeRFSetRXVGA2 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO ()
bladeRFSetRXVGA2 dev g = do
c'bladerf_set_rxvga2 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return ()
bladeRFGetRXVGA2 :: DeviceHandle
-> IO Int
bladeRFGetRXVGA2 dev = do
p <- malloc :: IO (Ptr CInt)
c'bladerf_get_rxvga2 (unDeviceHandle dev) p
g <- peek p
free p
return $ fromIntegral g
bladeRFSetRXVGA1 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO ()
bladeRFSetRXVGA1 dev g = do
c'bladerf_set_rxvga1 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return ()
bladeRFGetRXVGA1 :: DeviceHandle
-> IO Int
bladeRFGetRXVGA1 dev = do
p <- malloc :: IO (Ptr CInt)
c'bladerf_get_rxvga1 (unDeviceHandle dev) p
g <- peek p
free p
return $ fromIntegral g
bladeRFSetLNAGain :: DeviceHandle
-> BladeRFLNAGain
-> IO ()
bladeRFSetLNAGain dev g = do
c'bladerf_set_lna_gain (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return ()
bladeRFGetLNAGain :: DeviceHandle
-> IO BladeRFLNAGain
bladeRFGetLNAGain dev = do
p <- malloc :: IO (Ptr C'bladerf_lna_gain)
c'bladerf_get_lna_gain (unDeviceHandle dev) p
g <- peek p
free p
return $ (toEnum . fromIntegral) g
bladeRFSetGain :: DeviceHandle
-> BladeRFModule
-> Int
-> IO ()
bladeRFSetGain dev m g = do
c'bladerf_set_gain (unDeviceHandle dev) ((fromIntegral . fromEnum) m) (fromIntegral g)
return ()