É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()?;Si cet article vous a aidé, pensez à m'offrir un café ou à faire un don via PayPal pour soutenir la recherche et la publication de nouveaux articles sur TechOverflow