The final project of Embedde class.
Dependencies: C12832 LM75B ESP-call MMA7660
POT.cpp
00001 #include "POT.h" 00002 00003 AnalogIn potL(A0); 00004 AnalogIn potR(A1); 00005 00006 static float _previousPotData[2] = {0, 0}; 00007 00008 void potInit(void) 00009 { 00010 printf("Init potentiometers\r\n"); 00011 _previousPotData[POT_LEFT] = potL.read(); 00012 _previousPotData[POT_RIGHT] = potR.read(); 00013 } 00014 00015 bool potIsChanged(int pot) 00016 { 00017 AnalogIn *pPot; 00018 float currentPotData; 00019 bool result; 00020 00021 switch(pot) { 00022 case POT_LEFT: 00023 pPot = &potL; 00024 break; 00025 case POT_RIGHT: 00026 pPot = &potR; 00027 break; 00028 default: 00029 pPot = &potL; 00030 break; 00031 } 00032 00033 currentPotData = (*pPot).read(); 00034 00035 if(_previousPotData[pot] == currentPotData) { 00036 result = POT_UNCHANGED; 00037 } else { 00038 result = POT_CHANGED; 00039 } 00040 _previousPotData[pot] = currentPotData; 00041 00042 return result; 00043 } 00044 00045 float potValue(int pot) 00046 { 00047 AnalogIn *pPot; 00048 00049 switch(pot) { 00050 case POT_LEFT: 00051 pPot = &potL; 00052 break; 00053 case POT_RIGHT: 00054 pPot = &potR; 00055 break; 00056 default: 00057 pPot = &potL; 00058 break; 00059 } 00060 00061 return (*pPot).read(); 00062 } 00063 00064 unsigned short potValueU16(int pot) 00065 { 00066 AnalogIn *pPot; 00067 00068 switch(pot) { 00069 case POT_LEFT: 00070 pPot = &potL; 00071 break; 00072 case POT_RIGHT: 00073 pPot = &potR; 00074 break; 00075 default: 00076 pPot = &potL; 00077 break; 00078 } 00079 00080 return (*pPot).read_u16(); 00081 }
Generated on Fri Jul 15 2022 05:56:23 by 1.7.2