anchor.diff:    {block_module,      "block_module", "Module name containing block code "},
     {brightness,        "brightness", "Display brightness"},
     {broker,            "broker", "MQTT server URL(ex: broker.hivemq.com"},
  -  {carry,             "carry", "true if counter rolled over"}, 
  -  {clear,             "clear", "Clear contents of display"}, 
  -  {clean_sess,        "clean_sess", "MQTT"}, 
  -  {client_id,         "client_id", "MQTT client id. Defaults to block name if not set"}, 
  -  {colon,             "colon", "Display colon segment"}, 
  -  {cursor,            "cursor", "Enable display cursor"}, 
  +  {carry,             "carry", "true if counter rolled over"},
  +  {clear,             "clear", "Clear contents of display"},
  +  {clean_sess,        "clean_sess", "MQTT"},
  +  {client_id,         "client_id", "MQTT client id. Defaults to block name if not set"},
  +  {colon,             "colon", "Display colon segment"},
  +  {cursor,            "cursor", "Enable display cursor"},
  +  {day_in,            "day_in", "Day input value"},
  +  {day_out,           "day_out", "Day output value"},
     {dec_pnt,           "dec_pnt", "Enable decimal point"},
  -  {default_value,     "default_value", "Value to use when input value is null or empty"}, 
  +  {default_value,     "default_value", "Value to use when input value is null or empty"},
     {deg_f,             "deg_f", "Use Deg. F for temp units, otherwise Deg. C"},
  -  {description,       "description", "User defined description of this block"}, 
  -  {digits,            "digits", "Segments to enable for each digit of 7-segment display"}, 
  -  {digit1,            "digit1", "Indicate which segments of display digit 1 to turn on"}, 
  -  {digit2,            "digit2", "Indicate which segments of display digit 2 to turn on"}, 
  -  {digit3,            "digit3", "Indicate which segments of display digit 3 to turn on"}, 
  -  {digit4,            "digit4", "Indicate which segments of display digit 4 to turn on"}, 
  -  {disable,           "disable", "Disable block execution"}, 
  -  {display,           "display", "Enable display"}, 
  -  {display_on,        "display_on", "Enable display"}, 
  -  {exec_in,           "exec_in", "Linked to exec_out, output attribute, to implement Control Flow"}, 
  -  {exec_interval,     "exec_interval", "Time between block executions, in Milliseconds"}, 
  -  {exec_method,       "exec_method", "Reason block was executed"}, 
  -  {exec_out,          "exec_out", "Linked to exec_in, input attribute to implement Control Flow"}, 
  -  {false_input,       "false_input", "Output value for false select input value"}, 
  -  {field_width,       "field_width", "Minimun number of chars to display converted number"}, 
  -  {field_widths,      "field_widths", "Display field width in number of characters"}, 
  -  {filter_coeff,      "filter_coeff", "TODO"}, 
  -  {final_value,       "final_value", "Counter final value"}, 
  -  {gpio_pin,          "gpio_pin", "GPIO Pin number"}, 
  -  {gpio_pin_phase_A,  "gpio_pin_phase_A", "GPIO Pin number of encoder Phase A output"}, 
  -  {gpio_pin_phase_B,  "gpio_pin_phase_B", "GPIO Pin number of encoder Phase B output"}, 
  -  {gpio_pin_switch,   "gpio_pin_switch", "GPIO Pin number of encoder switch"}, 
  +  {description,       "description", "User defined description of this block"},
  +  {digits,            "digits", "Segments to enable for each digit of 7-segment display"},
  +  {digit1,            "digit1", "Indicate which segments of display digit 1 to turn on"},
  +  {digit2,            "digit2", "Indicate which segments of display digit 2 to turn on"},
  +  {digit3,            "digit3", "Indicate which segments of display digit 3 to turn on"},
  +  {digit4,            "digit4", "Indicate which segments of display digit 4 to turn on"},
  +  {disable,           "disable", "Disable block execution"},
  +  {display,           "display", "Enable display"},
  +  {display_on,        "display_on", "Enable display"},
  +  {exec_in,           "exec_in", "Linked to exec_out, output attribute, to implement Control Flow"},
  +  {exec_interval,     "exec_interval", "Time between block executions, in Milliseconds"},
  +  {exec_method,       "exec_method", "Reason block was executed"},
  +  {exec_out,          "exec_out", "Linked to exec_in, input attribute to implement Control Flow"},
  +  {false_input,       "false_input", "Output value for false select input value"},
  +  {field_width,       "field_width", "Minimun number of chars to display converted number"},
  +  {field_widths,      "field_widths", "Display field width in number of characters"},
  +  {filter_coeff,      "filter_coeff", "TODO"},
  +  {final_value,       "final_value", "Counter final value"},
  +  {format,            "format", "Format specification for Date Time string"},
  +  {gpio_pin,          "gpio_pin", "GPIO Pin number"},
  +  {gpio_pin_phase_A,  "gpio_pin_phase_A", "GPIO Pin number of encoder Phase A output"},
  +  {gpio_pin_phase_B,  "gpio_pin_phase_B", "GPIO Pin number of encoder Phase B output"},
  +  {gpio_pin_switch,   "gpio_pin_switch", "GPIO Pin number of encoder switch"},
     {high_limit,        "high_limit", "High limit value"},
     {hold,              "hold", "Hold last value if true"},
  +  {hour_in,           "hour_in", "Hour input value"},
  +  {hour_out,          "hour_out", "Hour output value"},
     {humid,             "humid", "Relative humidity %"},
     {humid_mode,        "humid_mode", "Humidity Mode"},
     {humid_offset,      "humid_offset", "Humidity Offset"},
  -  {i2c_addr,          "i2c_addr", "Address of I2C bus device"}, 
  -  {i2c_device,        "i2c_device", "Name of I2C Device"}, 
  -  {ignore_nulls,      "ignore_nulls", "Ignore NULL input values when calculating output value"}, 
  +  {i2c_addr,          "i2c_addr", "Address of I2C bus device"},
  +  {i2c_device,        "i2c_device", "Name of I2C Device"},
  +  {ignore_nulls,      "ignore_nulls", "Ignore NULL input values when calculating output value"},
     {inch_merc,         "inch_merc", "Inches of Mercury (barometric pressure)"},
  -  {initial_state,     "initial_state", "Initial value when transitioning from a null state"}, 
  -  {initial_value,     "initial_value", "Counter starting value"}, 
  -  {input,             "input", "Input value"}, 
  -  {input1,            "input1", "Input 1 binary select"}, 
  -  {input2,            "input2", "Input 2 binary select"}, 
  -  {input3,            "input3", "Input 3 binary select"}, 
  -  {input4,            "input4", "Input 4 binary select"}, 
  -  {inputs,            "inputs", "Input values"}, 
  -  {input_a,           "input_a", "Binary input A of logic gate"}, 
  -  {input_b,           "input_b", "Binary input B of logic gate"}, 
  -  {input_j,           "input_j", "Binary input J value"}, 
  -  {input_k,           "input_k", "Binary input K value"}, 
  -  {invert_output,     "invert_output", "Set the ouptut value opposite of calculated state"}, 
  -  {keepalive,         "keepalive", "TODO"}, 
  -  {leading_zeros,     "leading_zeros", "Display leading zeros"}, 
  -  {led_id,            "led_id", "Id of RPI on-board LED. ""led0"" is green LED, ""led1"" is red LED"}, 
  -  {left_justify,      "left_justify", "Start string at left of field"}, 
  -  {logger,            "logger", "logging level, for debug purposes"}, 
  -  {low_limit,         "low_limit", "Low limit value"}, 
  -  {min_on_time,       "min_on_time", "Minimum time output will stay true after input is true, in Milliseconds"}, 
  -  {neg_overflow,      "neg_overflow", "Insufficient digits to display negative value"}, 
  -  {neg_precision,     "neg_precision", "Number of digits to the right of the decimal point for negative values"}, 
  -  {nodes,             "nodes", "Name of nodes to send values"}, 
  -  {nodes_state,       "nodes_state", "Binary indicator of node connected state"}, 
  -  {not_active_str,    "not_active_str", "String to display when input is null"}, 
  -  {null_input,        "null_input", "Output value for null select input value"}, 
  -  {number_base,       "number_base", "Number base to display integer"}, 
  -  {num_of_digits,     "num_of_digits", "Quantity of digits in display"}, 
  -  {num_of_inputs,     "num_of_inputs", "Quantity of Input attributes"}, 
  -  {num_of_nodes,      "num_of_nodes", "Quantity of nodes to send values"}, 
  +  {initial_state,     "initial_state", "Initial value when transitioning from a null state"},
  +  {initial_value,     "initial_value", "Counter starting value"},
  +  {input,             "input", "Input value"},
  +  {input1,            "input1", "Input 1 binary select"},
  +  {input2,            "input2", "Input 2 binary select"},
  +  {input3,            "input3", "Input 3 binary select"},
  +  {input4,            "input4", "Input 4 binary select"},
  +  {inputs,            "inputs", "Input values"},
  +  {input_a,           "input_a", "Binary input A of logic gate"},
  +  {input_b,           "input_b", "Binary input B of logic gate"},
  +  {input_j,           "input_j", "Binary input J value"},
  +  {input_k,           "input_k", "Binary input K value"},
  +  {invert_output,     "invert_output", "Set the ouptut value opposite of calculated state"},
  +  {keepalive,         "keepalive", "TODO"},
  +  {leading_zeros,     "leading_zeros", "Display leading zeros"},
  +  {led_id,            "led_id", "Id of RPI on-board LED. ""led0"" is green LED, ""led1"" is red LED"},
  +  {left_justify,      "left_justify", "Start string at left of field"},
  +  {logger,            "logger", "logging level, for debug purposes"},
  +  {low_limit,         "low_limit", "Low limit value"},
  +  {micro_sec_in,      "micro_sec_in", "Micro-Second input value"},
  +  {micro_sec_out,     "micro_sec_out", "Micro-Second output value"},
  +  {min_on_time,       "min_on_time", "Minimum time output will stay true after input is true, in Milliseconds"},
  +  {minute_in,         "minute_in", "Minute input value"},
  +  {minute_out,        "minute_out", "Minute output value"},
  +  {month_in,          "month_in", "Month input value"},
  +  {month_out,         "month_out", "Month output value"},
  +  {neg_overflow,      "neg_overflow", "Insufficient digits to display negative value"},
  +  {neg_precision,     "neg_precision", "Number of digits to the right of the decimal point for negative values"},
  +  {nodes,             "nodes", "Name of nodes to send values"},
  +  {nodes_state,       "nodes_state", "Binary indicator of node connected state"},
  +  {not_active_str,    "not_active_str", "String to display when input is null"},
  +  {null_input,        "null_input", "Output value for null select input value"},
  +  {number_base,       "number_base", "Number base to display integer"},
  +  {num_of_digits,     "num_of_digits", "Quantity of digits in display"},
  +  {num_of_inputs,     "num_of_inputs", "Quantity of Input attributes"},
  +  {num_of_nodes,      "num_of_nodes", "Quantity of nodes to send values"},
     {num_of_pubs,       "num_of_pubs", "MQTT quantity of topics to publish"},
     {num_of_subs,       "num_of_subs", "MQTT quantity of topics to subscribe to"},
     {num_of_values,     "num_of_values", "Quantity of values"},
     {outputs,           "outputs", "Array of output values"},
  -  {password,          "password", "MQTT Password"}, 
  -  {phase_int_edge,    "phase_int_edge", "Interrupt edge to read for phase input"}, 
  +  {password,          "password", "MQTT Password"},
  +  {phase_int_edge,    "phase_int_edge", "Interrupt edge to read for phase input"},
     {port,              "port",      "MQTT server port number"},
  -  {pos_overflow,      "pos_overflow", "Insufficient digits to display positive value"}, 
  -  {pos_precision,     "pos_precision", "Number of digits to the right of the decimal point for positive values"}, 
  -  {precision,         "precision", "Number of digits to display to the right of the decimal point"}, 
  +  {pos_overflow,      "pos_overflow", "Insufficient digits to display positive value"},
  +  {pos_precision,     "pos_precision", "Number of digits to the right of the decimal point for positive values"},
  +  {precision,         "precision", "Number of digits to display to the right of the decimal point"},
     {press,             "press",    "Atmospheric pressure"},
     {press_mode,        "press_mode", "Pressure Mode"},
     {press_offset,      "press_offset", "Pressure Offset"},
     {proto_ver,         "proto_ver", "MQTT protocol version"},
     {pub_inputs,        "pub_inputs", "MQTT values to publish"},
     {pub_topics,        "pub_topics", "MQTT topics to publish"},
  -  {read_mode,         "read_mode", "TODO"}, 
  -  {receive_values,    "receive_values", "Values received from other nodes"}, 
  -  {reset,             "reset", "Reset counter to initial value"}, 
  -  {rollover,          "rollover", "Reset counter to initial value after final value"}, 
  -  {seg_a,             "seg_a", "Segment A of 7 segment display"}, 
  -  {seg_b,             "seg_b", "Segment B of 7 segment display"}, 
  -  {seg_c,             "seg_c", "Segment C of 7 segment display"}, 
  -  {seg_d,             "seg_d", "Segment D of 7 segment display"}, 
  -  {seg_e,             "seg_e", "Segment E of 7 segment display"}, 
  -  {seg_f,             "seg_f", "Segment F of 7 segment display"}, 
  -  {seg_g,             "seg_g", "Segment G of 7 segment display"}, 
  -  {seg_dp,            "seg_dp", "Segment Dec Pnt of 7 segment display"}, 
  -  {segments,          "segments", "Byte value indicating state of each segment"}, 
  -  {select,            "select", "value selects which input value to pass to output"}, 
  -  {send_values,       "send_values", "Values to send to other nodes"}, 
  -  {standby_time,      "standby_time", "TODO"}, 
  -  {start_cols,        "start_cols", "Starting column number for display segment"}, 
  -  {start_rows,        "start_rows", "Starting row number for display segment"}, 
  -  {status,            "status", "Current block status "}, 
  +  {read_mode,         "read_mode", "TODO"},
  +  {receive_values,    "receive_values", "Values received from other nodes"},
  +  {reset,             "reset", "Reset counter to initial value"},
  +  {rollover,          "rollover", "Reset counter to initial value after final value"},
  +  {second_in,         "second_in", "Second input value"},
  +  {second_out,        "second_out", "Second output value"},
  +  {seg_a,             "seg_a", "Segment A of 7 segment display"},
  +  {seg_b,             "seg_b", "Segment B of 7 segment display"},
  +  {seg_c,             "seg_c", "Segment C of 7 segment display"},
  +  {seg_d,             "seg_d", "Segment D of 7 segment display"},
  +  {seg_e,             "seg_e", "Segment E of 7 segment display"},
  +  {seg_f,             "seg_f", "Segment F of 7 segment display"},
  +  {seg_g,             "seg_g", "Segment G of 7 segment display"},
  +  {seg_dp,            "seg_dp", "Segment Dec Pnt of 7 segment display"},
  +  {segments,          "segments", "Byte value indicating state of each segment"},
  +  {select,            "select", "value selects which input value to pass to output"},
  +  {send_values,       "send_values", "Values to send to other nodes"},
  +  {source,            "source", "Input time source"},
  +  {standby_time,      "standby_time", "TODO"},
  +  {start_cols,        "start_cols", "Starting column number for display segment"},
  +  {start_rows,        "start_rows", "Starting row number for display segment"},
  +  {status,            "status", "Current block status "},
     {sub_topics,        "sub_topics", "MQTT topics to subscribe to"},
     {sub_values,        "sub_values", "MQTT value of subscribed topics"},
  -  {switch,            "switch", "Switch state"}, 
  -  {switch_int_edge,   "switch_int_edge", "Interrupt edge to read for switch input"}, 
  -  {temp,              "temp", "Temperature"}, 
  +  {switch,            "switch", "Switch state"},
  +  {switch_int_edge,   "switch_int_edge", "Interrupt edge to read for switch input"},
  +  {temp,              "temp", "Temperature"},
     {temp_mode,         "temp_mode", "Temperature Mode"},
     {temp_offset,       "temp_offset", "Temperature Offset"},
  -  {true_input,        "true_input", "Output value for true select input value"}, 
  -  {username,          "username", "MQTT Username"}, 
  -  {value,             "value", "Main block output value"}, 
  -  {version,           "version", "Version of Block type code, used to create this block (Major.Minor.Patch)"}
  +  {timestamp_in,      "timestamp_in", "Timestamp input value"},
  +  {timestamp_out,     "timestamp_out", "Timestamp output value"},
  +  {true_input,        "true_input", "Output value for true select input value"},
  +  {username,          "username", "MQTT Username"},
  +  {value,             "value", "Main block output value"},
  +  {version,           "version", "Version of Block type code, used to create this block (Major.Minor.Patch)"},
  +  {year_in,           "year_in", "Year input value"},
  +  {year_out,          "year_out", "Year output value"} 
   ].
   
   
  
positive.code:   {'1_1_1_0_out',     "1_1_1_0_out", "Output value for input 4 = true & 3 = true & 2 = true & 1 = false"},
    {'1_1_1_1_out',     "1_1_1_1_out", "Output value for input 4 = true & 3 = true & 2 = true & 1 = true"},
  
    {active_true,       "active_true", "If main value is true, this is true, otherwise null"}, 
    {active_false,      "active_false", "If main value is false, this is false, otherwise null"},
    {backlight,         "backlight", "Enable display backlight"},
    {blink_cursor,      "blink_cursor", "Blink display cursor"},
  
negative.code: %%
  block_type_strings() -> 
  [
    {lblx_datetime,        "datetime",        "Output formatted and component date/time values"},
    {lblx_exec_count,      "exec_count",      "Incr/Decr counter output value on block execution"},
    {lblx_float_to_7seg,   "float_to_7seg",   "Convert floating point value input to multiple 7 segment digits outputs"},
    {lblx_float_to_str,    "float_to_str",    "Convert floating point value to a string"},
  