Hi Leute, Ich hab meinen Quadrocopter in Arduino Programmiert. Jetzt hab ich allerdings "nur" einen Atmega168. Kann einer den Code für mich um ca. 1kb komprimieren? Ich bin für jede Hilfe dankbar. Ich bin ein NOOB im Komprimieren! Code im Anhang
Ich würde da an deiner Stelle entweder die LCD Ansteuerung oder die Serielle rauswerfen, je nachdem was dir wichtiger ist. Abgesehen davon, ist das bei dem Code ein Arbeiten in kleinen Schritten. Am ehesten könnte man noch bei der IMU Berechnung ansetzten und versuchen die Floating Point Library zugunsetn von Fixpoint Arithmetik loszuwerden. Aber sonst ist da nicht der Brummer zu finden, mit dem man schnell mal wesentlichen Speicher frei bekommt. Eher: Dort ein paar Bytes, da ein paar Bytes.
Matthias R. schrieb: > Kann einer den Code für mich um ca. 1kb komprimieren? Das ist doch nicht wirklich dein Ernst? Kauf' dir eine 328! mfg.
Ich weiß, die Frage ist dumm, aber wie viel KB grieg ich raus, wenn ich das LCD "rauswerf" ? Köonntest du die für mich ausschneiden?
Thomas Eckmann schrieb: > Kauf' dir eine 328! Hab schon die ganze Hardware auf ein Mega 168 ausgelegt und gelötet, und ich hab kein bo** den wieder auszulöten! Ja, ich weiß dass die Pin_Kompatibel sind1
Matthias R. schrieb: > Ich weiß, die Frage ist dumm, aber wie viel KB grieg ich raus, wenn ich > das LCD "rauswerf" ? > Köonntest du die für mich ausschneiden? Nein. Frag den, der das Programm ursprünglich geschrieben hat. Denn das das nicht von dir ist, steht für mich fest. Soviel zu > Ich hab meinen Quadrocopter in Arduino Programmiert
Matthias R. schrieb: > Hi Leute, Ich hab meinen Quadrocopter in Arduino Programmiert. Matthias R. schrieb: > Köonntest du die für mich ausschneiden? Hää? Wenn du das selber programmiert hast, dann wirst du doch auch wissen, wo du die Schere ansetzen musst. Im Quellcode steht übrigens ganz deutlich:
1 | In order to save space, it's possibile to desactivate the LCD configuration functions |
Der Programmschreiber (offenbar nicht du) hat sich da schon was gedacht...
Lothar Miller schrieb: > Matthias R. schrieb: >> Hi Leute, Ich hab meinen Quadrocopter in Arduino Programmiert. > Matthias R. schrieb: >> Köonntest du die für mich ausschneiden? > Hää? > Wenn du das selber programmiert hast, dann wirst du doch auch wissen, wo > du die Schere ansetzen musst. > > Im Quellcode steht übrigens ganz deutlich: >
1 | > In order to save space, it's possibile to desactivate the LCD |
2 | > configuration functions |
3 | > |
> Der Programmschreiber (offenbar nicht du) hat sich da schon was > gedacht... Ui. Der hat sogar in diese Richtung vorgearbeitet. Offenbar hat Matthias den Code noch nicht einmal überflogen. Und das unterstütz ich nicht.
>Hab schon die ganze Hardware auf ein Mega 168 ausgelegt und gelötet, und >ich hab kein bo** den wieder auszulöten! Selber schuld??
Karl heinz Buchegger schrieb: > Ui. Der hat sogar in diese Richtung vorgearbeitet. Was würde der geneigte Programmierer da tun:
1 | /* comment this line only if you don't plan to used a LCD */
|
2 | #define LCD_CONF
|
Matthias R. schrieb: > Hab schon die ganze Hardware auf ein Mega 168 ausgelegt und gelötet, und > > ich hab kein bo** den wieder auszulöten! So teuer sind Sockel ja nun wirklich nicht. Also selber schuld. mfg.
Thomas Eckmann schrieb: > So teuer sind Sockel ja nun wirklich nicht. Also selber schuld SMD Ich und mein Freund haben den Code geschrieben! Die PPM Schleife und die PID Regler sind mein werk
Matthias R. schrieb: > Thomas Eckmann schrieb: >> So teuer sind Sockel ja nun wirklich nicht. Also selber schuld > > SMD > > > Ich und mein Freund haben den Code geschrieben! Lass es gut sein. Das glaubt dir sowieso keiner mehr.
Matthias R. schrieb: > Ich und mein Freund haben den Code geschrieben! > > Die PPM Schleife und die PID Regler sind mein werk Dann sollte es doch kein Problem sein, den Code mit AVR-Studio zu kompilieren und dann über SPI zu flashen. Dann kannst du den Arduino Bootoader runterschmeissen und du hast dein Kilobyte, was dir fehlt. mfg.
> Ich und mein Freund haben den Code geschrieben! sieht mir irgendwie mehr danach aus als wenns hier http://code.google.com/p/lnmultipilot10/source/browse/branches/Redfox74/MultiFoxWiiV1_4/MultiFoxWiiV1_4.pde?r=364 bzw http://code.google.com/p/lnmultipilot10/source/browse/branches/Redfox74/MultiFoxWiiV1_4/?r=364 abgeschrieben wurde...
Nibbler schrieb: >> Ich und mein Freund haben den Code geschrieben! > > > > sieht mir irgendwie mehr danach aus als wenns hier > > http://code.google.com/p/lnmultipilot10/source/browse/branches/Redfox74/MultiFoxWiiV1_4/MultiFoxWiiV1_4.pde?r=364 > bzw > http://code.google.com/p/lnmultipilot10/source/browse/branches/Redfox74/MultiFoxWiiV1_4/?r=364 > abgeschrieben wurde... zumindest gibt es nicht viele Differenzen. Um genau zu sein, war bis jetzt noch jede Stichprobe identisch und keine Abweichung festzustellen.
>> Ich und mein Freund haben den Code geschrieben! > zumindest gibt es nicht viele Differenzen. Dann wissen wir jetzt ja wer der Freund ist. Gut gemacht, Watson... ;-) @ Matthias R. (mons) Wer solche Freunde hat, braucht keine Feinde mehr... :-o
Karl heinz Buchegger schrieb: > Um genau zu sein, war bis jetzt noch jede Stichprobe identisch und keine > Abweichung festzustellen. Das ich nicht lüge. Die GPL wurde entfernt und alles in 1 File zusammenkopiert.
Was habt ihr eigentlich? Hier liest man doch dauernd "google ist dein Freund".
@Mathias Das ist an sich keine Schande, wenn du nicht programmieren kannst. Aber schmück dich das nächste mal nicht mit fremden Federn. Denn: irgendwann kommt es raus und dann ist deine Reputation beim Teufel.
Nur das mein Code ein bisschen viel länger ist, als der den ihr gefunden habt. Den hab Code hab ich nur verwendet, und noch einige Ergänzungen gemacht!
Matthias R. schrieb: > Nur das mein Code ein bisschen viel länger ist, als der den ihr gefunden > habt. > Den hab Code hab ich nur verwendet, und noch einige Ergänzungen gemacht! Dann kannst du ja entsprechend Programmieren (was ich stark bezweifel) und damit auch den Code entsprechend kürzen. Nachdem du aber nicht einmal eine Ahnung hast wo die LCD Routinen stehen nehme ich an, du hast den Code noch nicht einmal gesamt durchgelsen geschweige denn verstanden. Wir werden dich hier nicht unterstüzen. Wenn du nicht programmieren kannst dann musst du dir fertige Module kaufen (teuer) oder jemanden gegen Geld engagieren der dir das macht. (immernoch teuer aber schon billiger) ~ 80€ od. mehr. Wenn du wirklich Programmieren lernen möchtest: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Ansonsten muss ich dir den großväterlichen Rat geben, das zu lassen. Endet sonst nur in sinnlosem Geldausgeben und das Projekt liegt hinterher in der Ecke. Klar ist so ein Quadrocopter cool aber als Einstieg defintiv absolut ungeeignet. Nicht umsonst gibt es nur einige dutzend Ansätze von denen alle kopieren. Und wie man an deinem Beispiel sehen kann (keine Angst du bist nicht alleine) ist selbst das offensichtlich zu viel verlangt ... Sorry für die harten Worte aber so ist es.
Wollte mich kurz bei euch für diesen großartigen Thread bedanken. Der hat mir den Tag ein Stück versüßt^^
@Karlheinz > war bis jetzt noch jede Stichprobe identisch und keine > Abweichung festzustellen. jetzt bist du aber ungerecht. ;-) Ich hab im Main durchaus Unterschiede festgestellt: Vergleichen von (<)C:\tmp\arduino\main_original.txt (8247 Byte) mit (>)C:\tmp\arduino\main_quadkopter.txt (8175 Byte) 56c56 < //Serial.println("CALL compute IMU"); --- > 121d121 < //Serial.println("Quad X"); ---------------------- oder hier gabs auch Unterschiede: Vergleichen von (<)C:\tmp\arduino\serialcom_original.txt (3669 Byte) mit (>)C:\tmp\arduino\serialcom_quadkopter.txt (3568 Byte) 4,5c4 < //Serial.print("."); < if (Serial.available()>0) { --- > if (Serial.available()) { 69,72c68 < < for(int cnt=0;cnt<64;cnt++) < Serial.print((char)s[cnt]); < //Serial.write(s,63); --- > Serial.write(s,63); .... also hat Matthias ja nicht unrecht gehabt, wenn er schrieb: > Autor: Matthias R. (mons) > Datum: 06.01.2011 15:31 > Nur das mein Code ein bisschen viel länger ist, > als der den ihr gefunden habt. > Den hab Code hab ich nur verwendet, > und noch einige Ergänzungen gemacht! aber anscheinend wußte der Ursprungsposter nicht um die Bedeutung dieser Zeilen: /* MultiWiiCopter by Alexandre Dubus radio-commande.com September 2010 V1.0 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version. see <http://www.gnu.org/licenses/> */ --> @Matthias: gaaaaaaanz schlechter Stil! Ich denke, du läßt deinen Useraccount hier löschen, und fängst nochmal mit einem neuen unbekannten Account an. Dein Name ist jetzt ein wenig "verbrannt".
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.