8.3.1.2. Module

This module contains the L23 module classes that deal with basic information about, and configuration of the test modules. The module command names all have the form M_<xxx> and require a module index id.


class M_CAPABILITIES[source]

Bases: object

Gets the module capabilities.

class GetDataAttr[source]

Bases: ResponseBodyStruct

can_advanced_timing

coded integer, is advanced timing functions supported?

can_local_time_adjust

coded integer, is local time adjustment supported?

can_media_config

coded integer, is module media configuration supported?

can_ppm_sweep

coded integer, does this module support Local Clock Adjustment/Sweep (aka. PPM Sweep) ?

can_tsn

coded integer, does this module support Time Sensitive Networking (TSN) ?

is_chimera

coded integer, is this a Chimera module?

max_clock_ppm

integer, maximum supported absolute +- clock ppm setting.

monitoring_bitmask

extended module monitoring capabilities

require_multi_image

coded integer, does this module switch images during runtime?

get()[source]

Get the test module capabilities.

Returns:

  • is advanced timing functions supported?

  • is local time adjustment supported?

  • is module media configuration supported?

  • does this module switch images during runtime?

  • is this a Chimera module?

  • maximum supported absolute +- clock ppm setting.

  • does this module support Time Sensitive Networking (TSN) ?

  • does this module support Local Clock Adjustment/Sweep (aka. PPM Sweep) ?

Return type:

M_CAPABILITIES.GetDataAttr

class M_CFPCONFIG[source]

Bases: object

Deprecated since version 1.3.

The current number of ports and their speed of a CFP test module. If the CFP type is NOTFLEXIBLE then it reflects the transceiver currently in the CFP cage. If the CFP type is FLEXIBLE (or NOTPRESENT) then the configuration can be changed explicitly. The following combinations are possible: 4x10G, 8x10G, 1x40G, 2x40G, and 1x100G. (replaced by M_CFPCONFIGEXT)

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_count

byte, number of ports.

port_speed

byte, port speed, in Gbps.

class SetDataAttr[source]

Bases: RequestBodyStruct

port_count

byte, number of ports.

port_speed

byte, port speed, in Gbps.

get()[source]

Get the current number of ports and their speed of a CFP test module.

Returns:

  • number of ports

  • port speed, in Gbps

Return type:

M_CFPCONFIG.GetDataAttr

set(port_count, port_speed)[source]

Set the current number of ports and their speed of a CFP test module.

Parameters:
  • port_count (int) – number of ports

  • port_speed (int) – port speed, in Gbps

class M_CFPCONFIGEXT[source]

Bases: object

This property defines the current number of ports and the speed of each of them on a CFP test module. If the CFP type is NOTFLEXIBLE then it reflects the transceiver currently in the CFP cage. If the CFP type is FLEXIBLE (or NOTPRESENT) then the configuration can be changed explicitly. The following combinations are possible: 2x10G, 4x10G, 8x10G, 2x25G, 4x25G, 8x25G, 1x40G, 2x40G, 2x50G, 4x50G, 8x50G, 1x100G, 2x100G, 4x100G, 2x200G, and 1x400G. (replaces M_CFPCONFIGEXT)

Note

<portspeed_list> is a list of integers, where the first element is the number of ports followed by a number of port speeds in Mbps. The number of port speeds equals the value of the number of ports. For example if the configuration is 4x25G, <portspeed_list> will be [4, 25000, 25000, 25000, 25000].

class GetDataAttr[source]

Bases: ResponseBodyStruct

class SetDataAttr[source]

Bases: RequestBodyStruct

get()[source]

Get a list of port count and corresponding speeds supported by the current module config.

Returns:

a list of port count and corresponding speeds supported by the current module config

Return type:

M_CFPCONFIGEXT.GetDataAttr

class M_CFPTYPE[source]

Bases: object

Get information about the transceiver currently inserted into the cages.

class GetDataAttr[source]

Bases: ResponseBodyStruct

state

coded byte, specifying the CFP state.

type

coded byte, specifying the CFP type.

get()[source]

Get CFP type information about the transceiver currently inserted into the cage.

Returns:

  • the CFP state

  • the CFP type

Return type:

M_CFPTYPE.GetDataAttr

class M_CLOCKPPB[source]

Bases: object

Makes small adjustments to the local clock of the test module, which drives the TX rate of the test ports.

class GetDataAttr[source]

Bases: ResponseBodyStruct

ppb

integer, adjustment from nominal value, in parts-per-billion, positive or negative.

class SetDataAttr[source]

Bases: RequestBodyStruct

ppb

integer, adjustment from nominal value, in parts-per-billion, positive or negative.

get()[source]

Get the module clock adjustment in ppb.

Returns:

the module clock adjustment in ppb

Return type:

M_CLOCKPPB.GetDataAttr

set(ppb)[source]

Set the module clock adjustment in ppb.

Parameters:

ppb (int) – adjustment from nominal value, in parts-per-billion, positive or negative

class M_CLOCKPPBSWEEP[source]

Bases: object

Added in version 1.1.

Start and stop deviation sweep the local clock of the test module, which drives the TX rate of the test ports.

Note: The sweep is independent of the M_CLOCKPPB parameter, i.e. the sweep uses the deviation set by M_CLOCKPPB as its zero point.

class GetDataAttr[source]

Bases: ResponseBodyStruct

loops

integer >=0, the number of full sweeps performed. 0 means “indefinitely”.

max_ppb

integer != 0, the numeric maximum clock adjustment. The sign of max_ppb determines if the sweep will start with positive or negative offsets. When the next step would exceed the limit set by max_ppb, the sweep changes direction. I.e. the deviation will sweep from 0 to max_ppb, to (-max_ppb), and back to 0.

mode

coded byte, specifying the sweeping function.

ppb_step

integer >=0, the numeric clock adjustment in ppb per step of the sweep. If set to 0, the sweep will use as small steps as possible, creating a “linear” sweep of the clock rate.

step_delay

integer >0 the delay in µs between each step in the sweep. If ppb_step is 0: The total time in µs to sweep linearly from 0 to max_ppb.

class SetDataAttr[source]

Bases: RequestBodyStruct

loops

integer >=0, the number of full sweeps performed. 0 means “indefinitely”.

max_ppb

integer != 0, the numeric maximum clock adjustment. The sign of max_ppb determines if the sweep will start with positive or negative offsets. When the next step would exceed the limit set by max_ppb, the sweep changes direction. I.e. the deviation will sweep from 0 to max_ppb, to (-max_ppb), and back to 0.

mode

coded byte, specifying the sweeping function: OFF or TRIANGLE

ppb_step

integer >=0, the numeric clock adjustment in ppb per step of the sweep. If set to 0, the sweep will use as small steps as possible, creating a “linear” sweep of the clock rate.

step_delay

integer >0 the delay in µs between each step in the sweep. If ppb_step is 0: The total time in µs to sweep linearly from 0 to max_ppb.

get()[source]

Get the PPM sweep parameters from the module.

Returns:

the PPM sweep parameters from the module.

Return type:

M_CLOCKPPBSWEEP.GetDataAttr

set(mode, ppb_step, step_delay, max_ppb, loops)[source]

Set the PPM sweep parameters of the module.

Parameters:
  • mode (PPMSweepMode) – specifying the sweeping function: OFF or TRIANGLE.

  • ppb_step (int) – >=0, the numeric clock adjustment in ppb per step of the sweep. If set to 0, the sweep will use as small steps as possible, creating a “linear” sweep of the clock rate.

  • step_delay (int) – >0 the delay in µs between each step in the sweep. If ppb_step is 0: The total time in µs to sweep linearly from 0 to max_ppb.

  • max_ppb (int) – != 0, the numeric maximum clock adjustment. The sign of max_ppb determines if the sweep will start with positive or negative offsets. When the next step would exceed the limit set by max_ppb, the sweep changes direction. I.e. the deviation will sweep from 0 to max_ppb, to (-max_ppb), and back to 0.

  • loops (int) – >=0, the number of full sweeps performed. 0 means “indefinitely”.

class M_CLOCKSWEEPSTATUS[source]

Bases: object

Added in version 1.1.

Return the current status of the M_CLOCKPPBSWEEP function.

class GetDataAttr[source]

Bases: ResponseBodyStruct

curr_step

integer >=0 the current step number inside the sweep, counting from 0.

curr_sweep

integer >=0, the current full sweep number, counting from 0.

max_steps

integer, >0, the total number of steps comprising a full sweep. For “linear” sweeps (ppb_step=0, see M_CLOCKPPBSWEEP) this number is determined by the chassis. In other cases, the number is implicitly given by the M_CLOCKPPBSWEEP parameters.

state

coded byte, specifying if a sweep is active: OFF or SWEEPING

get()[source]

Get the current status of the M_CLOCKPPBSWEEP function.

Returns:

the current status of the M_CLOCKPPBSWEEP function.

Return type:

M_CLOCKSWEEPSTATUS.GetDataAttr

class M_CLOCKSYNCSTATUS[source]

Bases: object

Get module’s clock sync status.

class GetDataAttr[source]

Bases: ResponseBodyStruct

m_clock_diff

long integer, module clock diff

m_correction

long integer, module correction

m_is_steady_state

long integer, whether module is in steady state

m_tune_is_increase

long integer, whether module tune is increased

m_tune_value

long integer, module tune value

get()[source]

Get the test module’s clock sync status.

Returns:

the test module’s clock sync status

Return type:

M_CLOCKSYNCSTATUS.GetDataAttr

class M_COMMENT[source]

Bases: object

Gets the user-defined description string of a module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

comment

string, the user-specified comment/description for the module.

class SetDataAttr[source]

Bases: RequestBodyStruct

comment

string, the user-specified comment/description for the module.

get()[source]

Get the user-defined description string of a module.

Returns:

the user-specified comment/description for the module

Return type:

M_COMMENT.GetDataAttr

set(comment)[source]

Set the user-defined description string of a module.

Parameters:

comment (str) – the user-specified comment/description for the module

class M_FPGAREIMAGE[source]

Bases: object

Reload FPGA image.

class SetDataAttr[source]

Bases: RequestBodyStruct

key_code

integer, must be 42.

set()[source]

Reload the FPGA image.

Parameters:

key_code (int.) – must be 42.

class M_HEALTH[source]

Bases: object

Gets the module health information.

class GetDataAttr[source]

Bases: ResponseBodyStruct

info

Module health information json string

get()[source]

Gets the module health information.

Returns:

Module health information json string

Return type:

M_HEALTH.GetDataAttr

class M_LICENSE_CWB_DETECTED[source]

Bases: object

Returns if clock-windback is detected. If clock-windback has been detected the chassis is locked and no reservations of ports can be performed. To recover from clock-windback, set the system time correct (via the M4_SYSTEM_TIME command) and perform a license update (via the M_LICENSE_UPDATE command). Only applicable to L47 test module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

detected

coded byte, specifies if clock-windback is detected.

get()[source]

Get whether clock-windback is detected.

Returns:

whether clock-windback is detected

Return type:

M_LICENSE_CWB_DETECTED.GetDataAttr

class M_LICENSE_DEMO_INFO[source]

Bases: object

Returns info about the demo status of the module. Only applicable to L47 test module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

demo

coded byte, specifies if this is a demo module or not.

expiration

long integer, if this is a demo module and the demo license is valid and not permanent, specifies the expiration date of the demo license - in seconds since Jan 1, 1970.

permanent

coded byte, if this is a demo module and the demo license is valid, specifies if the demo license is permanent.

valid

coded byte, if this is a demo module, specifies if the demo license is valid.

get()[source]

Get info of the demo status of the test module. Only applicable to L47 test module.

Returns:

info of the demo status of the test module.

Return type:

M_LICENSE_DEMO_INFO.GetDataAttr

class M_LICENSE_LIST_BSON[source]

Bases: object

Returns a list of locally stored licenses - formatted as a BSON document.

class GetDataAttr[source]

Bases: ResponseBodyStruct

bson

list of hex bytes, bson document containing the list of locally stored licenses

get()[source]

Get the a list of locally stored licenses - formatted as a BSON document.

Returns:

a list of locally stored licenses - formatted as a BSON document.

Return type:

M_LICENSE_LIST_BSON.GetDataAttr

class M_LICENSE_MAINTENANCE_INFO[source]

Bases: object

Returns info about the maintenance license status for the module. Only applicable to L47 test module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

expiration

long integer, if the maintenance license is valid and not permanent, specifies the expiration date of the maintenance license - in seconds since Jan 1, 1970.

permanent

coded byte, if the maintenance license is valid, specifies if the maintenance license is permanent.

valid

coded byte, specifies if the maintenance license is valid.

get()[source]

Get the info about the maintenance license status for the module. Only applicable to L47 test module.

Returns:

the info about the maintenance license status for the test module

Return type:

M_LICENSE_MAINTENANCE_INFO.GetDataAttr

class M_LICENSE_ONLINE[source]

Bases: object

Configures the chassis in online or offline mode. The online mode configuration defines two different license update procedures as described for the M_LICENSE_UPDATE command. In online mode the license update procedure requires access to the Internet. In offline mode the license update procedure can be performed without access to the Internet.

class GetDataAttr[source]

Bases: ResponseBodyStruct

mode

coded byte, chassis online/offline mode.

class SetDataAttr[source]

Bases: RequestBodyStruct

mode

coded byte, chassis online/offline mode.

get()[source]

Get the current online/offline mode of the L47 tester.

Returns:

the current online/offline mode of the L47 tester

Return type:

M_LICENSE_ONLINE.GetDataAttr

set(mode)[source]

Set the current online/offline mode of the L47 tester.

Parameters:

mode (IsOnline) – the current online/offline mode of the L47 tester

set_offline()

Set the L47 tester to offline mode.

set_online()

Set the L47 tester to online mode.

class M_LICENSE_UPDATE[source]

Bases: object

This command instructs the chassis to update its local license information. The chassis can be configured in on-line and off-line mode (by the M_LICENSE_ONLINE command). In on-line mode, the chassis sends a capability request and receives a capability response. In offline mode a capability response (bin file) must be downloaded and uploaded to the chassis. The capability response (bin file) is parsed and the license info is stored locally in trusted storage. A capability response (bin file) has a lifetime of one day (24 hours). The result of the license update operation can be retrieved by M_LICENSE_UPDATE_STATUS.

class SetDataAttr[source]

Bases: RequestBodyStruct

set()[source]

Start license update

class M_LICENSE_UPDATE_STATUS[source]

Bases: object

Returns the status of the latest license update operations.

class GetDataAttr[source]

Bases: ResponseBodyStruct

info

string, info about the last license update operation - reason for failed update.

last_fail

long integer, time for the last failed update - in seconds since Jan 1, 1979

last_success

long integer, time for the last successful update - in seconds since Jan 1, 1979

last_update

long integer, time for the last update request - in seconds since Jan 1, 1979

update_state

coded byte, specifies the state of the license update procedure

get()[source]

Get the status of the latest license update operation.

Returns:

the status of the latest license update operation

Return type:

M_LICENSE_UPDATE_STATUS.GetDataAttr

class M_MEDIA[source]

Bases: object

For the test modules that support media configuration (check M_CAPABILITIES), this command sets the desired media type (front port).

class GetDataAttr[source]

Bases: ResponseBodyStruct

media_config

coded byte, specifying the active front port: CFP4, QSFP28, CXP, SFP28.

class SetDataAttr[source]

Bases: RequestBodyStruct

media_config

coded byte, specifying the active front port: CFP4, QSFP28, CXP, SFP28.

get()[source]

Get the media type of the test module.

Returns:

the media type of the test module

Return type:

M_MEDIA.GetDataAttr

set(media_config)[source]

Set the media type of the test module.

Parameters:

media_config (MediaType) – the media type of the test module

class M_MEDIASUPPORT[source]

Bases: object

This command shows the available speeds on a module. The structure of the returned value is [ <cage_type> <available_speed_count> [<ports_per_speed> <speed>] ]. [<ports_per_speed> <speed>] is repeated until all speeds supported by the <cage_type> has been listed. [<cage_type> <available_speed_count>] is repeated for all cage types on the module including the related <ports_per_speed> <speed> information.

class GetDataAttr[source]

Bases: ResponseBodyStruct

media_info_list

coded integer, media information

get()[source]

Get the media supports by the port, including cage type, available speed count, ports per speed, and the corresponding speed.

Returns:

a list of integers. The structure of the returned value is [ <cage_type> <available_speed_count>[<ports_per_speed> <speed>] ]. [<ports_per_speed> <speed>] is repeated until all speeds supported by the <cage_type> has been listed. [<cage_type> <available_speed_count>] is repeated for all cage types on the module including the related <ports_per_speed> <speed> information.

Return type:

M_MEDIASUPPORT.GetDataAttr

class M_MODEL[source]

Bases: object

Gets the legacy model P/N name of a Xena test module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

model

string, the legacy model P/N name of a Xena test module.

get()[source]

Gets the legacy model P/N name of a Xena test module.

Returns:

the legacy model P/N name of a Xena test module

Return type:

M_MODEL.GetDataAttr

class M_MODEL_NAME[source]

Bases: object

Get the model name of the module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

name

ModuleModelName, model name of the Xena module.

get()[source]

Get the Xena chassis model name.

Returns:

the model name of the Xena tester

Return type:

C_MODEL_NAME.GetDataAttr

class M_MULTIUSER[source]

Bases: object

Enable or disable multiple sessions to control the same module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

on_off

coded byte, enable or disable multiple sessions to control the same module.

class SetDataAttr[source]

Bases: RequestBodyStruct

on_off

coded byte, enable or disable multiple sessions to control the same module.

get()[source]

Get the status of multiple sessions controlling the same module.

Returns:

the status of multiple sessions controlling the same module

Return type:

M_MULTIUSER.GetDataAttr

set(on_off)[source]

Enable or disable multiple sessions to control the same module.

Parameters:

on_off (OnOff) – Enable or disable multiple sessions to control the same module

set_off()

Disable multiple sessions to control the same module.

set_on()

Enable multiple sessions to control the same module.

class M_NAME[source]

Bases: object

Gets the name of a module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

name

string, the name for the module.

get()[source]

Get the name of the module.

Returns:

the name of the module

Return type:

M_NAME.GetDataAttr

class M_PORTCOUNT[source]

Bases: object

Gets the maximum number of ports on a module.

Note

For a CFP-type module this number refers to the maximum number of ports possible on the module regardless of the media configuration. So if a CFP-type module can be set in for instance either 1x100G mode or 8x10G mode then this command will always return 8. If you want the current number of ports for a CFP-type module you need to read the M_CFPCONFIGEXT` command which returns the number of current ports.

class GetDataAttr[source]

Bases: ResponseBodyStruct

port_count

integer, the maximum number of ports.

get()[source]

Gets the maximum number of ports on a module.

Returns:

the maximum number of ports on the test module

Return type:

M_PORTCOUNT.GetDataAttr

class M_RESERVATION[source]

Bases: object

Set this command to reserve, release, or relinquish a module itself (as opposed to its ports). The module must be reserved before its hardware image can be upgraded. The owner of the session must already have been specified. Reservation will fail if the chassis or any ports are reserved for other users.

Note

The reservation parameters are slightly asymmetric with respect to set/get. When querying for the current reservation state, the chassis will use these values.

class GetDataAttr[source]

Bases: ResponseBodyStruct

operation

coded byte, containing the operation to perform. The reservation parameters are asymmetric with respect to set/get. When set, it contains the operation to perform. When get, it contains the status.

class SetDataAttr[source]

Bases: RequestBodyStruct

operation

coded byte, containing the operation to perform. The reservation parameters are asymmetric with respect to set/get. When set, it contains the operation to perform. When get, it contains the status.

get()[source]

Get the reservation status of the test module.

Returns:

the reservation status of the test module

Return type:

M_RESERVATION.GetDataAttr

set(operation)[source]

Set the reservation status of the test module.

Parameters:

operation (ReservedAction) – reservation operation to perform

set_release()

Release the test module.

set_relinquish()

Release the ownership of the test module from another user.

set_reserve()

Reserve the test module.

class M_RESERVEDBY[source]

Bases: object

Identify the user who has a module reserved. Returns an empty string if the module is not currently reserved by anyone.

class GetDataAttr[source]

Bases: ResponseBodyStruct

username

string, containing the name of the current owner of the module.

get()[source]

Get the username who has reserved the test module.

Returns:

the username who has reserved the test module

Return type:

M_RESERVEDBY.GetDataAttr

class M_REVISION[source]

Bases: object

Gets the model P/N name of a Xena test module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

revision

string, the model P/N name of a Xena test module.

get()[source]

Get the model P/N name of a Xena test module.

Returns:

the model P/N name of a Xena test module.

Return type:

M_REVISION.GetDataAttr

class M_SERIALNO[source]

Bases: object

Gets the unique serial number of a module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

serial_number

integer, the serial number of this module.

get()[source]

Gets the unique serial number of the test module.

Returns:

the serial number of this test module

Return type:

M_SERIALNO.GetDataAttr

class M_SMAINPUT[source]

Bases: object

For test modules with SMA (SubMiniature version A) connectors, selects the function of the SMA input.

class GetDataAttr[source]

Bases: ResponseBodyStruct

sma_in

coded byte, specifying the function of the SMA input.

class SetDataAttr[source]

Bases: RequestBodyStruct

sma_in

coded byte, specifying the function of the SMA input.

get()[source]

Get the function of the SMA (SubMiniature version A) input of the module

Returns:

the function of the SMA (SubMiniature version A) input of the module

Return type:

M_SMAINPUT.GetDataAttr

set(sma_in)[source]

Set the function of the SMA (SubMiniature version A) input of the module

Parameters:

sma_in (SMAInputFunction) – the function of the SMA (SubMiniature version A) input of the module

set_notused()

Set SMA input to Not Used

set_tx10mhz()

Set SMA input to TX Clock Ref. 10.0 MHz

set_tx2mhz()

Set SMA input to TX Clock Ref. 2.048 MHz

class M_SMAOUTPUT[source]

Bases: object

For test modules with SMA (SubMiniature version A) connectors, selects the function of the SMA output.

class GetDataAttr[source]

Bases: ResponseBodyStruct

sma_out

coded byte, specifying the function of the SMA output.

class SetDataAttr[source]

Bases: RequestBodyStruct

sma_out

coded byte, specifying the function of the SMA output.

get()[source]

Get the function of the SMA (SubMiniature version A) output of the module

Returns:

the function of the SMA (SubMiniature version A) output of the module

Return type:

M_SMAOUTPUT.GetDataAttr

set(sma_out)[source]

Set the function of the SMA (SubMiniature version A) output of the module

Parameters:

sma_out (SMAOutputFunction) – the function of the SMA (SubMiniature version A) output of the module

set_disabled()

Set SMA output function to Disabled.

set_p0rxclk()

Set SMA output function to Port 0 RX Clock (nom. 10.0 MHz).

set_p0rxclk2mhz()

Set SMA output function to Port 0 RX Clock (nom. 2.048 MHz).

set_p0sof()

Set SMA output function to Port 0 Start-of-Frame Pulse.

set_p1rxclk()

Set SMA output function to Port 1 RX Clock (nom. 10.0 MHz).

set_p1rxclk2mhz()

Set SMA output function to Port 1 RX Clock (nom. 2.048 MHz).

set_p1sof()

Set SMA output function to Port 1 Start-of-Frame Pulse.

set_passthrough()

Set SMA output function to Pass-Through.

set_ref10mhz()

Set SMA output function to TX Clock (nom. 10.0 MHz).

set_ref125mhz()

Set SMA output function to TX Clock (nom. 125 MHz).

set_ref156mhz()

Set SMA output function to TX Clock (nom. 156.25 MHz).

set_ref2mhz()

Set SMA output function to TX Clock (nom. 2.048 MHz).

set_ts_pps()

Set SMA output function to Timing Source (Pulse-Per-Second).

class M_SMASTATUS[source]

Bases: object

For test modules with SMA connectors, this returns the status of the SMA input.

class GetDataAttr[source]

Bases: ResponseBodyStruct

status

coded byte, specifying the status of the SMA input.

get()[source]

Get the status of the SMA input

Returns:

the status of the SMA input

Return type:

M_SMASTATUS.GetDataAttr

class M_STATUS[source]

Bases: object

Get status readings for the test module itself.

class GetDataAttr[source]

Bases: ResponseBodyStruct

temperature

integer, temperature of the main hardware chip, in degrees Celsius.

get()[source]

Get the status readings of the test module

Returns:

temperature of the main hardware chip, in degrees Celsius

Return type:

M_STATUS.GetDataAttr

class M_TIMEADJUSTMENT[source]

Bases: object

Control time adjustment for module wall clock.

class GetDataAttr[source]

Bases: ResponseBodyStruct

adjust

integer, adjustment in nanoseconds. This value should be a multiple of 8 as it will be converted to a number of 125 MHz clocks.

class SetDataAttr[source]

Bases: RequestBodyStruct

adjust

integer, adjustment in nanoseconds. This value should be a multiple of 8 as it will be converted to a number of 125 MHz clocks.

get()[source]

Get the time adjustment value for the module clock.

Returns:

the time adjustment value for the module clock

Return type:

M_TIMEADJUSTMENT.GetDataAttr

set(adjust)[source]

Set the time adjustment value for the module clock. This value should be a multiple of 8 as it will be converted to a number of 125 MHz clocks.

Parameters:

adjust (int) – the time adjustment value for the module clock

class M_TIMESYNC[source]

Bases: object

Control how the test module timestamp clock is running, either freely in the chassis or locked to an external system time. Running with free chassis time allows nano-second precision measurements of latencies, but only when the transmitting and receiving ports are in the same chassis. Running with locked external time enables inter-chassis latency measurements, but can introduce small time discontinuities as the test module time is adjusted.

class GetDataAttr[source]

Bases: ResponseBodyStruct

source

coded byte, selecting the time sync mode.

class SetDataAttr[source]

Bases: RequestBodyStruct

source

coded byte, selecting the time sync mode.

get()[source]

Get the time sync mode of the test module timestamp clock.

Returns:

the time sync mode of the test module timestamp clock

Return type:

M_TIMESYNC.GetDataAttr

set(source)[source]

Set the time sync mode of the test module timestamp clock.

Parameters:

mode (TimingSource) – the time sync mode of the test module timestamp clock

set_chassis()

Set the time sync mode of the test module to Chassis Mode.

set_external()

Set the time sync mode of the test module to External Mode.

set_module()

Set the time sync mode of the test module to Module Mode.

class M_TXCLOCKFILTER_NEW[source]

Bases: object

For test modules with advanced timing features, the loop bandwidth on the TX clock filter.

class GetDataAttr[source]

Bases: ResponseBodyStruct

filter_bandwidth

coded byte, the loop bandwidth on the TX clock filter.

class SetDataAttr[source]

Bases: RequestBodyStruct

filter_bandwidth

coded byte, the loop bandwidth on the TX clock filter.

get()[source]

Get the setting of the loop bandwidth on the TX clock filter.

Returns:

the setting of the loop bandwidth on the TX clock filter.

Return type:

M_TXCLOCKFILTER_NEW.GetDataAttr

set(filter_bandwidth)[source]

Set the setting of the loop bandwidth on the TX clock filter.

Parameters:

filter_bandwidth (LoopBandwidth) – the setting of the loop bandwidth on the TX clock filter

set_bw103hz()

Set the loop bandwidth on the TX clock filter to BW = 103 Hz.

set_bw1683hz()

Set the loop bandwidth on the TX clock filter to BW = 1683 Hz.

set_bw207hz()

Set the loop bandwidth on the TX clock filter to BW = 207 Hz.

set_bw416hz()

Set the loop bandwidth on the TX clock filter to BW = 416 Hz.

set_bw7019hz()

Set the loop bandwidth on the TX clock filter to BW = 7019 Hz.

class M_TXCLOCKSOURCE_NEW[source]

Bases: object

For test modules with advanced timing features, select what clock drives the port TX rates.

class GetDataAttr[source]

Bases: ResponseBodyStruct

tx_clock

coded byte, specifying what drives the port TX rates.

class SetDataAttr[source]

Bases: RequestBodyStruct

tx_clock

coded byte, specifying what drives the port TX rates.

get()[source]

Get the test module’s TX clock source settings.

Returns:

the test module’s TX clock source settings.

Return type:

M_TXCLOCKSOURCE_NEW.GetDataAttr

set(tx_clock)[source]

Set the test module’s TX clock source settings.

Parameters:

tx_clock (TXClockSource) – the test module’s TX clock source settings

set_modulelocalclock()

Set the test module’s TX clock source to Module Local Clock

set_p0rxclk()

Set the test module’s TX clock source to Port 0 RX Clock

set_p1rxclk()

Set the test module’s TX clock source to Port 1 RX Clock

set_p2rxclk()

Set the test module’s TX clock source to Port 2 RX Clock

set_p3rxclk()

Set the test module’s TX clock source to Port 3 RX Clock

set_p4rxclk()

Set the test module’s TX clock source to Port 4 RX Clock

set_p5rxclk()

Set the test module’s TX clock source to Port 5 RX Clock

set_p6rxclk()

Set the test module’s TX clock source to Port 6 RX Clock

set_p7rxclk()

Set the test module’s TX clock source to Port 7 RX Clock

set_smainput()

Set the test module’s TX clock source to SMA Input

class M_TXCLOCKSTATUS_NEW[source]

Bases: object

For test modules with advanced timing features, check whether a valid clock is present.

class GetDataAttr[source]

Bases: ResponseBodyStruct

status

coded byte, specifying the status of the TX clock.

get()[source]

Get the status of whether a valid clock is present for the test module.

Returns:

the status of whether a valid clock is present for the test module.

Return type:

M_TXCLOCKSTATUS_NEW.GetDataAttr

class M_UPGRADE[source]

Bases: object

Transfers a hardware image file from the chassis to a module. This image will take effect when the chassis is powered-on the next time. The transfer takes approximately 3 minutes, but no further action is required by the client.

class SetDataAttr[source]

Bases: RequestBodyStruct

image_name

string, the fully qualified name of a file previously uploaded to the chassis.

magic

integer, must be the special value -1480937026.

set(image_name)[source]

Transfers a hardware image file from the chassis to a module. This image will take effect when the chassis is powered-on the next time. The transfer takes approximately 3 minutes, but no further action is required by the client.

Parameters:

image_name (str) – the fully qualified name of a file previously uploaded to the chassis

class M_UPGRADEPAR[source]

Bases: object

Parallel module upgrade.

Transfers a hardware image file from the chassis to a module. This image will take effect when the chassis is powered-on the next time. The transfer takes approximately 3 minutes, but no further action is required by the client.

class SetDataAttr[source]

Bases: RequestBodyStruct

image_name

string, the fully qualified name of a file previously uploaded to the chassis.

magic

integer, must be the special value -1480937026.

set(image_name)[source]

Transfers a hardware image file from the chassis to a module. This image will take effect when the chassis is powered-on the next time. The transfer takes approximately 3 minutes, but no further action is required by the client.

Parameters:

image_name (str) – the fully qualified name of a file previously uploaded to the chassis

class M_UPGRADEPROGRESS[source]

Bases: object

Provides a value indicating the current stage of an ongoing hardware image upgrade operation. This is for information only; the upgrade operation runs to completion by itself. The progress values are pushed to the client without it having to request them.

class GetDataAttr[source]

Bases: ResponseBodyStruct

progress

integer, the current stage within the three phases. 0: Failure. 1-100: Erase completion percentage. 101-200: Write completion percentage 201-300: Verify completion percentage.

get()[source]

Get the current stage of an ongoing hardware image upgrade operation. This is for information only; the upgrade operation runs to completion by itself. The progress values are pushed to the client without it having to request them.

Parameters:

progress (M_UPGRADEPROGRESS.GetDataAttr) – the current stage within the three phases. 0: Failure. 1-100: Erase completion percentage. 101-200: Write completion percentage. 201-300: Verify completion percentage.

class M_VERSIONNO[source]

Bases: object

Gets the version number of the hardware image installed on a module.

class GetDataAttr[source]

Bases: ResponseBodyStruct

version

integer, the hardware image version number.

get()[source]

Gets the version number of the hardware image installed on the test module.

Returns:

the hardware image version number of the test module

Return type:

M_VERSIONNO.GetDataAttr

class M_VERSIONSTR[source]

Bases: object

Returns module version number in the new format, e.g. “99.0.0+1.0”.

Obsoletes M_VERSIONNO.

class GetDataAttr[source]

Bases: ResponseBodyStruct

version_str

string, module version number in the new format.

get()[source]

Returns module version number in the new format.

Returns:

module version number in the new format.

Return type:

M_VERSIONSTR.GetDataAttr