Skip to content
This repository has been archived by the owner on Oct 1, 2021. It is now read-only.

Mavstation addition #19

Open
wants to merge 249 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
249 commits
Select commit Hold shift + click to select a range
3ddcb57
added libtomcrypt library
davidbuzz Sep 27, 2013
87a6e30
added libtomfastmath
davidbuzz Sep 27, 2013
91a8b0d
added auth command
davidbuzz Sep 27, 2013
5f44249
auth: use get_board_serial() interface
Mar 25, 2014
0a735c2
mpu6000: added logging of good transfers
Dec 16, 2013
07ae452
drivers: allow forcing the safety switch on
Oct 9, 2014
620b027
sdlog2_dump: Fixing incorrect tabbing to allow for CSV generation
Oct 10, 2014
17eddef
airspeed: use _retries=1 for I2C retries once initialised
Nov 3, 2014
ad809cc
Added mavstation config
kbrtny Nov 6, 2014
21422e8
Added makefiles for mavstation and updated upload.mk to support mavst…
kbrtny Nov 6, 2014
25763a6
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
d1379c4
added mavstation Image prototype. Runs on the latest version.
kbrtny Nov 6, 2014
b4bd6f1
Updated NuttX version
LorenzMeier Nov 11, 2014
55b66ea
Update NuttX version
LorenzMeier Nov 11, 2014
97384c8
Fix comparison in upload script for test builds
LorenzMeier Nov 12, 2014
546c080
MTD: Update header locations
LorenzMeier Nov 12, 2014
b09680b
tests: remove spurious, unneeded header
LorenzMeier Nov 12, 2014
56d842a
SPI Dev: Update header location
LorenzMeier Nov 12, 2014
3920325
PX4IO: Update syslog API
LorenzMeier Nov 12, 2014
232a2d6
SBUS on IO: Use new debug API
LorenzMeier Nov 12, 2014
266e253
Toolchain: Allow GCC 4.7 and 4.8 variants
LorenzMeier Nov 12, 2014
476b713
tone alarm: Update syslog API
LorenzMeier Nov 12, 2014
27cc238
ESC calib and PWM system commands: Remove spurious, unneeded headers
LorenzMeier Nov 12, 2014
38b8fd1
IO driver serial layer: Update syslog API
LorenzMeier Nov 12, 2014
d79bb5a
FMUv2: Update windows toolchain
LorenzMeier Nov 12, 2014
4b9956d
Add Kconfig file for FMUv2
LorenzMeier Nov 12, 2014
be39a0b
NuttX update
LorenzMeier Nov 12, 2014
ecd88f7
Test config: Do not run USB
LorenzMeier Nov 12, 2014
f3f09cd
Only boot a minimal test system which works
LorenzMeier Nov 12, 2014
120de44
FMUv1: Update driver API
LorenzMeier Nov 12, 2014
2b2c952
FMUv2: Update driver API
LorenzMeier Nov 12, 2014
17568de
Aerocore: update driver API
LorenzMeier Nov 12, 2014
79c7dc8
Modernize aerocore config
LorenzMeier Nov 12, 2014
dec2568
Modernize FMUv1 config
LorenzMeier Nov 12, 2014
c519f56
Modernize FMUv2 config (using the upstream NuttX config)
LorenzMeier Nov 12, 2014
acc5ae7
PX4IOv1: Modernize config
LorenzMeier Nov 12, 2014
6456007
PX4IOv2: Modernize config
LorenzMeier Nov 12, 2014
4030b20
Updated NuttX
LorenzMeier Nov 12, 2014
461e988
Merged master
LorenzMeier Nov 23, 2014
dd20807
Added 60 second delay upon power up to switch Mavlink serial port. P…
kbrtny Nov 26, 2014
7a12e4d
Updating NuttX revision in use
LorenzMeier Nov 26, 2014
34aeec5
Add missing instrumentation defines
LorenzMeier Nov 27, 2014
898d411
Add missing CMDPARAMs and ARGCAT config options
LorenzMeier Nov 27, 2014
ddcf4ab
FMUv1: CMD args
LorenzMeier Nov 27, 2014
29e1501
Aerocore: CMD args
LorenzMeier Nov 27, 2014
d751c95
Add param cmd to test config
LorenzMeier Nov 27, 2014
07c041d
Add top to test build
LorenzMeier Nov 27, 2014
884011a
nsh running over USART1, can run mavstation though it doesn't stay in…
kbrtny Dec 9, 2014
a4d2e3b
First pass at USBNSH, code is running, but USBcdc isn't enumerating
kbrtny Dec 11, 2014
612bfd4
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
80d4483
Merge branch 'master' into nuttx_bringup
LorenzMeier Dec 13, 2014
7e01673
Merging master to nuttx_bringup
LorenzMeier Dec 13, 2014
97124ea
Fixed Clock Sources
Dec 20, 2014
4d57b69
Setting for NSH on USB
Dec 20, 2014
ba2ac2e
IO control of Pullup for default and control
Dec 20, 2014
9769cd1
Merged master
LorenzMeier Dec 23, 2014
3d8c06c
Merge branch 'master' into nuttx_bringup
LorenzMeier Dec 23, 2014
bafed5c
Merge branch 'master' into nuttx_bringup
LorenzMeier Dec 23, 2014
c2b781b
Merge pull request #1 from davids5/mavstation
kbrtny Dec 23, 2014
42d70ec
Revert testing noise in test config
LorenzMeier Dec 23, 2014
31b25c9
Added some common macros to support runtime and compile time defensive
Dec 24, 2014
6f53c60
Bumped the CONFIG_NFILE_DESCRIPTORS up after testing CCASERT
Dec 24, 2014
78f413b
Added the ability to apply PX4 specific patches to Nuttx
Dec 25, 2014
a2b972b
Updated configs
Dec 26, 2014
387451e
Fixed typos
Dec 26, 2014
8bc997b
better nameing and direction
Dec 26, 2014
91633bc
repointed NuttX submodule
Dec 26, 2014
8158e53
Update configs with latest upstream setting
Dec 27, 2014
055126d
Updated Configs to use the new handshake thresholds
Dec 27, 2014
597c405
Update NuttX version to upstream HEAD - thanks to David Sidrane
LorenzMeier Dec 28, 2014
784888e
Removed stale appconfig files
LorenzMeier Dec 28, 2014
6b2f3f9
Merged master into nuttx_bringup / nuttx_noappconfig
LorenzMeier Dec 28, 2014
795acdc
Update .gitmodules
Dec 28, 2014
a11819e
Merged David Sidranes WIP
LorenzMeier Dec 28, 2014
702103e
Merge branch 'nuttx_bringup_redux' of github.com:PX4-Works/Firmware i…
LorenzMeier Dec 28, 2014
28f3dd9
Fixes the warning from missing protptypes. It is not a proper fix but it
Dec 30, 2014
a7e983c
Cleanup CCASSERT: Use built-in static_assert if it is available and
Dec 30, 2014
0161666
Brought lowsyslog usage up to current API
Dec 30, 2014
a2c6b1d
Update NuttX version
LorenzMeier Dec 30, 2014
58986ae
Updated NuttX version
LorenzMeier Dec 30, 2014
abe9c6b
Merge remote-tracking branch 'px4-works/nuttx_bringup_fix_headers' in…
Jan 5, 2015
82dfb00
Added conditional for SPI 2 Buss
Jan 5, 2015
3a71e7f
Updated with pragmas to remove shadow warning (errors with -Werror)
Jan 5, 2015
31caae6
Updated to upstream
Jan 5, 2015
fc83752
Merge pull request #1588 from PX4-Works/nuttx_bringup
LorenzMeier Jan 5, 2015
6a2c0e8
Merged master into nuttx_bringup
LorenzMeier Jan 5, 2015
d5906b1
Merge branch 'master' of github.com:PX4/Firmware into nuttx_bringup
LorenzMeier Jan 6, 2015
32ee4fd
Disable HoTT temporarily to make space for NuttX update - need to go …
LorenzMeier Jan 6, 2015
a5401e8
Merge branch 'master' of github.com:PX4/Firmware into nuttx_bringup
LorenzMeier Jan 6, 2015
ef66d9d
NuttX for FMUv2: Freshen config
LorenzMeier Jan 6, 2015
bc7cb8e
FMUv1: Fresh config
LorenzMeier Jan 6, 2015
0857d55
IOv1: Freshen config
LorenzMeier Jan 6, 2015
47cf1b6
IOv2: Freshen config
LorenzMeier Jan 6, 2015
428f78e
NuttX configs: Re-add missing board configs
LorenzMeier Jan 6, 2015
21148f9
Set the interrupt reserve watchdogs to a smaller number
LorenzMeier Jan 6, 2015
6c841f3
Added Probes
Jan 7, 2015
927cd62
Probes in board.h but disabled and with Configuation for SDIO fix
Jan 8, 2015
fb96485
Merge branch 'nuttx_bringup' of https://github.com/PX4/Firmware into …
Jan 8, 2015
c6cc643
Update submodule
Jan 8, 2015
3993044
Updated Submodule for SDIO fixes sent to Greg
Jan 8, 2015
6398fcf
Merge pull request #1613 from PX4-Works/nuttx_bringup
LorenzMeier Jan 8, 2015
fd46f89
Merged master into nuttx_bringup
LorenzMeier Jan 13, 2015
c36e7d2
Setting correct NuttX
LorenzMeier Jan 13, 2015
695c2a7
updated to latest upstream
Jan 14, 2015
bd937af
Allows CONFIG_ARMV7M_STACKCHECK to be not set
Jan 15, 2015
3c72baa
CONFIG_ARMV7M_STACKCHECK is not set
Jan 15, 2015
6545e10
px4: with new nuttx layer, EKF now needs a little bit more headroom. …
davidbuzz Jan 15, 2015
3123655
Merge pull request #1650 from PX4-Works/nuttx_bringup
LorenzMeier Jan 15, 2015
e61eef5
Merge pull request #1651 from davidbuzz/px4_nuttx_bringup
LorenzMeier Jan 15, 2015
f1dfdff
Updated NuttX submodule to latest upstream
Jan 15, 2015
4ff6bc9
Merge pull request #1653 from PX4-Works/nuttx_bringup
LorenzMeier Jan 15, 2015
2ac94e5
rebasing on PX4
kbrtny Jan 15, 2015
4a5615f
Added mavstation config
kbrtny Nov 6, 2014
9a8a183
Added makefiles for mavstation and updated upload.mk to support mavst…
kbrtny Nov 6, 2014
f20b3f6
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
436e47d
added mavstation Image prototype. Runs on the latest version.
kbrtny Nov 6, 2014
b6a2fdc
Added 60 second delay upon power up to switch Mavlink serial port. P…
kbrtny Nov 26, 2014
9c99085
nsh running over USART1, can run mavstation though it doesn't stay in…
kbrtny Dec 9, 2014
83fe864
First pass at USBNSH, code is running, but USBcdc isn't enumerating
kbrtny Dec 11, 2014
e285083
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
e5ac8e4
Fixed Clock Sources
Dec 20, 2014
305c5d9
Setting for NSH on USB
Dec 20, 2014
75a02c9
IO control of Pullup for default and control
Dec 20, 2014
632e781
Fixed compatibility with rebasing to PX4/Firmware
kbrtny Jan 15, 2015
0ea66cc
fixing conflicts
kbrtny Jan 15, 2015
7743f01
mavstation runs from NSH over USB
kbrtny Jan 15, 2015
fef8b97
Updated NuttX submodule to latest upstream
Jan 16, 2015
e9dca28
Merge pull request #1658 from PX4-Works/nuttx_bringup
Jan 16, 2015
1af03ca
[WIP] getting mavstation to run on startup and initialize usbterm
kbrtny Jan 17, 2015
2ce57a1
Merge remote-tracking branch 'upstream/master'
kbrtny Jan 17, 2015
027af75
Added mavstation config
kbrtny Nov 6, 2014
1a54524
Added makefiles for mavstation and updated upload.mk to support mavst…
kbrtny Nov 6, 2014
74dcbdd
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
44f9d56
added mavstation Image prototype. Runs on the latest version.
kbrtny Nov 6, 2014
7ead120
Added 60 second delay upon power up to switch Mavlink serial port. P…
kbrtny Nov 26, 2014
7a7acc2
nsh running over USART1, can run mavstation though it doesn't stay in…
kbrtny Dec 9, 2014
d3a5497
First pass at USBNSH, code is running, but USBcdc isn't enumerating
kbrtny Dec 11, 2014
39d5033
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
ea40be7
Fixed Clock Sources
Dec 20, 2014
b619920
Setting for NSH on USB
Dec 20, 2014
6e910ee
IO control of Pullup for default and control
Dec 20, 2014
2575ec0
Added mavstation config
kbrtny Nov 6, 2014
2c2903d
Added makefiles for mavstation and updated upload.mk to support mavst…
kbrtny Nov 6, 2014
553d847
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
2f49305
added mavstation Image prototype. Runs on the latest version.
kbrtny Nov 6, 2014
af00b83
Added 60 second delay upon power up to switch Mavlink serial port. P…
kbrtny Nov 26, 2014
8209cfd
nsh running over USART1, can run mavstation though it doesn't stay in…
kbrtny Dec 9, 2014
653f174
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
7effcea
Setting for NSH on USB
Dec 20, 2014
d330864
IO control of Pullup for default and control
Dec 20, 2014
fbf6513
Fixed compatibility with rebasing to PX4/Firmware
kbrtny Jan 15, 2015
d3fd331
mavstation runs from NSH over USB
kbrtny Jan 15, 2015
8642370
[WIP] getting mavstation to run on startup and initialize usbterm
kbrtny Jan 17, 2015
ad79571
rebasing mavstation off PX4/nuttx_bringup
kbrtny Jan 17, 2015
bfe5ed7
Fixed compilation errors for nuttx_bringup merge for make archives. …
kbrtny Jan 19, 2015
3c6ebdb
merged master into nuttx_bringup
LorenzMeier Jan 22, 2015
472137e
Fixup during rebase: Fix merge fail
LorenzMeier Jan 22, 2015
286fcca
Fix up math.h for GCC 4.9
LorenzMeier Jan 22, 2015
aeccede
Fix merge fail in nuttx configs, adjust LP and HP work stack sizes, r…
LorenzMeier Jan 22, 2015
1868343
Enable CU term in FMUv2 config
LorenzMeier Jan 22, 2015
11e5aad
Merge branch 'master' into nuttx_bringup
LorenzMeier Jan 22, 2015
561481f
Updated NuttX submodule
Jan 22, 2015
7eaaeb1
PX4IO driver: Try to talk to IO instead of just waiting for it
LorenzMeier Jan 22, 2015
527ac0d
Fixup during rebase: Add semicolon
LorenzMeier Jan 22, 2015
af5c987
Merge branch 'nuttx_bringup' of https://github.com/PX4/Firmware into …
Jan 22, 2015
6c3523d
Created a general rule for testing a Nuttx CONFIG_xxx variable.
Jan 22, 2015
9b14c5e
Added Support for C++ static initializers
Jan 22, 2015
0c22068
Added Support for C++ static initializers for all boards. Including c…
Jan 22, 2015
b1b1ad9
Upstrem rejected patches - Reverted to previous Nuttx submodule
Jan 23, 2015
84b3b03
Updated NuttX submodule to Gregs latest (this is == upstream)
Jan 23, 2015
536e22c
Using Nuttx stack assessment itnerfaces
Jan 23, 2015
040c0de
Updated NuttX submodule to Gregs latest with addtion of CONFIG_STACK_…
Jan 24, 2015
57fb917
Updated config
Jan 24, 2015
72f4229
Updated NuttX submodule to Gregs latest including CONFIG_STACK_COLORA…
Jan 24, 2015
9dcd7ef
Bug fix:The CRC detection on px4io was failing with -1 result, do the…
Jan 26, 2015
b52ef8c
Updated NuttX submodule to Gregs 7.7 plus (this is == upstream)
Jan 26, 2015
2114683
rc.interface: expand mixer variables
thomasgubler Jan 27, 2015
f28f468
Merge remote-tracking branch 'upstream/nuttx_bringup'
kbrtny Jan 27, 2015
bd72063
added libtomcrypt library
davidbuzz Sep 27, 2013
dbbb5f3
added libtomfastmath
davidbuzz Sep 27, 2013
9c6c5fc
added auth command
davidbuzz Sep 27, 2013
95de0df
auth: use get_board_serial() interface
Mar 25, 2014
3c41b7d
merging
kbrtny Jan 27, 2015
83e4c9b
merging
kbrtny Jan 27, 2015
63eb05e
Merge branch 'master' of https://github.com/kbrtny/PX4Firmware
kbrtny Jan 27, 2015
f7b5778
Added mavstation config
kbrtny Nov 6, 2014
f602c5b
rebasing mavstation on master
kbrtny Jan 27, 2015
35cb3b5
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
e28f64b
rebasing mavstation on master
kbrtny Jan 27, 2015
f43d677
Added 60 second delay upon power up to switch Mavlink serial port. P…
kbrtny Nov 26, 2014
e6ec9dd
nsh running over USART1, can run mavstation though it doesn't stay in…
kbrtny Dec 9, 2014
32e088c
First pass at USBNSH, code is running, but USBcdc isn't enumerating
kbrtny Dec 11, 2014
95b8288
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
f1172f5
Fixed Clock Sources
Dec 20, 2014
ac8b960
Setting for NSH on USB
Dec 20, 2014
77b85e5
IO control of Pullup for default and control
Dec 20, 2014
172d8e5
merging
kbrtny Jan 27, 2015
9b8d3de
merging
kbrtny Jan 27, 2015
c63490e
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
211fbeb
IO control of Pullup for default and control
Dec 20, 2014
99d164e
Fixed compatibility with rebasing to PX4/Firmware
kbrtny Jan 15, 2015
1c00106
merging
kbrtny Jan 27, 2015
9f0d0c1
[WIP] getting mavstation to run on startup and initialize usbterm
kbrtny Jan 17, 2015
ec3ea86
merging
kbrtny Jan 27, 2015
7387e7b
merging
kbrtny Jan 27, 2015
6fe7de6
merging
kbrtny Jan 27, 2015
5844cbf
Setting for NSH on USB
Dec 20, 2014
5b6ae19
Added mavstation config
kbrtny Nov 6, 2014
4ac740d
Added mavstation board driver and module supporting mavlink pasthrough
kbrtny Nov 6, 2014
81058e3
added mavstation Image prototype. Runs on the latest version.
kbrtny Nov 6, 2014
3bba9c5
Board shows up on OS X but can't enumerate
kbrtny Dec 11, 2014
da0cb38
Setting for NSH on USB
Dec 20, 2014
22e1fcc
IO control of Pullup for default and control
Dec 20, 2014
ad0db92
rebasing
kbrtny Jan 27, 2015
13d11e6
finish rebase
kbrtny Jan 27, 2015
1bdc50c
removed message in favor of syslog
Jan 28, 2015
6dc834d
Updated NuttX submodule to Gregs latest with addtion memcpy fix that …
Jan 29, 2015
9692cdb
Merge branch 'nuttx_bringup' of https://github.com/PX4/Firmware into …
Jan 29, 2015
a55016a
Updated NuttX submodule to Greg's latest including memcpy and worker …
Jan 29, 2015
250b0b0
Merged master into nuttx_configs
LorenzMeier Jan 29, 2015
61eec51
Add export to up_cxxinitialize to make it globally visible
LorenzMeier Jan 30, 2015
9a42344
Aerocore: board init
LorenzMeier Jan 30, 2015
8f83b11
FMUv1: board init
LorenzMeier Jan 30, 2015
ddaccf9
FMUv2: board init
LorenzMeier Jan 30, 2015
f6afff4
IOv1/v2: board init
LorenzMeier Jan 30, 2015
b7f3637
Fix compiler warning on prototypes
LorenzMeier Jan 30, 2015
2988915
Reduce make output to ensure the console printing is not slowing the …
LorenzMeier Jan 30, 2015
32df44a
Aerocore: CXX init
LorenzMeier Jan 30, 2015
ca0f2d5
FMUv1: CXX init
LorenzMeier Jan 30, 2015
2153f49
FMUv2: CXX init
LorenzMeier Jan 30, 2015
8db3248
IOv1/v2: CXX init
LorenzMeier Jan 30, 2015
c37132b
Systemlib: proper use of headers for CXX init
LorenzMeier Jan 30, 2015
c1e7e16
CXX init: Drop export in C file
LorenzMeier Jan 30, 2015
1aeb9d3
Dropping GCC 4.7 support
LorenzMeier Jan 30, 2015
f54d41c
setup.mk: Formatting
LorenzMeier Jan 30, 2015
42a5c5e
System lib: exclude up_cxxinit from compile as the board makefiles in…
LorenzMeier Jan 30, 2015
abd5c69
Simplify aerocore config
LorenzMeier Jan 30, 2015
671018b
FMUv1: Simplify config
LorenzMeier Jan 30, 2015
7a6dbf4
Simplify v2 config
LorenzMeier Jan 30, 2015
5da7695
IOv1: simplify config
LorenzMeier Jan 30, 2015
baa785d
IOv2: simplify config
LorenzMeier Jan 30, 2015
54d6c7e
Fix issue with compare value
LorenzMeier Jan 30, 2015
ace9a62
refactored appconfig and defconfig for mavstation to compile against …
kbrtny Jan 30, 2015
a456e2f
Merge remote-tracking branch 'upstream/nuttx_bringup' into mavstation
kbrtny Jan 30, 2015
a9a7ef8
Allow GCC 4.7.4 in check
LorenzMeier Jan 31, 2015
25d6dbf
Mavstation code running with serial prompt and there are no memory is…
kbrtny Jan 31, 2015
be2880a
merging upstream
kbrtny Feb 3, 2015
4901b35
Cleaned up Mavstation Code
kbrtny Feb 3, 2015
2413f47
Merge remote-tracking branch 'upstream/nuttx_bringup' into mavstation
kbrtny Feb 3, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
better nameing and direction
David Sidrane committed Dec 26, 2014
commit 8bc997b4659ee323713927ed3c83dc336c805fff
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -191,7 +191,7 @@ nuttxpatches:
$(Q) -if [ ! -f $(NUTTX_PATCHED) ]; then \
for patch in $(NUTTX_PATCHES); \
do \
$(PATCH) -p0 -N -R < $$patch >/dev/null; \
$(PATCH) -p0 -N < $$patch >/dev/null; \
done \
fi
$(Q) $(TOUCH) $(NUTTX_PATCHED)
@@ -201,7 +201,7 @@ cleannuttxpatches:
$(Q) -if [ -f $(NUTTX_PATCHED) ]; then \
for patch in $(NUTTX_PATCHES); \
do \
$(PATCH) -p0 -N < $$patch >/dev/null; \
$(PATCH) -p0 -N -R < $$patch >/dev/null; \
done \
fi
$(Q) $(REMOVE) $(NUTTX_PATCHED)
583 changes: 583 additions & 0 deletions nuttx-patches/math.h.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,583 @@
diff -ruN NuttX/nuttx/arch/arm/include/math.h NuttX/nuttx/arch/arm/include/math.h
--- NuttX/nuttx/arch/arm/include/math.h 1969-12-31 14:00:00.000000000 -1000
+++ NuttX/nuttx/arch/arm/include/math.h 2014-12-25 17:33:53.404950574 -1000
@@ -0,0 +1,579 @@
+#ifndef _MATH_H_
+
+#define _MATH_H_
+
+#include <machine/ieeefp.h>
+#include "_ansi.h"
+
+_BEGIN_STD_C
+
+/* Natural log of 2 */
+#define _M_LN2 0.693147180559945309417
+
+#if defined(__GNUC__) && \
+ ( (__GNUC__ >= 4) || \
+ ( (__GNUC__ >= 3) && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 3) ) )
+
+ /* gcc >= 3.3 implicitly defines builtins for HUGE_VALx values. */
+
+# ifndef HUGE_VAL
+# define HUGE_VAL (__builtin_huge_val())
+# endif
+
+# ifndef HUGE_VALF
+# define HUGE_VALF (__builtin_huge_valf())
+# endif
+
+# ifndef HUGE_VALL
+# define HUGE_VALL (__builtin_huge_vall())
+# endif
+
+# ifndef INFINITY
+# define INFINITY (__builtin_inff())
+# endif
+
+# ifndef NAN
+# define NAN (__builtin_nanf(""))
+# endif
+
+#else /* !gcc >= 3.3 */
+
+ /* No builtins. Use fixed defines instead. (All 3 HUGE plus the INFINITY
+ * * and NAN macros are required to be constant expressions. Using a variable--
+ * * even a static const--does not meet this requirement, as it cannot be
+ * * evaluated at translation time.)
+ * * The infinities are done using numbers that are far in excess of
+ * * something that would be expected to be encountered in a floating-point
+ * * implementation. (A more certain way uses values from float.h, but that is
+ * * avoided because system includes are not supposed to include each other.)
+ * * This method might produce warnings from some compilers. (It does in
+ * * newer GCCs, but not for ones that would hit this #else.) If this happens,
+ * * please report details to the Newlib mailing list. */
+
+ #ifndef HUGE_VAL
+ #define HUGE_VAL (1.0e999999999)
+ #endif
+
+ #ifndef HUGE_VALF
+ #define HUGE_VALF (1.0e999999999F)
+ #endif
+
+ #if !defined(HUGE_VALL) && defined(_HAVE_LONG_DOUBLE)
+ #define HUGE_VALL (1.0e999999999L)
+ #endif
+
+ #if !defined(INFINITY)
+ #define INFINITY (HUGE_VALF)
+ #endif
+
+ #if !defined(NAN)
+ #if defined(__GNUC__) && defined(__cplusplus)
+ /* Exception: older g++ versions warn about the divide by 0 used in the
+ * * normal case (even though older gccs do not). This trick suppresses the
+ * * warning, but causes errors for plain gcc, so is only used in the one
+ * * special case. */
+ static const union { __ULong __i[1]; float __d; } __Nanf = {0x7FC00000};
+ #define NAN (__Nanf.__d)
+ #else
+ #define NAN (0.0F/0.0F)
+ #endif
+ #endif
+
+#endif /* !gcc >= 3.3 */
+
+/* Reentrant ANSI C functions. */
+
+#ifndef __math_68881
+extern double atan _PARAMS((double));
+extern double cos _PARAMS((double));
+extern double sin _PARAMS((double));
+extern double tan _PARAMS((double));
+extern double tanh _PARAMS((double));
+extern double frexp _PARAMS((double, int *));
+extern double modf _PARAMS((double, double *));
+extern double ceil _PARAMS((double));
+extern double fabs _PARAMS((double));
+extern double floor _PARAMS((double));
+#endif /* ! defined (__math_68881) */
+
+/* Non reentrant ANSI C functions. */
+
+#ifndef _REENT_ONLY
+#ifndef __math_68881
+extern double acos _PARAMS((double));
+extern double asin _PARAMS((double));
+extern double atan2 _PARAMS((double, double));
+extern double cosh _PARAMS((double));
+extern double sinh _PARAMS((double));
+extern double exp _PARAMS((double));
+extern double ldexp _PARAMS((double, int));
+extern double log _PARAMS((double));
+extern double log10 _PARAMS((double));
+extern double pow _PARAMS((double, double));
+extern double sqrt _PARAMS((double));
+extern double fmod _PARAMS((double, double));
+#endif /* ! defined (__math_68881) */
+#endif /* ! defined (_REENT_ONLY) */
+
+#if !defined(__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L
+
+/* ISO C99 types and macros. */
+
+#ifndef FLT_EVAL_METHOD
+#define FLT_EVAL_METHOD 0
+typedef float float_t;
+typedef double double_t;
+#endif /* FLT_EVAL_METHOD */
+
+#define FP_NAN 0
+#define FP_INFINITE 1
+#define FP_ZERO 2
+#define FP_SUBNORMAL 3
+#define FP_NORMAL 4
+
+#ifndef FP_ILOGB0
+# define FP_ILOGB0 (-INT_MAX)
+#endif
+#ifndef FP_ILOGBNAN
+# define FP_ILOGBNAN INT_MAX
+#endif
+
+#ifndef MATH_ERRNO
+# define MATH_ERRNO 1
+#endif
+#ifndef MATH_ERREXCEPT
+# define MATH_ERREXCEPT 2
+#endif
+#ifndef math_errhandling
+# define math_errhandling MATH_ERRNO
+#endif
+
+extern int __isinff (float x);
+extern int __isinfd (double x);
+extern int __isnanf (float x);
+extern int __isnand (double x);
+extern int __fpclassifyf (float x);
+extern int __fpclassifyd (double x);
+extern int __signbitf (float x);
+extern int __signbitd (double x);
+
+#define fpclassify(__x) \
+ ((sizeof(__x) == sizeof(float)) ? __fpclassifyf(__x) : \
+ __fpclassifyd(__x))
+
+#ifndef isfinite
+ #define isfinite(__y) \
+ (__extension__ ({int __cy = fpclassify(__y); \
+ __cy != FP_INFINITE && __cy != FP_NAN;}))
+#endif
+
+/* Note: isinf and isnan were once functions in newlib that took double
+ * * arguments. C99 specifies that these names are reserved for macros
+ * * supporting multiple floating point types. Thus, they are
+ * * now defined as macros. Implementations of the old functions
+ * * taking double arguments still exist for compatibility purposes
+ * * (prototypes for them are in <ieeefp.h>). */
+#ifndef isinf
+ #define isinf(y) (fpclassify(y) == FP_INFINITE)
+#endif
+
+#ifndef isnan
+ #define isnan(y) (fpclassify(y) == FP_NAN)
+#endif
+
+#define isnormal(y) (fpclassify(y) == FP_NORMAL)
+#define signbit(__x) \
+ ((sizeof(__x) == sizeof(float)) ? __signbitf(__x) : \
+ __signbitd(__x))
+
+#define isgreater(x,y) \
+ (__extension__ ({__typeof__(x) __x = (x); __typeof__(y) __y = (y); \
+ !isunordered(__x,__y) && (__x > __y);}))
+#define isgreaterequal(x,y) \
+ (__extension__ ({__typeof__(x) __x = (x); __typeof__(y) __y = (y); \
+ !isunordered(__x,__y) && (__x >= __y);}))
+#define isless(x,y) \
+ (__extension__ ({__typeof__(x) __x = (x); __typeof__(y) __y = (y); \
+ !isunordered(__x,__y) && (__x < __y);}))
+#define islessequal(x,y) \
+ (__extension__ ({__typeof__(x) __x = (x); __typeof__(y) __y = (y); \
+ !isunordered(__x,__y) && (__x <= __y);}))
+#define islessgreater(x,y) \
+ (__extension__ ({__typeof__(x) __x = (x); __typeof__(y) __y = (y); \
+ !isunordered(__x,__y) && (__x < __y || __x > __y);}))
+
+#define isunordered(a,b) \
+ (__extension__ ({__typeof__(a) __a = (a); __typeof__(b) __b = (b); \
+ fpclassify(__a) == FP_NAN || fpclassify(__b) == FP_NAN;}))
+
+/* Non ANSI double precision functions. */
+
+extern double infinity _PARAMS((void));
+extern double nan _PARAMS((const char *));
+extern int finite _PARAMS((double));
+extern double copysign _PARAMS((double, double));
+extern double logb _PARAMS((double));
+extern int ilogb _PARAMS((double));
+
+extern double asinh _PARAMS((double));
+extern double cbrt _PARAMS((double));
+extern double nextafter _PARAMS((double, double));
+extern double rint _PARAMS((double));
+extern double scalbn _PARAMS((double, int));
+
+extern double exp2 _PARAMS((double));
+extern double scalbln _PARAMS((double, long int));
+extern double tgamma _PARAMS((double));
+extern double nearbyint _PARAMS((double));
+extern long int lrint _PARAMS((double));
+extern _LONG_LONG_TYPE int llrint _PARAMS((double));
+extern double round _PARAMS((double));
+extern long int lround _PARAMS((double));
+extern long long int llround _PARAMS((double));
+extern double trunc _PARAMS((double));
+extern double remquo _PARAMS((double, double, int *));
+extern double fdim _PARAMS((double, double));
+extern double fmax _PARAMS((double, double));
+extern double fmin _PARAMS((double, double));
+extern double fma _PARAMS((double, double, double));
+
+#ifndef __math_68881
+extern double log1p _PARAMS((double));
+extern double expm1 _PARAMS((double));
+#endif /* ! defined (__math_68881) */
+
+#ifndef _REENT_ONLY
+extern double acosh _PARAMS((double));
+extern double atanh _PARAMS((double));
+extern double remainder _PARAMS((double, double));
+extern double gamma _PARAMS((double));
+extern double lgamma _PARAMS((double));
+extern double erf _PARAMS((double));
+extern double erfc _PARAMS((double));
+extern double log2 _PARAMS((double));
+
+#ifndef __math_68881
+extern double hypot _PARAMS((double, double));
+#endif
+
+#endif /* ! defined (_REENT_ONLY) */
+
+/* Single precision versions of ANSI functions. */
+
+extern float atanf _PARAMS((float));
+extern float cosf _PARAMS((float));
+extern float sinf _PARAMS((float));
+extern float tanf _PARAMS((float));
+extern float tanhf _PARAMS((float));
+extern float frexpf _PARAMS((float, int *));
+extern float modff _PARAMS((float, float *));
+extern float ceilf _PARAMS((float));
+extern float fabsf _PARAMS((float));
+extern float floorf _PARAMS((float));
+
+#ifndef _REENT_ONLY
+extern float acosf _PARAMS((float));
+extern float asinf _PARAMS((float));
+extern float atan2f _PARAMS((float, float));
+extern float coshf _PARAMS((float));
+extern float sinhf _PARAMS((float));
+extern float expf _PARAMS((float));
+extern float ldexpf _PARAMS((float, int));
+extern float logf _PARAMS((float));
+extern float log10f _PARAMS((float));
+extern float powf _PARAMS((float, float));
+extern float sqrtf _PARAMS((float));
+extern float fmodf _PARAMS((float, float));
+#endif /* ! defined (_REENT_ONLY) */
+
+/* Other single precision functions. */
+
+extern float exp2f _PARAMS((float));
+extern float scalblnf _PARAMS((float, long int));
+extern float tgammaf _PARAMS((float));
+extern float nearbyintf _PARAMS((float));
+extern long int lrintf _PARAMS((float));
+extern _LONG_LONG_TYPE llrintf _PARAMS((float));
+extern float roundf _PARAMS((float));
+extern long int lroundf _PARAMS((float));
+extern long long int llroundf _PARAMS((float));
+extern float truncf _PARAMS((float));
+extern float remquof _PARAMS((float, float, int *));
+extern float fdimf _PARAMS((float, float));
+extern float fmaxf _PARAMS((float, float));
+extern float fminf _PARAMS((float, float));
+extern float fmaf _PARAMS((float, float, float));
+
+extern float infinityf _PARAMS((void));
+extern float nanf _PARAMS((const char *));
+extern int finitef _PARAMS((float));
+extern float copysignf _PARAMS((float, float));
+extern float logbf _PARAMS((float));
+extern int ilogbf _PARAMS((float));
+
+extern float asinhf _PARAMS((float));
+extern float cbrtf _PARAMS((float));
+extern float nextafterf _PARAMS((float, float));
+extern float rintf _PARAMS((float));
+extern float scalbnf _PARAMS((float, int));
+extern float log1pf _PARAMS((float));
+extern float expm1f _PARAMS((float));
+
+#ifndef _REENT_ONLY
+extern float acoshf _PARAMS((float));
+extern float atanhf _PARAMS((float));
+extern float remainderf _PARAMS((float, float));
+extern float gammaf _PARAMS((float));
+extern float lgammaf _PARAMS((float));
+extern float erff _PARAMS((float));
+extern float erfcf _PARAMS((float));
+extern float log2f _PARAMS((float));
+extern float hypotf _PARAMS((float, float));
+#endif /* ! defined (_REENT_ONLY) */
+
+/* On platforms where long double equals double. */
+#ifdef _LDBL_EQ_DBL
+/* Reentrant ANSI C functions. */
+#ifndef __math_68881
+extern long double atanl _PARAMS((long double));
+extern long double cosl _PARAMS((long double));
+extern long double sinl _PARAMS((long double));
+extern long double tanl _PARAMS((long double));
+extern long double tanhl _PARAMS((long double));
+extern long double frexpl _PARAMS((long double value, int *));
+extern long double modfl _PARAMS((long double, long double *));
+extern long double ceill _PARAMS((long double));
+extern long double fabsl _PARAMS((long double));
+extern long double floorl _PARAMS((long double));
+extern long double log1pl _PARAMS((long double));
+extern long double expm1l _PARAMS((long double));
+#endif /* ! defined (__math_68881) */
+/* Non reentrant ANSI C functions. */
+#ifndef _REENT_ONLY
+#ifndef __math_68881
+extern long double acosl _PARAMS((long double));
+extern long double asinl _PARAMS((long double));
+extern long double atan2l _PARAMS((long double, long double));
+extern long double coshl _PARAMS((long double));
+extern long double sinhl _PARAMS((long double));
+extern long double expl _PARAMS((long double));
+extern long double ldexpl _PARAMS((long double, int));
+extern long double logl _PARAMS((long double));
+extern long double log2l _PARAMS((long double));
+extern long double log10l _PARAMS((long double));
+extern long double powl _PARAMS((long double, long double));
+extern long double sqrtl _PARAMS((long double));
+extern long double fmodl _PARAMS((long double, long double));
+extern long double hypotl _PARAMS((long double, long double));
+#endif /* ! defined (__math_68881) */
+#endif /* ! defined (_REENT_ONLY) */
+extern long double copysignl _PARAMS((long double, long double));
+extern long double nanl _PARAMS((const char *));
+extern int ilogbl _PARAMS((long double));
+extern long double asinhl _PARAMS((long double));
+extern long double cbrtl _PARAMS((long double));
+extern long double nextafterl _PARAMS((long double, long double));
+extern long double rintl _PARAMS((long double));
+extern long double scalbnl _PARAMS((long double, int));
+extern long double exp2l _PARAMS((long double));
+extern long double scalblnl _PARAMS((long double, long));
+extern long double tgammal _PARAMS((long double));
+extern long double nearbyintl _PARAMS((long double));
+extern long int lrintl _PARAMS((long double));
+extern long long int llrintl _PARAMS((long double));
+extern long double roundl _PARAMS((long double));
+extern long lroundl _PARAMS((long double));
+extern _LONG_LONG_TYPE int llroundl _PARAMS((long double));
+extern long double truncl _PARAMS((long double));
+extern long double remquol _PARAMS((long double, long double, int *));
+extern long double fdiml _PARAMS((long double, long double));
+extern long double fmaxl _PARAMS((long double, long double));
+extern long double fminl _PARAMS((long double, long double));
+extern long double fmal _PARAMS((long double, long double, long double));
+#ifndef _REENT_ONLY
+extern long double acoshl _PARAMS((long double));
+extern long double atanhl _PARAMS((long double));
+extern long double remainderl _PARAMS((long double, long double));
+extern long double lgammal _PARAMS((long double));
+extern long double erfl _PARAMS((long double));
+extern long double erfcl _PARAMS((long double));
+#endif /* ! defined (_REENT_ONLY) */
+#else /* !_LDBL_EQ_DBL */
+#ifdef __i386__
+/* Other long double precision functions. */
+extern _LONG_DOUBLE rintl _PARAMS((_LONG_DOUBLE));
+extern long int lrintl _PARAMS((_LONG_DOUBLE));
+extern _LONG_LONG_TYPE llrintl _PARAMS((_LONG_DOUBLE));
+#endif /* __i386__ */
+#endif /* !_LDBL_EQ_DBL */
+
+#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) || __STDC_VERSION__ >= 199901L */
+
+#if !defined (__STRICT_ANSI__) || defined(__cplusplus)
+
+extern double drem _PARAMS((double, double));
+extern void sincos _PARAMS((double, double *, double *));
+extern double gamma_r _PARAMS((double, int *));
+extern double lgamma_r _PARAMS((double, int *));
+
+extern double y0 _PARAMS((double));
+extern double y1 _PARAMS((double));
+extern double yn _PARAMS((int, double));
+extern double j0 _PARAMS((double));
+extern double j1 _PARAMS((double));
+extern double jn _PARAMS((int, double));
+
+extern float dremf _PARAMS((float, float));
+extern void sincosf _PARAMS((float, float *, float *));
+extern float gammaf_r _PARAMS((float, int *));
+extern float lgammaf_r _PARAMS((float, int *));
+
+extern float y0f _PARAMS((float));
+extern float y1f _PARAMS((float));
+extern float ynf _PARAMS((int, float));
+extern float j0f _PARAMS((float));
+extern float j1f _PARAMS((float));
+extern float jnf _PARAMS((int, float));
+
+/* GNU extensions */
+# ifndef exp10
+extern double exp10 _PARAMS((double));
+# endif
+# ifndef pow10
+extern double pow10 _PARAMS((double));
+# endif
+# ifndef exp10f
+extern float exp10f _PARAMS((float));
+# endif
+# ifndef pow10f
+extern float pow10f _PARAMS((float));
+# endif
+
+#endif /* !defined (__STRICT_ANSI__) || defined(__cplusplus) */
+
+#ifndef __STRICT_ANSI__
+
+/* The gamma functions use a global variable, signgam. */
+#ifndef _REENT_ONLY
+#define signgam (*__signgam())
+extern int *__signgam _PARAMS((void));
+#endif /* ! defined (_REENT_ONLY) */
+
+#define __signgam_r(ptr) _REENT_SIGNGAM(ptr)
+
+/* The exception structure passed to the matherr routine. */
+/* We have a problem when using C++ since `exception' is a reserved
+ * name in C++. */
+#ifdef __cplusplus
+struct __exception
+#else
+struct exception
+#endif
+{
+ int type;
+ char *name;
+ double arg1;
+ double arg2;
+ double retval;
+ int err;
+};
+
+#ifdef __cplusplus
+extern int matherr _PARAMS((struct __exception *e));
+#else
+extern int matherr _PARAMS((struct exception *e));
+#endif
+
+/* Values for the type field of struct exception. */
+
+#define DOMAIN 1
+#define SING 2
+#define OVERFLOW 3
+#define UNDERFLOW 4
+#define TLOSS 5
+#define PLOSS 6
+
+/* Useful constants. */
+
+#define MAXFLOAT 3.40282347e+38F
+
+#define M_E 2.7182818284590452354
+#define M_LOG2E 1.4426950408889634074
+#define M_LOG10E 0.43429448190325182765
+#define M_LN2 _M_LN2
+#define M_LN10 2.30258509299404568402
+#define M_PI 3.14159265358979323846
+#define M_TWOPI (M_PI * 2.0)
+#define M_PI_2 1.57079632679489661923
+#define M_PI_4 0.78539816339744830962
+#define M_3PI_4 2.3561944901923448370E0
+#define M_SQRTPI 1.77245385090551602792981
+#define M_1_PI 0.31830988618379067154
+#define M_2_PI 0.63661977236758134308
+#define M_2_SQRTPI 1.12837916709551257390
+#define M_DEG_TO_RAD 0.01745329251994
+#define M_RAD_TO_DEG 57.2957795130823
+#define M_SQRT2 1.41421356237309504880
+#define M_SQRT1_2 0.70710678118654752440
+#define M_LN2LO 1.9082149292705877000E-10
+#define M_LN2HI 6.9314718036912381649E-1
+#define M_SQRT3 1.73205080756887719000
+#define M_IVLN10 0.43429448190325182765 /* 1 / log(10) */
+#define M_LOG2_E _M_LN2
+#define M_INVLN2 1.4426950408889633870E0 /* 1 / log(2) */
+
+
+#define M_E_F 2.7182818284590452354f
+#define M_LOG2E_F 1.4426950408889634074f
+#define M_LOG10E_F 0.43429448190325182765f
+#define M_LN2_F _M_LN2_F
+#define M_LN10_F 2.30258509299404568402f
+#define M_PI_F 3.14159265358979323846f
+#define M_TWOPI_F (M_PI_F * 2.0f)
+#define M_PI_2_F 1.57079632679489661923f
+#define M_PI_4_F 0.78539816339744830962f
+#define M_3PI_4_F 2.3561944901923448370E0f
+#define M_SQRTPI_F 1.77245385090551602792981f
+#define M_1_PI_F 0.31830988618379067154f
+#define M_2_PI_F 0.63661977236758134308f
+#define M_2_SQRTPI_F 1.12837916709551257390f
+#define M_DEG_TO_RAD_F 0.01745329251994f
+#define M_RAD_TO_DEG_F 57.2957795130823f
+#define M_SQRT2_F 1.41421356237309504880f
+#define M_SQRT1_2_F 0.70710678118654752440f
+#define M_LN2LO_F 1.9082149292705877000E-10f
+#define M_LN2HI_F 6.9314718036912381649E-1f
+#define M_SQRT3_F 1.73205080756887719000f
+#define M_IVLN10_F 0.43429448190325182765f /* 1 / log(10) */
+#define M_LOG2_E_F _M_LN2_F
+#define M_INVLN2_F 1.4426950408889633870E0f /* 1 / log(2) */
+
+/* Global control over fdlibm error handling. */
+
+enum __fdlibm_version
+{
+ __fdlibm_ieee = -1,
+ __fdlibm_svid,
+ __fdlibm_xopen,
+ __fdlibm_posix
+};
+
+#define _LIB_VERSION_TYPE enum __fdlibm_version
+#define _LIB_VERSION __fdlib_version
+
+extern __IMPORT _LIB_VERSION_TYPE _LIB_VERSION;
+
+#define _IEEE_ __fdlibm_ieee
+#define _SVID_ __fdlibm_svid
+#define _XOPEN_ __fdlibm_xopen
+#define _POSIX_ __fdlibm_posix
+
+#endif /* ! defined (__STRICT_ANSI__) */
+
+_END_STD_C
+
+#ifdef __FAST_MATH__
+#include <machine/fastmath.h>
+#endif
+
+#endif /* _MATH_H_ */
590 changes: 0 additions & 590 deletions nuttx-patches/math.patch

This file was deleted.