The final project of Embedde class.
Dependencies: C12832 LM75B ESP-call MMA7660
POT/POT.cpp@1:ed1c6618f739, 2021-06-03 (annotated)
- Committer:
- pkr7098
- Date:
- Thu Jun 03 07:08:47 2021 +0000
- Revision:
- 1:ed1c6618f739
The final project of Embedde class.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
pkr7098 | 1:ed1c6618f739 | 1 | #include "POT.h" |
pkr7098 | 1:ed1c6618f739 | 2 | |
pkr7098 | 1:ed1c6618f739 | 3 | AnalogIn potL(A0); |
pkr7098 | 1:ed1c6618f739 | 4 | AnalogIn potR(A1); |
pkr7098 | 1:ed1c6618f739 | 5 | |
pkr7098 | 1:ed1c6618f739 | 6 | static float _previousPotData[2] = {0, 0}; |
pkr7098 | 1:ed1c6618f739 | 7 | |
pkr7098 | 1:ed1c6618f739 | 8 | void potInit(void) |
pkr7098 | 1:ed1c6618f739 | 9 | { |
pkr7098 | 1:ed1c6618f739 | 10 | printf("Init potentiometers\r\n"); |
pkr7098 | 1:ed1c6618f739 | 11 | _previousPotData[POT_LEFT] = potL.read(); |
pkr7098 | 1:ed1c6618f739 | 12 | _previousPotData[POT_RIGHT] = potR.read(); |
pkr7098 | 1:ed1c6618f739 | 13 | } |
pkr7098 | 1:ed1c6618f739 | 14 | |
pkr7098 | 1:ed1c6618f739 | 15 | bool potIsChanged(int pot) |
pkr7098 | 1:ed1c6618f739 | 16 | { |
pkr7098 | 1:ed1c6618f739 | 17 | AnalogIn *pPot; |
pkr7098 | 1:ed1c6618f739 | 18 | float currentPotData; |
pkr7098 | 1:ed1c6618f739 | 19 | bool result; |
pkr7098 | 1:ed1c6618f739 | 20 | |
pkr7098 | 1:ed1c6618f739 | 21 | switch(pot) { |
pkr7098 | 1:ed1c6618f739 | 22 | case POT_LEFT: |
pkr7098 | 1:ed1c6618f739 | 23 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 24 | break; |
pkr7098 | 1:ed1c6618f739 | 25 | case POT_RIGHT: |
pkr7098 | 1:ed1c6618f739 | 26 | pPot = &potR; |
pkr7098 | 1:ed1c6618f739 | 27 | break; |
pkr7098 | 1:ed1c6618f739 | 28 | default: |
pkr7098 | 1:ed1c6618f739 | 29 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 30 | break; |
pkr7098 | 1:ed1c6618f739 | 31 | } |
pkr7098 | 1:ed1c6618f739 | 32 | |
pkr7098 | 1:ed1c6618f739 | 33 | currentPotData = (*pPot).read(); |
pkr7098 | 1:ed1c6618f739 | 34 | |
pkr7098 | 1:ed1c6618f739 | 35 | if(_previousPotData[pot] == currentPotData) { |
pkr7098 | 1:ed1c6618f739 | 36 | result = POT_UNCHANGED; |
pkr7098 | 1:ed1c6618f739 | 37 | } else { |
pkr7098 | 1:ed1c6618f739 | 38 | result = POT_CHANGED; |
pkr7098 | 1:ed1c6618f739 | 39 | } |
pkr7098 | 1:ed1c6618f739 | 40 | _previousPotData[pot] = currentPotData; |
pkr7098 | 1:ed1c6618f739 | 41 | |
pkr7098 | 1:ed1c6618f739 | 42 | return result; |
pkr7098 | 1:ed1c6618f739 | 43 | } |
pkr7098 | 1:ed1c6618f739 | 44 | |
pkr7098 | 1:ed1c6618f739 | 45 | float potValue(int pot) |
pkr7098 | 1:ed1c6618f739 | 46 | { |
pkr7098 | 1:ed1c6618f739 | 47 | AnalogIn *pPot; |
pkr7098 | 1:ed1c6618f739 | 48 | |
pkr7098 | 1:ed1c6618f739 | 49 | switch(pot) { |
pkr7098 | 1:ed1c6618f739 | 50 | case POT_LEFT: |
pkr7098 | 1:ed1c6618f739 | 51 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 52 | break; |
pkr7098 | 1:ed1c6618f739 | 53 | case POT_RIGHT: |
pkr7098 | 1:ed1c6618f739 | 54 | pPot = &potR; |
pkr7098 | 1:ed1c6618f739 | 55 | break; |
pkr7098 | 1:ed1c6618f739 | 56 | default: |
pkr7098 | 1:ed1c6618f739 | 57 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 58 | break; |
pkr7098 | 1:ed1c6618f739 | 59 | } |
pkr7098 | 1:ed1c6618f739 | 60 | |
pkr7098 | 1:ed1c6618f739 | 61 | return (*pPot).read(); |
pkr7098 | 1:ed1c6618f739 | 62 | } |
pkr7098 | 1:ed1c6618f739 | 63 | |
pkr7098 | 1:ed1c6618f739 | 64 | unsigned short potValueU16(int pot) |
pkr7098 | 1:ed1c6618f739 | 65 | { |
pkr7098 | 1:ed1c6618f739 | 66 | AnalogIn *pPot; |
pkr7098 | 1:ed1c6618f739 | 67 | |
pkr7098 | 1:ed1c6618f739 | 68 | switch(pot) { |
pkr7098 | 1:ed1c6618f739 | 69 | case POT_LEFT: |
pkr7098 | 1:ed1c6618f739 | 70 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 71 | break; |
pkr7098 | 1:ed1c6618f739 | 72 | case POT_RIGHT: |
pkr7098 | 1:ed1c6618f739 | 73 | pPot = &potR; |
pkr7098 | 1:ed1c6618f739 | 74 | break; |
pkr7098 | 1:ed1c6618f739 | 75 | default: |
pkr7098 | 1:ed1c6618f739 | 76 | pPot = &potL; |
pkr7098 | 1:ed1c6618f739 | 77 | break; |
pkr7098 | 1:ed1c6618f739 | 78 | } |
pkr7098 | 1:ed1c6618f739 | 79 | |
pkr7098 | 1:ed1c6618f739 | 80 | return (*pPot).read_u16(); |
pkr7098 | 1:ed1c6618f739 | 81 | } |