Baro Code Änderungen

Roberto

Erfahrener Benutzer
#61
Also, irgendwie passt das immer noch:

Code:
#define QUADX
#define FREEIMUv043     // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
#define INFLIGHT_ACC_CALIBRATION
#define PositionHoldOverride                          // Uncomment to activate
#define I2C_GPS
Das macht dann: 26046 Bytes

Komisch, Du musst Da noch irgendwas anderes eingeschaltet haben?

LG
Rob
 

amb

Erfahrener Benutzer
#62
Hi Rob,

also ich habfolgendes drin, aber das wars dann auch ab von mir einkommentierten Extras. Ich habe nix auskommentiert oder gelöscht im Quelltext.

Code:
#define QUADX
#define FREEIMUv043     // same as FREEIMUv04 with final MPU6050 (with the right ACC scale)
#define MINTHROTTLE 1064 // special ESC (simonk)
#define ALLOW_ARM_DISARM_VIA_TX_YAW
//#define ALLOW_ARM_DISARM_VIA_TX_ROLL
#define SERIAL_SUM_PPM         ROLL,PITCH,THROTTLE,YAW,AUX1,AUX2,AUX3,AUX4 //For Robe/Hitec/Futaba
#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 80 
#define PositionHoldOverride                          // Uncomment to activate
#define PosHoldBlindTime 300000                       // Time in microseconds (def. 0.3 sec) before PH is re-engaged after returning to Stickcenter
#define BlindZonePitch 30                             // Defines the Blindzone around Pitchaxiscenter
#define BlindZoneRoll 30                              // Defines the Blindzone around Rollaxiscenter
#define I2C_GPS
#define GPS_LED_INDICATOR
#define A32U4ALLPINS
Sobald ich I2C_GPs einbinde sagt er mit es ist zu groß. Egal, ob ich den Naza Style mod nehme oder den Baro3. Ich kann dir gerne mal meine komplette config.h zusenden.

Vielleicht mache ich ja auch einen grundlegenden Fehler beim kompilieren. Habe bei Arduino alles auf standard gelassen...
 

FireN

trägt sonst keine Brille!
#63
Mit GPS ist es zu groß, nimmt viel Platz ein...
 

FireN

trägt sonst keine Brille!
#65
hmm, du hast ja noch mehr sachen an, simonk esc, serial sum ppm usw, vllt hat er das nicht?
er meldet sich bestimmt gleich zu wort :)
 

Roberto

Erfahrener Benutzer
#66
Mit Deinen Änderungen komme ich auf 25200 Byte mit dieser Testversion.
Hänge Deine config.h als .zip an.

LG
Rob

Ps.: Die brauchst Du eigentlich nur zu "aktivieren", wenn Du sie ändern willst, die fressen so, oder so kein (Byte) Brot.
Code:
#define ALT_HOLD_THROTTLE_NEUTRAL_ZONE 80
#define PosHoldBlindTime 300000
#define BlindZonePitch 30
#define BlindZoneRoll 30
 

Roberto

Erfahrener Benutzer
#68
Irgendwie verstehe ich das nicht.
Die "MultiWii_2_1_NewBaroPIDVario3Final" compiliert sich mit Deiner config.h mit 25354 Bytes und die "MultiWii_2_1_NewBaroPIDVario3lNazaStyleTest" mit 25246 Bytes. Ich habe auch verschiedene "Boards" eingestellt. Es kommt eigentlich immer etwas in der Grössenordnung. Oder sind 25354 schon zuviel für den ATmega32u4 (32Kb - 2KB Bootloader)???

Sorry, da kann ich Dir nicht weiter helfen!

LG
Rob
 

FireN

trägt sonst keine Brille!
#70
hmm das hab ich gefunden "data sheet"

Microcontroller
ATmega32u4
Operating Voltage
5V
Input Voltage (recommended)
7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins
20
PWM Channels
7
Analog Input Channels
12
DC Current per I/O Pin
40 mA
DC Current for 3.3V Pin
50 mA
Flash Memory
32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM
2.5 KB (ATmega32u4)
EEPROM
1 KB (ATmega32u4)
Clock Speed
16 MHz

Müsste eigentlich passen?
 

Roberto

Erfahrener Benutzer
#71
Endlich ist der Übeltäter gefunden :) !
Danke FireN! Momentan überschlagen wir uns hier etwas....

Nicht das eeprom clear (arduino IDE/Beispiele) bei Versionswechsel, oder Versionsunklarheit vergessen!
LG
Rob
 

amb

Erfahrener Benutzer
#72
Danke euch beiden. Wir kommen der Lösung näher. Wenn ich nen Anderes Board wähle, dann kompiliert er auch nur 25.xxx was also passt.
Aber keines der Boards will er nehmen. er läd nix hoch....
 

FireN

trägt sonst keine Brille!
#73
Also liegt es jetzt am "leonardo" bootloader?
wenn ja kann man das anders gestalten (anderer bootloader etc)? kenn mich in richtung mikrocontroller nicht so wirklich aus, würde das aber gerne wissen da ich ja dieselbe FC habe ;)

mfg
 

amb

Erfahrener Benutzer
#74
Ja. es scheint daran zu liegen.

Wenn ich als Board Leonardo wähle kompiliert er alles einfach etwas größer (Eprom Clear sind dann 4xxx anstat 7xx) Gleiches eben bei der MultiWii.

Wenn ich nun nen anderes Board wähle, dann kompiliert er den Sketch schön klein, aber ich kann ihn nicht hochladen...
 

FireN

trägt sonst keine Brille!
#75
hmm, also müsste man das rad relativ neu erfinden im sinne des bootloaders auf dem chip oder du lässt was weg, da ich erstmal kein GPS benutze müsste es bei mir gehn, aber wäre natürlich cool wenn man eine lösung für die FC findet.
 

Roberto

Erfahrener Benutzer
#76
Mit dem Promicro hatte ich mich noch nicht befasst, aber stimmt, es muss dann in der Arduino IDE "leonardo" ausgewählt werden, und dann geht es vor die (Byte-) Wand. Von den 32K Programmspeicher gehen bei ATmega328 nur 2KB für den Bootloader flöten (es gibt auch alternative Bootloader mit < 1K) und bei dem ATmega32u4 direkt 4KB. Man könnte höchstens versuchen, in Zukunft die Devs oder unsere Barosachen mit einem ICSP, unter Umgehung des bootloaders, direkt zu flashen. Die Zukunft für den ATmega32u4 sieht ja noch bescheidener als für den ATmega328 aus.

LG
Rob
 

FireN

trägt sonst keine Brille!
#77
naja wenn alles rein soll was neu ist dann lohnt sich auch gleich ein 32bit system (nach links und rechts guck ob jürgen iwo ist) :D
 
J

JinGej

Gast
#78
lad mal das zip und tu den inhalt in den arduino-1.0.1-ordner an die richtige stelle (ordner hardware) (das wichtigste ist der ordner "diskloader" und die "boards" datei)
dann hast du promicro mit zur auswahl, mit dem geht zumindest die nazastyle-version bei mir
 

Roberto

Erfahrener Benutzer
#79
@JinGej: Danke für den Tip! Das kommt gleich auf die Hauptseite!!! Die Testversion würde jetzt passen: 28366 (von 28672).

LG
Rob
 

amb

Erfahrener Benutzer
#80
Also Board habe ich. Kompilieren klappt auch, aber ich kann es nicht hochladen. Dann kommt immer folgende Fehlermeldung:

Code:
avrdude: stk500_getsync(): not in sync: resp=0x00
EDIT: Board ist doch das SparkFun Pro Micro, oder? Kompilieren geht damit, aber der Upload schlägt fehl.
 
RCLogger

FPV1

Banggood

Banggood

Oben