1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-12 01:53:07 +03:00
Commit Graph

3629 Commits

Author SHA1 Message Date
3c9a75f831 Add CryptoInterface library (#6961)
* - Add CryptoInterface library.

- Add TypeConversion core files.

* Fix compiler errors.

- Make HelloCrypto.ino stylish.

- Include assert.h in CryptoInterface.cpp.

* - Move base36 arrays to PROGMEM in TypeConversionFunctions.cpp.

- Add deprecated attribute to SHA1 and MD5 hashes.

- Remove _warningsEnabled since this has been replaced by the deprecated attribute.

- Prefix all getters with "get".

- Move all CryptoInterface functionality to the experimental namespace.

- Change formatting of core files.

- Improve comments.

* - Update keywords.txt.

* - Remove WiFi.disconnect() from setup() in HelloCrypto example since it no longer seems to be required.

* - Classify everything.

- Remove delay in setup() from HelloCrypto example since it does not seem to be required to prevent missing initial Serial prints.

- Mark type conversion functions as big endian.

- Update keywords.txt.

* - Remove namespace experimental.

- Create ESP.random functions in the core based on the defaultNonceGenerator code, and use these in defaultNonceGenerator.

- Rename CryptoInterface to esp8266::Crypto and move all functionality to the core.

- Remove need to #include <bearssl/bearssl.h> in the Crypto header file by changing br_hkdf_context to ::br_hkdf_context.

- Restyle code files for core usage.

* - Re-add namespace experimental.

- Improve comments.

* - Remove namespace esp8266.

- Rename namespace Crypto to namespace crypto.

Co-authored-by: Anders <andlo151@student.liu.se>
Co-authored-by: Develo <deveyes@gmail.com>
2020-04-28 21:25:10 -04:00
ec7644227e Hold transmitter in reset during rate change (#7248) 2020-04-27 13:58:47 -04:00
1bb5ccf71e Fixed misplacement of back quotes (#7247)
It might be the thing in some other doc files but I only noticed it here
2020-04-26 13:58:22 -04:00
36e047e908 Allow stopWaveform to stop timed-out waveforms (#7236)
Fixes #7230.
2020-04-23 16:00:17 -07:00
9b41d9ac5e XMC flash support - WIP (#6725)
* Move the spi vendor list from Esp.h to its own header in eboot.

* Fix ifdef issue with spi_vendors.h

* Add initFlashQuirks() for any chip specific flash initialization.

Called from user_init().

* namespace experimental for initFlashQuirks()

* Slow down flash access during eboot firmware copy

Part 1 - still some work to do

* Slow down flash access during eboot firmware copy on XMC chips

Part 2 - Identify the chip type.

Note: there may still be issues with the access speed change.
This is very much experimental.

* Commit eboot.elf

Co-authored-by: Develo <deveyes@gmail.com>
Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-04-23 12:15:21 -04:00
2de9242b1a Add test for FS::open("w+") (#7241)
Verify that a file is truncated on opening with w+ even if no data is
written to it, for all FSes.

Co-authored-by: Develo <deveyes@gmail.com>
2020-04-22 17:24:56 -07:00
368ca91869 Update to LittleFS v2.2.0 (#7240) 2020-04-22 19:34:45 -04:00
b02643e7fa Tz update (#7234)
* TZ update

Added the possibility to set the timezone without using NTP. This is helpful to have the timezone advantages when using an external RTC.

* Update time.cpp
2020-04-20 20:09:54 -04:00
ea1fdb210f Fixup 7122, new startWaveformCycles more aptly named startWaveformClockCycles (like in rest of core API for this type of use). (#7218)
Fix/clarify comments.
Fix redundancies in Tone, end Tone waveform on exact period limit for proper sound.
Fix redundancies in wiring_pwmExtend Servo to map in-use pins, Tone already has this.
2020-04-19 14:57:46 +02:00
4ca69bc21d For example CaptivePortal, update HTML to pass HTML checker. (#7227)
Added meta viewport element for better mobile device viewing.

For example CaptivePortalAdvanced, increased size of ssid and password array
to hold maximums 32 and 64 charcter strings. Added missing HTML elments
to main splash and wifi config. They should now pass an HTML checker.
Also added meta viewport element for better mobile device viewing.
2020-04-19 11:14:20 +02:00
ce0e63f629 fix style checking: (#7222)
- (some) core files are astyled
- ci was only checking libraries
=> now everything is checked
2020-04-17 21:37:12 -04:00
77b82a0c27 Changing listen to listen the current iface only instead of 0 (#7217) 2020-04-17 19:31:31 -04:00
a36a6c8a3f Add isRunning getter to check is ::begin already called (#7219) 2020-04-17 18:42:07 -04:00
503988132d fNull pointer call from WiFiClient::localIP() to IPAddress (#7221)
Fixes exception 28 in IPAddress(const ipv4_addr* fw_addr); with null ip_addr
pointer passed in by WiFiCient.cpp localIP(). I assumed that localIP()
was called shortly after _pcb became null.
2020-04-17 23:19:46 +02:00
9632e868d5 Fix espota completion success/fail check (#7204)
The OTA script was not reporting the actual reported upload status from
the ESP8266, and instead always printed "Result: OK" no matter what
happened.

Now check for ERROR or OK in final message (and ensure the message is
not accidentally merged with the final byte count) and report properly.

Fixes #7162
2020-04-16 15:15:00 -07:00
1af4ea661f Allow waveforms to be specified in clock cycles (#7211)
* Allow waveforms to be specified in clock cycles

Allow the PWM to specify sub-microsecond waveform edges, as have been
proposed by @dok-net and me.  No other changes intended.

This will increase the linearity at 30 and 40 kHZ PWM rates, but leave
most other things unaffected.

* Cycle-accurate wafveform to specify Tone periods

Co-authored-by: Develo <deveyes@gmail.com>
2020-04-16 14:40:20 -07:00
6cb16997d8 Use F_CPU if (?) CPU frequency switch is compile-time only (#6833)
* At least the F_CPU define in host mock.h is needed by host Arduino.h - need to include Arduino.h further down in mock.h for this to work.

* Geting the include order right

* Prepare for runtime CPU clock rate selection

* Fix compile for not defined F_CPU

If defined F_CPU, make getCpuFreqMHz() a constexpr

* Use defines for register CPU2X instead of hex value

* Fix build for host - getCpuFreqMHz there was also in conflict with getCycleCount, using F_CPU:

tests/host/common/mock.h:#define F_CPU 80000000 (!)

* Asymmetrical includes and defines on host

* Support restart switch from 160MHz to 80MHz, e.g for OTA. Fixes #579
2020-04-15 16:15:35 -04:00
e5f4514847 mDNS: protect MDNSResponder::queryService against misuse (#7216)
* mDNS: protect MDNSResponder::queryService against misuse

* fix style
2020-04-15 14:22:02 -04:00
e1789ddf0c MD5 Builder: Rework for unqiue_ptr instead of malloc, get only member functions marked as const (#7208)
Co-authored-by: Luiss <luiss@mind.cc>
2020-04-11 14:02:38 -04:00
4f27ce16b3 Fix TCP send to IPv6 link local addresses (#7207)
credit: Simon Arlott @nomis - similar to #6541 for TCP (#7207)
2020-04-11 12:46:07 +02:00
ee619d367f Fix UDP send to IPv6 link local addresses (#6541)
lwIP's tcp/udp_connect() and tcp/udp_bind() functions automatically
set the zone if it is required but missing, but udp_connect() is not
used so this doesn't happen.

Explicitly set the zone to the default network interface if it is
required for the type of address being used. Otherwise there is no
zone set and packets to a link local destination don't go anywhere.
2020-04-11 12:05:23 +02:00
5511180cd1 EspSoftwareSerial release 6.8.1 (#7205)
- Updates to latest Delegate class.
- Minor update to example code.
2020-04-10 10:54:21 -07:00
41d271d972 Fix for MD5 leak bug, issue #7195 (#7197)
Co-authored-by: Luiss <luiss@mind.cc>
Co-authored-by: david gauchard <gauchard@laas.fr>
Co-authored-by: Develo <deveyes@gmail.com>
Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-04-09 10:36:57 -07:00
1a9988ecf1 fix memleak (#7203) 2020-04-09 09:59:12 -07:00
fad056442d Make DNS resolution order selectable during runtime or compile time (#6865)
* Make DNS resolution order selectable during runtime or compile time (only in dual stack mode).

* Extend IPv6 example to show usage of new hostByName function with selectable resolving order

* Fix function definition of fqdn_rt in IPv6.ino.

* Fix function call.

* Fix missing bracket...

* Only run if built with dual stack support

* Make DNS resolution order selectable during runtime or compile time (only in dual stack mode).

* Extend IPv6 example to show usage of new hostByName function with selectable resolving order

* Fix function definition of fqdn_rt in IPv6 example.

* Implement enum class for resolve type

* Fix example IPv6.ino

* Fix typedef in ESP8266WiFiGeneric.h function call

* Change enum class definition to not depend on lwip/dns.h

* Move err_t err definition outside switch. Fix typecast.

* Always define DNSResolveType as pio test otherwise failes even if the enum class isn't used.

Co-authored-by: altelch <heiko.krupp@rhrk.uni-kl.de>
Co-authored-by: david gauchard <gauchard@laas.fr>
2020-04-09 18:17:54 +02:00
bc170e6d63 WiFi: ARP gratuitous API for wifi station mode (#6889)
* wifi: ARP gratuitous API for wifi station mode

* fix with lwip1

* update comment

* update API to allow changing interval on the fly

* update API

* remove debug lines

* mock lwIP's etharp_request()

* unsigned interval

* use scheduled ticker

* ticker: +attach_ms_scheduled_accurate
ticker: +comment
gratuitous: use attach_ms_scheduled_accurate

* move to experimental namespace

* fix for lwIP-v1.4

* attempt to make pio happy

* use directly ETSTimer instead of Ticker
2020-04-09 16:19:15 +02:00
d600cc7fa6 Expose webserver's chunk api (#7134)
* expose hidden WebServer's chunked API
2020-04-06 20:49:34 -04:00
3db610f6d0 Ability to define -DFP_IN_IROM when generating ld script (#7188)
Co-authored-by: Stephan Hadinger <stephan.hadinger@gmail.com>
Co-authored-by: david gauchard <gauchard@laas.fr>
2020-04-06 13:54:19 -07:00
c548958f6e Tone limit 20KHz (#7179)
Set Tone maximum frequency to 20KHz (was 5KHz)
2020-04-04 09:47:54 -07:00
483bfde885 Move floating point from libgcc out of IRAM (#7180) 2020-04-03 10:05:28 +02:00
a04c3244d5 esp8285: properly initialize free gpio as input (#7165) 2020-03-27 11:39:12 +01:00
631f66bd08 Attribute __real_system_restart_local() as (noreturn) (#7167)
* Attribute `__real_system_restart_local()` as `(noreturn)`
* As well as `abort()`.
* Aggragate two decls into `coredecls.h`.
2020-03-26 22:28:09 +01:00
726df6967c Switch espressif8266 platform to development branch in PlatformIO build (#7170) 2020-03-26 18:20:43 +02:00
d91f1dac36 Better follow redirection for HTTPClient (#7157)
* Add way to force follow redirections in `HTTPClient`

* Follow other client implementations about `HTTP_CODE_FOUND`; Small rewrite of `sendRequest` function of `HTTPClient`

* Better names for follow redirection modes in `HTTPClient`

Also changed a bit order of the enums (0 element to be DISABLED)

* Rewrite `sendRequest` to remove recursion

Also got rid of unnecessary `redirectCount` field. Now redirect counting and limiting is handled in `sendRequest` directly.

* Use new `setFollowRedirects` of `HTTPClient` instead deprecated one.

* More explanatory comment for `followRedirects_t` in HTTPClient
2020-03-25 23:33:54 +01:00
1127a090ad Add 2MB obtion to 8285 generic board (#7163)
The ESP8285H16 is reported to have 2MB of flash, so add an option the
the Generic 8285 board for 2MB.

Fixes #7161
2020-03-22 22:38:38 +01:00
e64cb619f7 Pull GPIO initialization into its own 'weak' function. (#7044)
* Pull GPIO initialization into its own 'weak' function.

By pulling GPIO init into its own weak function, it can be overridden by the user. This is important in cases when GPIOs should not toggle during reboot, exceptions or other crashes. Fixes #7041.

* Add prototype for resetPins()
2020-03-22 13:16:39 +01:00
db75d2c448 Abort if BearSSL stack allocation fails (#7152)
As found by @d-a-v, if the malloc() used to get the BearSSL stack does
not succeed, abort() immediately.
2020-03-15 11:56:23 -07:00
e252873263 Use 2nd stack for update signature verification (#7149)
* Use 2nd stack for update signature verification

Fixes #7145

When doing a signed update, the signature calculation can use a lot of
stack, so move it silently to the BearSSL second stack.

Also fix a memory leak of signature-bytes found by @JiriBilek

* Reset state on any error condition in Updater::end
2020-03-14 16:10:40 -07:00
afb9921d38 avoid printing nullptr string (#7144) 2020-03-14 11:34:04 -03:00
845241b72c Fix RST links for PlatformIO (#7143)
* Fix RST links

* Update links to PlatformIO
2020-03-09 17:08:07 +02:00
01a4d292e1 Installation guide for PlatformIO (#7142) 2020-03-09 15:51:32 +02:00
252240326f EspSoftwareSerial 6.8.0 adds ESP8285 support (#7139)
* EspSoftwareSerial: Use compile-time flash pin deduction, enables ESP8285.

* EspSoftwareSerial release 6.8.0 for ESP8285 support.
2020-03-08 10:20:53 -07:00
372a3ec297 EspSoftwareSerial release 6.7.2 fixes warnings with gcc 9.2 (#7133)
* MultiDelegate breaking change and improvements.

The event-multiplexer specialization no longer removes items based on invoke return value.
This is mitigated by new iterators and erase(iterator). Check the documentation comments for
details.

* MultiDelegate: constness on return type warning fix.

* EspSoftwareSerial: Conform to C++ 17 and later.

* EspSoftwareSerial: Resolve g++ 9's c++17 deprecation warnings.

* EspSoftwareSerial, Delegate.h: gcc 9.2 is very strict about template inheritance of ctor and assignment operators, needing a lot

of code duplication, this commit provides that.

* Delegate.h, fix both ambiguous operator= and infinite ctor recursion.

* EspSoftwareSerial release 6.7.2
2020-03-05 12:24:27 +01:00
b8e4ca48a4 udp: fix again pbuf management (#7132)
* udp: fix again pbuf management
* Process rx buffer size, cache it, because _rx_buf->tot_len is *not* the total size
2020-03-04 21:40:50 +01:00
b64e8da2e2 Set a value for SSDP notify interval (#7110)
* Set a value for SSDP notify interval, default to 1200 seconds.

* Changed uint8_t to uint32_t

Co-authored-by: david gauchard <gauchard@laas.fr>
2020-03-03 19:00:38 -03:00
e39cbe6328 rebuild lwip2 1.2-30 (#7131) 2020-03-03 21:58:57 +01:00
c61b70de86 unblobbing commit 2c435b1f42 (commitcomment-37529995) (#7121) 2020-02-28 00:30:36 -03:00
2c435b1f42 lwip2 update: stop dhcp when interface goes down (#7114) 2020-02-27 08:21:33 +01:00
0554d39c6c Add support for my new board eduino wifi (#6554)
* ^#

* Fix merge conflict

* Fix merge conflict

Co-authored-by: Earle F. Philhower, III <earlephilhower@yahoo.com>
2020-02-26 08:15:57 -08:00
abdd2bdbb6 simple TZ api: bypass sprintf/sscanf: + 7KB (#7109)
* simple TZ api: bypass sprintf/sscanf: + 7KB
2020-02-25 11:16:10 +01:00