Commit Graph

294 Commits

Author SHA1 Message Date
Chris--A 623314da0c Added additional examples to EEPROM lib 2015-03-17 17:17:08 +10:00
Chris--A 4898b70957 Added new version of EEPROM library. 2015-03-17 17:13:47 +10:00
Martino Facchin 66c92e4956 Merge branch 'ide-1.5.x' into SoftwareSerial 2015-03-05 12:33:35 +01:00
Martino Facchin 6e4c75544c SoftwareSerial: match bool API with HardwareSerial 2015-03-05 12:30:01 +01:00
Cristian Maglie 008903d881 Corrected some email contacts. 2015-02-05 16:47:22 +01:00
Matthijs Kooijman 394e4d24a8 Prevent low pulse on TX initialization in SoftwareSerial
Previously, the TX pin would be set to output first and then written
high (assuming non-inverted logic). When the pin was previously
configured for input without pullup (which is normal reset state), this
results in driving the pin low for a short when initializing. This could
accidenttally be seen as a stop bit by the receiving side.

By first writing HIGH and then setting the mode to OUTPUT, the pin will
have its pullup enabled for a short while, which is harmless.
2015-01-26 17:04:26 +01:00
Matthijs Kooijman 8ae6d3184c Remove unneeded #ifdef in SoftwareSerial
The debugPulse function definition already checks for _DEBUG, resulting
in an empty function definiton and the function call being optimized
away.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 4246ed2f88 Fix SoftwareSerial timings
Instead of using a lookup table with (wrong) timings, this calculates
the timings in SoftwareSerial::begin. This is probably a bit slower, but
since it typically happens once, this shouldn't be a problem.
Additionally, since the lookup tables can be removed, this is also a lot
smaller, as well as supporting arbitrary CPU speeds and baudrates,
instead of the limited set that was defined before.

Furthermore, this switches to use the _delay_loop_2 function from
avr-libc instead of a handcoded delay function. The avr-libc function
only takes two instructions, as opposed to four instructions for the old
one. The compiler also inlines the avr-libc function, which makes the
timings more reliable.

The calculated timings directly rely on the instructions generated by
the compiler, since a significant amount of time is spent processing
(compared to the delays, especially at higher speeds). This means that
if the code is changed, or a different compiler is used, the
calculations might need changing (though a few cycles more or less
shouldn't cause immediate breakage).

The timings in the code have been calculated from the assembly generated
by gcc 4.8.2 and gcc 4.3.2.

The RX baudrates supported by SoftwareSerial are still not unlimited. At
16Mhz, using gcc 4.8.2, everything up to 115200 works. At 8Mhz, it works
up to 57600. Using gcc 4.3.2, it also works up to 57600 at 16Mhz and up
to 38400 at 8Mhz. Note that at these highest speeds, communication
works, but is still quite sensitive to other interrupts (like the
millis() interrupts) when bytes are sent back-to-back, so there still
are corrupted bytes in RX.

TX works up to 115200 for all combinations of compiler and clock rates.

This fixes #2019
2015-01-26 17:03:25 +01:00
Matthijs Kooijman ac74ca1b37 Disable the RX PCINT inside SoftwareSerial::recv
Before, the interrupt would remain enabled during reception, which would
re-set the PCINT flag because of the level changes inside the received
byte. Because interrupts are globally disabled, this would not
immediately trigger an interrupt, but the flag would be remembered to
trigger another PCINT interrupt immediately after the first one is
processed.

Typically this was not a problem, because the second interrupt would see
the stop bit, or an idle line, and decide that the interrupt triggered
for someone else. However, at high baud rates, this could cause the
next interrupt for the real start bit to be delayed so much that the
byte got corrupted.

By clearing the interrupt mask bit for just the RX pin (as opposed to
the PCINT mask bit for the entire port), any PCINT events on other bits
can still set the PCINT flag and be processed as normal. In this case,
it's likely that there will be corruption, but that's inevitable when
(other) interrupts happen during SoftwareSerial reception.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 415e48fa1b Optimize SoftwareSerial::setRxIntMsk()
This precalculates the mask register and value, making setRxIntMask
considerably less complicated. Right now, this is not a big deal, but
simplifying it allows using it inside the ISR next.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 14c703096a In SoftwareSerial::recv, only calculate the new tail once
This shortens the generated code a bit more.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 42e23fb9bc Mark SoftwareSerial::recv and handle_interrupt as always_inline
Since those functions are only called once now, it makes sense to inline
them. This saves a few bytes of program space, but also saves a few
cycles in the critical RX path.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 8910658611 In SoftwareSerial, use ISR_ALIASOF to prevent duplication
Previously, up to four separate but identical ISR routines were defined,
for PCINT0, PCINT1, PCINT2 and PCINT3. Each of these would generate
their own function, with a lot of push-popping because another function
was called.

Now, the ISR_ALIASOF macro from avr-libc is used to declare just the
PCINT0 version and make all other ISRs point to that one, saving a lot
of program space, as well as some speed because of improved inlining.

On an Arduino Uno with gcc 4.3, this saves 168 bytes. With gcc 4.8, this
saves 150 bytes.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 8fd7324bcc Optimize SoftwareSerial::recv
Similar to SoftwareSerial::write, this rewrites the loop to only touch
the MSB and then shift those bits up, allowing the compiler to generate
more efficient code. Unlike the write function however, it is not needed
to put all instance variables used into local variables, for some reason
the compiler already does this (and doing it manually even makes the
code bigger).

On the Arduino Uno using gcc 4.3 this saves 26 bytes. Using gcc 4.8 this
saves 30 bytes.

Note that this removes the else clause in the code, making the C code
unbalanced, which looks like it breaks timing balance. However, looking
at the code generated by the compiler, it turns out that the old code
was actually unbalanced, while the new code is properly balanced.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 518cbca8ee Further optimize SoftwareSerial::write
This change restructures the loop, to help the compiler generate shorter
code (because now only the LSB of the data byte is checked and
subsequent bytes are shifted down one by one, it can use th "skip if bit
set" instruction).

Furthermore, it puts most attributes in local variables, which causes
the compiler to put them into registers. This makes the timing-critical
part of the code smaller, making it easier to provide accurate timings.

On an Arduino uno using gcc 4.3, this saves 58 bytes. On gcc 4.8, this
saves 14 bytes.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman dd21593b53 Mark SoftwareSerial::tx_pin_write as "always_inline"
Somehow gcc 4.8 doesn't inline this function, even though it is always
called with constant arguments and can be reduced to just a few
instructions when inlined. Adding the always_inline attribute makes gcc
inline it, saving 46 bytes on the Arduino uno.

gcc 4.3 already inlined this function, so there are no space
savings there.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman ba3f733493 Simplify SoftwareSerial::write
Before, there was nearly identical code for the inverted and regular
cases. However, simply inverting the byte in the inverted case allows
using the regular code twice, reducing the generated code size by 100
bytes (on an Arduino Uno and gcc 4.3, on gcc 4.8 the reduction is 50
bytes).
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 0001ea1d3d Use stopListening() in SoftwareSerial::end()
stopListening also disabled the interrupt, if needed, so calling that
function makes more sense. Since stopListening only disables the
interrupt when the current SoftwareSerial is the active object, and that
can only be the case when _rx_delay_stopbit is non-zero, there is no
need to separately check _rx_delay_stopbit anymore.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman a7aaa32b49 Fix race condition in SoftwareSerial::overflow()
If an interrupt causing overflow would occur between reading
_buffer_overflow and clearing it, this overflow condition would be
immediately cleared and never be returned by overflow().

By only clearing the overflow flag if an overflow actually occurred,
this problem goes away (worst case overflow() returns false even though
an overflow _just_ occurred, but then the next call to overflow() will
return true).
2015-01-26 17:03:25 +01:00
Matthijs Kooijman d6ad699c84 Toggle SoftwareSerial interrupts when starting / stopping to listen
This prevents interrupts from triggering when the SoftwareSerial
instance is not even listening.

Additionally, this removes the need to disable interrupts in
SoftwareSerial::listen, since no interrupts are active while it touches
the variables.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 09f0092949 Add SoftwareSerial::stopListening()
This allows one to explicitly stop a SoftwareSerial instance from
listening, without having to make another one listening.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 35075c337a Add SoftwareSerial::setRxIntMsk()
This moves the interrupt mask enabling / disabling code into a separate
method, so we can call it from multiple spots next.
2015-01-26 17:03:25 +01:00
Matthijs Kooijman 25b7c2e448 Let SoftwareSerial::end also check against _rx_delay_stopbit
The current check is still always false when the old check was, but
additionally it will not disable the interrupts when they were never
enabled (which shouldn't matter much, but this is more consistent).
2015-01-26 17:03:24 +01:00
Matthijs Kooijman b3b1f8e9d0 Let SoftwareSerial::listen() fail on invalid rx baud rates
In this case, SoftwareSerial::begin will not have enabled the
interrupts, so better not allow the SoftwareSerial instance to enter the
listening state either.
2015-01-26 17:03:24 +01:00
Matthijs Kooijman cb86359ee2 Clear SoftwareSerial rx delay if no interrupt register is found
Before enabling interupts, begin would see if the given receive pin
actually has an associated PCINT register. If not, the interrupts would
not be enabled.

Now, the same check is done, but when no register is available, the rx
parameters are not loaded at all (which in turn prevents the interrupt
from being enabled). This allows all code to use the same "is rx
enabled" (which will be added next).
2015-01-26 17:03:24 +01:00
Cristian Maglie 4c096dc6a9 Fix atomicity issues in SPI::beginTransaction and SPI::endTransaction (Andrew Kroll)
Previously, it could happen that SPI::beginTransaction was
interrupted by an ISR, while it is changing the SPI_AVR_EIMSK
register or interruptSave variable (it seems that there is
a small window after changing SPI_AVR_EIMSK where an interrupt
might still occur). If this happens, interruptSave is overwritten
with an invalid value, permanently disabling the pin interrupts.

To prevent this, disable interrupts globally while changing
these values.
2014-11-25 15:56:11 +01:00
Cristian Maglie 4db19b12c0 [avr] Made SPI.usingInterrupt() synchronized (Andrew Kroll) 2014-11-25 15:56:11 +01:00
Cristian Maglie b0eac9bd05 [avr] Added SPI.notUsingInterrupt() (Andrew Kroll) 2014-11-25 15:56:11 +01:00
Cristian Maglie 3e155441b5 [avr] Made SPI.begin() and SPI.end() synchronized (Andrew Kroll) 2014-11-25 15:49:17 +01:00
Cristian Maglie cd9ea1a371 [avr] Improved SPI speed on 16bit transfer.
From https://github.com/arduino/Arduino/pull/2376#issuecomment-59671152

Quoting Andrew Kroll:

   [..this commit..] introduces a small delay that can prevent the wait
   loop form iterating when running at the maximum speed. This gives
   you a little more speed, even if it seems counter-intuitive. At
   lower speeds, it is unnoticed. Watch the output on an oscilloscope
   when running full SPI speed, and you should see closer back-to-back
   writes.

Quoting Paul Stoffregen:

   I did quite a bit of experimenting with the NOP addition. The one
   that's in my copy gives about a 10% speedup on AVR.
2014-11-25 15:49:17 +01:00
Cristian Maglie 8b78659ca7 [avr] SPI: removed redundant include 2014-11-14 00:23:11 +01:00
Cristian Maglie 396dcd66c8 [avr] Small comments and headers fixes in SPI 2014-11-14 00:23:11 +01:00
PaulStoffregen 3791e4f260 SPI Transactions for AVR 2014-08-01 05:38:27 -07:00
Fede85 518c5a0fad missing paragraph field in library.properties 2014-07-18 20:08:01 +02:00
Fede85 4fa3f300b7 modified sentences in library.properties files 2014-07-18 19:41:34 +02:00
Cristian Maglie d767faae30 Merge pull request #1912 from Lauszus/issues440
Enable user to change the I2C clock frequency by calling setClock in the Wire library
2014-07-02 15:37:30 +02:00
Cristian Maglie 41975bf4f9 Merge remote-tracking branch 'arduino/master' into ide-1.5.x
Conflicts:
	build/shared/examples/01.Basics/Blink/Blink.ino
	build/shared/examples/09.USB/Keyboard/KeyboardReprogram/KeyboardReprogram.ino
	build/shared/examples/10.StarterKit/p02_SpaceshipInterface/p02_SpaceshipInterface.ino
	hardware/arduino/cores/arduino/HardwareSerial.cpp
2014-05-23 21:04:47 +02:00
Kristian Lauszus 955046c5ea Enable user to change the I2C clock frequency by calling setClock in the Wire library 2014-03-06 17:23:49 +01:00
Cristian Maglie 15c793a0e5 Revert "SPI library to new format" 2013-11-21 15:05:36 +01:00
Cristian Maglie 11630643ca Revert "EEPROM library to the new format"
This reverts commits:
3223d4fdca32ec03de4a3a2a0c22f2d40de5f374
77f8dd63ab102ab5d2929ac4edd5c00ae9d70493
2013-11-21 11:22:44 +01:00
Cristian Maglie c0630cf9bf Revert "SoftwareSerial library to the new format"
This reverts commit 38c3bbbd3c83eda057d4857635fbd78a4785c3a4.
2013-11-15 12:54:59 +01:00
Cristian Maglie 9a403664a6 Revert "Wire library to the 1.5 format"
This reverts commit a31857688bdc270ed65307755ff3b73ef4867982.
2013-11-15 12:54:59 +01:00
Fede85 9104bfc6f8 Wire library to the 1.5 format 2013-09-10 18:50:42 +02:00
Fede85 b0b96fa999 SpacebrewYun library to the 1.5 format 2013-09-06 18:25:03 +02:00
Fede85 1d6f34093a Temboo library to the 1.5 format 2013-09-06 18:15:14 +02:00
Fede85 dbdbe70b97 Bridge library to the 1.5 format 2013-09-06 15:38:07 +02:00
Federico Fissore 863cea6b4f Spacebrew keywords 2013-08-28 10:12:33 +02:00
Federico Fissore 5ee0aef579 spacebrew update 2013-08-28 10:12:33 +02:00
Federico Fissore 64e817bde6 removed .DS_Store folder 2013-08-28 10:12:33 +02:00
Cristian Maglie b868595a1e Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
Conflicts:
	app/src/processing/app/Preferences.java
	app/src/processing/app/debug/Uploader.java
2013-08-23 15:59:24 +02:00
Federico Fissore 5375c26cfb TemperatureWebPanel: widening refresh interval 2013-07-25 14:31:26 +02:00
Fede85 245c755b64 WiFi library to the new format 2013-07-19 16:20:34 +02:00
Federico Fissore fbf0c0de3b Bridge: Bridge.begin should wait more before giving up, as other processes may consume linux cpu power 2013-07-19 15:18:55 +02:00
Federico Fissore 531d41053b SpacebrewYun: added new example 2013-07-18 14:07:39 +02:00
Angelo Scialabba f7f29b4be2 Bridge: CRC16 being used as CRC 2013-07-15 16:41:17 +02:00
Federico Fissore 5774e611e4 updated temboo examples (added ControlBySMS) 2013-07-15 15:22:50 +02:00
Cristian Maglie 8330b196a4 Merge branch 'ide-1.5.x' into dev-ide-1.5.x-discovery
Conflicts:
	app/src/cc/arduino/packages/uploaders/SerialUploader.java
	app/src/processing/app/Editor.java
	app/src/processing/app/Sketch.java
	app/src/processing/app/debug/Uploader.java
2013-07-14 12:01:03 +02:00
Cristian Maglie 451d5b55a1 Merge branch 'master' into ide-1.5.x 2013-07-14 11:51:50 +02:00
Federico Fissore 2095d1e7cd File: implemented File.openNextFile() and File.rewindDirectory() 2013-07-11 18:14:49 +02:00
Federico Fissore 09a5884054 FileIO.h: removed wrong function declaration 2013-07-11 13:22:52 +02:00
Federico Fissore b9aaf29dcb Added File.isDirectory() 2013-07-11 13:06:48 +02:00
Federico Fissore e1f6e4b424 updated temboo examples 2013-07-11 11:24:53 +02:00
Cristian Maglie 0bad92cb21 Updated YunSerialTerminal: added command to shutdown bridge 2013-07-10 20:37:31 +02:00
Cristian Maglie ca1bc97a9a Bridge: even more reliable startup 2013-07-10 20:24:16 +02:00
Federico Fissore c6b1d405d0 updated temboo examples 2013-07-10 09:47:18 +02:00
Federico Fissore 8cc65a7d7d WifiStatus example:updated sketch description 2013-07-09 20:08:17 +02:00
Federico Fissore b95f6b6b26 temboo examples updated 2013-07-09 20:07:54 +02:00
Federico Fissore c60340b34f updated temboo examples 2013-07-08 15:09:09 +02:00
Federico Fissore 23721b3f68 Merge branch 'ide-1.5.x-discovery' into dev-ide-1.5.x-discovery 2013-07-07 17:07:32 +02:00
tigoe a0f757e7b1 #include Bridge.h in HttpClient 2013-07-06 09:12:01 -04:00
tigoe 64361a1798 Corrected file structure on TemperatureWebPanel 2013-07-06 09:11:37 -04:00
tigoe 1fbb3263c7 Updated TemperatureWebPanel 2013-07-06 08:20:02 -04:00
tigoe aa4f985ee3 Updated TemperatureWebPanel 2013-07-06 08:10:13 -04:00
tigoe c8ebd5738d Added TemperatureWebPanel example 2013-07-06 07:48:10 -04:00
Federico Fissore 813833da3b forgot to include YunClient 2013-07-05 19:14:51 +02:00
Federico Fissore 42a79bfbcc delete OLDYahooWeather example
Updated pretty-wifi-info-lua path in ShellCommands and WifiStatus examples
Tried to make a sense of HttpClient example by making it fetch http://arduino.cc/asciilogo.txt
2013-07-05 15:06:37 +02:00
Federico Fissore 5a05b725ff renamed two lua scripts 2013-07-05 13:50:00 +02:00
Federico Fissore 8ba395d154 introducing Temboo library 2013-07-05 11:55:38 +02:00
Cristian Maglie 4ac20be610 YunServer: added write() method 2013-07-04 17:39:14 +02:00
Cristian Maglie f220fc375e Refactored YunClient and YunServer classes.
Added YunClient.connect() methods.
2013-07-04 17:15:52 +02:00
Federico Fissore 1ba1b6ee70 BootWatcher removed
BridgeNew is the new Bridge
2013-07-04 16:33:10 +02:00
Fede85 773b5dfad9 Esplora library to new format 2013-07-04 15:54:30 +02:00
Fede85 699d358565 updated Firmata library to version 2.3.5 and moved to the new library format 2013-07-04 13:29:15 +02:00
Fede85 bee4dbee7f SoftwareSerial library to the new format 2013-07-03 23:18:21 +02:00
Fede85 cdc515ab13 GSM library to the new format and some strings adaptations 2013-07-03 22:55:18 +02:00
Fede85 490bddc43a SPI library to the new format and moved Robot_Motor and Robot_Control libraries 2013-07-03 22:00:02 +02:00
Fede85 5407d61cfb TFT library to new format 2013-07-03 16:25:45 +02:00
Federico Fissore ec5ce9862e YunServer: added default port number 5555 2013-07-03 13:43:47 +02:00
Federico Fissore 7c15bff6b6 requests coming to YunServer do not start with a slash any more 2013-07-03 11:26:30 +02:00
Federico Fissore 2c91f4895e updated temboo examples 2013-07-03 09:03:17 +02:00
Fede85 383199f468 modifide comments in Yun examples ShellCommands.ino ConsolePixel.ino 2013-07-02 21:23:59 +02:00
Fede85 1c4e3771a6 modified and added comments to the ConsoleRead.ino example 2013-07-02 16:38:59 +02:00
Fede85 4fd9761228 moved from Console to Serial output in Yun Process example 2013-07-02 15:17:22 +02:00
Fede85 8778293b83 modified the WifiStatus example and comments in TimeCheck example 2013-07-01 20:11:14 +02:00
Cristian Maglie 3f5d054950 Added example BridgeNew 2013-07-01 19:12:49 +02:00
Cristian Maglie f0b40e3e0f YunServer: added method to allow listening on localhost only 2013-07-01 19:12:49 +02:00
Cristian Maglie a8cb3e6c24 Bridge: added put(..) method with String variant 2013-07-01 19:12:49 +02:00
Fede85 1c25546c91 typo in Bridge keywords.txt 2013-07-01 17:59:15 +02:00
Fede85 2b125a6529 modified the Datalogger example 2013-07-01 17:58:03 +02:00
Fede85 d8138ad8ba modified the FileWriteScript example 2013-07-01 16:20:05 +02:00
Fede85 bed5894217 Added the Keywords.txt file 2013-07-01 11:53:10 +02:00
Federico Fissore 1c4eb064b3 updated and added new Temboo examples 2013-06-28 15:29:39 +02:00
Cristian Maglie a3ba34f61c Bridge: added YunServer and TunClient class 2013-06-28 09:49:22 +02:00
Cristian Maglie 2b3e2ef02d Temboo examples moved in their specific folder 2013-06-27 22:40:34 +02:00
Fede85 4f10c7ffa8 Stepper library to the new format 2013-06-27 19:24:16 +02:00
Cristian Maglie 6bb5870851 Bridge default speed increased to 250k 2013-06-27 15:44:20 +02:00
Fede85 1dc15d9973 Servo library to the new format 2013-06-27 13:12:07 +02:00
Fede85 f070112ec8 EEPROM library to the new format 2013-06-27 12:16:14 +02:00
Cristian Maglie 85ad3bfef6 Moved Bridge.message* method on their own class. 2013-06-26 22:12:09 +02:00
Cristian Maglie e7329ed11a Removed unused Stream interface from Bridge class 2013-06-26 21:53:22 +02:00
Fede85 8f991f2352 Ethernet, SD and LiquidCrystal to the new library format 2013-06-26 19:13:04 +02:00
Federico Fissore 7a3b87f7f8 included newest Temboo examples 2013-06-26 17:29:57 +02:00
Tom Igoe ca21e16140 Made ShellCommands example more physical 2013-06-25 14:07:53 -04:00
Tom Igoe 74e141c38c Added ConsolePixel example 2013-06-25 13:57:19 -04:00
Tom Igoe 267c6f96f8 Updated XivelyClient to use Serial instead of Console 2013-06-25 10:42:30 -04:00
Tom Igoe 0b037669ab Removed old WifiCheck and WifiSignalStrengthIndicator examples 2013-06-22 02:05:03 -04:00
Tom Igoe 268205fe3f Simplified TimeCheck 2013-06-22 02:03:47 -04:00
Tom Igoe c5e590e1da Changed ShellCommands from Console to Serial 2013-06-22 02:03:35 -04:00
Tom Igoe cbfc82e0aa Adjusted datalogger to remove indirection reference and changed from Console to Serial 2013-06-22 02:03:22 -04:00
Tom Igoe 53779e4bcd Updated comments 2013-06-22 01:43:53 -04:00
Fede85 e094aa5548 added the YahooWeather example 2013-06-21 20:09:04 +02:00
Fede85 35392f361b renamed SD to FileSystem in FileIO library 2013-06-21 19:48:56 +02:00
Federico Fissore 07bf301255 updated pretty_wifi_info.lua script path 2013-06-21 12:02:34 +02:00
Federico Fissore 77b9b64a71 added writeJSON 2013-06-20 16:54:08 +02:00
Federico Fissore 60efa99707 reviewed bridge example
added BridgeClass::writeMessage(const String& str)
2013-06-20 16:32:47 +02:00
Fede85 9334e3f4be modified SDclass.begin() check for sd presence and added the Datalogger example 2013-06-20 13:24:27 +02:00
Federico Fissore 6f1ae06619 YunSerialTermina speed back to 115200 2013-06-19 15:41:22 +02:00
Federico Fissore d4365286e2 wifi examples renamed OLD*, introducing new comprehensive WiFiStatus example
reviewed ShellCommands example to be not wifi related
2013-06-18 16:42:24 +02:00
Federico Fissore c3d636d080 bringing serial speed back to 115200 2013-06-18 09:17:42 +02:00
Tom Igoe 2955185d56 Simpllified ConsoleRead, added available(), added explanation. 2013-06-16 23:10:17 -04:00
Federico Fissore b99f4e7c92 adding ConsoleRead example 2013-06-13 17:29:23 +02:00
Cristian Maglie 3ab33362a6 Added Process.runShellCommand*() methods. 2013-06-12 13:28:24 +02:00
Cristian Maglie 498375552e Refactored String methods and constructor on Process class. 2013-06-12 13:20:25 +02:00
Cristian Maglie 3b2c85506b Removed unused constants 2013-06-12 13:16:21 +02:00
Cristian Maglie 4f0c24af2b Factored Process class 2013-06-12 12:42:38 +02:00
Cristian Maglie 01d7c06121 Bridge class now checks for protocol version 2013-06-12 12:09:04 +02:00
Tom Igoe 78c0038596 Added Michael Shiloh's WifiSignalStrengthIndicator example 2013-06-11 12:28:14 -04:00
Cristian Maglie c9982870e3 Implemented FileIO.position() 2013-06-10 11:50:00 +02:00
Cristian Maglie e7d637c968 Fixed return type for Bridge.transfer(). Refactored File I/O class. 2013-06-10 11:24:32 +02:00
Cristian Maglie dc2d8f6885 Updated File example 2013-06-07 18:35:30 +02:00
Cristian Maglie db50d6ffbd Bridge: updated startup procedure 2013-06-07 18:33:53 +02:00
Cristian Maglie 399b202d68 Bridge: now processes start can be checked for errors 2013-06-07 17:40:10 +02:00
Cristian Maglie bb2f4762c7 Bridge: updated startup procedure 2013-06-07 17:39:30 +02:00
Cristian Maglie 087a3b49e8 Bridge: Added File I/O 2013-06-07 17:39:03 +02:00
Cristian Maglie 01b88f7d75 Added comment to some examples 2013-06-05 20:20:18 +02:00
Cristian Maglie f9b4abe2b5 Updated some Bridge examples 2013-06-05 14:51:15 +02:00
Cristian Maglie 1f9c0f2c44 Improved Bridge memory usage. Fixed bug affecting buffers with more than 255 bytes 2013-06-05 12:58:21 +02:00
Cristian Maglie b464d4848e Bridge protocol frame lenght is now a 16-bit field. Added more efficient Bridge.trasnfer() methods. 2013-06-05 11:50:33 +02:00
Cristian Maglie 9f9314c6bc Merge remote-tracking branch 'dog/ide-1.5.x-discovery' into ide-1.5.x-discovery
Conflicts:
	app/src/processing/app/Base.java
	app/src/processing/app/Editor.java
2013-06-04 19:33:38 +02:00
Federico Fissore 9e3bdbc1a7 using new run-bridge script 2013-06-03 11:50:46 +02:00