Signal

class brainstem.stem.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.