From 0c93eb3ae83ef1af5a4b9f98ca3c1faabdbdae98 Mon Sep 17 00:00:00 2001 From: Tom Igoe Date: Sun, 16 Jun 2013 23:10:17 -0400 Subject: Simpllified ConsoleRead, added available(), added explanation. --- .../Bridge/examples/ConsoleRead/ConsoleRead.ino | 46 ++++++++++++++-------- 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'libraries/Bridge/examples') diff --git a/libraries/Bridge/examples/ConsoleRead/ConsoleRead.ino b/libraries/Bridge/examples/ConsoleRead/ConsoleRead.ino index 98f3b4d..7b38f03 100644 --- a/libraries/Bridge/examples/ConsoleRead/ConsoleRead.ino +++ b/libraries/Bridge/examples/ConsoleRead/ConsoleRead.ino @@ -3,8 +3,16 @@ read data coming from bridge using the Console.read() function and store it in a string. + To see the Console, pick your Yun's name and IP address in the Port menu + then open the Port Monitor. You can also see it by opening a terminal window + and typing + ssh root@ yourYunsName.local 'telnet localhost 6571' + then pressing enter. When prompted for the password, enter it. + created 13 Jun 2013 by Angelo Scialabba + modified 16 June 2013 + by Tom Igoe This example code is in the public domain. */ @@ -12,32 +20,36 @@ #include String name; -int current_char; void setup() { //Initialize Console and wait for port to open: Bridge.begin(); Console.begin(); - - while (!Console) { + + while (!Console){ ; // wait for Console port to connect. } - Console.println("Hi, who are you?"); + Console.println("Hi, what's your name?"); } void loop() { - current_char = Console.read(); //read the next char received - //look for the newline character, this is the last character in the string - if (current_char == '\n') { - //print text with the name received - Console.print("Hi "); - Console.print(name); - Console.println("! Nice to meet you!"); - Console.println(); - //Ask again for name and clear the old name - Console.println("Hi, who are you?"); - name = ""; - } else if (current_char != -1) { //if the buffer is empty Cosole.read returns -1 - name = name + (char)current_char; //current_char is int, treat him as char and add it to the name string + if (Console.available() > 0) { + char thisChar = Console.read(); //read the next char received + //look for the newline character, this is the last character in the string + if (thisChar == '\n') { + //print text with the name received + Console.print("Hi "); + Console.print(name); + Console.println("! Nice to meet you!"); + Console.println(); + //Ask again for name and clear the old name + Console.println("Hi, what's your name?"); + name = ""; + } + else { //if the buffer is empty Cosole.read returns -1 + name += thisChar; //thisChar is int, treat him as char and add it to the name string + } } } + + -- cgit v1.2.3-18-g5258