source: level2/competencies/SamgarV1Modules/expressive-behaviours-uh/L2PioneerSound.cpp @ 1706

Revision 463, 2.7 KB checked in by KDucasse, 10 years ago (diff)
Line 
1/*
2        PROGRAM:        Level 2 of Pioneer's Sound Expression Module
3        Author :        K . L. Koay
4        Date   :    05 May 2010
5*/
6
7#include <Windows.h>
8#include "SamgarMainClass.h"
9
10using namespace std;
11using namespace yarp;
12
13void behaviour_Sound(SamgarModule &SoundRef, int behaviour)
14{
15char tune[40];
16Bottle BehaviourOut;
17
18  switch (behaviour) {
19        case  0:        //'MigrationOutof':
20          break;
21
22    case  1:    //'MigrationInto':
23          break;
24   
25    case  2:    //'Happy':
26                //duration in ms num.*25        //tone
27                BehaviourOut.addInt(20);        BehaviourOut.addInt(77);
28                BehaviourOut.addInt(10);        BehaviourOut.addInt(62);
29                BehaviourOut.addInt(20);        BehaviourOut.addInt(70);
30                BehaviourOut.addInt(20);        BehaviourOut.addInt(77);
31                BehaviourOut.addInt(10);        BehaviourOut.addInt(62);
32                BehaviourOut.addInt(20);        BehaviourOut.addInt(70);
33                SoundRef.SendBottleData("L2SBOut", BehaviourOut);
34                BehaviourOut.clear();
35          break;
36    case  3:    //Excited':
37                //duration in ms num.*25        //tone
38                BehaviourOut.addInt(10);        BehaviourOut.addInt(78);
39                BehaviourOut.addInt(10);        BehaviourOut.addInt(80);
40                BehaviourOut.addInt(10);        BehaviourOut.addInt(83);
41                BehaviourOut.addInt(10);        BehaviourOut.addInt(78);
42                BehaviourOut.addInt(10);        BehaviourOut.addInt(80);
43                BehaviourOut.addInt(10);        BehaviourOut.addInt(80);
44                SoundRef.SendBottleData("L2SBOut", BehaviourOut);
45                BehaviourOut.clear();
46          break;
47    case  4:    //'Bored':
48                //duration in ms num.*25        //tone
49                BehaviourOut.addInt(20);        BehaviourOut.addInt(70);
50                BehaviourOut.addInt(30);        BehaviourOut.addInt(66);
51                BehaviourOut.addInt(100);       BehaviourOut.addInt(60);
52                SoundRef.SendBottleData("L2SBOut", BehaviourOut);
53                BehaviourOut.clear();
54          break;
55    case  5:    //'Tired':
56                //duration in ms num.*25        //tone
57                BehaviourOut.addInt(45);        BehaviourOut.addInt(130);
58                BehaviourOut.addInt(40);        BehaviourOut.addInt(64);
59                BehaviourOut.addInt(50);        BehaviourOut.addInt(129);
60                BehaviourOut.addInt(60);        BehaviourOut.addInt(128);
61                SoundRef.SendBottleData("L2SBOut", BehaviourOut);
62                BehaviourOut.clear();
63          break;
64         default:
65                printf("\nNo Such Behaviour, I haven't learn that behaviour yet");
66        break;
67  }
68}
69
70int main(void)
71{
72        Network yarp;           //name                  //Category //subcategory       
73        SamgarModule Sound("PioneerSound", "Sound", "BasePiezoBuzzer", SamgarModule::interupt);
74        Sound.AddPortS("L2SBIn");
75        Sound.AddPortS("L2SBOut");
76       
77        Bottle BehaviourIn;
78        while (1){
79                if (Sound.GetBottleData("L2SBIn", &BehaviourIn, SamgarModule::NoStep)==true)
80                {
81                        //printf("\n ---- I got something %d", BehaviourIn.get(0).asInt());
82                        behaviour_Sound(Sound, BehaviourIn.get(0).asInt());
83                        //printf("\n ---- Done sending Behaviour %d", BehaviourIn.get(0).asInt());
84                        BehaviourIn.clear();
85                }
86                Sound.SucceedFail(true,100);
87        }
88}
Note: See TracBrowser for help on using the repository browser.