Hilfe! Code Comprimieren

OP #2002556
Lesenswert?

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
Angehängte Dateien:
#2002573
Lesenswert?

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.
Moderator (Firma: Titel) Persönliche Seite #2002594
Lesenswert?

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...
#2002606
Lesenswert?

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.
#2002745
Lesenswert?

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.
#2003664
Lesenswert?

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.
#2003744
Lesenswert?

@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".

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren