
Projet S5 Lecture de l'accelerometre avec interruption
Dependencies: mbed PowerControl
Fork of Projet_S5 by
Revision 6:ef8bfca9e69b, committed 2014-04-03
- Comitter:
- joGenie
- Date:
- Thu Apr 03 15:04:49 2014 +0000
- Parent:
- 5:6313ddd0dfdd
- Child:
- 7:89be89aeed5a
- Commit message:
- signed char
Changed in this revision
--- a/accelerometer.cpp Thu Apr 03 14:28:33 2014 +0000 +++ b/accelerometer.cpp Thu Apr 03 15:04:49 2014 +0000 @@ -68,9 +68,9 @@ return true; } -char* Accelerometer::getAccelValue() +signed char* Accelerometer::getAccelValue() { - char* values = new char[3]; + signed char* values = new signed char[3]; values[0] = i2c_read_reg(OUT_X_MSB); values[1] = i2c_read_reg(OUT_Y_MSB); @@ -90,7 +90,7 @@ delete acc; } -extern "C" char* Accelerometer_C_getAccelValue(void *accelerometer) +extern "C" signed char* Accelerometer_C_getAccelValue(void *accelerometer) { Accelerometer *acc = (Accelerometer*)accelerometer; return acc->getAccelValue();
--- a/accelerometer.h Thu Apr 03 14:28:33 2014 +0000 +++ b/accelerometer.h Thu Apr 03 15:04:49 2014 +0000 @@ -28,7 +28,7 @@ Accelerometer(); ~Accelerometer(); - char* getAccelValue(); + signed char* getAccelValue(); private: void writeToRegister(int address, int startingRegister, int data2Write); @@ -46,7 +46,7 @@ extern void *Accelerometer_C_new(); extern void Accelerometer_C_delete(void *accelerometer); -extern char* Accelerometer_C_getAccelValue(void *accelerometer); +extern signed char* Accelerometer_C_getAccelValue(void *accelerometer); #ifdef __cplusplus }
--- a/analyzer.cpp Thu Apr 03 14:28:33 2014 +0000 +++ b/analyzer.cpp Thu Apr 03 15:04:49 2014 +0000 @@ -6,7 +6,7 @@ Analyzer::~Analyzer() {} -void Analyzer::setMinMax(char* values) +void Analyzer::setMinMax(signed char* values) { x.setMinMax(values[0]); y.setMinMax(values[1]); @@ -29,7 +29,7 @@ delete an; } -extern "C" void Analyzer_C_setMinMax(char* values, void *analyzer) +extern "C" void Analyzer_C_setMinMax(signed char* values, void *analyzer) { Analyzer *an = (Analyzer*)analyzer; an->setMinMax(values);
--- a/analyzer.h Thu Apr 03 14:28:33 2014 +0000 +++ b/analyzer.h Thu Apr 03 15:04:49 2014 +0000 @@ -10,18 +10,18 @@ Analyzer(); ~Analyzer(); - void setMinMax(char* values); + void setMinMax(signed char* values); void checkMouvement(); private: struct Data { - char min; - char max; + signed char min; + signed char max; - Data(): min(CHAR_MAX), max(0){} + Data(): min(CHAR_MAX/2), max(0){} - void setMinMax(char value) + void setMinMax(signed char value) { if (value < min) min = value; @@ -41,7 +41,7 @@ extern void *Analyzer_C_new(); extern void Analyzer_C_delete(void *analyzer); -extern void Analyzer_C_setMinMax(char* values, void *analyzer); +extern void Analyzer_C_setMinMax(signed char* values, void *analyzer); extern void Analyzer_C_checkMouvement(void *analyzer); #ifdef __cplusplus
--- a/main.cpp Thu Apr 03 14:28:33 2014 +0000 +++ b/main.cpp Thu Apr 03 15:04:49 2014 +0000 @@ -64,13 +64,11 @@ if(button) { led4 = !led4; - char* values; + signed char* values; values = Accelerometer_C_getAccelValue(accelerometer); - - Analyzer_C_setMinMax(values, analyzer); - pc.printf("\n\r x: %d, y: %d, z: %d; ", values[0],values[1],values[2]); + pc.printf("\n\r x: %i, y: %i, z: %i; ", values[0],values[1],values[2]); // Analyze data Analyzer_C_setMinMax(values, analyzer);