summaryrefslogtreecommitdiff
path: root/rose.erl
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-10-29 12:26:38 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-10-29 12:26:38 +0100
commitc5b5e7d8d81c210787a378c7c2d7e30db0305c0b (patch)
treebd39be250080b5ef9eccdfe1e9cce26abf437731 /rose.erl
parente944d2b3d236c5aeba04455773e5cd8e5f1507c0 (diff)
Autocount invoke
Diffstat (limited to 'rose.erl')
-rw-r--r--rose.erl14
1 files changed, 8 insertions, 6 deletions
diff --git a/rose.erl b/rose.erl
index 650061c..65aa139 100644
--- a/rose.erl
+++ b/rose.erl
@@ -1,6 +1,6 @@
-module(rose).
--export([decode/1, return/3, invoke/3, dispatch/1]).
+-export([decode/1, invoke/2, dispatch/1]).
-include("Remote-Operations-Generic-ROS-PDUs.hrl").
@@ -8,15 +8,17 @@ decode(Data) ->
'Remote-Operations-Generic-ROS-PDUs':decode('ROS', Data).
return(Id, Op, {ok, Data}) ->
- 'Remote-Operations-Generic-ROS-PDUs':encode('ROS',
- {returnResult, #'ReturnResult'{invokeId = Id,
+ 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {returnResult,
+ #'ReturnResult'{invokeId = Id,
result = #'ReturnResult_result'{opcode = Op, result = Data}}}).
-invoke(Id, Op, {ok, Data}) ->
- 'Remote-Operations-Generic-ROS-PDUs':encode('ROS',
- {invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}).
+invoke(Op, {ok, Data}) ->
+ Id = counter:next(),
+ 'Remote-Operations-Generic-ROS-PDUs':encode('ROS', {invoke,
+ #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}).
dispatch({invoke, #'Invoke'{invokeId = Id, opcode = Op, argument = Data}}) ->
+ counter:set(Id),
case Op of
{local, 21} ->
ok;