Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from main repo #1

Merged
merged 40 commits into from
Sep 17, 2019
Merged

Update from main repo #1

merged 40 commits into from
Sep 17, 2019

Conversation

saloid
Copy link
Owner

@saloid saloid commented Sep 17, 2019

No description provided.

lacklustrlabs and others added 30 commits February 3, 2018 13:45
Tested with Naze32 @72MHz & BMP280 working at 1.2Mhz
It doesn't break existing code
program terminates. Recent versions of GCC use __cxa_atexit to
register exit handlers which call these object destructors.

With the -fno-use-cxa-atexit command line option, GCC uses atexit
instead (same functionality, but only up to 32 exit handlers can
be registered).

Since the Arduino main process can not return, and calls to exit()
simply call an infinite loop - so all of this is completely
irrelevant. No exit handlers are ever called.

By removing the unused __cxa_atexit functionality we save a bit of
space, and enable further cleanups (in later commits).
main() never exits. The subsequent call to exit() links in the libc
exit symbol and all that it calls (including free() and a few others.
Removing this saves around 2k of flash.
Fixed a float constant so double precision multiply is not linked in
Corrected class definition
Currently HardwareSerial uart does not check if a framing error
(parity error or invalid stop bit) has occured and simply
forward the received byte to the caller. This results in spurious
invalid data being received e.g. when the uart pin is left floating
or when a connected device is reset. This confuses apps using uart,
and cause apps to abort with errors.

this fix checks received bytes for framing error (parity error or
stop bit errors) and discards them if a framing error occured
This function is used in some projects (Marlin) and require to be defined
- use const for ff variable to avoid unused variable on each SPI.h include
- move the spi_this refs where its used...
- and also the 3 others ones :

STM32F1\libraries\SPI\src\SPI.cpp:784:12
  warning: enumeration value 'RCC_AHB' not handled in switch [-Wswitch]

STM32F1\libraries\SPI\src\SPI.cpp:392:5:
  warning: this 'while' clause does not guard... [-Wmisleading-indentation]

Sample use : https://travis-ci.org/MarlinFirmware/Marlin/jobs/564740480
Remove errant "init" of extern

I merge this PR as it is, and keep the variable declaration, it may be used eventually in the future.
Added missing extern C to STM32ADC helper files
[bugfix] Restore overflowed memory copy
Code cleanup and removed compiler warnings about while loops.
Another commit of SPI.h will follow to complete the PR.
Completes #656 . Makes sure that the function is truly inlined.
SPI: fix annoying unused variables warnings
Update SingleChannelSingleConversion.ino
Fixed float constant so double precision multiply is not linked in
HardwareSerial handling for framing or parity error
The HardTimerAsEncoder.ino example got stuck on an ASSERT_FAULT.
Fix for possible break of DFU functionality
some additional changes for #557
Handle strchr_P alias for AVR code compat
Add -fno-use-cxa-atexit compiler option to reduce unused code.
Avoid duplicate inline which newer gcc rejects
@saloid saloid merged commit e009a06 into saloid:master Sep 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.