Signal

See the Signal Entity for generic information.

class brainstem.entity.Signal(module, index)[source]

The Signal Class is the interface to digital pins configured to produce square wave signals.

This class is designed to allow for square waves at various frequencies and duty cycles. Control is defined by specifying the wave period as (T3Time) and the active portion of the cycle as (T2Time). See the entity overview section of the reference for more detail regarding the timiing.

getEnable()[source]

Get the Enable/Disable of the signal.

Returns:

Result object, containing NO_ERROR and boolean value True for enabled False for disabled or a non zero Error code.

getInvert()[source]

Get the invert status of the signal.

Returns:

Result object, containing NO_ERROR and boolean value True for inverted False for normal or a non zero Error code.

getT2Time()[source]

Get the current wave active period (T2) in nanoseconds.

Returns:

Result object, containing NO_ERROR and an integer value not larger than the max unsigned 32bit value. or a non zero Error code.

getT3Time()[source]

Get the current wave period (T3) in nanoseconds.

Returns:

Result object, containing NO_ERROR and an integer value not larger than the max unsigned 32bit value. or a non zero Error code.

setEnable(enable)[source]

Enable/Disable the signal output.

Parameters:

enable – True to enable, false to disable

Returns:

Result.error Return NO_ERROR on success, or one of the common sets of return error codes on failure.

setInvert(invert)[source]

Invert the signal output.

Normal mode is High on t0 then low at t2. Inverted mode is Low at t0 on period start and high at t2.

Parameters:

invert – True to invert, false for normal mode.

Returns:

Result.error Return NO_ERROR on success, or one of the common sets of return error codes on failure.

setT2Time(t2_nsec)[source]

Set the signal active period or T2 in nanoseconds.

Parameters:

t2_nsec – Tnteger not larger than unsigned 32 bit max value representing the wave active period in nanoseconds.

Returns:

Result.error Return NO_ERROR on success, or one of the common sets of return error codes on failure.

setT3Time(t3_nsec)[source]

Set the signal period or T3 in nanoseconds.

Parameters:

t3_nsec – Tnteger not larger than unsigned 32 bit max value representing the wave period in nanoseconds.

Returns:

Result.error Return NO_ERROR on success, or one of the common sets of return error codes on failure.