Andrew Tridgell
927834106d
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
13 years ago
Andrew Tridgell
70d4280935
AP_Declination: added timing information to declination test
13 years ago
Andrew Tridgell
175352845c
AP_Declination: fixed build under SITL
13 years ago
Adam M Rivera
ca82350f17
AP_Declination_test: Updated test with better print messages.
13 years ago
Adam M Rivera
01b1e58f7d
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.
13 years ago
Adam M Rivera
23f6093f05
AP_Declination: Updated comments to reflect new LUT size.
13 years ago
Adam M Rivera
50791a8b0f
AP_Declination: Removed trailing zero deltas as they have no impact on the final value and only take up extra bytes.
13 years ago
Adam M Rivera
f35e447927
AP_Declination: Updated compressed lookup value table. Located 9 more failure points due to truncation on the packed LUT.
13 years ago
Adam M Rivera
72b70c394c
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.
13 years ago
Adam M Rivera
076192db51
AP_Declination: Updated test to run in 5 degree increments. Changed to only print failures and also print total pass vs total fail.
13 years ago
Adam M Rivera
230ca1ddca
AP_Declination: Moved check for y index of zero to after the y index is properly transformed.
13 years ago
Adam M Rivera
e0fa053c79
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.
13 years ago
Adam M Rivera
f66c6e16e4
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.
13 years ago
Adam M Rivera
d88b9e8ffc
AP_Declination: Updated packed exception signs array. I had the signs packed incorrectly.
13 years ago
Adam M Rivera
036da88174
AP_Declination: Changed test to run in increments of 10 degrees. 1 was too granular.
13 years ago
Adam M Rivera
580b274bde
AP_Declination: Added original array to test sketch. Added loop to validate new compressed array against original in 1 degree steps.
13 years ago
Adam M Rivera
efefc3e4f4
AP_Declination: Moved rows with large spikes in delta to their own unsigned exception rows. The signs are in a separate packed array.
13 years ago
Adam M Rivera
0dcc4e8307
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.
13 years ago
Adam M Rivera
3a849771bc
AP_Declination: Changed PROGMEM read function to pgm_read_word_far to support the int16_t datatype.
13 years ago
Adam M Rivera
370e56c00a
AP_Declination: Changed datatype to int16_t to support the -90 <-> 90 latitude range.
13 years ago
Adam M Rivera
ae257ad42b
AP_Declination: Reduced the size of the lookup table to support -75 <-> 70 latitude range. This allows the datatype to remain int8_t.
13 years ago
Andrew Tridgell
c08fd50542
AP_Declination: fixed build of test sketch
13 years ago
Andrew Tridgell
c1b945018b
AP_Declination: fixed usage of headers
13 years ago
Adam M Rivera
b9be6ed290
AP_Declination: Updated comment.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
e08b50ee91
AP_Declination: Increased range of supported latitude coordinates.
...
Fixed incorrect type usage to save stack space.
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
e22da153ec
Added AP_Declination test sketch. I will be improving the test sketch soon.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago
Adam M Rivera
d2a07b1603
Added AP_Declination library. It contains the lookup table (lat/lng -> declination) as well as a method that performs the lookup.
...
Signed-off-by: Andrew Tridgell <tridge@samba.org>
13 years ago