Library to read rawdata from an FSR
Dependents: K64F-RTOS-MQTT-Example
Fork of FSR by
FSR.cpp@6:bf85a85d7808, 2017-05-02 (annotated)
- Committer:
- ram54288
- Date:
- Tue May 02 16:48:41 2017 +0000
- Revision:
- 6:bf85a85d7808
- Parent:
- 2:3a5f5cc5b35c
Changed the return types to *ptr
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
cshao06 | 0:d24a38523990 | 1 | #include "FSR.h" |
cshao06 | 0:d24a38523990 | 2 | #include "mbed.h" |
cshao06 | 0:d24a38523990 | 3 | |
cshao06 | 0:d24a38523990 | 4 | FSR::FSR(PinName pin, float resistance) : _ain(pin), _r(resistance) |
cshao06 | 0:d24a38523990 | 5 | { |
cshao06 | 0:d24a38523990 | 6 | } |
cshao06 | 0:d24a38523990 | 7 | |
cshao06 | 0:d24a38523990 | 8 | float FSR::readRaw() |
cshao06 | 0:d24a38523990 | 9 | { |
cshao06 | 0:d24a38523990 | 10 | float read = _ain; |
cshao06 | 0:d24a38523990 | 11 | return read; |
cshao06 | 0:d24a38523990 | 12 | } |
cshao06 | 0:d24a38523990 | 13 | |
ram54288 | 6:bf85a85d7808 | 14 | float* FSR::readFSRResistance() |
cshao06 | 0:d24a38523990 | 15 | { |
cshao06 | 0:d24a38523990 | 16 | float read = _ain; |
ram54288 | 6:bf85a85d7808 | 17 | //float* obj=new float; |
ram54288 | 6:bf85a85d7808 | 18 | //obj=(_r * 1 / read - _r); |
ram54288 | 6:bf85a85d7808 | 19 | //return obj; |
ram54288 | 6:bf85a85d7808 | 20 | float t=(_r * 1 / read - _r); |
ram54288 | 6:bf85a85d7808 | 21 | return &t; |
cshao06 | 0:d24a38523990 | 22 | } |
cshao06 | 0:d24a38523990 | 23 | |
cshao06 | 0:d24a38523990 | 24 | float FSR::readWeight() |
cshao06 | 0:d24a38523990 | 25 | { |
cshao06 | 0:d24a38523990 | 26 | float read = _ain; |
cshao06 | 2:3a5f5cc5b35c | 27 | float rfsr = _r * 1 / read - _r; |
cshao06 | 0:d24a38523990 | 28 | float slope = (4 - 2) / (log10(6.2) - log10(0.25)); |
cshao06 | 0:d24a38523990 | 29 | float a = log10(rfsr); |
cshao06 | 0:d24a38523990 | 30 | if (a < log10(6.2)) |
cshao06 | 0:d24a38523990 | 31 | { |
cshao06 | 0:d24a38523990 | 32 | return pow(10, ((log10(6.2) - a) * slope + 2)); |
cshao06 | 0:d24a38523990 | 33 | } |
cshao06 | 0:d24a38523990 | 34 | else |
cshao06 | 0:d24a38523990 | 35 | { |
cshao06 | 0:d24a38523990 | 36 | return 0; |
cshao06 | 0:d24a38523990 | 37 | } |
cshao06 | 0:d24a38523990 | 38 | } |