Fork of mbed_official/TSI, giving access to raw values

Dependents:   PiezoClick USB_Handson Midiudelator XtrinsicSensorEVK ... more

Fork of TSI by mbed official

Revision:
4:4dc2f5a3a731
Parent:
3:1a60ef257879
--- a/TSISensor.cpp	Thu May 09 09:24:34 2013 +0000
+++ b/TSISensor.cpp	Fri Jun 28 13:59:29 2013 +0000
@@ -26,7 +26,7 @@
 
 #define NO_TOUCH                 0
 #define SLIDER_LENGTH           40 //LENGTH in mm
-#define TOTAL_ELECTRODE          2
+#define TOTAL_ELECTRODE          3
 
 #define TSI0a        0
 #define TSI1         1
@@ -123,6 +123,29 @@
     selfCalibration();
 }
 
+void TSISensor::TSISensor_reset(void) {
+    SIM->SCGC5 |= SIM_SCGC5_PORTB_MASK;
+    SIM->SCGC5 |= SIM_SCGC5_TSI_MASK;
+
+    TSI0->GENCS |= (TSI_GENCS_ESOR_MASK
+                   | TSI_GENCS_MODE(0)
+                   | TSI_GENCS_REFCHRG(4)
+                   | TSI_GENCS_DVOLT(0)
+                   | TSI_GENCS_EXTCHRG(7)
+                   | TSI_GENCS_PS(4)
+                   | TSI_GENCS_NSCN(11)
+                   | TSI_GENCS_TSIIEN_MASK
+                   | TSI_GENCS_STPE_MASK
+                   );
+
+    TSI0->GENCS |= TSI_GENCS_TSIEN_MASK;
+
+    //NVIC_SetVector(TSI0_IRQn, (uint32_t)&tsi_irq);
+    //NVIC_EnableIRQ(TSI0_IRQn);
+
+    selfCalibration();
+}
+
 void TSISensor::selfCalibration(void)
 {
     unsigned char cnt;
@@ -194,6 +217,11 @@
     return AbsoluteDistancePosition;
 }
 
+uint16_t TSISensor::readValue(uint8_t index)
+{
+    return gu16TSICount[index];
+}
+
 static void changeElectrode(void)
 {
     int16_t u16temp_delta;