anchor.diff:  %%
   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"},
  
positive.code:   {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"}, 
    {dec_pnt,           "dec_pnt", "Enable decimal point"},
    {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"}, 
    {high_limit,        "high_limit", "High limit value"},
    {hold,              "hold", "Hold last value if true"},
    {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"}, 
    {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"}, 
    {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"}, 
    {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"}, 
    {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 "}, 
    {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"}, 
    {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)"}
  ].
  
  
  
negative.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"},
  