trabalho final
Dependencies: X_NUCLEO_IKS01A1-f255a2c75ecb mbed-rtos mbed
userMethods.cpp@34:0d51133891d0, 2016-05-18 (annotated)
- Committer:
- nlsantos
- Date:
- Wed May 18 03:11:38 2016 +0000
- Revision:
- 34:0d51133891d0
- Parent:
- 33:2ee6fbdad7b4
jkkjl
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Jacinta | 0:1eaebb55408a | 1 | #include "userMethods.h" |
Jacinta | 0:1eaebb55408a | 2 | #include "sensor.h" |
Jacinta | 0:1eaebb55408a | 3 | #include <cstring> |
Jacinta | 0:1eaebb55408a | 4 | #include <ctime> |
Jacinta | 0:1eaebb55408a | 5 | #include <stdexcept> |
Jacinta | 2:0b8065489409 | 6 | #include <vector> |
Jacinta | 7:ed4a10ebe720 | 7 | |
nlsantos | 25:2197b8bb930c | 8 | // FIFO buffer |
Jacinta | 7:ed4a10ebe720 | 9 | vector<log_data> * UserMethods::v; |
Jacinta | 7:ed4a10ebe720 | 10 | int * UserMethods::n; |
Jacinta | 15:a72b66e1f473 | 11 | ExpansionBoard * UserMethods::e; |
Jacinta | 21:849e5636076e | 12 | bool UserMethods::flag; |
Jacinta | 0:1eaebb55408a | 13 | |
nlsantos | 25:2197b8bb930c | 14 | // Method that processes the ReadAll command |
Jacinta | 21:849e5636076e | 15 | void UserMethods::readAllData(const void*) |
Jacinta | 21:849e5636076e | 16 | { |
nlsantos | 34:0d51133891d0 | 17 | /* vector<log_data> vector = *v; |
Jacinta | 21:849e5636076e | 18 | |
Jacinta | 21:849e5636076e | 19 | if(flag) { |
Jacinta | 21:849e5636076e | 20 | printf("Entered in readAllData"); |
Jacinta | 21:849e5636076e | 21 | } |
nlsantos | 33:2ee6fbdad7b4 | 22 | |
Jacinta | 2:0b8065489409 | 23 | char buffer[32]; |
Jacinta | 21:849e5636076e | 24 | |
Jacinta | 2:0b8065489409 | 25 | //.csv header |
Jacinta | 21:849e5636076e | 26 | if(flag) { |
Jacinta | 21:849e5636076e | 27 | printf("Sample_Date,HTS221_Temp,LPS25H_Press,HTS221_Hum\n\r"); |
Jacinta | 21:849e5636076e | 28 | } |
Jacinta | 7:ed4a10ebe720 | 29 | for(int i = 0; i < vector.size(); i++) |
nlsantos | 34:0d51133891d0 | 30 | |
Jacinta | 7:ed4a10ebe720 | 31 | printf("%s,%7s°C,%smbar,%s%%\n\r", ctime(&vector[i].date), ExpansionBoard::printDouble(buffer, vector[i].tempCelsius, 2), |
Jacinta | 21:849e5636076e | 32 | ExpansionBoard::printDouble(buffer, vector[i].pressure, 2), ExpansionBoard::printDouble(buffer, vector[i].humidity, 2)); |
nlsantos | 34:0d51133891d0 | 33 | */} |
Jacinta | 0:1eaebb55408a | 34 | |
nlsantos | 25:2197b8bb930c | 35 | // Method to proccess Read <n> command |
Jacinta | 21:849e5636076e | 36 | void UserMethods::readNData(const void*) |
Jacinta | 21:849e5636076e | 37 | { |
Jacinta | 7:ed4a10ebe720 | 38 | vector<log_data> vector = *v; |
Jacinta | 7:ed4a10ebe720 | 39 | int num = *n; |
Jacinta | 21:849e5636076e | 40 | |
Jacinta | 2:0b8065489409 | 41 | //Serial pc(USBTX, USBRX); |
Jacinta | 2:0b8065489409 | 42 | //pc.baud(115200); |
Jacinta | 21:849e5636076e | 43 | if(flag) { |
Jacinta | 21:849e5636076e | 44 | printf("Sample_Date,HTS221_Temp,LPS25H_Press,HTS221_Hum\n\r"); |
Jacinta | 21:849e5636076e | 45 | } |
Jacinta | 2:0b8065489409 | 46 | char buffer[32]; |
Jacinta | 7:ed4a10ebe720 | 47 | for(int i = vector.size()-num-1; i < vector.size(); i++) |
Jacinta | 7:ed4a10ebe720 | 48 | printf("%s,%7s°C,%smbar,%s%%\n\r", ctime(&vector[i].date), ExpansionBoard::printDouble(buffer, vector[i].tempCelsius, 2), |
Jacinta | 21:849e5636076e | 49 | ExpansionBoard::printDouble(buffer, vector[i].pressure, 2), ExpansionBoard::printDouble(buffer, vector[i].humidity, 2)); |
Jacinta | 0:1eaebb55408a | 50 | } |
Jacinta | 0:1eaebb55408a | 51 | |
nlsantos | 25:2197b8bb930c | 52 | |
nlsantos | 25:2197b8bb930c | 53 | // Method that proccesses the DeleteAll command |
Jacinta | 21:849e5636076e | 54 | int UserMethods::deleteAllData(const void*) |
Jacinta | 31:8bbdfea60151 | 55 | {/* |
Jacinta | 21:849e5636076e | 56 | vector<log_data> vector = *v; |
Jacinta | 15:a72b66e1f473 | 57 | int num = vector.size(); |
Jacinta | 15:a72b66e1f473 | 58 | ExpansionBoard sensor = *e; |
Jacinta | 21:849e5636076e | 59 | |
Jacinta | 21:849e5636076e | 60 | for(int i = 0; i < vector.size(); i++) { |
Jacinta | 15:a72b66e1f473 | 61 | osEvent evt = sensor.mail_box.get(); |
Jacinta | 15:a72b66e1f473 | 62 | if (evt.status == osEventMail) { |
Jacinta | 21:849e5636076e | 63 | log_data *log = (log_data*)evt.value.p; |
Jacinta | 21:849e5636076e | 64 | sensor.mail_box.free(log); |
Jacinta | 15:a72b66e1f473 | 65 | } |
Jacinta | 15:a72b66e1f473 | 66 | } |
Jacinta | 21:849e5636076e | 67 | |
Jacinta | 21:849e5636076e | 68 | vector.clear(); |
Jacinta | 21:849e5636076e | 69 | |
Jacinta | 31:8bbdfea60151 | 70 | return num;*/ |
Jacinta | 31:8bbdfea60151 | 71 | return 0; |
Jacinta | 15:a72b66e1f473 | 72 | } |
Jacinta | 15:a72b66e1f473 | 73 | |
nlsantos | 25:2197b8bb930c | 74 | // Method thar proccesses the Read<n> command |
Jacinta | 21:849e5636076e | 75 | int UserMethods::deleteNData(const void*) |
Jacinta | 31:8bbdfea60151 | 76 | {/* |
Jacinta | 21:849e5636076e | 77 | vector<log_data> vector = *v; |
Jacinta | 21:849e5636076e | 78 | int num = (int)vector.size(); |
Jacinta | 15:a72b66e1f473 | 79 | int nOfRecords = *n; |
Jacinta | 15:a72b66e1f473 | 80 | ExpansionBoard sensor = *e; |
Jacinta | 21:849e5636076e | 81 | |
Jacinta | 21:849e5636076e | 82 | if(nOfRecords >= num) { |
Jacinta | 15:a72b66e1f473 | 83 | //nOfRecords = UserMethods::deleteAllData; |
Jacinta | 15:a72b66e1f473 | 84 | return nOfRecords; |
Jacinta | 21:849e5636076e | 85 | } else { |
Jacinta | 21:849e5636076e | 86 | for(int i = 0; i < nOfRecords; i++) { |
Jacinta | 15:a72b66e1f473 | 87 | osEvent evt = sensor.mail_box.get(); |
Jacinta | 15:a72b66e1f473 | 88 | if (evt.status == osEventMail) { |
Jacinta | 21:849e5636076e | 89 | log_data *log = (log_data*)evt.value.p; |
Jacinta | 21:849e5636076e | 90 | sensor.mail_box.free(log); |
Jacinta | 21:849e5636076e | 91 | } |
Jacinta | 21:849e5636076e | 92 | } |
Jacinta | 15:a72b66e1f473 | 93 | //Erases the first n elements |
Jacinta | 21:849e5636076e | 94 | //vector.erase(v.begin(), v.begin() + nOfRecords); |
Jacinta | 15:a72b66e1f473 | 95 | } |
Jacinta | 21:849e5636076e | 96 | |
Jacinta | 15:a72b66e1f473 | 97 | return nOfRecords; |
Jacinta | 31:8bbdfea60151 | 98 | */ |
Jacinta | 31:8bbdfea60151 | 99 | return 0; |
Jacinta | 15:a72b66e1f473 | 100 | } |
Jacinta | 15:a72b66e1f473 | 101 | |
nlsantos | 25:2197b8bb930c | 102 | // Constructor of the class |
Jacinta | 31:8bbdfea60151 | 103 | UserMethods::UserMethods(int num, ExpansionBoard sensor, bool lFlag) |
Jacinta | 21:849e5636076e | 104 | { |
Jacinta | 32:e4cd87b7064c | 105 | v = &sensor.v; |
Jacinta | 7:ed4a10ebe720 | 106 | n = # |
Jacinta | 15:a72b66e1f473 | 107 | e = &sensor; |
Jacinta | 20:014a808b3ea2 | 108 | flag = &lFlag; |
Jacinta | 7:ed4a10ebe720 | 109 | } |