Équivalent Rust EtherCAT de ecrt_master_create_domain()

Alors qu’en C++ vous utiliseriez

ethercat_create_domain.cpp
// Créer le domaine
domain = ecrt_master_create_domain(master);
if (!domain) {
    std::cerr << "Échec de la création du domaine !" << std::endl;
    return -1;
}

l’équivalent en Rust utilisant la crate ethercat serait :

ethercat_create_domain.rs
use ethercat::{Domain, Master};

let domain_idx = master.create_domain()?;

Exemple complet incluant la requête du maître et la création du domaine :

ethercat_master_and_domain.rs
use ethercat::{Master, MasterAccess};

// Vous pouvez également utiliser MasterAccess::ReadOnly si vous n'avez pas besoin d'accès en écriture
// 0 est l'index du maître à ouvrir (généralement 0)
let mut master = Master::open(0, MasterAccess::ReadWrite)?;
// Réserver (aka "request") le maître (pour un accès exclusif, fondamentalement)
master.reserve()?;

// Créer le domaine
let domain_idx = master.create_domain()?;

Consultez les articles similaires par catégorie : Rust, EtherCAT