Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
ein_kleines_projekt [2019/02/07 09:45]
127.0.0.1 Externe Bearbeitung
ein_kleines_projekt [2019/07/27 16:07]
huwi
Zeile 14: Zeile 14:
 Wer eine SiSy Ausgabe //Developer// oder //Professional// hat kann das kleine Projekt gern mit den dort enthaltenen Planungswerkzeugen (Bild: Netzplan) begleiten. Wer eine SiSy Ausgabe //Developer// oder //Professional// hat kann das kleine Projekt gern mit den dort enthaltenen Planungswerkzeugen (Bild: Netzplan) begleiten.
  
->>{{:projekt:netzplan.png?700|}}+>{{:projekt:netzplan.png?700|}}
  
 Zunächst soll mit ein wenig Methodik geklärt werden **//WAS//** zu tun ist. Die eigentliche Softwareentwicklung kann entweder Parallel oder in zwei Projektiterationen die geforderte Firmware für den Mikrocontroller und die PC-Anwendung erarbeiten. Zunächst soll mit ein wenig Methodik geklärt werden **//WAS//** zu tun ist. Die eigentliche Softwareentwicklung kann entweder Parallel oder in zwei Projektiterationen die geforderte Firmware für den Mikrocontroller und die PC-Anwendung erarbeiten.
Zeile 25: Zeile 25:
  
  
->>>{{:projekt:storyboard.jpg|}}+>{{:projekt:storyboard.jpg|}}
  
 ===== Anwendungsfälle ===== ===== Anwendungsfälle =====
Zeile 46: Zeile 46:
 Grundsätzlich kann die Controllerlösung mit allen drei angebotenen Systemen (myAVR, mySTM32, myXMC) realisiert werden. Das hier gezeigte Klassendiagramm verdeutlicht die Struktur einer Mikrocontrollerlösung basierend auf einem SiSy-Mikrocontroller-Framework. Grundsätzlich kann die Controllerlösung mit allen drei angebotenen Systemen (myAVR, mySTM32, myXMC) realisiert werden. Das hier gezeigte Klassendiagramm verdeutlicht die Struktur einer Mikrocontrollerlösung basierend auf einem SiSy-Mikrocontroller-Framework.
  
->>>{{:projekt:classmcu.png?650|}}+>{{:projekt:classmcu.png?650|}}
  
 Im Folgenden ist die Realisierung mit dem myAVR System, einem kleinen Programm und in einfachem C++. Im Folgenden ist die Realisierung mit dem myAVR System, einem kleinen Programm und in einfachem C++.
  
->>><code cpp>+><code cpp>
 //----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
 // Titel     : Mikrocontrollerlösung für das kleine Projekt // Titel     : Mikrocontrollerlösung für das kleine Projekt
Zeile 96: Zeile 96:
 </code> </code>
  
->>>>{{:projekt:seqmc.png?400|}}+>{{:projekt:seqmc.png?400|}}
  
 {{:projekt:elfmc.png|}}{{:projekt:mchex.png|}}{{:projekt:flash.png|}} {{:projekt:elfmc.png|}}{{:projekt:mchex.png|}}{{:projekt:flash.png|}}
Zeile 107: Zeile 107:
 Die ersten Schritte für die PC-Lösung sind ein entsprechendes SVL-Projekt mit SiSy anzulegen, die aktuelle SVL aus dem LibStore zu laden und ein Klassendiagramm zu erstellen. Die ersten Schritte für die PC-Lösung sind ein entsprechendes SVL-Projekt mit SiSy anzulegen, die aktuelle SVL aus dem LibStore zu laden und ein Klassendiagramm zu erstellen.
  
->>>{{:projekt:classsvlgg.png?650|}}+>{{:projekt:classsvlgg.png?650|}}
  
 Der Klasse //MainWnd// sind über den ControlWizard folgende Steuerelemente (Controls) als Attribute hinzuzufügen. Der Klasse //MainWnd// sind über den ControlWizard folgende Steuerelemente (Controls) als Attribute hinzuzufügen.
Zeile 114: Zeile 114:
   * [[http://www.mysvl.de/svl_dict/SChartControl.htm|SChartControl]] Instanzname: //verlauf//   * [[http://www.mysvl.de/svl_dict/SChartControl.htm|SChartControl]] Instanzname: //verlauf//
  
->>>{{:projekt:classprojekt2.png?650|}}+>{{:projekt:classprojekt2.png?650|}}
  
 Die Anwendung kann bereits gebildet und die Steuerelemente angeordnet werden. Die Anwendung kann bereits gebildet und die Steuerelemente angeordnet werden.
  
->>>{{:projekt:pcanwendung1.png?650|}}+>{{:projekt:pcanwendung1.png?650|}}
  
  
Zeile 125: Zeile 125:
 Für den Empfang und die Verarbeitung der Helligkeitswerte ist die Operation //onComportData// zu überschreiben. Für den Empfang und die Verarbeitung der Helligkeitswerte ist die Operation //onComportData// zu überschreiben.
  
->>>{{:projekt:classprojekt3.png?650|}}+>{{:projekt:classprojekt3.png?650|}}
  
 Der Quellcode der Operationen //onInitWindow// und //onComportData// sind wie folgt zu ergänzen: Der Quellcode der Operationen //onInitWindow// und //onComportData// sind wie folgt zu ergänzen:
  
->>>**mainWnd:onInitWindow**<code cpp>+>**mainWnd:onInitWindow**<code cpp>
 // ... // ...
 // Wertebereich der Controls auf 8 Bit 0-255 konfigurieren // Wertebereich der Controls auf 8 Bit 0-255 konfigurieren
Zeile 139: Zeile 139:
 </code> </code>
  
->>>**mainWnd:onComportData**<code cpp>+>**mainWnd:onComportData**<code cpp>
 // emfangenen Wert an die Controls senden // emfangenen Wert an die Controls senden
 helligkeit.setPos(newData); helligkeit.setPos(newData);
Zeile 150: Zeile 150:
 Vergleichen Sie die Quelltexte mit den oben modellierten Szenarien. Erstellen und Testen Sie die Anwendung. Vergleichen Sie die Quelltexte mit den oben modellierten Szenarien. Erstellen und Testen Sie die Anwendung.
  
->>>{{:projekt:pcanwendung2.png?650|}}+>{{:projekt:pcanwendung2.png?650|}}
  
 Die Weiterentwicklung umfasst die Aufzeichnung der Daten. Dazu ist der Klassenentwurf wie folgt zu erweitern: Die Weiterentwicklung umfasst die Aufzeichnung der Daten. Dazu ist der Klassenentwurf wie folgt zu erweitern:
  
->>>{{:projekt:classprojekt4.png?650|}}+>{{:projekt:classprojekt4.png?650|}}
  
 Für die Dateiarbeit nutzen wir die Klasse [[http://www.mysvl.de/svl_dict/SFile.htm|SFile]]. Die zu speichernden Datensätze sollen zusätzlich das datum und die Uhrzeit der erfassten Helligkeit enthalten. Dafür nutzen wir die Klasse [[http://www.mysvl.de/svl_dict/STime.htm#1251_Details|STime]]. Ergänzen Sie die Operationen wie folgt: Für die Dateiarbeit nutzen wir die Klasse [[http://www.mysvl.de/svl_dict/SFile.htm|SFile]]. Die zu speichernden Datensätze sollen zusätzlich das datum und die Uhrzeit der erfassten Helligkeit enthalten. Dafür nutzen wir die Klasse [[http://www.mysvl.de/svl_dict/STime.htm#1251_Details|STime]]. Ergänzen Sie die Operationen wie folgt:
  
->>>**MainWnd::onInitWindow**<code cpp>+>**MainWnd::onInitWindow**<code cpp>
 // ... // ...
 // Datei anlegen bzw überschreiben // Datei anlegen bzw überschreiben
Zeile 167: Zeile 167:
 </code> </code>
  
->>>**MainWnd::onComportData**<code cpp>+>**MainWnd::onComportData**<code cpp>
 // ... // ...
 // Helligkeitswerte Aufzeichen // Helligkeitswerte Aufzeichen
Zeile 184: Zeile 184:
 Erstellen und Testen Sie die Anwendung. Die erstellte CSV-Datei kann zum Beispiel mit einer Tabellkalkulation weiter verarbeitet werden. Erstellen und Testen Sie die Anwendung. Die erstellte CSV-Datei kann zum Beispiel mit einer Tabellkalkulation weiter verarbeitet werden.
  
->>>{{:projekt:excellog.png?650|}}+>{{:projekt:excellog.png?650|}}
  
  
Zeile 190: Zeile 190:
 ===== Videozusammenfassung ===== ===== Videozusammenfassung =====
  
->>><flashplayer width="640" height="500" position="0">file=http://youtu.be/???</flashplayer>+><flashplayer width="640" height="500" position="0">file=http://youtu.be/???</flashplayer>
  
 ====== Nächstes Thema ====== ====== Nächstes Thema ======
   * [[das Sequenzdiagramm anwenden]]   * [[das Sequenzdiagramm anwenden]]
   * [[http://www.mysvl.de/wiki/doku.php?id=start|zurück zur Übersicht]]   * [[http://www.mysvl.de/wiki/doku.php?id=start|zurück zur Übersicht]]