anchor.diff:  %% ====================================================================
   -export([groups/0, version/0]).
   -export([create/2, create/4, create/5, upgrade/1, initialize/1, execute/2, delete/1]).
  +-export([handle_info/2]).
   
   groups() -> [digital, input].
   
  -version() -> "0.1.0".
  +version() -> "0.2.0".
   
   
   %% Merge the block type specific, Config, Input, and Output attributes
  
positive.code:   PhaseB = gpio_utils:read_bool(GpioPinB_Ref),
    {ok, _LastB_Value} = attrib_utils:get_value(Private, last_B_value),
  
    {ok, GpioPinSwRef} = attrib_utils:get_value(Private, gpio_pin_sw_ref),
    SwValue = gpio_utils:read_bool(GpioPinSwRef),
    {ok, _LastSwValue} = attrib_utils:get_value(Private, last_sw_value),
    
    case attrib_utils:get_value(Outputs, value) of
      {ok, null} -> Count = 0;
      {ok, Count}      -> Count
    end,
   
    if (LastA_Value) andalso (not PhaseA) ->
  
negative.code: 
    
    {ok, Outputs1} = attrib_utils:set_values(Outputs, [{value, NewCount},
                                                {status, normal}]),
                                                
    {ok, Private1} = attrib_utils:set_values(Private, [{last_A_value, PhaseA},
                                                {last_B_value, PhaseB}]),
  
    % Return updated block state
    {Config, Inputs, Outputs1, Private1}.
  