自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

all for one,one for all

欢迎随时交流指正 github, https://github.com/fengzhuye

  • 博客(7)
  • 资源 (9)
  • 收藏
  • 关注

原创 c++11 条件变量 std::condition_variable,多线程同步

一般来说,多线程中如果需要等待一个变量或者条件为true 或者同步多个线程,有两种方法:1 . 忙等待,不停地检查该变量是否满足条件while(pre) // polling loop{}该方式有很多缺点:占用cpu资源,变量 pre 必须多线程安全,或者为 atomic 类型。在while中sleep可以解决cpu占用为题,但是在变量满足条件时又不能及时的唤醒该线程。2 . 使用条件变量 st

2016-06-29 13:13:24 9071

原创 WAMP RPC & Publish & Subscribe c++ 实现简析 & TCP 粘包处理方法

基于tcp/ip 的 RPC和Pub&Sub 基本上都是基于 boost::asio 实现的。一个wamp_session表示一个wamp端的连接,wamp 提供了注册 callee,调用一个caller 或者向一个 topic pub&sub 数据的功能。步骤:创建一个 wamp session,建立 TPC/IP 连接注册 callee, subscribe topic etc.wamp_

2016-06-16 15:05:59 3418

原创 ethercat 同步方式 FreeRun/SMx/DC

对象字典 index 0x1C32:0x01 可以选择 ethercat 主站和从站的同步方式。 一共有三种:Free Run 模式 这种模式就是说每个slave根据自己的时间中断(未同步的timer)来处理ethercat数据,跟主站的运行周期其他从站的周期以及ethercat帧的到达时间都没关系。SMx 模式 这种模式就是slave根据SM2 或者 SM3 event 来处理e

2016-06-08 14:16:29 18381 43

原创 Lock-Free,无锁数据结构 & 无锁编程 Orocos — Muliti Writer Single Reader Queue

无锁数据结构无锁的数据结构应用越来越广泛,现在几乎所有的多核cpu都提供了 CAS 操作。实现无锁的 Muliti Writer Single Reader Queue 的关键还是 实现指针的 CAS( gcc: __sync_val_compare_and_swap ).这里有一个 Single Writer Mulity Reader 的 无锁实现 see link实现过程:创建一个数组 _bu

2016-06-03 15:59:21 3657 2

原创 Orocos ExecutionEngine 对函数Operation调用的实现

在 Orocos 中每一个 ExecutionEngine 可以属于一个线程,其拥有一个成员变量,指向 Activity 类(表示一个线程)。 该 ExecutionEngine 负责函数的调用,数据的传输等等(如下图所示) 其中每一个 ExecutionEngine 中都有一个无锁的队列 MWSRQueue 类 see linkinternal::MWSRQueue<base::Dispos

2016-06-03 11:04:24 3590

原创 Orocos OperationCaller 解析

在 Orocos 中 OperatoinCaller 表示一个可以调用其他模块的函数的对象, 如果一个模块添加了一个 Operation,则该 Operation 表示的函数可以被其他模块的 OperationCaller 调用。 在连接 ( connectService ) 调用端(OperationCaller)和被调用端(Operation)之后,该 OperatoinCaller 就能够

2016-06-02 11:10:38 3723

原创 Orocos Activity&ExecutionEngine 解析

Orocos 每一个TaskContext 类表示一个完整的模块,该模块有configure,start,stop,clean,setPeriod等等方法来控制这个模块的运行。如果使用了该模块的setActivity方法,将该模块放在一个单独的线程中运行,该模块内便独立于其他模块,根据自己的周期频率执行各个函数,读写dataport等。setActivity 方法如下:bool TaskContex

2016-06-01 13:47:20 3372

Expert Apache Cassandra Administration.pdf

学习 cassandra 可以读一读,关于配置,部署,cassandra 的安全等知识

2020-05-15

CAN & CANOpen EN

描述了了如何实现CANOpen协议,详细解释了CAN和CANOpen的实现过程。英文的。

2019-04-03

Ethercat FMMU寻址,Working Counter

该文档描述了Ethercat的寻址,Working Counter的工作原理。

2019-02-26

Ethercat PDO Mapping Doc(松下)

松下的Ethercat驱动器使用手册,以及关于如何使用Ethercat配置PDO等内容

2019-02-22

Ethercat PDO Mapping Doc

关于如何使用Ethercat, 以及Ethercat的配置PDO Mapping配置步骤。

2019-02-22

orocos rtt with xenomai & kuka lwr

编译 xenomai 2-6.5 with ubuntu 14.04 配置 kuka lwr with Orocos rtt

2017-03-01

robotics modelling planning and control

学习机器人必看的书之一

2016-11-25

Ethercat igh 文档

Ethercat igh 文档

2016-11-25

boost 1.52

未编译的boost库,解压后按照教程一步步编译后得到一个一一个多G的库文件

2013-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除