BitbotEncos
Bitbot Encos is a bitbot instance for encos motor.
载入中...
搜索中...
未找到
bitbot::EncosBus类 参考

Bitbot Encos总线类,继承自BusManagerTpl,该类型仅适用于开发者使用,用户无需关心其实现细节。 更多...

#include <Encos_bus.h>

类 bitbot::EncosBus 继承关系图:
bitbot::EncosBus 的协作图:

Public 成员函数

 EncosBus ()
 构造函数
 
virtual ~EncosBus ()
 析构函数
 
void Init ()
 初始化函数
 
bool InitEtherCAT (const std::string &ifname)
 初始化EtherCAT总线
 
void WriteBus ()
 写入总线数据,该函数会将数据写入到总线中,该函数会被内核周期性调用。
 
void ReadBus ()
 读取总线数据,该函数会从总线中读取数据,该函数会被内核周期性调用。
 
void RegisterDevices ()
 注册设备函数,该函数会将设备注册到总线中。开发者可以在该函数中注册自己的设备。
 
void PowerOnDevice (int id=-1)
 控制设备上电,该函数会将设备上电。
 
void PowerOffDevice (int id=-1)
 控制设备下电,该函数会将设备下电。
 
std::vector< Encos_CANBusDevice * > get_CAN_Devices ()
 获取所有的CAN总线设备
 
std::vector< Encos_VirtualBusDevice * > get_VirtualBusDevices ()
 获取所有的虚拟总线设备
 

Public 属性

std::atomic_bool ErrorFlag
 是否发生错误
 

详细描述

Bitbot Encos总线类,继承自BusManagerTpl,该类型仅适用于开发者使用,用户无需关心其实现细节。

Bitbot Encos总线类,继承自BusManagerTpl,用于管理Bitbot Encos总线设备。 该总线管理器使用Bitbot内核相似的总线管理器模型,与之不同的是,BitbotEncos总线使用了SOEM库来实现EtherCAT总线的通信, 以及使用EtherCAT转CAN总线的方式来实现对Encos电机的控制。 此外还引入了虚拟总线机制来兼容并未实际挂载在EtherCAT总线上,但也需要进行数据交换的设备(e.g. IMU)。

成员函数说明

◆ get_CAN_Devices()

std::vector< Encos_CANBusDevice * > bitbot::EncosBus::get_CAN_Devices ( )

获取所有的CAN总线设备

返回
std::vector<Encos_CANBusDevice*> CAN总线设备列表

◆ get_VirtualBusDevices()

std::vector< Encos_VirtualBusDevice * > bitbot::EncosBus::get_VirtualBusDevices ( )

获取所有的虚拟总线设备

返回
std::vector<Encos_VirtualBusDevice*> 虚拟总线设备列表

◆ InitEtherCAT()

bool bitbot::EncosBus::InitEtherCAT ( const std::string & ifname)

初始化EtherCAT总线

初始化EtherCAT总线,使用SOEM库来实现EtherCAT总线的通信。

参数
ifname网络接口名称
返回
true 成功
false 失败

◆ PowerOffDevice()

void bitbot::EncosBus::PowerOffDevice ( int id = -1)

控制设备下电,该函数会将设备下电。

参数
id设备ID,默认为-1,表示所有设备

该函数会将设备下电,开发者可以在该函数中实现自己的设备下电逻辑。

◆ PowerOnDevice()

void bitbot::EncosBus::PowerOnDevice ( int id = -1)

控制设备上电,该函数会将设备上电。

参数
id设备ID,默认为-1,表示所有设备

该函数会将设备上电,开发者可以在该函数中实现自己的设备上电逻辑。


该类的文档由以下文件生成: