Utilities classes for the Zumo Robot

Dependents:   ZumoRobotBluetoothControlled Fsl_Zumo

This library represents some useful code for controlling your Zumo Robot.

Revision:
6:7740c9d8d834
Parent:
5:5e12111ef01f
Child:
7:d2af97b7cc94
--- a/Buzzer.cpp	Thu Dec 11 20:52:06 2014 +0000
+++ b/Buzzer.cpp	Sun Dec 21 12:46:41 2014 +0000
@@ -7,29 +7,63 @@
 
 #include "Buzzer.h"
 
-Buzzer::Buzzer(PinName buzzerPinName):buzzerPin(buzzerPinName) {
- 
+Buzzer::Buzzer(PinName buzzerPinName):buzzerPin(buzzerPinName)
+{
+
     // Initialising
     buzzerPin.period_us(0);
     buzzerPin.pulsewidth_us(0);
 }
 
-Buzzer::~Buzzer() {
-    
+Buzzer::~Buzzer()
+{
+
     // Deinitialising
 }
 
-void Buzzer::stopBeep() {
-    
+void Buzzer::stopBeep()
+{
+
     buzzerPin.period_us(0);
     buzzerPin.pulsewidth_us(0);
 }
 
-void Buzzer::startBeep(float frequency, float duration) {
-    
-    buzzerPin.period(1/frequency);   
+void Buzzer::startBeep(float frequency, float duration)
+{
+
+    buzzerPin.period(1/frequency);
     buzzerPin.pulsewidth_us(100);
     timeout.attach(this, &Buzzer::stopBeep, duration);
 }
 
+void Buzzer::playDefaultMelody()
+{
+    // Playing default melody on buzzer
+    while (true) {
+        buzzerPin.period(16);
+        buzzerPin.pulsewidth_us(200);
+        wait(0.5);
+
+        buzzerPin.period(0);
+        buzzerPin.pulsewidth_us(0);
+        wait(0.5);
+        
+        buzzerPin.period(16);
+        buzzerPin.pulsewidth_us(200);
+        wait(0.5);
+        
+        buzzerPin.period(0);
+        buzzerPin.pulsewidth_us(0);
+        wait(0.5);
+        
+        buzzerPin.period(16);
+        buzzerPin.pulsewidth_us(200);
+        wait(0.5);
+        
+        buzzerPin.period(0);
+        buzzerPin.pulsewidth_us(0);
+        wait(0.5);
+    }
+}
+
 #endif // BuzzerCpp
\ No newline at end of file