aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-06-05 14:51:15 +0200
committerCristian Maglie <c.maglie@bug.st>2013-06-05 14:51:15 +0200
commit48a4f76e4271567a7c7649c507668e23345190c3 (patch)
treebaa90058912d9140b916e2451d8afacf2bb0b49d
parent4306561e25f2a57c5f86f6cde22a1d306101487f (diff)
Updated some Bridge examples
-rw-r--r--libraries/Bridge/examples/Process/Process.ino56
-rw-r--r--libraries/Bridge/examples/XivelyClient/XivelyClient.ino4
-rw-r--r--libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino41
3 files changed, 79 insertions, 22 deletions
diff --git a/libraries/Bridge/examples/Process/Process.ino b/libraries/Bridge/examples/Process/Process.ino
index 248db39..25e45c7 100644
--- a/libraries/Bridge/examples/Process/Process.ino
+++ b/libraries/Bridge/examples/Process/Process.ino
@@ -1,25 +1,61 @@
+/*
+ Running process using Process class.
+
+ This sketch demonstrate how to run linux processes
+ using an Arduino Yún.
+
+ created 5 Jun 2013
+ by Cristian Maglie
+
+ */
+
#include <Process.h>
void setup() {
- pinMode(13,OUTPUT);
- digitalWrite(13,LOW);
-
- Serial.begin(9600);
+ // Setup Bridge (needed every time we communicate with the Arduino Yún)
Bridge.begin();
+ // Setup Console
+ Console.begin();
+ Console.buffer(64);
+ // Wait until a Network Monitor is connected.
+ while (!Console);
+
+ // run various example processes
+ runCurl();
+ runCpuInfo();
+}
- digitalWrite(13,HIGH);
- delay(2000);
-
+void loop() {
+ // Do nothing here.
+}
+
+void runCurl() {
+ // Launch "curl" command and get Arduino asciilogo from the network
Process p;
p.begin("curl");
p.addParameter("http://arduino.cc/asciilogo.txt");
p.run();
-
+
+ // Print arduino logo over the console
while (p.available()>0) {
char c = p.read();
- Serial.print(c);
+ Console.print(c);
}
+ Console.flush();
}
-void loop() {
+void runCpuInfo() {
+ // Launch "cat /proc/cpuinfo" command (shows info on Atheros CPU)
+ Process p;
+ p.begin("cat");
+ p.addParameter("/proc/cpuinfo");
+ p.run();
+
+ // Print command output on the Console
+ while (p.available()>0) {
+ char c = p.read();
+ Console.print(c);
+ }
+ Console.flush();
}
+
diff --git a/libraries/Bridge/examples/XivelyClient/XivelyClient.ino b/libraries/Bridge/examples/XivelyClient/XivelyClient.ino
index 67079de..48b1403 100644
--- a/libraries/Bridge/examples/XivelyClient/XivelyClient.ino
+++ b/libraries/Bridge/examples/XivelyClient/XivelyClient.ino
@@ -38,7 +38,7 @@ void setup() {
while(!Console); // wait for Network Console to open
Console.println("Xively client");
- // Do a first update immediatly
+ // Do a first update immediately
updateData();
sendData();
lastRequest = millis();
@@ -80,7 +80,7 @@ void sendData() {
// Send the HTTP PUT request
// Is better to declare the Process here, so when the
- // sendData function finishes the resources are immediatly
+ // sendData function finishes the resources are immediately
// released. Declaring it global works too, BTW.
Process xively;
Console.print("\n\nSending data... ");
diff --git a/libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino b/libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino
index dea2ef5..aa152e1 100644
--- a/libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino
+++ b/libraries/Bridge/examples/YunSerialTerminal/YunSerialTerminal.ino
@@ -1,9 +1,8 @@
-
/*
Arduino Yun USB-to-Serial
Allows you to use the Yun's 32U4 processor as a
- serial terminal for the linino processor
+ serial terminal for the linino processor.
Upload this to an Arduino Yun via serial (not WiFi)
then open the serial monitor at 115200 to see the boot process
@@ -11,28 +10,31 @@
as a basic command line interface for the linino processor using
this sketch.
+ From the serial monitor the following commands can be issued:
+
+ '~' followed by '0' -> Set the UART speed to 57600 baud
+ '~' followed by '1' -> Set the UART speed to 115200 baud
+
The circuit:
* Arduino Yun
created March 2013
by Massimo Banzi
+ modified by Cristian Maglie
This example code is in the public domain.
*/
-long baud = 115200;
+long lininoBaud = 57600;
// Pin 13 has an LED connected on most Arduino boards.
-// give it a name:
int led = 13;
int ledState = HIGH; // whether the LED is high or low
void setup() {
- Serial.begin(baud); // open serial connection to Linino
- Serial1.begin(baud); // open serial connection via USB-Serial
- Serial.println("Prova"); // Hello USB
- Serial1.println("Prova1"); // Hello Linino
+ Serial.begin(115200); // open serial connection via USB-Serial
+ Serial1.begin(lininoBaud); // open serial connection to Linino
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
@@ -40,12 +42,31 @@ void setup() {
}
-void loop() {
+boolean commandMode = false;
+void loop() {
// copy from virtual serial line to uart and vice versa
if (Serial.available()) { // got anything from USB-Serial?
char c = (char)Serial.read(); // read from USB-serial
- Serial1.write(c); // write to Linino
+ if (commandMode == false) { // if we aren't in command mode...
+ if (c == '~') { // Tilde '~' key pressed?
+ commandMode = true; // enter in command mode
+ } else {
+ Serial1.write(c); // otherwise write char to Linino
+ }
+ } else { // if we are in command mode...
+ if (c == '0') { // '0' key pressed?
+ Serial1.begin(57600); // set speed to 57600
+ Serial.println("Speed set to 57600");
+ } else if (c == '1') { // '1' key pressed?
+ Serial1.begin(115200); // set speed to 115200
+ Serial.println("Speed set to 115200");
+ } else { // any other key pressed?
+ Serial1.write('~'); // write '~' to Linino
+ Serial1.write(c); // write char to Linino
+ }
+ commandMode = false; // in all cases exit from command mode
+ }
ledState=!ledState; // invert LED state
digitalWrite(led, ledState); // toggle the LED
}