Projet S5 Info - Advanced

Dependencies:   TextLCD XBeeLib mbed-rtos mbed

Fork of Coordinateur by Vincent Belanger

Committer:
vinbel93
Date:
Mon Apr 04 18:55:43 2016 +0000
Revision:
1:33b4a3b5cdb5
Parent:
0:3acd447c12c0
Child:
2:a7820185e9a8
Swag

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jasmou 0:3acd447c12c0 1 #include "mbed.h"
jasmou 0:3acd447c12c0 2 #include "XBeeLib.h"
vinbel93 1:33b4a3b5cdb5 3 #include "SDFileSystem.h"
vinbel93 1:33b4a3b5cdb5 4 #include "wave_player.h"
jasmou 0:3acd447c12c0 5
jasmou 0:3acd447c12c0 6 using namespace XBeeLib;
vinbel93 1:33b4a3b5cdb5 7
vinbel93 1:33b4a3b5cdb5 8 SDFileSystem sd(p5, p6, p7, p8, "sd"); // MOSI, MISO, SCLK, SSEL
vinbel93 1:33b4a3b5cdb5 9 AnalogOut DACout(p18);
vinbel93 1:33b4a3b5cdb5 10 wave_player player(&DACout);
jasmou 0:3acd447c12c0 11 Serial pc(USBTX, USBRX);
jasmou 0:3acd447c12c0 12
jasmou 0:3acd447c12c0 13 bool capt_1;
jasmou 0:3acd447c12c0 14 bool capt_2;
jasmou 0:3acd447c12c0 15 bool capt_3;
jasmou 0:3acd447c12c0 16 bool capt_4;
jasmou 0:3acd447c12c0 17 bool capt_5;
jasmou 0:3acd447c12c0 18 bool capt_6;
jasmou 0:3acd447c12c0 19
jasmou 0:3acd447c12c0 20 /** Callback function, invoked at packet reception */
jasmou 0:3acd447c12c0 21 static void receive_cb(const RemoteXBeeZB& remote, bool broadcast, const uint8_t *const data, uint16_t len)
jasmou 0:3acd447c12c0 22 {
jasmou 0:3acd447c12c0 23 const uint64_t remote_addr64 = remote.get_addr64();
jasmou 0:3acd447c12c0 24
jasmou 0:3acd447c12c0 25 pc.printf("\r\nGot packet, len %d\r\nData: ", len);
jasmou 0:3acd447c12c0 26
jasmou 0:3acd447c12c0 27 for (int i = 0; i < len; i++)
jasmou 0:3acd447c12c0 28 {
jasmou 0:3acd447c12c0 29 pc.printf("%02x ", data[i]);
jasmou 0:3acd447c12c0 30 }
jasmou 0:3acd447c12c0 31
vinbel93 1:33b4a3b5cdb5 32 capt_1 = (data[0] & 0b10000000);
vinbel93 1:33b4a3b5cdb5 33 capt_2 = (data[0] & 0b01000000);
vinbel93 1:33b4a3b5cdb5 34 capt_3 = (data[0] & 0b00100000);
vinbel93 1:33b4a3b5cdb5 35 capt_4 = (data[0] & 0b00010000);
vinbel93 1:33b4a3b5cdb5 36 capt_5 = (data[0] & 0b00001000);
vinbel93 1:33b4a3b5cdb5 37 capt_6 = (data[0] & 0b00000100);
vinbel93 1:33b4a3b5cdb5 38
vinbel93 1:33b4a3b5cdb5 39 pc.printf("\r\n%i ", capt_1);
vinbel93 1:33b4a3b5cdb5 40 pc.printf("%i ", capt_2);
vinbel93 1:33b4a3b5cdb5 41 pc.printf("%i ", capt_3);
vinbel93 1:33b4a3b5cdb5 42 pc.printf("%i ", capt_4);
vinbel93 1:33b4a3b5cdb5 43 pc.printf("%i ", capt_5);
vinbel93 1:33b4a3b5cdb5 44 pc.printf("%i ", capt_6);
vinbel93 1:33b4a3b5cdb5 45
jasmou 0:3acd447c12c0 46 pc.printf("\r\n");
jasmou 0:3acd447c12c0 47 }
jasmou 0:3acd447c12c0 48
jasmou 0:3acd447c12c0 49 int main()
vinbel93 1:33b4a3b5cdb5 50 {
vinbel93 1:33b4a3b5cdb5 51 FILE *fp = fopen("/sd/Synth/A5.wav", "r");
vinbel93 1:33b4a3b5cdb5 52 if(fp == NULL) {
vinbel93 1:33b4a3b5cdb5 53 pc.printf("Could not open file for read\r\n");
vinbel93 1:33b4a3b5cdb5 54 }
vinbel93 1:33b4a3b5cdb5 55 else {
vinbel93 1:33b4a3b5cdb5 56 player.play(fp);
vinbel93 1:33b4a3b5cdb5 57 }
vinbel93 1:33b4a3b5cdb5 58 fclose(fp);
vinbel93 1:33b4a3b5cdb5 59
vinbel93 1:33b4a3b5cdb5 60 XBeeZB xbee = XBeeZB(p13, p14, p8, NC, NC, 9600);
jasmou 0:3acd447c12c0 61
jasmou 0:3acd447c12c0 62 /* Register callbacks */
jasmou 0:3acd447c12c0 63 xbee.register_receive_cb(&receive_cb);
jasmou 0:3acd447c12c0 64
jasmou 0:3acd447c12c0 65 RadioStatus const radioStatus = xbee.init();
jasmou 0:3acd447c12c0 66 MBED_ASSERT(radioStatus == Success);
jasmou 0:3acd447c12c0 67
jasmou 0:3acd447c12c0 68 /* Wait until the device has joined the network */
jasmou 0:3acd447c12c0 69 pc.printf("Waiting for device to join the network: ");
jasmou 0:3acd447c12c0 70 while (!xbee.is_joined()) {
jasmou 0:3acd447c12c0 71 wait_ms(1000);
jasmou 0:3acd447c12c0 72 }
jasmou 0:3acd447c12c0 73 pc.printf("OK\r\n");
jasmou 0:3acd447c12c0 74
jasmou 0:3acd447c12c0 75 while (true) {
jasmou 0:3acd447c12c0 76 xbee.process_rx_frames();
jasmou 0:3acd447c12c0 77 wait_ms(100);
jasmou 0:3acd447c12c0 78 }
jasmou 0:3acd447c12c0 79 }