summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devicemon.erl11
-rw-r--r--portman.erl4
2 files changed, 11 insertions, 4 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.
diff --git a/portman.erl b/portman.erl
index 3076a39..c850fce 100644
--- a/portman.erl
+++ b/portman.erl
@@ -14,11 +14,11 @@
oploop(Sock) ->
receive
- {Pid,shutdown} -> ok;
+ {_Pid,shutdown} -> ok;
{tcp,Sock,Msg} ->
io:format("~p\n",[Msg]),
oploop(Sock);
- {Pid,Msg} ->
+ {_Pid,Msg} ->
gen_tcp:send(Sock,Msg),
oploop(Sock)
end.