Motion Master 6.0.0-alpha.50
Next-generation motion control software
Loading...
Searching...
No Matches
process_image.cc File Reference
#include "node/process_image.h"
#include <algorithm>
#include <format>
#include <string>
#include <unordered_map>
#include <vector>
#include "node/device.h"
Include dependency graph for process_image.cc:

Namespaces

namespace  mm
 
namespace  mm::node
 

Functions

std::expected< ProcessImage, std::string > mm::node::buildProcessImage (const mm::comm::PdoLayout &layout, const std::vector< Device > &devices)
 Assembles a ProcessImage from the driver layout and per-device PDO mappings.
 
std::vector< uint8_t > mm::node::extractBits (std::span< const uint8_t > src, uint32_t bitOffset, uint16_t bitLength)
 Extracts bitLength bits at bitOffset from src into a fresh LSB-aligned little-endian byte vector (ceil(bitLength/8) bytes), as the SDO encoding would.
 
void mm::node::insertBits (std::span< uint8_t > dst, uint32_t bitOffset, uint16_t bitLength, std::span< const uint8_t > value)
 Inserts bitLength bits of value (LSB-first) into dst at bitOffset.