Project for playing a song on 2 meeds sending notes over I2C

Dependencies:   C12832 mbed

Committer:
jad19925
Date:
Thu Feb 13 20:34:35 2014 +0000
Revision:
3:eb63ba24e2bb
Parent:
2:c35c40bae96e
Child:
4:bd0675c58f5e
more code

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jad19925 0:db7b3841b98f 1 #include "mbed.h"
jad19925 0:db7b3841b98f 2 #include "C12832.h"
jad19925 1:feca2dfd8753 3 #include "mario.h"
jad19925 0:db7b3841b98f 4
jad19925 2:c35c40bae96e 5 #define MASTER
jad19925 2:c35c40bae96e 6 //#define SLAVE
jad19925 2:c35c40bae96e 7
jad19925 0:db7b3841b98f 8 BusIn joy(p15,p12,p13,p16);
jad19925 0:db7b3841b98f 9 DigitalIn fire(p14);
jad19925 0:db7b3841b98f 10 PwmOut spkr(p26);
jad19925 0:db7b3841b98f 11 C12832 lcd(p5, p7, p6, p8, p11);
jad19925 0:db7b3841b98f 12 DigitalIn up(p15);
jad19925 0:db7b3841b98f 13 DigitalIn down(p12);
jad19925 3:eb63ba24e2bb 14 BusOut leds(LED1,LED2,LED3,LED4);
jad19925 0:db7b3841b98f 15
jad19925 3:eb63ba24e2bb 16 I2C i2cPort(p9,p10);
jad19925 3:eb63ba24e2bb 17 char note;
jad19925 3:eb63ba24e2bb 18 char length;
jad19925 3:eb63ba24e2bb 19 const int masterAddress = 0x61;
jad19925 3:eb63ba24e2bb 20 const int slaveAddress = 0x60;
jad19925 0:db7b3841b98f 21
jad19925 0:db7b3841b98f 22 int main()
jad19925 0:db7b3841b98f 23 {
jad19925 0:db7b3841b98f 24 float p1Voltage = 0;
jad19925 0:db7b3841b98f 25 float p2Voltage = 0;
jad19925 0:db7b3841b98f 26 float blueDC = 1;
jad19925 0:db7b3841b98f 27 red.period(0.001);
jad19925 0:db7b3841b98f 28 green.period(0.001);
jad19925 0:db7b3841b98f 29 blue.period(0.001);
jad19925 0:db7b3841b98f 30 red=1;
jad19925 0:db7b3841b98f 31 green=1;
jad19925 0:db7b3841b98f 32 blue=1;
jad19925 0:db7b3841b98f 33
jad19925 0:db7b3841b98f 34 lcd.cls();
jad19925 0:db7b3841b98f 35 lcd.printf("hello world");
jad19925 0:db7b3841b98f 36
jad19925 0:db7b3841b98f 37 while(1) {
jad19925 0:db7b3841b98f 38 if (fire) {
jad19925 0:db7b3841b98f 39 leds=0xf;
jad19925 0:db7b3841b98f 40 for(int i=0;i<(sizeof(marioNotes)/sizeof(NoteName));i++){
jad19925 0:db7b3841b98f 41 if(marioNotes[i] == R) {
jad19925 0:db7b3841b98f 42 spkr=0.0;
jad19925 1:feca2dfd8753 43 wait(.7*marioBeats[i]/12);
jad19925 0:db7b3841b98f 44 }
jad19925 0:db7b3841b98f 45 else{
jad19925 1:feca2dfd8753 46 spkr.period(1/(notes[marioNotes[i]]));
jad19925 0:db7b3841b98f 47 spkr=.5;
jad19925 1:feca2dfd8753 48 wait(.7*marioBeats[i]/12);
jad19925 0:db7b3841b98f 49 spkr=0.0;
jad19925 0:db7b3841b98f 50 }
jad19925 0:db7b3841b98f 51 }
jad19925 0:db7b3841b98f 52 spkr=0.0;
jad19925 0:db7b3841b98f 53 //end speaker code
jad19925 0:db7b3841b98f 54 }
jad19925 1:feca2dfd8753 55 else
jad19925 1:feca2dfd8753 56 {
jad19925 1:feca2dfd8753 57 leds=joy;
jad19925 1:feca2dfd8753 58 #ifdef MASTER
jad19925 3:eb63ba24e2bb 59 if(up)
jad19925 3:eb63ba24e2bb 60 {//master sends its song to slave
jad19925 1:feca2dfd8753 61
jad19925 1:feca2dfd8753 62 }
jad19925 3:eb63ba24e2bb 63 else if(down)
jad19925 3:eb63ba24e2bb 64 {//slave should send it's song to master
jad19925 1:feca2dfd8753 65
jad19925 1:feca2dfd8753 66 }
jad19925 2:c35c40bae96e 67 #elif SLAVE
jad19925 1:feca2dfd8753 68
jad19925 1:feca2dfd8753 69 #endif
jad19925 1:feca2dfd8753 70 }
jad19925 0:db7b3841b98f 71 }
jad19925 0:db7b3841b98f 72 }