Det låter nog lite konstigt kanske, men databladet är inte så tydligt vad det gäller utdata.
"X-axis outdata" = lsb 0-7 msb=not used
Men efter lite vickande har jag kommit fram till vad jag skrev tidigare.
v kan anta 1-50 heltal vilket motsvarar 1-90 grader medurs lutning.
eller
255-205 heltal vilket motsvarar 1-90 grader moturs lutning.
0 motsvarar plant läge.
Det är alltså ett 8-bitars värde vi talar om.
Det låter lite orimligt att man nyttjar 100 värden för att representera 180 grader.
Det hade varit mer logiskt att nyttja halva utdata-området (127 värden) för halva rotationen.
Det är inte omöjligt att det är så, för jag kan inte vända skrotet ända upp till 90 grader då det sitter på fyra olika breakout kort där två sitter på breadboardet och de två andra hänger i massa sladdar på sidan.
Kort sagt en koppling som till och med Tekko skulle bli impad av
I så fall är det 0-63 medurs och 255-192 moturs.
Jag har sent om sider lyckats lösa det nu med en uppslagstabell som jag bygger upp vid boot.
Det gick 712 bytes men det är till ett gott syfte trots allt.
Jag använde 3 msb för att lagra position på tecknet i y-led och 5 lsb för vilket tecken som skall ritas.
Genom genom att addera position och tecken på högersidan och subtrahera på vänstersidan så fick jag det att lira.
Jag vet inte om lösningen är optimal, men det tar under en sek att skapa uppslagstabellen vid boot och huvudloopen blev väldigt snabb utan avancerade beräkningar.
Horizonten blev lite skakig då accelerometern inte har några trixiga filter ombord.
Brukar vilja läsa ett par värden och ta snittvärdet, men har jag inte fixat ännu då det blev lite jobbigt med den knepiga utdatan.
Ett kalmanfilter vore mums kanske
