code: def write(self, value):
          
          if self.mode is UNAVAILABLE:
              raise IOError("{0} can not be used through Firmata".format(self))
          if self.mode is INPUT:
              raise IOError("{0} is set up as an INPUT and can therefore not be written to"
                            .format(self))
          if value is not self.value:
              self.value = value
              if self.mode is OUTPUT:
                  if self.port:
                      self.port.write()
                  else:
                      msg = bytearray([DIGITAL_MESSAGE, self.pin_number, value])
                      self.board.sp.write(msg)
              elif self.mode is PWM:
                  value = int(round(value * 255))
                  msg = bytearray([ANALOG_MESSAGE + self.pin_number, value % 128, value >> 7])
                  self.board.sp.write(msg)
              elif self.mode is SERVO:
                  value = int(value)
                  msg = bytearray([ANALOG_MESSAGE + self.pin_number, value % 128, value >> 7])
                  self.board.sp.write(msg)
docs: Output a voltage from the pin
  
          :arg value: Uses value as a boolean if the pin is in output mode, or
              expects a float from 0 to 1 if the pin is in PWM mode. If the pin
              is in SERVO the value should be in degrees.