code: def _handle_digital_message(self, port_nr, lsb, msb):
          
          mask = (msb << 7) + lsb
          try:
              self.digital_ports[port_nr]._update(mask)
          except IndexError:
              raise ValueError
docs: Digital messages always go by the whole port. This means we have a
          bitmask which we update the port.