Motion Master
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
soem.h File Reference
#include <cstdint>
#include <functional>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <type_traits>
#include <utility>
#include <variant>
#include <vector>
#include "base.h"
#include "ethercat.h"
#include "loguru.h"
Include dependency graph for soem.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mm::comm::soem::Fieldbus
 Structure representing the Fieldbus configuration and context for EtherCAT communication. More...
 
class  mm::comm::soem::Slave
 Represents a slave in the EtherCAT network. More...
 
class  mm::comm::soem::Master
 

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...
 

Variables

std::string mm::comm::soem::uiConfigWithDefaultPdoMapping
 Default UI configuration used for PDO mapping. More...