Projet S5 Info - Beginner
Dependencies: TextLCD XBeeLib mbed-rtos mbed
Fork of Coordinateur-Advanced by
Diff: main.cpp
- Revision:
- 5:08245a3e93a8
- Parent:
- 4:714484401021
- Child:
- 6:59b0b6c1b5bb
--- a/main.cpp Wed Apr 06 15:24:00 2016 +0000 +++ b/main.cpp Wed Apr 06 16:12:53 2016 +0000 @@ -7,14 +7,11 @@ using namespace XBeeLib; SDFileSystem sd(p5, p6, p7, p8, "sd"); // MOSI, MISO, SCLK, SSEL -PwmOut speaker1(p21); -PwmOut speaker2(p22); -PwmOut speaker3(p23); -PwmOut speaker4(p24); -PwmOut speaker5(p25); -PwmOut speaker6(p26); +PwmOut speaker(p21); +AnalogIn GP2D12(p16); //wave_player player(&DACout); Serial pc(USBTX, USBRX); +int octaveMult=1; osThreadId threadIDC5; osThreadId threadIDG5; @@ -24,14 +21,26 @@ bool capt_4; bool capt_5; bool capt_6; + +// 261.63 hz do +// 293.66 Ré +// 329.63 mi +// 369.99 fa# +// 415.30 sol# +// 466.16 la# + +const float DO =261.63; +const float RE =261.63; +const float MI =261.63; +const float FA_SHARP =261.63; +const float SOL_SHARP =261.63; +const float LA_SHARP =261.63; /** Callback function, invoked at packet reception */ static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len) { const uint64_t remote_addr64 = remote.get_addr64(); - pc.printf("\r\nGot packet, len %d\r\nData: ", len); - for (int i = 0; i < len; i++) { pc.printf("%02x ", data[i]); @@ -53,20 +62,28 @@ pc.printf("\r\n"); + pc.printf("%f\r\n",GP2D12.read()); + speaker=0.50f; if(capt_1){ - speaker1=0.50f; + //speaker=0.50f; + speaker.period(1.0/(DO * octaveMult)); + } else if(capt_2) { + //speaker=0.50f; + speaker.period(1.0/(RE * octaveMult)); + } else if(capt_3) { + //speaker=0.50f; + speaker.period(1.0/(MI * octaveMult)); + } else if(capt_4) { + //speaker=0.50f; + speaker.period(1.0/(FA_SHARP * octaveMult)); + } else if(capt_5) { + //speaker=0.50f; + speaker.period(1.0/(SOL_SHARP * octaveMult)); + } else if(capt_6) { + //speaker=0.50f; + speaker.period(1.0/(LA_SHARP * octaveMult)); } else { - speaker1=0.0f; - } - if(capt_2){ - speaker2=0.50f; - } else { - speaker2=0.0f; - } - if(capt_3){ - speaker3=0.50f; - } else { - speaker3=0.0f; + speaker=0.0f; } } @@ -83,7 +100,7 @@ fclose(fp); */ } - +/* void playC5(void const* args) { threadIDC5 = osThreadGetId(); @@ -115,19 +132,9 @@ wait(1); } } - +*/ int main() { - speaker3.period(1.0/2349.32); // 440hz period D3 - speaker2.period(1.0/440.0); // 440hz period A3 - speaker1.period(1.0/293.66); // 293.66hz period D - //speaker2.pulsewidth(2); - //speaker1.pulsewidth(1); - //Thread C5(playC5); - //C5.set_priority(osPriorityHigh); - //Thread G5(playG5); - //G5.set_priority(osPriorityHigh); - XBeeZB xbee = XBeeZB(p13, p14, p8, NC, NC, 9600); /* Register callbacks */ @@ -146,6 +153,6 @@ while (true) { xbee.process_rx_frames(); - wait_ms(2000); + wait_ms(50); } }