Seite 4 von 4

#46 Re: objektorientierung, uml und solche späße

Verfasst: 23.06.2013 00:58:05
von dollreiner
zum "pfeilchen" : autsch, schmerzhafter fehler :(

zu den attributen / instanzen : ich habe da noch zu lernen .. aber es wird.

zum i2c/twi : so sieht meine ansteuerung aktuell aus :

Code: Alles auswählen

procedure MotorSetWert(adresse as byte, steuerwert as byte)
avr.interrupts.disable
if twi.master.start then
twi.master.WriteAddr adresse
twi.master.Writebyte steuerwert
twi.master.stop
end if
avr.interrupts.enable
endproc
adresse .. wert , nix array.

#47 Re: objektorientierung, uml und solche späße

Verfasst: 23.06.2013 05:38:50
von tracer
dollreiner hat geschrieben:zum i2c/twi : so sieht meine ansteuerung aktuell aus :
Mal nen Tipp am Rande: Wenn Du erfolgreich Software entwickeln willst, an der andere sich auch beteiligen, nutzte gängig Englisch, auch für Variablen und Kommentare.

Wenn Du so einen Code in einem internationalem Forum postest, werden 95% weg clicken, weil sie nicht raten wollen, was Deine Variablen nun bedeuten könnten.

So wäre das ganze lesbar:

Code: Alles auswählen

procedure MotorSetValue(address as byte, value as byte)
    avr.interrupts.disable
    IF twi.master.start THEN
        twi.master.WriteAddr address
        twi.master.Writebyte value
        twi.master.stop
    END IF
    avr.interrupts.enable
endproc
Ich habe die Kontrollstruktur nun in Versalien geschrieben, um sie halbwegs als solche im Code erkennbar zu machen.

#48 Re: objektorientierung, uml und solche späße

Verfasst: 23.06.2013 06:39:09
von the-fallen
dollreiner hat geschrieben:adresse .. wert , nix array.
Oh ja du hast recht. Mein Fehler. i2C hat 7 und 10 Bit - Adressen, wobei 10 nicht gängig sind. due 7 Bit passen in ein Byte, also passt das.

#49 Re: objektorientierung, uml und solche späße

Verfasst: 23.06.2013 23:58:49
von dollreiner
grübel, grübel, grübel .... jetzt frag ich nochmal. wenn das dann mal passt, bau ichs aus.

folgende minimalkonfiguration :

main arbeitet mit den klassen pid, sensor, rc und mischer. so im stil von "set roll = new pid", eine instanz also wenn ich nicht irre. main selber ist eine 200hz-schleife.

pid regelt, und hat die attribute kp, kd, ki sowie soll, ist und stell (ein regler halt..)

sensor mißt (acc und gyro) und rechnet mit colton den winkel. acc und gyro können private sein, winkel ist öffentlich.

rc holt sich vom ppm-empfänger die werte und normiert passend. die ppm sind private, die endwerte public.

mischer macht aus stellwerten von den reglern und den steuerwerten von rc die motorstellwerte (alle achsen, gier, höhe, allles..) und schickt das dann an die motoren


-> ist das so : http://www.reinerdoll.de/my4.jpg richtig als klassendiagramm ausgedrückt (natürlich nicht vollständig) ??

der mischer z.b. braucht ja die werte aus dem rc-objekt, der greift dann z.b. auf "steuerung.nichsteuer" zu, was als attribut in rc deklariert ist ... stimmt das ??

#50 Re: objektorientierung, uml und solche späße

Verfasst: 24.06.2013 07:07:56
von the-fallen
dollreiner hat geschrieben: eine instanz also wenn ich nicht irre
Du irrst nicht. Es ist eine Instanz einer Klasse - und nennt sich dann Objekt.

Der Rest klingt soweit gut. Vielleicht machst du davon noch mal ein Klassendiagramm.

#51 Re: objektorientierung, uml und solche späße

Verfasst: 24.06.2013 11:12:59
von dollreiner
http://www.reinerdoll.de/my4.jpg : ich dachte, so könnte es ausschauen. falsch gedacht ?

#52 Re: objektorientierung, uml und solche späße

Verfasst: 24.06.2013 12:40:56
von the-fallen
Sieht zumindest so auf die Schnelle nicht falsch aus.