Motion Master
Loading...
Searching...
No Matches
Namespaces | Functions
soem.cc File Reference
#include "soem.h"
#include <cstring>
#include <stdexcept>
#include <thread>
#include "base.h"
#include "core/util.h"
Include dependency graph for soem.cc:

Namespaces

namespace  mm
 
namespace  mm::comm
 
namespace  mm::comm::soem
 

Functions

std::map< std::string, std::string > mm::comm::soem::mapMacAddressesToInterfaces ()
 Maps MAC addresses to their corresponding network interface names. More...
 
int mm::comm::soem::setPdoMappingFromUiConfig (ecx_contextt *context, uint16 slave)
 Sets PDO mapping for a specified EtherCAT slave using UI configuration. More...
 
void mm::comm::soem::checkPdoMapping (ecx_contextt *context, uint16 slave)
 Diagnoses and prints the PDO mapping for a given slave. More...
 
uint16_t mm::comm::soem::getSlaveState (ecx_contextt *context, uint16_t slave, bool forceRefresh)
 Retrieves the current state of a specific EtherCAT slave. More...
 
std::string mm::comm::soem::convertSlaveStateToString (int state)
 Converts a numeric EtherCAT state value into a human-readable string. More...
 
bool mm::comm::soem::transitionToHigherSlaveState (ecx_contextt *context, uint16_t slave, int targetState)
 Transitions a slave to a higher EtherCAT state. More...
 
void mm::comm::soem::updateMailboxSyncManagersOnNextState (ecx_contextt *context, uint16_t slave, int targetState)
 Updates the mailbox and sync manager (SM) configurations for an EtherCAT slave when transitioning to specific states (e.g., BOOT or INIT). More...
 
void mm::comm::soem::configureDetectedSmmModule (ecx_contextt *context, uint16_t slave)
 Reads the detected SMM module ID from the slave device and configures the module identification object accordingly. More...
 
bool mm::comm::soem::setSlaveState (ecx_contextt *context, uint16_t slave, int targetState)
 Sets the state of a specified EtherCAT slave. More...
 
mm::comm::base::PdoMappings mm::comm::soem::readPdoMappings (ecx_contextt *context, uint16_t slave)
 Read and parse all mapped PDO entries for a given slave. More...
 
void mm::comm::soem::logPdoMappingEntries (const std::vector< mm::comm::base::PdoMappingEntry > &entries)
 Logs PDO mapping entries grouped by PDO index. More...
 
void mm::comm::soem::logIoMap (uint8_t *ioMap, size_t totalBytes)
 Logs the I/O map as a formatted hexadecimal string. More...
 
void mm::comm::soem::initFieldbus (std::unique_ptr< Fieldbus > &fieldbus, const std::string &iface)
 Initializes a Fieldbus instance for EtherCAT communication. More...