1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-07-29 05:21:37 +03:00
Commit Graph

5440 Commits

Author SHA1 Message Date
416198a03b 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
6685aa999c 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
f3aa5f23c4 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
b1de3e6621 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
934393398b 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
db1a4ad139 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
1704e7e820 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
b1c7a3d05f 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
937cc51c69 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
95f969cb7c Merge branch 'master' into esp8266
* master: (148 commits)
  Update revision log
  Cherry picked fix from 87865ac19d
  Updated revision log
  Added dependencies for AStylej.dll
  Updated translations
  Update revision log
  Temporary fix for pulseIn() regression.
  Added README.adoc for the library manager project
  Fixed some libraries metadata.
  Temporary disabled DefaultTargetTest under certain conditions
  Updated translation from transifex
  Updated some translation strings
  Fixed test
  sam: Fixed initialization of UART/USART mode register
  update revision log
  Fixed NPE when import menu are empty
  Fixed NPE when currently selected platform is no more installed.
  Optimized FileUtils.recursiveDelete(File) function
  Fixed a bunch of simple warnings in java code
  Removed unused classes Commander.java and Webserver.java
  ...
2015-01-26 02:35:02 +03:00
bfafcf8c6a Update notes 2015-01-26 02:21:58 +03:00
e6d5ebdbb3 Add a version of OneWire library adapted for ESP8266 2015-01-26 02:09:18 +03:00
0757396bb3 Add functions for direct IO register access 2015-01-26 02:08:26 +03:00
28bfe331d5 Fix typo, add mode keyword for ESP8266WiFi, remove .bss section from sketch flash size calculation 2015-01-25 22:44:49 +03:00
379df90b30 Update revision log 2015-01-23 11:22:40 +01:00
db8cbf24c9 Merge branch 'ide-1.5.x' 2015-01-22 17:15:05 +01:00
1f08b5ede4 Cherry picked fix from 87865ac19d 2015-01-22 17:04:59 +01:00
83f7490cc2 Add WIP SPI library 2015-01-21 04:19:04 +03:00
4727a665bc Use i2c instead of serial for wifio virtual io 2015-01-21 04:17:03 +03:00
27bbeb36ae Move i2c files into core, fix some issues with i2c 2015-01-21 04:13:18 +03:00
136c04ad28 Merge branch 'ide-1.5.x' of github.com:arduino/Arduino into ide-1.5.x 2015-01-20 15:50:25 +01:00
14fe427050 Updated revision log 2015-01-20 15:50:13 +01:00
7a4de50ff8 Merge pull request #2552 from agdl/ide-1.5.x_library_adoc
Added README.adoc for the library manager project
2015-01-20 09:18:22 +01:00
00dfd93726 Added dependencies for AStylej.dll 2015-01-19 23:08:08 +04:30
f4a6b623b3 Updated translations 2015-01-19 14:57:31 +01:00
d2269ca89e Update revision log 2015-01-19 13:50:57 +01:00
0e013406bc Merge branch 'sam-usart-mode-fix' into ide-1.5.x 2015-01-19 13:43:42 +01:00
07d1abfe43 Merge pull request #2556 from cmaglie/ide-1.5.x-pulsein-regression
Temporary fix for pulseIn() regression
2015-01-19 13:40:09 +01:00
8ddc5198f6 Temporary fix for pulseIn() regression.
Fixes #2538
2015-01-18 17:34:40 +01:00
7528aca28a Use initVariant for wifio board 2015-01-17 16:35:54 +03:00
748c52996e Update esptool to the latest version 2015-01-17 02:52:50 +03:00
d3c7d0c8b8 Define esp pins E0..E16 for both board variants 2015-01-17 02:51:58 +03:00
abbe858545 Create another board variant 2015-01-16 22:52:19 +03:00
22b3aebdcd Define wiring functions as weak
This way they can be redefined in board variants, allowing for port expansion
2015-01-16 22:46:43 +03:00
ce412a0461 Added README.adoc for the library manager project 2015-01-16 17:14:02 +01:00
d3e4d6d9e3 Add remoteIP and remotePort methods to WiFiClient 2015-01-16 17:56:11 +03:00
5b4e6aca37 GPIO16 support for pinMode, digitalRead, and digitalWrite 2015-01-16 17:55:09 +03:00
5cd194b694 Add more pin mux definitions to eagle_soc.h 2015-01-16 17:53:53 +03:00
2c80d6b7b3 Fix HardwareSerial initialization and interrupt handling
RXD pin was not configured properly
2015-01-16 17:29:58 +03:00
e594bd9746 Fix esp8266 HardwareSerial::flush
HardwareSerial::flush discarded data instead of waiting for it to be sent
2015-01-16 17:28:36 +03:00
6d7751cf5f Fixed some libraries metadata. 2015-01-16 12:22:24 +01:00
5ff4c9f8dc Temporary disabled DefaultTargetTest under certain conditions 2015-01-14 18:42:19 +01:00
3a062f0582 Updated translation from transifex 2015-01-14 18:27:27 +01:00
ff95d03663 Updated some translation strings 2015-01-14 18:05:00 +01:00
81808d532e Merge branch 'ide-1.5.x-fail-when-no-platform-txt' of https://github.com/ffissore/Arduino into ide-1.5.x 2015-01-14 17:19:11 +01:00
60309fe8b8 Fixed test 2015-01-14 17:18:43 +01:00
00f23d3aad sam: Fixed initialization of UART/USART mode register 2015-01-14 00:08:59 +01:00
244a750bef Merge branch 'wayoda-fix-find-dialog-layout' into ide-1.5.x 2015-01-13 23:30:22 +01:00
fdbb45ec47 update revision log 2015-01-13 23:28:19 +01:00
17115b0a9b Fixed NPE when import menu are empty 2015-01-13 23:16:53 +01:00