Skip to content

Commit

Permalink
speaker: add support for speaker on both circuitplay express and circ…
Browse files Browse the repository at this point in the history
…uitplay bluefruit

Signed-off-by: deadprogram <[email protected]>
  • Loading branch information
deadprogram committed Jul 25, 2022
1 parent 585c5a9 commit 774c581
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 15 deletions.
15 changes: 0 additions & 15 deletions speaker.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package gopherbot

import (
"machine"

"tinygo.org/x/drivers/buzzer"
)

Expand All @@ -11,19 +9,6 @@ type SpeakerDevice struct {
buzzer.Device
}

// Speaker returns the SpeakerDevice.
func Speaker() *SpeakerDevice {
enable := machine.PA30
enable.Configure(machine.PinConfig{Mode: machine.PinOutput})
enable.Set(true)

speaker := machine.A0
speaker.Configure(machine.PinConfig{Mode: machine.PinOutput})

bzr := buzzer.New(speaker)
return &SpeakerDevice{bzr}
}

// Bleep makes a bleep sound using the speaker.
func (s *SpeakerDevice) Bleep() {
s.Tone(buzzer.C3, buzzer.Eighth)
Expand Down
22 changes: 22 additions & 0 deletions speaker_bluefruit.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// +build circuitplay_bluefruit

package gopherbot

import (
"tinygo.org/x/drivers/buzzer"

"machine"
)

// Speaker returns the SpeakerDevice.
func Speaker() *SpeakerDevice {
enable := machine.D11
enable.Configure(machine.PinConfig{Mode: machine.PinOutput})
enable.Set(true)

speaker := machine.D12
speaker.Configure(machine.PinConfig{Mode: machine.PinOutput})

bzr := buzzer.New(speaker)
return &SpeakerDevice{bzr}
}
22 changes: 22 additions & 0 deletions speaker_express.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// +build circuitplay_express

package gopherbot

import (
"machine"

"tinygo.org/x/drivers/buzzer"
)

// Speaker returns the SpeakerDevice.
func Speaker() *SpeakerDevice {
enable := machine.PA30
enable.Configure(machine.PinConfig{Mode: machine.PinOutput})
enable.Set(true)

speaker := machine.A0
speaker.Configure(machine.PinConfig{Mode: machine.PinOutput})

bzr := buzzer.New(speaker)
return &SpeakerDevice{bzr}
}

0 comments on commit 774c581

Please sign in to comment.