Projet S5 info - Beginner version

Dependencies:   XBeeLib mbed-rtos mbed

Fork of Projet by Vincent Belanger

Committer:
SonSenpai
Date:
Thu Mar 31 14:08:37 2016 +0000
Revision:
5:9505aed3788c
Parent:
4:69f8aea1eaf2
Child:
6:19b89212e67f
jasmou n sonz library plays

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vinbel93 0:58bb278068d6 1 #include "mbed.h"
SonSenpai 5:9505aed3788c 2 #include "rtos.h"
SonSenpai 5:9505aed3788c 3 #include "XBeeLib.h"
SonSenpai 5:9505aed3788c 4
SonSenpai 5:9505aed3788c 5 using namespace XBeeLib;
vinbel93 0:58bb278068d6 6
vinbel93 4:69f8aea1eaf2 7 Serial pc(USBTX, USBRX);
SonSenpai 5:9505aed3788c 8
SonSenpai 5:9505aed3788c 9 XBeeZB* xbee;
SonSenpai 5:9505aed3788c 10
SonSenpai 5:9505aed3788c 11 DigitalIn capteur_1(p15);
SonSenpai 5:9505aed3788c 12 DigitalIn capteur_2(p16);
SonSenpai 5:9505aed3788c 13 DigitalIn capteur_3(p17);
SonSenpai 5:9505aed3788c 14 DigitalIn capteur_4(p19);
SonSenpai 5:9505aed3788c 15 DigitalIn capteur_5(p20);
SonSenpai 5:9505aed3788c 16 DigitalIn capteur_6(p21);
SonSenpai 5:9505aed3788c 17
SonSenpai 5:9505aed3788c 18 Mutex capt_lock;
SonSenpai 5:9505aed3788c 19
SonSenpai 5:9505aed3788c 20 bool capt_1;
SonSenpai 5:9505aed3788c 21 bool capt_2;
SonSenpai 5:9505aed3788c 22 bool capt_3;
SonSenpai 5:9505aed3788c 23 bool capt_4;
SonSenpai 5:9505aed3788c 24 bool capt_5;
SonSenpai 5:9505aed3788c 25 bool capt_6;
SonSenpai 5:9505aed3788c 26
SonSenpai 5:9505aed3788c 27 /* lecture des capteurs à partir des broches du mbed : p15, p16, p17, 19, 20 21*/
vinbel93 4:69f8aea1eaf2 28
SonSenpai 5:9505aed3788c 29 void lecture_capteurs (void const *args){
SonSenpai 5:9505aed3788c 30 capt_lock.lock();
SonSenpai 5:9505aed3788c 31
SonSenpai 5:9505aed3788c 32 capt_1=capteur_1.read();
SonSenpai 5:9505aed3788c 33 capt_2=capteur_2.read();
SonSenpai 5:9505aed3788c 34 capt_3=capteur_3.read();
SonSenpai 5:9505aed3788c 35 capt_4=capteur_4.read();
SonSenpai 5:9505aed3788c 36 capt_5=capteur_5.read();
SonSenpai 5:9505aed3788c 37 capt_6=capteur_6.read();
SonSenpai 5:9505aed3788c 38
SonSenpai 5:9505aed3788c 39 capt_lock.unlock();
SonSenpai 5:9505aed3788c 40 }
SonSenpai 5:9505aed3788c 41
SonSenpai 5:9505aed3788c 42 void send_data_to_coordinator(const char data)
SonSenpai 5:9505aed3788c 43 {
SonSenpai 5:9505aed3788c 44 const TxStatus txStatus = xbee->send_data_to_coordinator((const uint8_t *)data, 1);
vinbel93 0:58bb278068d6 45 }
SonSenpai 5:9505aed3788c 46
SonSenpai 5:9505aed3788c 47 void envoi_donnees (void const *args) {
SonSenpai 5:9505aed3788c 48 capt_lock.lock();
SonSenpai 5:9505aed3788c 49 char data = (capt_1 << 7) | (capt_2 << 6) | (capt_3 << 5) | (capt_4 << 4) | (capt_5 << 3) | (capt_6 << 2);
SonSenpai 5:9505aed3788c 50 capt_lock.unlock();
SonSenpai 5:9505aed3788c 51
SonSenpai 5:9505aed3788c 52 send_data_to_coordinator(data);
SonSenpai 5:9505aed3788c 53 }
SonSenpai 5:9505aed3788c 54
SonSenpai 5:9505aed3788c 55 int main (void) {
SonSenpai 5:9505aed3788c 56 xbee = new XBeeZB(p13, p14, NC, NC, NC, 9600);
SonSenpai 5:9505aed3788c 57
SonSenpai 5:9505aed3788c 58 RtosTimer readTimer(lecture_capteurs, osTimerPeriodic);
SonSenpai 5:9505aed3788c 59 RtosTimer sendTimer(envoi_donnees, osTimerPeriodic);
SonSenpai 5:9505aed3788c 60
SonSenpai 5:9505aed3788c 61 readTimer.start(5);
SonSenpai 5:9505aed3788c 62 sendTimer.start(5);
SonSenpai 5:9505aed3788c 63
SonSenpai 5:9505aed3788c 64 wait(osWaitForever);
SonSenpai 5:9505aed3788c 65 }