Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:759802c20dee, committed 2010-12-01
- Comitter:
- henryicla
- Date:
- Wed Dec 01 02:00:27 2010 +0000
- Commit message:
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
diff -r 000000000000 -r 759802c20dee main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Wed Dec 01 02:00:27 2010 +0000
@@ -0,0 +1,174 @@
+#include "mbed.h"
+#include <vector>
+
+#define ADC_THRESH_HI 0.2
+#define ADC_THRESH_LO 0.1
+#define VDD 3.3
+
+Serial pc(USBTX, USBRX); // tx, rx
+
+
+DigitalOut T0_gnd(p15); // for ground
+DigitalIn T0_chg(p16); // charge pull-up
+AnalogIn T0(p17);
+
+DigitalOut T1_gnd(p18); // for ground
+DigitalIn T1_chg(p19); // charge pull-up
+AnalogIn T1(p20);
+
+int main() {
+
+ char readChar;
+ int userInput;
+
+ int n;
+ int triggerLength;
+
+ float T0_voltage, T1_voltage;
+ float T0_bufVoltage, T1_bufVoltage;
+
+ int T0_touched, T1_touched;
+
+ vector<int> triggerString;
+
+ T0_gnd = 0;
+ T1_gnd = 0;
+
+ T0_voltage = VDD;
+ T1_voltage = VDD;
+
+ T0_touched = 0;
+ T1_touched = 0;
+
+ userInput = -1;
+
+ n = 0;
+ triggerLength = 0;
+
+ T0_chg.mode(PullUp);
+ T1_chg.mode(PullUp);
+
+ T0_chg.mode(PullNone);
+ T1_chg.mode(PullNone);
+
+ while (1) {
+
+ // pc.printf("Enter a binary sequence ('S' to start, 'E' to end): ");
+
+
+ /* --------------------------
+ check for trigger string
+ ----------------------------- */
+ if ( pc.readable() == 1 ) {
+
+ readChar = pc.getc();
+
+ if ( (readChar == 's') || (readChar == 'S') ) {
+ pc.printf("Starting new sequence.\n");
+ triggerString.clear();
+
+ while (1) {
+ if ( pc.readable() == 1 ) {
+
+ readChar = pc.getc();
+
+ if ( (readChar == 'e') || (readChar == 'E') ) {
+
+ n = 0;
+ triggerLength = triggerString.size();
+
+ pc.printf("\nGot new sequence.\n");
+
+ for (int i = 0; i < triggerLength; i++) {
+ pc.printf("%d", triggerString[i]);
+ }
+ pc.printf("\n");
+
+ break;
+ }
+ else if ( readChar == '0' ) {
+ pc.putc('0');
+ triggerString.push_back(0);
+ }
+ else if ( readChar == '1') {
+ pc.putc('1');
+ triggerString.push_back(1);
+ }
+ }
+ }
+
+ }
+
+ } /* if ( pc.readable() == 1 ) */
+
+ T0_chg.mode(PullUp);
+ T1_chg.mode(PullUp);
+
+ T0_chg.mode(PullNone);
+ T1_chg.mode(PullNone);
+
+ T0_bufVoltage = 0.0;
+ T1_bufVoltage = 0.0;
+
+ T0_touched = 0;
+ T1_touched = 0;
+
+ for (int i = 0; i < 5; i++) {
+ T0_voltage = T0.read();
+ T1_voltage = T1.read();
+
+// pc.printf("%d: 0=%f, 1=%f\n", i, T0_voltage, T1_voltage);
+
+ T0_bufVoltage += T0_voltage;
+ T1_bufVoltage += T1_voltage;
+ wait_ms(1);
+ }
+
+// pc.printf("0=%f, 1=%f\n", T0_bufVoltage, T1_bufVoltage);
+
+ if (T0_bufVoltage < 1.0) {
+ T0_touched = 1;
+ }
+
+ if (T1_bufVoltage < 1.0) {
+ T1_touched = 1;
+ }
+
+ if ( (T0_touched == 1) && (T1_touched == 1) ) {
+ pc.printf("TOUCH ERROR\n");
+ n = 0;
+
+ continue;
+ }
+ else if (T0_touched == 1) {
+ pc.printf("T0 touched\n");
+ userInput = 0;
+ }
+ else if (T1_touched == 1) {
+ pc.printf("T1 touched\n");
+ userInput = 1;
+ }
+
+ if ( (T1_touched == 1) || (T0_touched == 1) ) {
+ if ( (triggerLength != 0) && (userInput == triggerString[n]) ) {
+ n = n + 1;
+
+ if (n == triggerLength) {
+ pc.printf("MATCH\n");
+ n = 0;
+ }
+ } else {
+ n = 0;
+ }
+
+ do {
+ T0_voltage = VDD * T0.read();
+ T1_voltage = VDD * T1.read();
+// pc.printf("%f, %f\n", T0_voltage, T1_voltage);
+ wait_ms(5);
+ } while ( (T0_voltage < ADC_THRESH_HI) || (T1_voltage < ADC_THRESH_HI) );
+ }
+
+ } /* while (1) */
+
+} /* int main () */
diff -r 000000000000 -r 759802c20dee mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Dec 01 02:00:27 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/e2ac27c8e93e