anchor.diff:      %io:format("Got frame: ~p bytes~n", [byte_size(RawMsg)]),
       [ gen_server:reply(To, RawMsg) || To <- Pending ],
       {noreply, State#state{pending=[]}};
  +handle_info({Port, {exit_status, Status}}, #state{port=Port}=State) ->
  +    io:format("Port exited with status ~p~n", [Status]),
  +    {stop, port_crashed, State};
   handle_info(Info, State) ->
       io:format("Got unexpected message: ~p~n", [Info]),
       {noreply, State}.
  
positive.code: 
  init([]) ->
      PortPath = code:priv_dir(troodon_cam) ++ "/troodon_cam",
      Port = erlang:open_port({spawn, PortPath}, [{packet, 2}, binary]),
      State = #state{port=Port},
  
      % Take the imager out of reset
  
negative.code:     NewPending = [From | Pending],
      {noreply,  State#state{pending=NewPending}};
  handle_call(stop, _From, #state{port=Port}=State) ->
      Port ! {self(), close},
      {reply, ok, State}.
  %    {stop, normal, ok, State}.
  
  %%--------------------------------------------------------------------
  %% @private
  