Re: playTone duration in Arduino package

John Donoghue <[email protected]>
Newsgroups gmane.comp.gnu.octave.general
Message-ID <CAOJTVZDZDOmvujriOT9FBSJR_oYsaipTWinOgXYP1PUOb5ZwVw@mail.gmail.com>
On Fri, Mar 12, 2021 at 12:54 AM Cathy Zupke <[email protected]> wrote:

> John,
>
> Thanks so much for the help.  I didn't appreciate that the code was
> available to look at and modify.  I made the change and it works!
>
> Is there a mechanism to report the bug/fix to the developers so that the
> fix becomes official?
>
> -Cathy
>
>
> On Thu, Mar 11, 2021 at 4:39 AM JohnD <[email protected]>
> wrote:
>
>>
>>
>> > -----Original Message-----
>> > From: JohnD [mailto:[email protected]]
>> > Sent: Thursday, March 11, 2021 12:21 AM
>> > To: 'Cathy Zupke'
>> > Cc: [email protected]
>> > Subject: RE: playTone duration in Arduino package
>> >
>> >
>> > >> playTone(a,'D10',440,1) %piezo speaker is attached to D10 and makes a
>> > tone that never stops
>> > >> playTone(a,'D10',300,1) %frequency changes but never stops
>> > >> playTone(a,'D10',0,1) %sound stops
>> > >> playTone(a,'D10',180,3) %makes a tone that never stops
>> > >> playTone(a,'D10',440,0) %frequency changes but never stops
>> > >> version   %I think this gives the version of octave
>> >
>> > > It is my understanding that the last parameter is supposed to be
>> duration in
>> > seconds. So I'd expect the tones to stop after that time has elapsed.
>> >
>> >
>> >
>> >
>> > It looks good to me, so must be a bug in the code - the duration should
>> be
>> > passed to the Arduino tone function in the library code, so if its not
>> turning
>> > off, its acting like the duration its receiving is 0 that would play
>> until the stop
>> > is called.
>> >
>> >  I will have to hook up an Arduino and take a look.
>>
>>
>> Found an obvious mistake in inst/@arduino/playTone.m. If you change the
>> line
>> if nargin >= 3
>>
>> to be
>>
>> if nargin < 4
>>
>> It then works for me.
>>
>> Diff format:
>> --- a/inst/@arduino/playTone.m  Wed Mar 10 15:57:09 2021 -0500
>> +++ b/inst/@arduino/playTone.m  Thu Mar 11 07:35:29 2021 -0500
>> @@ -35,7 +35,7 @@
>>    if nargin < 3
>>      error ("@arduino.playTone: expected pin name and frequency");
>>    endif
>> -  if nargin >= 3
>> +  if nargin < 4
>>      duration = 0;
>>    endif
>>
>>
>>
Normally creating a bug on the octave bug page will work [1]

However, since I am the author of the package, it has already been added to
the repo and will appear in the next release.

[1] https://savannah.gnu.org/bugs/?group=octave
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.