aboutsummaryrefslogtreecommitdiffstats
path: root/examples/test-session.cpp
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2010-06-15 22:19:10 -0400
committerbnewbold <bnewbold@robocracy.org>2010-06-15 22:19:10 -0400
commit6e5326e0dd2f3f39ebc0cf14f1923a5f17dd2426 (patch)
tree02a934abc188342ea2b62d21642793028bdbb7b6 /examples/test-session.cpp
parente9fc9d4e2ae46caf9184a358b02ee79394d7e095 (diff)
downloadlibrambutan-6e5326e0dd2f3f39ebc0cf14f1923a5f17dd2426.tar.gz
librambutan-6e5326e0dd2f3f39ebc0cf14f1923a5f17dd2426.zip
new QA testing modes
Diffstat (limited to 'examples/test-session.cpp')
-rw-r--r--examples/test-session.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/test-session.cpp b/examples/test-session.cpp
index 1c0f628..bd58866 100644
--- a/examples/test-session.cpp
+++ b/examples/test-session.cpp
@@ -420,6 +420,48 @@ void loop() {
if((uint8)COMM.read() == (uint8)27) break; // ESC
}
break;
+ case 43: // '+'
+ COMM.println("Doing QA testing for 37 GPIO pins...");
+ // turn off LED
+ digitalWrite(LED_PIN, 0);
+ for(int i = 0; i<NUM_GPIO; i++) {
+ pinMode(i, INPUT);
+ gpio_state[i] = 0; //(uint8)digitalRead(i);
+ }
+ COMM.println("Waiting to start...");
+ while(digitalRead(0) != 1 && !COMM.available()) {
+ continue;
+ }
+ for(int i=0; i<38; i++) {
+ if(i==13) {
+ COMM.println("Not Checking D13 (LED)");
+ continue;
+ }
+ COMM.print("Checking D");
+ COMM.print(i,DEC);
+ while(digitalRead(i) == 0) continue;
+ for(int j=0; j<NUM_GPIO; j++) {
+ if(digitalRead(j) && j!=i) {
+ COMM.print(": FAIL ########################### D");
+ COMM.println(j, DEC);
+ break;
+ }
+ }
+ while(digitalRead(i) == 1) continue;
+ for(int j=0; j<NUM_GPIO; j++) {
+ if(digitalRead(j) && j!=i) {
+ COMM.print(": FAIL with D");
+ COMM.println(j, DEC);
+ break;
+ }
+ }
+ COMM.println(": Ok!");
+ }
+ for(int i = 0; i<NUM_GPIO; i++) {
+ pinMode(i, OUTPUT);
+ digitalWrite(i, 0);
+ }
+ break;
default:
COMM.print("Unexpected: ");
COMM.println(input);
@@ -451,6 +493,7 @@ void print_help(void) {
COMM.println("\tr: read in GPIO status changes and print them in realtime");
COMM.println("\ts: output a sweeping SERVO PWM on all PWM channels");
COMM.println("\tm: output serial data dumps on USART1 and USART3 with various rates");
+ COMM.println("\t+: test shield mode (for QA, will disrupt Serial2!)");
COMM.println("Unimplemented:");
COMM.println("\te: do everything all at once until new input");