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