Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IKS01A1-f255a2c75ecb mbed-rtos mbed
sensor.cpp@37:886dcde018ad, 2016-05-18 (annotated)
- 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?
| User | Revision | Line number | New 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 = # | 
| 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 | } | 
