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
rmackay9
2cc87af180
Added multiple new tuning parameters to the inflight channel 6 tuning feature:
...
#define CH6_YAW_KI 24
#define CH6_ACRO_KP 25
#define CH6_YAW_RATE_KD 26
#define CH6_LOITER_KI 27
#define CH6_LOITER_RATE_KI 28
2012-03-28 23:58:58 +09:00
rmackay9
fd5e1c2f7b
Filter - added FilterWithBuffer typedefs for int32t and uint32 for ease of use
2012-03-28 22:02:52 +09:00
rmackay9
99cdc69110
AP_OpticalFlow - small bug fix to ensure init attempts to read the product id 3 times before giving up
2012-03-28 22:00:57 +09:00
Michael Oborne
ab16a33313
APM Planner 1.1.58
...
add read delay on write for serial
add tlog to gpx creation
fix issue 583 - georef image with a tlog
2012-03-28 20:45:16 +08:00
Andrew Tridgell
972bdcfa39
SITL: add magnetic field noise to the simulated compass
2012-03-28 20:55:27 +11:00
Andrew Tridgell
dc127fe749
SITL: ensure we don't run the sitl timer twice
...
this caused problems with random()
2012-03-28 20:55:27 +11:00
Andrew Tridgell
2a011578f9
Compass: implement noise resistant varient of offset learning
...
This adds a large amount of noise robustness to the compass offset
learning algorithm, at a cost of 120 bytes of memory. The changes are
based on a long discussion with Bill Premerlani.
2012-03-28 20:55:27 +11:00
Michael Oborne
c3a82247d3
firmware build
2012-03-27 13:16:48 +08:00