Motion Master 6.0.0-alpha.86
Next-generation motion control software
Loading...
Searching...
No Matches
mm::node::BrakeState Struct Reference

The brake's configuration and its current state — one read of the parts of 0x2004 that decide what a release or engage will actually do. More...

#include <somanet_drive.h>

Public Member Functions

bool softwareControllable () const
 Whether the firmware drives the brake, i.e. whether commanding 0x2004:07 does anything. False for kManualOutputVoltage, where the brake is a raw phase-D voltage instead.
 
bool releaseMovesShaft () const
 Whether releasing this brake turns the motor — true only for a pin brake, whose release procedure lifts the load off the pin under progressively raised torque.
 

Public Attributes

somanet::BrakeStatus status {somanet::BrakeStatus::kNotConfigured}
 0x2004:07.
 
somanet::BrakeReleaseStrategy releaseStrategy
 0x2004:04.
 
std::chrono::milliseconds pullTime {}
 0x2004:03.
 
uint32_t pullVoltageMv = 0
 0x2004:01.
 
uint32_t holdVoltageMv = 0
 0x2004:02.
 

Detailed Description

The brake's configuration and its current state — one read of the parts of 0x2004 that decide what a release or engage will actually do.

Returned by the brake operations as well as by brakeState, so a caller always learns the outcome from the same shape. It is also the answer to "why did nothing happen?": a release is a no-op when the brake is not firmware-controlled, and softwareControllable says so without the caller having to know that strategy 0 means manual.

Member Function Documentation

◆ releaseMovesShaft()

bool mm::node::BrakeState::releaseMovesShaft ( ) const
inline

Whether releasing this brake turns the motor — true only for a pin brake, whose release procedure lifts the load off the pin under progressively raised torque.

◆ softwareControllable()

bool mm::node::BrakeState::softwareControllable ( ) const
inline

Whether the firmware drives the brake, i.e. whether commanding 0x2004:07 does anything. False for kManualOutputVoltage, where the brake is a raw phase-D voltage instead.

Member Data Documentation

◆ holdVoltageMv

uint32_t mm::node::BrakeState::holdVoltageMv = 0

0x2004:02.

◆ pullTime

std::chrono::milliseconds mm::node::BrakeState::pullTime {}

0x2004:03.

◆ pullVoltageMv

uint32_t mm::node::BrakeState::pullVoltageMv = 0

0x2004:01.

◆ releaseStrategy

somanet::BrakeReleaseStrategy mm::node::BrakeState::releaseStrategy
Initial value:
{
@ kManualOutputVoltage
Not firmware-controlled — a raw phase-D voltage (0x2004:10).

0x2004:04.

◆ status

0x2004:07.


The documentation for this struct was generated from the following file: