Andrew Tridgell
c9031f1d36
SITL: implement cli()/sei() properly for desktop build
...
this disables simulated hardware interrupts during critical sections
2012-03-02 15:48:27 +11:00
Andrew Tridgell
34f1ebcfb4
SITL: simulate noise on each ADC channel separately
...
scale the noise based on the period of the motors
2012-02-28 09:43:49 +11:00
Andrew Tridgell
4cdc0a8c11
SITL: raise the ADC noise level to 8 bits when flying
...
this is about the level of noise of a aircraft that has a lot of
vibration
2012-02-28 09:43:49 +11:00
Andrew Tridgell
1d95137b71
SITL: added -C option to desktop mode
...
this allows running APM to stdout, which is useful for test sketches
2012-02-25 11:37:20 +11:00
Andrew Tridgell
2472f0a2f3
SITL: increase the amount of noise in the simulated ADC
...
this increases the noise to 2 bits, which actually can have the effect
of improving accuracy, as it leads to better averaging
2012-02-18 19:27:15 +11:00
Andrew Tridgell
bc89b53bdc
SITL: adjust the SITL compass code to have saner z values
2012-02-15 22:34:16 +11:00
Andrew Tridgell
812b7ae5ae
SITL: catch floating point errors
...
if we get a FPE then log a message and exit
2012-02-15 08:50:45 +11:00
Andrew Tridgell
273a974814
SITL: add some magnetometer offsets
...
this ensures the compass null_offset algorithm has some work to do in
autotest
2012-02-14 11:26:42 +11:00
Andrew Tridgell
9103f7688c
fixed SITL GPS heading to be 0..360
2012-02-14 11:26:42 +11:00
Andrew Tridgell
c195be594a
desktop: more progmem string functions
2012-02-13 16:22:51 +11:00
Andrew Tridgell
a6e87915eb
desktop: floating point precision changes from Justin Beech
2012-01-11 21:31:59 +11:00
Jason Short
9cbfcac802
Made timer unsigned
2012-01-10 23:42:26 -08:00
Andrew Tridgell
54b91ce2f4
sitl: added build targets for different ACM frames
2012-01-04 21:45:46 +11:00
Andrew Tridgell
f4e1f3d54d
desktop: exclude I2C library
2011-12-28 20:41:53 +11:00
Andrew Tridgell
089470a671
DataFlash: moved high level logging logic to library
...
this moves out all the high level logic from ArduPlane/ArduCopter to
the library. It also adds a "config page", as the last page in the
flash. This is used to check if the flash needs erasing. We only erase
now if the DF_LOGGING_FORMAT has changed.
This patch also adds a public CardInserted() method, which is used to
disable logging on APM2 if a dataflash card is not inserted
2011-12-28 16:00:48 +11:00
Andrew Tridgell
887ff43e1f
desktop: added attachInterrupt() support
2011-12-26 19:17:11 +11:00
Andrew Tridgell
22c8db774f
desktop: fixed for new DataFlash inheritance
2011-12-26 19:17:11 +11:00
Andrew Tridgell
4bbd5392ef
removed AperiodicProcess code
...
this code was never being used, and was more complex than it was
worth.
2011-12-17 07:29:09 +11:00
Andrew Tridgell
6ad5df2958
desktop: fixed type of dword eeprom read
2011-12-16 20:09:18 +11:00
Andrew Tridgell
9548366a91
autotest: make magnetic field point down
2011-12-12 22:14:01 +11:00
Andrew Tridgell
fa83de98c8
desktop: fixed build with new AP_Baro code
2011-12-12 15:14:55 +11:00
Andrew Tridgell
eaf134e47e
desktop: fixed desktop barometer code
2011-12-12 15:14:55 +11:00
Andrew Tridgell
9dd2021ec8
autotest: support all 11 PWM output channels
...
this will allow for more complex aircraft
2011-12-02 22:45:48 +11:00
Andrew Tridgell
a0baf71322
autotest: switch to big-endian metric packets internally
...
now that all the sim code is internal to the APM git repo, we can
choose saner packet formats
2011-12-02 22:12:58 +11:00
Andrew Tridgell
3a377255f0
desktop: show the full path to the desktop executable
2011-12-02 21:46:55 +11:00
Andrew Tridgell
65cdeecdf0
desktop: added SO_REUSEADDR after accept()
2011-12-02 17:37:55 +11:00
Andrew Tridgell
d37b843361
desktop: fixed calculation of angular velocities
...
thanks to James Goppert for the frame conversion maths
2011-12-02 17:37:54 +11:00
Andrew Tridgell
210536096f
desktop: improved the accuracy of the sensor emulation
2011-11-28 16:22:33 +11:00
Andrew Tridgell
af075b6ab0
desktop: setup TCP sockets as non-blocking
...
the sendto() blocks unexpectedly on MacOS
2011-11-28 13:53:57 +11:00
Andrew Tridgell
dff3be2017
desktop: build fix for fjall
2011-11-26 18:24:29 +11:00
Andrew Tridgell
0e8a17f645
desktop: fixed desktop build for strlcat_P() changes
2011-11-26 17:18:09 +11:00
Andrew Tridgell
d496a2d1fe
desktop: added framerate and initial height code
...
this allows the sensors to initialise before the simulator has
connected. The GPS will give a value indicating no GPS lock
2011-11-25 20:00:19 -08:00
Andrew Tridgell
a44720d7bb
desktop: fixed swap_float()
...
get indexes right
2011-11-25 20:00:19 -08:00
Andrew Tridgell
dba786198e
desktop: import updated DataFlash code
...
this fixes a logging bug
2011-11-25 20:00:19 -08:00
Andrew Tridgell
78af52083b
desktop: fixed ADC value for airspeed
2011-11-25 20:00:19 -08:00
Andrew Tridgell
a9dfc68bc0
libraries: rename purple to APM2
2011-11-25 20:00:19 -08:00
Andrew Tridgell
7e64cfcc93
desktop: normalise roll and pitch rates
2011-11-25 20:00:18 -08:00
Andrew Tridgell
0ef727d707
desktop: added SKETCH as a define
...
useful for automatically handling copter vs plane
2011-11-25 20:00:18 -08:00
Andrew Tridgell
2bed1dcfd5
desktop: first version of register level SITL support
...
this adds register level emulation of the ADS7844 and the RC
input/output hardware on the APM1, allowing for SITL testing without
enabling HIL in the code
2011-11-25 20:00:18 -08:00
Andrew Tridgell
bbd6a6cdbb
desktop: fixed build with updated dataflash interface
2011-11-25 20:00:17 -08:00
Andrew Tridgell
da50903649
desktop: make DataFlash for Desktop build replace APM1 build
2011-11-25 20:00:17 -08:00
Andrew Tridgell
154c55c9dc
desktop: more fixes for DataFlash filesystem changes
2011-11-20 19:06:24 +11:00
Andrew Tridgell
927c2dbd67
desktop: added support for new DataFlash functions
2011-11-18 17:50:12 +11:00
Andrew Tridgell
8a3ea5bfff
desktop: when in the CLI, use blocking writes
...
this prevents us missing information from the logs
2011-11-11 09:53:46 +11:00
Andrew Tridgell
34af368b8a
desktop: don't start alarm till setup() has finished
2011-11-10 21:57:47 +11:00
Andrew Tridgell
af1ddacc1b
desktop: don't alarm in CLI
...
loop() is not called in menu system
2011-11-10 00:14:04 +11:00
Andrew Tridgell
3303c09a9d
desktop: exit if loop() doesn't run for 5 seconds
...
this should stop runaway processes
2011-11-09 19:40:34 +11:00
Andrew Tridgell
c30af84897
desktop: force awk on macos
...
this may help on jasons box
2011-11-09 17:21:53 +11:00
Andrew Tridgell
4b50d2e639
desktop: exit on EOF from stdin
2011-11-09 17:21:53 +11:00
Andrew Tridgell
5a45f9cd25
desktop: fixed malloc cast
2011-11-09 08:47:49 +11:00
Andrew Tridgell
11c908c7b4
desktop: be more careful with signed/unsigned in DataFlash
2011-11-09 08:44:19 +11:00
Andrew Tridgell
d8d5f97a0a
desktop: use less stack
...
this avoids a problem on cygwin on windows
2011-11-09 08:09:56 +11:00
Andrew Tridgell
389e2ff03e
desktop: another MacOS fix
2011-11-08 18:07:19 +11:00
Andrew Tridgell
b2254016e1
desktop: make desktop build more portable
...
this should help on MacOS
thanks to MikeS for his assistance
2011-11-08 17:26:53 +11:00
Andrew Tridgell
3b52687342
dataflash: type fixup for ReadInt()
2011-11-08 17:26:53 +11:00
Andrew Tridgell
f073837ea7
desktop: use the libc printf engine
...
getting ftoa_engine right was too much work
2011-11-08 11:59:30 +11:00
Andrew Tridgell
6b583869c0
desktop: fixed ultoa_invert()
...
the string was backwards
2011-11-08 11:13:48 +11:00
Andrew Tridgell
fd3154f20d
desktop: improved ftoa_engine.c
...
this still doesn't perfectly match the assembler, but its closer
2011-11-08 11:05:36 +11:00
Andrew Tridgell
acad6b37c4
autotest: fill flash with 0xff on erase
2011-11-07 23:42:18 +11:00
Andrew Tridgell
a199835632
Desktop: added -w option to wipe eeprom and dataflash
2011-11-07 22:56:13 +11:00
Andrew Tridgell
eb0756f362
Desktop: added support for DataFlash in Desktop build
...
this will allow Jason to look at the logs of the quad sim
2011-11-07 22:56:13 +11:00
Andrew Tridgell
ee99ec839b
digital.c for CLI
2011-11-07 22:56:13 +11:00
Andrew Tridgell
b314fd8cd3
Desktop: enable the CLI in desktop build
...
this gives access to the CLI menus. You can start the SIL with the -s
switch to set the slider position to CLI
2011-11-07 22:56:13 +11:00
Andrew Tridgell
e5654ccd04
desktop: fixed TCP buffering issue with HIL
...
the TCP layer was buffering the servo updates, which caused very poor HIL flight
2011-11-02 09:38:44 +11:00
Amilcar Lucas
c73b3c7235
Update the SIL README file
2011-10-31 21:56:25 +01:00
Andrew Tridgell
cdc677ab83
added desktop header
2011-10-30 17:31:32 +11:00
Andrew Tridgell
d74a223f7e
make desktop serial more responsive
2011-10-30 13:00:54 +11:00
Andrew Tridgell
8b135a5be3
fixed mavlink10 desktop build
2011-10-24 13:09:19 +11:00
Andrew Tridgell
9644ff5c01
mavlink: added mavlink10 target for desktop build
2011-10-24 10:20:36 +11:00
Andrew Tridgell
d6479367b3
RC_Channel_aux is needed for ArduPlane build
2011-10-24 10:20:19 +11:00
Andrew Tridgell
ce1abb974b
desktop: refactor the TCP code
...
this supports all 3 serial ports, plus cleans up the code
2011-10-17 19:32:48 +11:00
Jason Short
995be48a2d
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2011-10-15 13:09:18 -07:00
Jason Short
23c0bb9814
Updates to guided mode from Michael O.
...
removed or commented unused static vars
2011-10-15 13:09:04 -07:00
Michael Oborne
6987e6c4b2
hil sensor cleanup
2011-10-14 18:14:32 +08:00
Michael Oborne
a3de6667ca
fastserial tcp
2011-10-13 07:25:30 +08:00
Michael Oborne
8536452c5a
Desktop: cygwin fixs for AP and AC SIL
2011-10-11 20:30:34 +08:00
Andrew Tridgell
19666f5a43
desktop: more cygwin fixes
2011-10-11 21:33:31 +11:00
Andrew Tridgell
e991d81eee
desktop: removed the need for libbsd
...
this should help the cygwin build that MikeO is working on
2011-10-11 21:04:07 +11:00
Andrew Tridgell
e2c6dc68a2
desktop: added Makefile.desktop
2011-10-11 20:53:43 +11:00
Andrew Tridgell
93d09039ce
desktop: fixed a warning
2011-10-11 20:53:43 +11:00
Andrew Tridgell
3633d846f6
desktop: make the main loop a bit more responsive
...
this introduces less delays on linux than usleep()
2011-10-11 17:49:40 +11:00
Andrew Tridgell
6f44415b19
desktop: make ISRs normal C++ functions
...
this will make it possible to add an abstract register simulation
class that allows us to intercept device IO
2011-10-11 17:49:40 +11:00
Andrew Tridgell
74a85a1f3e
update README with build and usage information
2011-10-11 17:49:40 +11:00
Andrew Tridgell
52dc221969
support building with common Makefile.desktop
2011-10-11 17:49:40 +11:00
Andrew Tridgell
ed2bec75b9
added build makefiles
2011-10-10 07:18:38 +11:00
Andrew Tridgell
6899189395
added a README
2011-10-09 22:16:14 +11:00
Andrew Tridgell
95475c6221
use nanosleep() instead of usleep()
2011-10-09 22:16:14 +11:00
Andrew Tridgell
41d734846e
fixed millis() and micros()
2011-10-09 22:16:14 +11:00
Andrew Tridgell
320d4a330b
desktop: use a bit less CPU
2011-10-09 22:16:13 +11:00
Andrew Tridgell
ea2823cd5f
desktop: use non-blocking IO
2011-10-09 22:16:13 +11:00
Andrew Tridgell
e3fd61d758
desktop: expand eeprom to 4k initial size
2011-10-09 22:16:13 +11:00
Andrew Tridgell
dfef42ff48
desktop: flush all serial writes
2011-10-09 22:16:13 +11:00
Andrew Tridgell
4109374959
first rough build for desktop CPUs
...
this allows ArduPlane to build and startup on 'desktop' systems (eg. a
Linux box). Very rough for now, and only for HIL so far
2011-10-09 22:16:13 +11:00