Commit Graph

145 Commits

Author SHA1 Message Date
Andrew Tridgell ae6a94a933 SITL: added sitl_simstate_send()
used to report simulator state in logs
2012-03-10 10:34:27 +11:00
Andrew Tridgell dd9065123c SITL: use the new noise model
use the new noise model at a low level for master until we sort out
DCM noise handling
2012-03-02 18:31:07 +11:00
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