anchor.diff:  
   handle_info({gpio_interrupt, Pin, Condition}, BlockState) ->
     log_server:debug("Rx interrupt: ~p from GPIO pin: ~p ~n", [Condition, Pin]),
  -  NewBlockValues = block_common:execute(BlockState, hardware),
  -  {noreply, NewBlockValues};
  +  NewBlockState = block_common:execute(BlockState, hardware),
  +  {noreply, NewBlockState};
   
   
   %% =====================================================================
  
positive.code:   % Check that new block values match the current block type and block name that is running
    %  TODO: Disconnect existing block links first
    configure(BlockName),
    {noreply, NewBlockValues};
  
  
  %% =====================================================================
  
negative.code:                                          Link, Inputs1),
  
        % Execute the block because input value may have changed
        NewBlockState = update_block({Config, Inputs2, Outputs, Private}),
        Result = ok;
  
      {error, Reason} ->
        Result = {error, Reason},
        NewBlockState = {Config, Inputs, Outputs, Private}
    end,
    
    {reply, Result, NewBlockState};
  
  
  %% =====================================================================
  