code: async def set_analog_latch(self, pin, threshold_type, threshold_value,
                                 cb=None, cb_type=None):
          
          if Constants.LATCH_GT <= threshold_type <= Constants.LATCH_LTE:
              key = 'A' + str(pin)
              if 0 <= threshold_value <= 1023:
                  self.latch_map[key] = [Constants.LATCH_ARMED, threshold_type,
                                         threshold_value, 0, 0, cb, cb_type]
                  return True
          else:
              return False
docs: This method "arms" an analog pin for its data to be latched and saved
          in the latching table
          If a callback method is provided, when latching criteria is achieved,
          the callback function is called with latching data notification.
  
          Data returned in the callback list has the pin number as the
          first element,
  
          :param pin: Analog pin number
                      (value following an 'A' designator, i.e. A5 = 5
  
          :param threshold_type: ANALOG_LATCH_GT | ANALOG_LATCH_LT  |
                                 ANALOG_LATCH_GTE | ANALOG_LATCH_LTE
  
          :param threshold_value: numerical value - between 0 and 1023
  
          :param cb: callback method
  
          :param cb_type: Constants.CB_TYPE_DIRECT = direct call or
                          Constants.CB_TYPE_ASYNCIO = asyncio coroutine
  
          :returns: True if successful, False if parameter data is invalid