rmackay9
71ad185238
ArduCopter - AP_Motors library - added new library which has few advantages over current code:
...
1. it's step towards rearchitecting the current code base ahead of a move to RTOS.
2. internally it uses a MatrixTable for the Quad, Octa, OctaQuad, Y6 frames.
3. it implements the missing stability patch for Octa and OctaQuads (still missing for Y6)
Later check-ins will incorporate into the main ArduCopter code.
2012-04-02 17:26:37 +09:00
Andrew Tridgell
40d7b07789
MAVLink: port the new adaptive flow control to ArduCopter
...
This allows for arbitrary stream rates, and supports flow control if
you are using a 3DR radio
2012-04-02 11:18:53 +10:00
Andrew Tridgell
b38d8c526f
MAVLink: make parameter send use adaptive stream rate
...
this makes it possible to fetch parameters with very low air data
rates
2012-04-02 11:18:53 +10:00
Andrew Tridgell
5ce5f3d176
MAVLink: import change to txbuf as a percentage
2012-04-02 11:18:53 +10:00
Andrew Tridgell
222009002e
MAVLink: allow for find grained stream rate control
...
streams can now be requested at any multiple of 20ms. So if you ask
for a stream at 7Hz then you will get it at close to 7Hz.
2012-04-02 11:18:53 +10:00
Chris Anderson
0d19678638
Merge branch 'master' of https://code.google.com/p/ardupilot-mega
2012-04-01 16:23:42 -07:00
Andrew Tridgell
8a215c8b55
MAVLink: imported new headers, with RADIO packet
2012-04-01 21:44:44 +10:00
rmackay9
b0c9a25024
ArduCopter - CH6 tuning - changed Roll/Pitch Rate D tuning to use the user supplied tuning range instead of the range / 100.
...
also changed heli_ext_gyro_gain to make it use the tuning range directly.
2012-03-31 09:28:25 +09:00
Andrew Tridgell
1e0a2fb0be
MAVLink: don't waste 100 bytes of bandwidth sending 1 byte of information
...
the GPS_STATUS message is a massive waste of bandwidth, but it is the
only message that tells us the number of visible satellites. So only
send it if that information changes.
This makes MAVLink work better at low baud rates
2012-03-30 17:46:20 +11:00
Andrew Tridgell
e9773ea09c
APM: use set_blocking_writes(false) when we have done ground start
2012-03-30 17:46:20 +11:00
Andrew Tridgell
0985327331
ACM: use set_blocking_writes(false) when we arm motors
2012-03-30 17:46:20 +11:00
Andrew Tridgell
08b66e18b7
FastSerial: added set_blocking_writes() interface
...
this allows us to put a serial port into non-blocking mode, so that
writes that don't fit in the transmit buffer are dropped. This will be
used in flight to prevent stray printf() calls from causing large time
delays in the code
2012-03-30 17:46:20 +11:00
Andrew Tridgell
36e741b078
MAVLink: raise the serial transmit buffer size to 256 bytes
...
the 128 byte serial transmit buffer was causing significant problems
with queueing of mavlink messages. With 256 bytes we can fit a lot
more messages out in each pass of the code, which makes telemetry more
efficient
As we discussed on the dev call, we now have enough free ram for this
to be worthwhile
2012-03-30 17:46:20 +11:00
Andrew Tridgell
c221c91f87
autotest: use the automatic declination code in autotest
2012-03-30 14:25:27 +11:00
Andrew Tridgell
c2ff66c9cd
examples: fixed build of some examples with new AP_Declination code
2012-03-30 14:25:27 +11:00
Andrew Tridgell
5dbd2a2b60
APM: enable AP_Declination by default
2012-03-30 14:25:27 +11:00
Andrew Tridgell
58f539ca35
ACM: removed FORCE_AUTOMATIC_DECLINATION_UPDATE
...
we now have the EEPROM option COMPASS_AUTODEC instead
2012-03-30 14:25:27 +11:00
Andrew Tridgell
825340d53d
Compass: added COMPASS_AUTODEC option
...
when this is 1 (which is the default), we will get the declination
automatically via the AP_Declination library
when it is 0 we will use the value configured by the user
2012-03-30 14:25:27 +11:00
Andrew Tridgell
a98a092a59
AP_Declination: enabled auto declination by default in APM
2012-03-30 14:25:27 +11:00
Andrew Tridgell
e4e052ff91
AP_Declination: save some more memory by putting the declination keys in progmem
...
there was a comment saying this was too slow, but it actually costs
about 30 usec extra, which is trivial given the full auto declination
call costs 680 usec and its only called once per boot
2012-03-30 14:25:27 +11:00
Andrew Tridgell
edb627a5c1
AP_Declination: added timing information to declination test
2012-03-30 14:25:27 +11:00
Andrew Tridgell
01c4cde14f
AP_Declination: fixed build under SITL
2012-03-30 14:25:27 +11:00
Adam M Rivera
9c414e9573
AP_Declination_test: Updated test with better print messages.
2012-03-30 14:25:26 +11:00
Adam M Rivera
cff189e911
AP_Declination: Update LUT based on the changes that I made in the LUT generation code. This LUT is the final version that has no truncation.
2012-03-30 14:25:26 +11:00
Adam M Rivera
0727955fe3
ArduCopter: Changed implementation of configuration value for automatic declination. There is now a FORCE_AUTOMATIC_DECLINATION_UPDATE that when enabled will update the declination on every GPS 3D fix regardless of whether or not the user saved a value to the EEPROM. By default the declination will only be set by the automatic declination routine if the user has not saved a declination to the EEPROM.
2012-03-30 14:25:06 +11:00
Adam M Rivera
380b9ece44
AP_Declination: Updated comments to reflect new LUT size.
2012-03-30 14:25:06 +11:00
Adam M Rivera
c04e074c89
AP_Declination: Removed trailing zero deltas as they have no impact on the final value and only take up extra bytes.
2012-03-30 14:21:58 +11:00
Adam M Rivera
662f11f801
AP_Declination: Updated compressed lookup value table. Located 9 more failure points due to truncation on the packed LUT.
2012-03-30 14:21:58 +11:00
Adam M Rivera
0178906389
AP_Declination: Found 7 of the 22 failure points and fixed them. The issue with those 7 was the way I originally packed the value array. The last delta values on some rows were getting truncated. The new number of failures is down to 15 - WIP.
2012-03-30 14:21:58 +11:00
Adam M Rivera
08259bb2de
AP_Declination: Updated test to run in 5 degree increments. Changed to only print failures and also print total pass vs total fail.
2012-03-30 14:21:58 +11:00
Adam M Rivera
64c236800c
AP_Declination: Moved check for y index of zero to after the y index is properly transformed.
2012-03-30 14:21:58 +11:00
Adam M Rivera
e99d26cfa3
AP_Declination: The exception signs unpacking logic was incorrect. I was shifting a 1 value left y%8 which would have needed a the signs to be packed right to left. My packed signs byte was packed left to right (left most being the 0 position) so I needed to reverse the shifting.
2012-03-30 14:21:58 +11:00
Adam M Rivera
d9c9e0e608
AP_Declination: In order for the bitwise & operation to work, negative signs need to be represented by 1s instead of 0s. Changed so that negative signs are represented by a 1 in the packed signs array. Updated lookup logic to reflect this change.
2012-03-30 14:21:58 +11:00
Adam M Rivera
8b1c383f97
AP_Declination: Updated packed exception signs array. I had the signs packed incorrectly.
2012-03-30 14:21:57 +11:00
Adam M Rivera
c0813f8d62
AP_Declination: Changed test to run in increments of 10 degrees. 1 was too granular.
2012-03-30 14:21:57 +11:00
Adam M Rivera
289d7a2784
AP_Declination: Added original array to test sketch. Added loop to validate new compressed array against original in 1 degree steps.
2012-03-30 14:21:57 +11:00
Adam M Rivera
63ce400f77
AP_Declination: Moved rows with large spikes in delta to their own unsigned exception rows. The signs are in a separate packed array.
2012-03-30 14:21:57 +11:00
Adam M Rivera
782c1aaaa3
AP_Declination: Implemented Delta Encoding and Run-Length Encoding. Added method to traverse the compressed array and return the lookup value based on the same lat_index/lon_index that was used before.
2012-03-30 14:21:57 +11:00
Adam M Rivera
9888a4730f
AP_Declination: Changed PROGMEM read function to pgm_read_word_far to support the int16_t datatype.
2012-03-30 14:21:57 +11:00
Adam M Rivera
d883bdf75e
AP_Declination: Changed datatype to int16_t to support the -90 <-> 90 latitude range.
2012-03-30 14:21:57 +11:00
Adam M Rivera
719636d00c
AP_Declination: Reduced the size of the lookup table to support -75 <-> 70 latitude range. This allows the datatype to remain int8_t.
2012-03-30 14:21:57 +11:00
Michael Oborne
c9e5d14421
APM Planner 1.1.59
...
fix possible issue loading stream rates
fix tracker ranges
add more ch6 options
modify mag calib with throttle
2012-03-30 06:17:06 +08:00
rmackay9
a12a7a7d87
ArduCopter - added CH6_STABILIZE_KD tuning value
2012-03-29 21:09:41 +09:00
Michael Oborne
0c42cc148f
firmware build
2012-03-29 09:53:56 +08:00
Andrew Tridgell
eb98442ed0
APM: Change version to 2.32
2012-03-29 12:50:12 +11:00
Andrew Tridgell
03800ec5f4
APM: Added MANUAL_LEVEL option
...
when MANUAL_LEVEL is set to 1, we don't do accelerometer levelling at
startup, and instead used the values saved in the EEPROM. This makes
it easier to do levelling on the bench, or once for a series of
flights for the day
2012-03-29 12:39:53 +11:00
Andrew Tridgell
071f89df2e
AHRS: fixed error_yaw reporting with 2 MAVLink connections
...
when a user first connects with USB, and later switches to the
telemetry port without restarting we were getting zero for error_yaw
in the logs, as AHRS.get_error_yaw() was being called twice.
This ensures we give the last value after the counter is reset
2012-03-29 12:39:53 +11:00
Andrew Tridgell
20941c15c3
Compass: fixed a comment
2012-03-29 12:39:53 +11:00
Andrew Tridgell
79deeef0a0
Compass: added some more comments
...
explain the algorithm a bit more
2012-03-29 12:39:53 +11:00
Andrew Tridgell
dd3218c913
pysim: ensure Vector3() uses floats
2012-03-29 12:39:53 +11:00