From 9562e2456bc5ff35b7e13baff77b955d14842f4f Mon Sep 17 00:00:00 2001 From: Valeriy Koval Date: Tue, 24 Feb 2015 18:15:45 +0200 Subject: [PATCH] Update Teensy Core to 1.21 --- examples/teensy/teensy-blink/src/Blink.pde | 28 ------- .../teensy/teensy-internal-libs/README.rst | 21 +++++ .../platformio.ini | 0 .../teensy-internal-libs/src/ChatServer.ino | 79 +++++++++++++++++++ .../builder/scripts/frameworks/arduino.py | 2 +- platformio/builder/scripts/teensy.py | 5 +- 6 files changed, 103 insertions(+), 32 deletions(-) delete mode 100644 examples/teensy/teensy-blink/src/Blink.pde create mode 100644 examples/teensy/teensy-internal-libs/README.rst rename examples/teensy/{teensy-blink => teensy-internal-libs}/platformio.ini (100%) create mode 100644 examples/teensy/teensy-internal-libs/src/ChatServer.ino diff --git a/examples/teensy/teensy-blink/src/Blink.pde b/examples/teensy/teensy-blink/src/Blink.pde deleted file mode 100644 index c111b45d..00000000 --- a/examples/teensy/teensy-blink/src/Blink.pde +++ /dev/null @@ -1,28 +0,0 @@ -/* LED Blink, Teensyduino Tutorial #1 - http://www.pjrc.com/teensy/tutorial.html - - This example code is in the public domain. -*/ -#ifdef TEENSY20 - const int ledPin = 11; -#elif TEENSY20PP - const int ledPin = 6; -#else - const int ledPin = 13; -#endif - -void setup() { - // initialize the digital pin as an output. - pinMode(ledPin, OUTPUT); -} - -// the loop() methor runs over and over again, -// as long as the board has power - -void loop() { - digitalWrite(ledPin, HIGH); // set the LED on - delay(300); // wait for a second - digitalWrite(ledPin, LOW); // set the LED off - delay(100); // wait for a second -} - diff --git a/examples/teensy/teensy-internal-libs/README.rst b/examples/teensy/teensy-internal-libs/README.rst new file mode 100644 index 00000000..5cea44c9 --- /dev/null +++ b/examples/teensy/teensy-internal-libs/README.rst @@ -0,0 +1,21 @@ +How to buid PlatformIO based project +==================================== + +1. `Install PlatformIO `_ +2. Download `source code with examples `_ +3. Extract ZIP archive +4. Run these commands: + +.. code-block:: bash + + # Change directory to example + > cd platformio-develop/examples/teensy/teensy-internal-libs + + # Process example project + > platformio run + + # Upload firmware + > platformio run --target upload + + # Clean build files + > platformio run --target clean diff --git a/examples/teensy/teensy-blink/platformio.ini b/examples/teensy/teensy-internal-libs/platformio.ini similarity index 100% rename from examples/teensy/teensy-blink/platformio.ini rename to examples/teensy/teensy-internal-libs/platformio.ini diff --git a/examples/teensy/teensy-internal-libs/src/ChatServer.ino b/examples/teensy/teensy-internal-libs/src/ChatServer.ino new file mode 100644 index 00000000..d50e5a65 --- /dev/null +++ b/examples/teensy/teensy-internal-libs/src/ChatServer.ino @@ -0,0 +1,79 @@ +/* + Chat Server + + A simple server that distributes any incoming messages to all + connected clients. To use telnet to your device's IP address and type. + You can see the client's input in the serial monitor as well. + Using an Arduino Wiznet Ethernet shield. + + Circuit: + * Ethernet shield attached to pins 10, 11, 12, 13 + * Analog inputs attached to pins A0 through A5 (optional) + + created 18 Dec 2009 + by David A. Mellis + modified 9 Apr 2012 + by Tom Igoe + + */ + +#include +#include + +// Enter a MAC address and IP address for your controller below. +// The IP address will be dependent on your local network. +// gateway and subnet are optional: +byte mac[] = { + 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; +IPAddress ip(192,168,1, 177); +IPAddress gateway(192,168,1, 1); +IPAddress subnet(255, 255, 0, 0); + + +// telnet defaults to port 23 +EthernetServer server(23); +boolean alreadyConnected = false; // whether or not the client was connected previously + +void setup() { + // initialize the ethernet device + Ethernet.begin(mac, ip, gateway, subnet); + // start listening for clients + server.begin(); + // Open serial communications and wait for port to open: + Serial.begin(9600); + while (!Serial) { + ; // wait for serial port to connect. Needed for Leonardo only + } + + + Serial.print("Chat server address:"); + Serial.println(Ethernet.localIP()); +} + +void loop() { + // wait for a new client: + EthernetClient client = server.available(); + + // when the client sends the first byte, say hello: + if (client) { + if (!alreadyConnected) { + // clead out the input buffer: + client.flush(); + Serial.println("We have a new client"); + client.println("Hello, client!"); + alreadyConnected = true; + } + + if (client.available() > 0) { + // read the bytes incoming from the client: + char thisChar = client.read(); + // echo the bytes back to the client: + server.write(thisChar); + // echo the bytes to the server as well: + Serial.write(thisChar); + } + } +} + + + diff --git a/platformio/builder/scripts/frameworks/arduino.py b/platformio/builder/scripts/frameworks/arduino.py index 5fb45c86..77ef6c88 100644 --- a/platformio/builder/scripts/frameworks/arduino.py +++ b/platformio/builder/scripts/frameworks/arduino.py @@ -52,7 +52,7 @@ if "usb_product" in BOARD_BUILDOPTS: if env.get("PLATFORM") == "teensy": ARDUINO_USBDEFINES += [ - "ARDUINO=106", + "ARDUINO=10600", "TEENSYDUINO=%d" % ARDUINO_VERSION ] else: diff --git a/platformio/builder/scripts/teensy.py b/platformio/builder/scripts/teensy.py index 9f96c7ff..a6f9837c 100644 --- a/platformio/builder/scripts/teensy.py +++ b/platformio/builder/scripts/teensy.py @@ -19,14 +19,13 @@ elif env.get("BOARD_OPTIONS", {}).get("build", {}).get("core") == "teensy3": env.Append( CPPDEFINES=[ - "USB_PID=null", - "USB_VID=null", "USB_SERIAL", "LAYOUT_US_ENGLISH" ], CXXFLAGS=[ - "-std=gnu++0x" + "-std=gnu++0x", + "-felide-constructors" ] )