trabalho final

Dependencies:   X_NUCLEO_IKS01A1-f255a2c75ecb mbed-rtos mbed

Committer:
Jacinta
Date:
Wed May 18 11:40:30 2016 +0000
Revision:
37:886dcde018ad
Parent:
35:34bbca276f99
commited revision

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jacinta 0:1eaebb55408a 1 #include "mbed.h"
Jacinta 0:1eaebb55408a 2 #include "x_nucleo_iks01a1.h"
Jacinta 2:0b8065489409 3 #include <vector>
Jacinta 0:1eaebb55408a 4 #include "sensor.h"
Jacinta 0:1eaebb55408a 5 #include "userMethods.h"
Jacinta 0:1eaebb55408a 6
Jacinta 31:8bbdfea60151 7 // Queue
nlsantos 28:256ca0a52c76 8
Jacinta 35:34bbca276f99 9
Jacinta 35:34bbca276f99 10 //std::vector<log_data> ExpansionBoard::v;
Jacinta 7:ed4a10ebe720 11 int * ExpansionBoard::n;
Jacinta 21:849e5636076e 12 bool ExpansionBoard::flag;
Jacinta 0:1eaebb55408a 13
nlsantos 25:2197b8bb930c 14 // This is the consumer
nlsantos 33:2ee6fbdad7b4 15
Jacinta 21:849e5636076e 16 void ExpansionBoard::getData(const void*)
Jacinta 35:34bbca276f99 17 {/*
Jacinta 7:ed4a10ebe720 18
Jacinta 21:849e5636076e 19 while(true) {
Jacinta 2:0b8065489409 20 //Block on queue if no data is available
nlsantos 33:2ee6fbdad7b4 21 osEvent event = queue.get(2000);
Jacinta 21:849e5636076e 22 if(flag) {
Jacinta 21:849e5636076e 23 printf("MAIL_BOX.GET\n");
Jacinta 21:849e5636076e 24 }
Jacinta 21:849e5636076e 25
Jacinta 2:0b8065489409 26 if (event.status == osEventMail) {
Jacinta 2:0b8065489409 27 // Successful, store log_data
Jacinta 2:0b8065489409 28 log_data* temp = (log_data*) event.value.p;
nlsantos 33:2ee6fbdad7b4 29 v.push_back(*temp);
Jacinta 21:849e5636076e 30 if(flag) {
Jacinta 21:849e5636076e 31 printf("GET value stored and freed up mail_box\n");
Jacinta 21:849e5636076e 32 }
Jacinta 2:0b8065489409 33 }
Jacinta 35:34bbca276f99 34 }*/
Jacinta 2:0b8065489409 35 }
nlsantos 33:2ee6fbdad7b4 36
Jacinta 2:0b8065489409 37
Jacinta 2:0b8065489409 38 // Helper function for printing floats & doubles
Jacinta 21:849e5636076e 39 char *ExpansionBoard::printDouble(char* str, double v, int decimalDigits)
Jacinta 21:849e5636076e 40 {
Jacinta 2:0b8065489409 41 int intPart, fractPart, len, i=1;
Jacinta 0:1eaebb55408a 42 char *ptr;
Jacinta 0:1eaebb55408a 43 for (; decimalDigits!=0; i*=10, decimalDigits--);
Jacinta 0:1eaebb55408a 44 intPart = (int)v;
Jacinta 0:1eaebb55408a 45 fractPart = (int)((v-(double)(int)v)*i);
Jacinta 0:1eaebb55408a 46 sprintf(str, "%i.", intPart);
Jacinta 0:1eaebb55408a 47 len = strlen(str);
Jacinta 0:1eaebb55408a 48 ptr = &str[len];
Jacinta 0:1eaebb55408a 49 for (i/=10; i>1; i/=10, ptr++) {
Jacinta 0:1eaebb55408a 50 if(fractPart >= i) break;
Jacinta 0:1eaebb55408a 51 *ptr = '0';
Jacinta 0:1eaebb55408a 52 }
Jacinta 0:1eaebb55408a 53 sprintf(ptr, "%i", fractPart);
Jacinta 0:1eaebb55408a 54 return str;
Jacinta 0:1eaebb55408a 55 }
Jacinta 0:1eaebb55408a 56
nlsantos 25:2197b8bb930c 57 // Constructor for the class
Jacinta 31:8bbdfea60151 58 ExpansionBoard::ExpansionBoard(int num, bool lFlag): T(15.0f)
Jacinta 21:849e5636076e 59 {
Jacinta 7:ed4a10ebe720 60 n = &num;
Jacinta 20:014a808b3ea2 61 flag = &lFlag;
Jacinta 21:849e5636076e 62
Jacinta 21:849e5636076e 63 /* Retrieve the composing elements of the expansion board */
Jacinta 20:014a808b3ea2 64 printf("Initialising expansion board...\n\r");
Jacinta 2:0b8065489409 65 }