DVBFrontendHandle: added some methods to the protocol
tho [Mon, 10 Nov 2008 15:19:57 +0000 (15:19 +0000)]
git-svn-id: https://svn.berlios.de/svnroot/repos/senf/trunk@953 270642c3-0616-0410-b53a-bc976706d245

Socket/Protocols/DVB/DVBFrontendHandle.cc
Socket/Protocols/DVB/DVBFrontendHandle.hh

index 5a152fe..d13489e 100644 (file)
@@ -73,6 +73,24 @@ prefix_ int16_t senf::DVBFrontendSocketProtocol::signalStrength()
     return strength;
 }
 
+prefix_ int16_t senf::DVBFrontendSocketProtocol::signalNoiseRatio()
+    const
+{
+    int16_t snr;
+    if (::ioctl(fd(), FE_READ_SNR, &snr) < 0)
+        SENF_THROW_SYSTEM_EXCEPTION("Could not get signal-to-noise ratio of DVB adapter.");
+    return snr;
+}
+
+prefix_ uint32_t senf::DVBFrontendSocketProtocol::bitErrorRate()
+    const
+{
+    uint32_t ber;
+    if (::ioctl(fd(), FE_READ_BER, &ber) < 0)
+        SENF_THROW_SYSTEM_EXCEPTION("Could not get bit error rate of DVB adapter.");
+    return ber;
+}
+
 ///////////////////////////////cc.e////////////////////////////////////////
 #undef prefix_
 //#include "DVBFrontendHandle.mpp"
index b7c659c..da71b18 100644 (file)
@@ -84,9 +84,21 @@ namespace senf {
 
         ///@}
 
-        int16_t signalStrength() const; ///< Return current signal strength
+        int16_t signalStrength() const; ///< Returns current signal strength
                                         /**< Returns the signal strength value for the signal
-                                             currently received by the front-end. */
+                                             currently received by the front-end. For this method,
+                                             read-only access to the device is sufficient.*/
+
+        int16_t signalNoiseRatio() const;
+                                        ///< Returns current signal-to-noise ratio
+                                        /**< Returns the signal-to-noise ratio for the signal
+                                             currently received by the front-end. For this method,
+                                             read-only access to the device is sufficient. */
+
+        uint32_t bitErrorRate() const;  ///< Returns the current bit error rate for the signal
+                                        /**< Returns the bit error rate for the signal currently
+                                             received/demodulated by the front-end. For this method,
+                                             read-only access to the device is sufficient. */
     };
 
     typedef ProtocolClientSocketHandle<DVBFrontendSocketProtocol> DVBFrontendHandle;