PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : libasuro update



MadMan2k
14.03.2006, 21:29
um das ganze mal etwas bekannter zu machen, damit ich nicht nur für mich selbst schreibe:
http://www.madman2k.net/?module=comments&id=34

zusammen mit odometriekappen (http://www.madman2k.net/?module=article&id=10#p3), kann man damit nun ganz oderdentlich navigieren.

Andun
15.03.2006, 12:52
Moin

Also ich ahb mir deine Erweiterungen jetzt nicht angesehen, aber irgendwie scheint es mir sinnvoller wenn man nciht zwei solche Projekte macht. Es gibt doch von hier aus schon eins bei Sourceforge.

Vielleicht sollte man sich da zusammentun, damit eine Quelle entsteht, wo die Sachen dann auch abgesprochen werden.

Andun

MadMan2k
15.03.2006, 18:09
ich hab meine änderungen als patch für das projekt auf sf vorgeschlagen, aber keine antwort bekommen.
Ich hätte natürlich nichts dagegen, wenn das sf projekt meine Änderungen übernimmt...

m.a.r.v.i.n
17.03.2006, 13:27
Sorry madman2k,
habe deinen Patch leider erst jetzt entdeckt. Das ist mir echt durch die Lappen gegangen. :oops:
Bin zur Zeit auch leider zu sehr im Streß, um mich ausgiebig darum zu kümmern. Aber zum Ende des Monats ist eine neue Release angesagt. Versprochen. Dann werden deine Änderungen auch drin sein.

Falls es schneller gehen soll, könntest du dich auch als Entwickler bei Sourceforge registrieren lassen, und deinen Patch selbst einbauen.
Bin für jede Hilfe dankbar.

Gruß m.a.r.v.i.n

dopez
17.03.2006, 19:51
Hallo MadMan2k,

ich habe versucht dein updatet asurolib zu nutzen aber ich bekomme immer ein fehler meldung, tu ich etwas falsch oder habe ich etwas vergessen? alles geht gut mit asuolib 2.60 von sf.net.

Gruß,
dopez



set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3 20030512 (prerelease)
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
asuro.c:7: error: parse error before "count36kHz"
asuro.c:7: warning: type defaults to `int' in declaration of `count36kHz'
asuro.c:7: warning: data definition has no type or storage class
asuro.c:25: warning: return type defaults to `int'
asuro.c:25: warning: function declaration isn't a prototype
asuro.c:37: warning: return type defaults to `int'
asuro.c:37: warning: function declaration isn't a prototype
asuro.c:37: error: redefinition of `ISR'
asuro.c:25: error: `ISR' previously defined here
asuro.c:46: warning: return type defaults to `int'
asuro.c:46: warning: function declaration isn't a prototype
asuro.c:46: error: redefinition of `ISR'
asuro.c:37: error: `ISR' previously defined here
asuro.c:278: error: parse error before "PollSwitch"
asuro.c:279: warning: return type defaults to `int'
asuro.c:279: error: conflicting types for `PollSwitch'
asuro.h:164: error: previous declaration of `PollSwitch'
asuro.c: In function `Travel':
asuro.c:364: error: `uint16_t' undeclared (first use in this function)
asuro.c:364: error: (Each undeclared identifier is reported only once
asuro.c:364: error: for each function it appears in.)
asuro.c:364: error: parse error before "enc_count"
asuro.c:367: error: `int8_t' undeclared (first use in this function)
asuro.c:368: error: `uint8_t' undeclared (first use in this function)
asuro.c:374: error: `tot_count' undeclared (first use in this function)
asuro.c:374: error: `enc_count' undeclared (first use in this function)
asuro.c:375: error: `l_speed' undeclared (first use in this function)
asuro.c:375: error: `r_speed' undeclared (first use in this function)
asuro.c:378: error: `diff' undeclared (first use in this function)
asuro.c: In function `Rotate':
asuro.c:405: error: `uint16_t' undeclared (first use in this function)
asuro.c:405: error: parse error before "enc_count"
asuro.c:408: error: `int8_t' undeclared (first use in this function)
asuro.c:409: error: `uint8_t' undeclared (first use in this function)
asuro.c:415: error: `tot_count' undeclared (first use in this function)
asuro.c:415: error: `enc_count' undeclared (first use in this function)
asuro.c:416: error: `l_speed' undeclared (first use in this function)
asuro.c:416: error: `r_speed' undeclared (first use in this function)
asuro.c:419: error: `diff' undeclared (first use in this function)
make: *** [asuro.o] Error 1

MadMan2k
17.03.2006, 23:35
libasuro und asurolib von sf.net sind nicht kompatibel zueinader; ich habe bei den funktionsnamen etwas aufgeräumt. siehe CHANGES für näheres.

außerdem braucht meine libasuro das neuste WinAVR(20060125):
http://sourceforge.net/project/showfiles.php?group_id=68108

wieso man wechseln sollte?
Vorteile libasuro:
- ca. 18% kleiner
- Travel, Rotate Funktionen sind präziser
- Travel, Rotate dürften die Batterie weniger stark belasten

dopez
18.03.2006, 00:47
ich habe versucht nur FirstTry zu compilen, aber ich nuzte Linux, und auch mit SUSE 10.0's compiler (4.0.2) und avr-libc (1.2.5) bekomme ich diese fehler (vorher hat ich der toolchain von asuro genutzt)

btw, ist es okay wenn ich nächste mal in englisch reply? mein deutsch ist nicht wirklich gut und ich kann mich in englisch viel besser erklären.

Gruß,
dopez

MadMan2k
18.03.2006, 07:40
like already said, you wont be able to compile old programs with the new library if the programs call the renamed functions like OdometrieData, which was renamed to OdometryData.
But if this functionality is really desired, I can add fallbacks for that.

but your main problem is your old avr-libc library. The avr-libc 1.4 series, which are also used by WinAVR introduced a new interrupt system (http://www.nongnu.org/avr-libc/changes-1.4.html), which I am using, so you will have to switch to avr-libc 1.4 in order to use the library.

You probably should also file a bug report in suse, so you can use the version out of the repositories next time.

dopez
18.03.2006, 11:15
Hi!

its clear to me now that i have indeed the problem with avr-libc and it also seems SUSE 10.0's gcc is giving me issues, i already updated avr-libc to version 1.4.3 (using SUSE 10.1beta8 SRPM's and recompile it for 10.0)

now i try to find out what versions WINAVR is using and compile my own toolchain with those versions, then it should probably work all

thanks for the help so far!

greetings,
dopez

dopez
18.03.2006, 18:51
okay thanks! all is working again, using a freshly compiled toolchain (gcc 3.4.6 and avr-libc 1.4.3)

it also seemed my makefile was not really correct but that is now also fixed, now i'm off trying to make a 'circle' command in pretty much the same way rotate works except making it do wider turns :)

greetings,
dopez