xcvr¶
Xcvr management module.
This module provide APIs to set and get transceiver transmit and receive laser frequencies.
-
namespace
eos -
class
xcvr_mgr¶ - #include <xcvr.h>
The xcvr manager. This class configures a transceiver for an interface. If this is a multilane interface, the configuration must be specified for the first lane (eg, Ethernet1/1).
Public Functions
-
virtual
~xcvr_mgr()¶
-
virtual void
frequency_is(intf_id_t intf_id, uint32_t rx, uint32_t tx) = 0¶ Configures both transmit and receive laser frequencies. For modules which support concurrent tuning, using this call will cause the module to tune rx and tx lasers concurrently. The frequency is specified in GHz.
For modules which do not support concurrent tuning, the rx tuning is done first, then the tx.
-
virtual void
rx_fine_frequency_is(intf_id_t intf_id, float freq) = 0¶ Configures the receive laser fine frequency. The frequency is specified in GHz.
-
virtual void
rx_frequency_is(intf_id_t intf_id, uint32_t freq) = 0¶ Configures the receive laser frequency. The frequency is specified in GHz.
-
virtual void
tx_frequency_is(intf_id_t intf_id, uint32_t freq) = 0¶ Configures the transmit laser frequency. The frequency is specified in GHz.
-
virtual void
tx_disabled_is(intf_id_t intf_id, bool disable) = 0¶ Configures the transmit laser disable.
-
virtual void
tx_output_power_is(intf_id_t intf_id, float power) = 0¶ Configures the transmit laser output power.
-
virtual float
rx_fine_frequency(intf_id_t intf_id) const = 0¶ Returns the currently active receive laser fine frequency. The frequency is in GHz.
-
virtual uint32_t
rx_frequency(intf_id_t intf_id) const = 0¶ Returns the currently active receive laser frequency. The frequency is in GHz.
Protected Functions
-
xcvr_mgr()¶
Private Members
-
eos::xcvr_mgr::xcvr_mgr
-
virtual
-
class