anchor.diff:    
     % Config values are validated in initialize function, just read them here   
     {ok, NumOfDigits} = attrib_utils:get_value(Config, num_of_digits),
  +
  +  case input_utils:get_float(Inputs, input) of
  +    {ok, not_active} ->
  +      Value = not_active, Status = normal,
  +      Digits7Seg = lists:duplicate(NumOfDigits, not_active);
  +   
  +    {ok, InValue} ->
  +      case get_display_limits(InValue, NumOfDigits, Inputs) of
  +        {ok, MinDispPrec} -> ok;
  +          
  +        too_big -> ok;
  +
  +        too_small -> ok;
         
  -  case input_utils:get_integer_range(Inputs, precision, 0, NumOfDigits) of
  -    {ok, PosPrecision} ->
  -
  -      case input_utils:get_float(Inputs, input) of
  -        {ok, not_active} ->
  -          Value = not_active, Status = normal,
  -          Digits7Seg = lists:duplicate(NumOfDigits, not_active);
  -   
  -        {ok, InValue} ->
  -          if (InValue >= 0.0) ->
  -          true 
  -          InValueStr = integer_to_list(InValue, NumberBase),
  +        {error, Reason} ->
  +          {Value, Status} = input_utils:log_error(Config, precision, Reason),
  +          Digits7Seg = lists:duplicate(NumOfDigits, not_active)
  +      end;
  +
  +    {error, Reason} ->
  +      {Value, Status} = input_utils:log_error(Config, input, Reason),
  +      Digits7Seg = lists:duplicate(NumOfDigits, not_active)
  +  end,
  +
  + %         true get_pos_limit
  + %         InValueStr = integer_to_list(InValue, NumberBase),
         
             % Set the main output value to the formated input value
             % This should be the same as the 7 segment display is showing
  -          Value = InValueStr, Status = normal, 
  -          LenInValueStr = length(InValueStr),
  + %         Value = InValueStr, Status = normal, 
  + %         LenInValueStr = length(InValueStr),
             
  -          if LenInValueStr > NumOfDigits ->
  +  %        if LenInValueStr > NumOfDigits ->
               % The magnitude of the input value exceeds the number of digits
               % Set the digits outputs to display "---" 
  -            Digits = lists:duplicate(NumOfDigits, $-);
  +%         Digits = lists:duplicate(NumOfDigits, $-);
               
  -          true ->  % Input value will fit into the digits
  + %         true ->  % Input value will fit into the digits
               % Determine if leading digits should be zero or blank
  -            NumBlankDigits = NumOfDigits - LenInValueStr,
  -            if LeadingZeros ->
  -              LeadDigits = lists:duplicate(NumBlankDigits, $0);
  -            true ->
  -              LeadDigits = lists:duplicate(NumBlankDigits, 32)
  -            end,
  -            Digits = LeadDigits ++ InValueStr  
  -          end,
  +   %         NumBlankDigits = NumOfDigits - LenInValueStr,
  +   %         if LeadingZeros ->
  +   %          LeadDigits = lists:duplicate(NumBlankDigits, $0);
  +    %        true ->
  +  %            LeadDigits = lists:duplicate(NumBlankDigits, 32)
  +  %          end,
  +  %%          Digits = LeadDigits ++ InValueStr  
  +  %        end,
        
         % Convert the digits to 7 segment representations
         % TODO: Read decimal point inputs, and set decimal points also
  -      Digits7Seg = lists:map(fun(Digit) -> char_to_segments(Digit, false) end, Digits)
  -      
  -        {error, Reason} ->
  -          {Value, Status} = input_utils:log_error(Config, input, Reason),
  -          Digits7Seg = lists:duplicate(NumOfDigits, not_active);
  -      end;
  -
  -    {error, Reason} ->
  -      {Value, Status} = input_utils:log_error(Config, precision, Reason),
  -      Digits7Seg = lists:duplicate(NumOfDigits, not_active);
  -  end,
  -  
  +      Digits7Seg = lists:map(fun(Digit) -> 
  +                          block_utils:char_to_segments(Digit, false) end, Digits),
  + 
     Outputs1 = output_utils:set_array_value(Outputs, digit, Digits7Seg),
     Outputs2 = output_utils:set_value_status(Outputs1, Value, Status),
   
  
positive.code: %% Internal functions
  %% ====================================================================
  
  % Get the largest number that can be displayed
  -spec get_pos_limit(NumOfDigits :: pos_integer(),
                      Inputs :: list(input_attr())) -> {ok, float(), float()} | {error, atom()}.
  
  
negative.code:       {pos_precision, {empty, ?EMPTY_LINK}}, 
        % Number of digits to the right of the decimal point for negative values
        {neg_precision, {empty, ?EMPTY_LINK}},
        % The value to display.
        {input, {empty, ?EMPTY_LINK}}
       ]). 
  
  