Laden...

Forenbeiträge von MathiasM Ingesamt 6 Beiträge

10.05.2011 - 19:02 Uhr

Hallo,

ich habe einen Drehregler der in einem 3D Programm gerendert wurde. Die Drehbewegung besteht aus 64 Bildern die untereinandergereiht in einer Bitmap liegen.

In WinForms stellt man sowas mit BitBlit dar, in dem man einfach die Region des darzustellenden Bereichs als Quelle angibt.

Wie löst man sowas in Silverlight, eine Art BitBlit habe ich dort nicht finden können?

Danke für alle Antworten im voraus.

05.05.2011 - 14:19 Uhr

Die einfachste Lösung wäre ein USB CDC Framework auf einem Mikrocontroller.
Ich verwende gerne den PIC18F2550 (DIP 28) bzw. PIC18F4550 (DIP 40).

Diese Controller haben direkten USB Anschluß und Microchip bietet bereits fertige Sources für USB CDC (Serielle Datenübertragung) und HID an.

Das CDC Framework emuliert auf dem Chip einfach eine serielle Schnittstelle, die man von C# heraus als COM-Port ganz easy ansprechen kann.

Ich würde bei sowas so vorgehen, dass am PIC-Controller ein serielles EEPROM (24LC...) hängt und via C# dort per CDC die LED-Ablaufpläne gespeichert und ausgelesen wüden.

Für das LED-Multiplexing gibt es bereits fertige Bausteine von MAXIM, die sich leicht via SPI vom PIC ansprechen lassen.

Es ist also kaum Hardware-Aufwand.

(Selbstverständlich geht das auch mit anderen USB-Controllern, ich habe bislang aber immer mit PICs gearbeitet).

Wenn Du weitere Fragen dazu hast helf ich Dir gerne.

02.05.2011 - 17:54 Uhr

Danke euch beiden schon mal für die Links, lese mich da direkt mal ein!

@herbivore: die GUI ist kein Problem, es geht nur um das grundsätzliche Verständnis.

02.05.2011 - 17:14 Uhr

Habs eben mit Youtube getestet, funktioniert einwandfrei 😃

Was mich aber stört: ich brauchte 9 Klicks, bei dem Tool was ich sonst benutze brauche ich nur 2 Klicks. Insbesondere der Analyse-Schritt + zusätzlichem Auswahl-Klick erscheint mir unnötig.

Soll kein Gemecker sein, nur ne Anregung zur Verbesserung 😃

02.05.2011 - 16:47 Uhr

Was hier noch nicht erwähnt wurde: in VB.Net gibts noch den Befehl IIF, klappt allerdings nur mit 2 Werten aber den setze ich gerne bei Return-Anweisungen ein, spart ein paar Zeilen 😃

Wie der in C# heißt weiß ich allerdings leider nicht.

02.05.2011 - 16:35 Uhr

Hallo,

was ich machen möchte kann man ziemlich gut mit einem Logik-Simulator vergleichen, wo man die Ein- und Ausgänge der AND und OR TTL-Bausteine etc. frei miteinander verknüpfen kann.

Es handelt sich hierbei zwar nicht um Logik-Leitungen sondern um Daten aber das Prinzip sollte somit klar sein.

(Im Anhang mal eine schematische Darstellung)

Alle Objekt (Daten- und Prozessor-Objekte) sind Klassen, je nach Objekttyp mit verschieden vielen Ein- und Ausgängen. Jedes Objekt kann mehrfach instanziert werden und Ein- und Ausgänge dürfen auch unbeschaltet bleiben.

Mich würde nun mal interessieren wie man eine solche Problemstellung am Besten umsetzt.

Benötige ich hierfür eine übergeordnete Klasse, die die Routing-Daten in Listen bereithält (was mir sehr kompliziert erscheint) und dann die Daten hin- und herschaufelt?

Oder referenzieren die (Klassen-)Objekte besser untereinander zueinander?
Sprich (aus Klassensicht): "mein Ausgang #1 referenziert auf den Eingang #2 dem oder dem (Klassen-)Objekt".

Die zweite Möglichkeit erscheint mir leichter, da müsste die Hauptklasse ja lediglich in jedem Objekt eine Art "Process"-Funktion aufrufen? Somit hätte ich nur eine Liste, die einfach alle Objekte hält, die vorhanden sind.

Und noch eine Zusatzfrage: bislang habe ich noch nie etwas mit Interfaces gemacht, aber nach dem was ich bislang gelesen habe, wäre dieser Anwendungsfall gerade für Interfaces geeignet, oder?

Ich hoffe ich konnte das einigermaßen erklären und würd mich freuen wenn Ihr mir da die richtige Herangehensweise erklären könntet 😃

Vielen Dank für alle Antworten,
Mathias