code: async def play_tone(self, pin, tone_command, frequency, duration):
          
          # convert the integer values to bytes
          if tone_command == Constants.TONE_TONE:
              # duration is specified
              if duration:
                  data = [tone_command, pin, frequency & 0x7f, (frequency >> 7) & 0x7f,
                          duration & 0x7f, (duration >> 7) & 0x7f]
  
              else:
                  data = [tone_command, pin,
                          frequency & 0x7f, (frequency >> 7) & 0x7f, 0, 0]
          # turn off tone
          else:
              data = [tone_command, pin]
          await self._send_sysex(PrivateConstants.TONE_DATA, data)
docs: This method will call the Tone library for the selected pin.
          It requires FirmataPlus to be loaded onto the arduino
  
          If the tone command is set to TONE_TONE, then the specified
          tone will be played.
  
          Else, if the tone command is TONE_NO_TONE, then any currently
          playing tone will be disabled.
  
          :param pin: Pin number
  
          :param tone_command: Either TONE_TONE, or TONE_NO_TONE
  
          :param frequency: Frequency of tone
  
          :param duration: Duration of tone in milliseconds
  
          :returns: No return value