anchor.diff:    {Value, Status};
   
   update_lcd_data(I2cRef, Backlight, Config, Inputs, NumOfInputs, InputNum, Value, _Status) ->
  -  case config_utils:get_integer_range(Config, {start_rows, InputNum}, 1, 4) of
  +  case config_utils:get_integer_range(Config, {start_rows, InputNum}, 1, ?MAX_ROWS) of
       {ok, StartRow} ->
   
  -      case config_utils:get_integer_range(Config, {start_cols, InputNum}, 1, 20) of
  +      case config_utils:get_integer_range(Config, {start_cols, InputNum}, 1, ?MAX_COLUMNS) of
           {ok, StartCol} ->
   
  -          case input_utils:get_string(Inputs, {inputs, InputNum}) of
  -            {ok, InputStr} ->
  -              case StartRow of
  -                1 -> RowAddr = ?LINE_1;
  -                2 -> RowAddr = ?LINE_2;
  -                3 -> RowAddr = ?LINE_3;
  -                4 -> RowAddr = ?LINE_4
  -              end,
  -
  -              RowColAddr = RowAddr + (StartCol - 1),
  -              set_data_addr(I2cRef, Backlight, RowColAddr),
  -              lists:map(fun(Char) -> write_data(I2cRef, Backlight, Char) end, InputStr),
  -              
  -              NewValue = Value ++ " " ++ InputStr,
  -              NewStatus = normal;
  -
  +          case config_utils:get_integer_range(Config, {field_widths, InputNum}, 1, ?MAX_CHARS) of
  +            {ok, FieldWidth} ->
  +
  +              case input_utils:get_string(Inputs, {inputs, InputNum}) of
  +                {ok, not_active} -> 
  +                  % Input is not_active, display config not active string value
  +                  {ok, InputStr} = config_utils:get_string(Config, not_active_str),
  +                  DisplayedStr = display_str(I2cRef, Backlight, StartRow, StartCol, FieldWidth, InputStr),                
  +                  NewValue = Value ++ DisplayedStr,
  +                  NewStatus = normal;
  +
  +                {ok, InputStr} -> 
  +                  DisplayedStr = display_str(I2cRef, Backlight, StartRow, StartCol, FieldWidth, InputStr),                
  +                  NewValue = Value ++ DisplayedStr,
  +                  NewStatus = normal;
  +
  +                {error, Reason} ->
  +                  {NewValue, NewStatus} = input_utils:log_error(Config, inputs, Reason)
  +              end;
               {error, Reason} ->
  -              {NewValue, NewStatus} = input_utils:log_error(Config, inputs, Reason)
  +              {NewValue, NewStatus} = config_utils:log_error(Config, field_widths, Reason)
             end;
           {error, Reason} ->
             {NewValue, NewStatus} = config_utils:log_error(Config, start_cols, Reason)
  
positive.code:   end.
  
  
  %%
  %% Shutdown LCD
  %%
  shutdown_lcd(I2cRef) ->
    % Clear the display and turn it off
    clear_display(I2cRef, ?BACKLIGHT_OFF),
    set_display_control(I2cRef, ?BACKLIGHT_OFF, ?DISPLAY_OFF).
  
  
  %%
  %% Read control inputs and update the LCD control
  %%
  update_lcd_control(I2cRef, Inputs) ->
  
    case input_utils:get_boolean(Inputs, display) of
  
negative.code: 
          {error, Reason} ->
            Inputs1 = Inputs,
            Config3 = Config,
            {Value, Status} = config_utils:log_error(Config, num_of_inputs, Reason)
        end;
        
  