Rxjava实现车辆Can中的uds功能思路

1,之前我是用多线程+锁的方式来实现了UDS,但是这种方式不够简洁,所以现在提出了利用Rxjava来实现uds的方法
2,Rxjava作为响应式编程的方法,在这一方面有一定的优势,但是也不是绝对优势,目前没有看到比较好的方法,只能自己写,通过rxjava响应式编程,可以替代多线程,而且在其中添加一些数据处理的函数也是特别的方便,首先说一下思路,实现的话可能要放到以后了:
思路如下:
observer+锁
uds的实现:关于实现UDS应该有两个observable,
第一个observable是主动发射数据,这个数据是根据需要发射的,例如:做程序刷写的过程,我们要进行模式切换,种子请求,密钥发射等待,这些个过程作为主动发射的数据,通过这个observable发射出去。
第二个observalbe是被动发射,数据来源于总线例如蓝牙的数据,不停的在接收,这个时候就需要根据接受的数据做一些数据处理或者响应,这里的数据处理一般指的是数据的拼接,这里的响应一般指的是自动响应例如根据总线响应的数据,如果是首帧的话,则自动发送30 00 01(流控帧)。
未完待续…

你可能感兴趣的:(rxjava,嵌入式,Autosar)