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 (BladeRFReturnType ())
bladeRFSetTXVGA2 dev g = do
ret <- c'bladerf_set_txvga2 (unDeviceHandle dev) (fromIntegral g)
return $ bladeRFErrorTy ret
bladeRFGetTXVGA2 :: DeviceHandle
-> IO Int
bladeRFGetTXVGA2 dev = do
g <- alloca $ \p -> do
c'bladerf_get_txvga2 (unDeviceHandle dev) p
peek p
return $ fromIntegral g
bladeRFSetTXVGA1 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO (BladeRFReturnType ())
bladeRFSetTXVGA1 dev g = do
ret <- c'bladerf_set_txvga1 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return $ bladeRFErrorTy ret
bladeRFGetTXVGA1 :: DeviceHandle
-> IO Int
bladeRFGetTXVGA1 dev = do
g <- alloca $ \p -> do
c'bladerf_get_txvga1 (unDeviceHandle dev) p
peek p
return $ fromIntegral g
bladeRFSetRXVGA2 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO (BladeRFReturnType ())
bladeRFSetRXVGA2 dev g = do
ret <- c'bladerf_set_rxvga2 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return $ bladeRFErrorTy ret
bladeRFGetRXVGA2 :: DeviceHandle
-> IO Int
bladeRFGetRXVGA2 dev = do
g <- alloca $ \p -> do
c'bladerf_get_rxvga2 (unDeviceHandle dev) p
peek p
return $ fromIntegral g
bladeRFSetRXVGA1 :: DeviceHandle
-> BladeRFVGAGainBounds
-> IO (BladeRFReturnType ())
bladeRFSetRXVGA1 dev g = do
ret <- c'bladerf_set_rxvga1 (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return $ bladeRFErrorTy ret
bladeRFGetRXVGA1 :: DeviceHandle
-> IO Int
bladeRFGetRXVGA1 dev = do
g <- alloca $ \p -> do
c'bladerf_get_rxvga1 (unDeviceHandle dev) p
peek p
return $ fromIntegral g
bladeRFSetLNAGain :: DeviceHandle
-> BladeRFLNAGain
-> IO (BladeRFReturnType ())
bladeRFSetLNAGain dev g = do
ret <- c'bladerf_set_lna_gain (unDeviceHandle dev) ((fromIntegral . fromEnum) g)
return $ bladeRFErrorTy ret
bladeRFGetLNAGain :: DeviceHandle
-> IO BladeRFLNAGain
bladeRFGetLNAGain dev = do
g <- alloca $ \p -> do
c'bladerf_get_lna_gain (unDeviceHandle dev) p
peek p
return $ (toEnum . fromIntegral) g
bladeRFSetGain :: DeviceHandle
-> BladeRFModule
-> Int
-> IO (BladeRFReturnType ())
bladeRFSetGain dev m g = do
ret <- c'bladerf_set_gain (unDeviceHandle dev) ((fromIntegral . fromEnum) m) (fromIntegral g)
return $ bladeRFErrorTy ret