summaryrefslogtreecommitdiff
path: root/devicemon.erl
diff options
context:
space:
mode:
Diffstat (limited to 'devicemon.erl')
-rw-r--r--devicemon.erl11
1 files changed, 9 insertions, 2 deletions
diff --git a/devicemon.erl b/devicemon.erl
index d56043b..5e4359e 100644
--- a/devicemon.erl
+++ b/devicemon.erl
@@ -71,7 +71,8 @@ deviceloop(Devices) ->
self() ! {self(),dereg,Addr},
deviceloop(Devices);
{Pid,device,Addr,{stat,Type,Msg}} ->
- tcpserv ! {self(),comm,[Addr,Type|Msg]},
+ %% Will not try to broadcast
+ %% tcpserv ! {self(),comm,[Addr,Type|Msg]},
deviceloop(orddict:store(Addr,#device{type=Type,state = Msg},Devices));
%% Messages received from some other server -> redirect to rsbus
@@ -107,7 +108,13 @@ getStat(Addr) ->
getStatus(Addr) ->
case getStat(Addr) of
error -> error;
- Val -> ready
+ Val ->
+ if
+ hd(Val#device.state) band 16#04 == 0 ->
+ ready;
+ true ->
+ busy
+ end
%% device status multiplexer
%% ready | busy
end.