Forum: Mikrocontroller und Digitale Elektronik µC-PCC, PC-Programm zum steuern von Mikrocontroller


von Valentin D. (valentin)


Angehängte Dateien:

Lesenswert?

Ein frohes neues Jahr wünsche ich allen Mitgliedern.

Ich möchte hier gerne mein neues Programm vorstellen.

http://www.valentin-diring.de/uC-PCC

Ein Programm, mit dem Sie die IO-Register eines AVR-Mikrocontrollers 
manipulieren können.

PS: Feedback ist ausdrücklich erwünscht

von Karl H. (kbuchegg)


Lesenswert?

Wenn du etwas vorstellen möchtest, dann ist dafür die Codesammlung der 
richtige Platz. Und es wäre toll, wenn du den ganzen(!) Code in der 
Codesammlung hinterlegen kannst. Denn die Codesammlung garantiert, dass 
man auch in 10 Jahren noch den Code von heute dort vorfinden wird. Was 
man von externen Web-Seiten meistens nicht sagen kann.

Danke.

von 1234 (Gast)


Lesenswert?

hier könnt ihr das Programm ohne lästige Registrierung Herunterladen.
www.valentin-diring.de/uC-PCC/uC-PCC.zip

von Klaus W. (mfgkw)


Lesenswert?

Es wäre auch nett, wenn dabei stehen würde, was in etwa dabei abläuft.
Dann muß man nicht erst mühsam die ZIP entdröseln, um dann 
festzustellen, daß man es nicht braucht.

von Klaus W. (mfgkw)


Lesenswert?

Das "Benutzer-Handbuch" in der ZIP sagt aber auch nicht mehr.
Ansonsten ein paar *.exe und *.hex.
Wozu das Ganze?

Ich habe den Verdacht, die 1.6Mb sind für die Katz.
Für die Codesammlung ist jedenfalls auch nichts dabei.

von Vlad T. (vlad_tepesch)


Lesenswert?

Ganz nettes Projekt, leider wird nur so ein alter AVR-Typ unterstützt.
Interessanter als die PC-Gui fände ich die Uart-Protokoll-Beschreibung.

wenn man das alles, was die Gui kann direkt über ein Terminal machen 
könnte, wäre das zur Benutzung in Skripten sehr nütlich.

Die SPI oder I²C über Gui macht zB nicht so viel Sinn.

Ich vermute aber, das Protokoll beschränkt sich auf das Schreiben von 
Adressen und den Rest macht die GUI, oder? Zumindest wäre das für die 
Umsetzung des vorgestellten Ansatzes das einfachste.

Ich hatte mal etwas ähnliches angefangen, was auf einem Tiny861 basiert, 
der Befehle per UART entgegennimmt.
Ist aber, wie so oft nicht fertig, wird aber nach Bedarf erweitert
zur Zeit sind es nur die Basisfunktionen, die unterstützt werden:
Digitaleausgänge schalten,
Digitaleingänge einlesen
Analogeingänge einlessn (auswählbare Referenz)
periodisches Einlesen beliebiger Kanäle (Open Format für Logview)
PWM und Counter steht noch ganz oben auf der Liste

Falls meine Vermutung bezüglich der Implementierung des Protokolls 
falsch ist, wäre ich daher sehr erfreut, wenn du den Code und eine 
Protokoll-Beschreibung frei zugänglich machst.

MfG
Vlad


PS:
DAs Handbuch ist kein Handbuch, sondern eine Sammlung von Schaltplänen, 
ohne weitere Erklärungen.
Der einzige wirkliche Text ist die Seite mit den sinnlosen 
Rechtsbelehrungen.
WEnn ich mich recht erinnere sind Schaltpläne nicht vom Urheberrecht 
erfasst, womit auch ein Großteil dieser Belerhungen überflüssig ist.

von Klaus W. (mfgkw)


Lesenswert?

Damit nicht jeder sich das antun muß hier der Inhalt der ZIP:
1
M Filemode      Length  Date         Time      File
2
- ----------  --------  -----------  --------  ---------------------------------
3
  -rw-rw-rw-    889416  14-Oct-2011  06:21:08  .NetFramework4.exe
4
  drwxrwxrwx         0  14-Dec-2011  21:35:12  PC-Software/
5
  -rw-rw-rw-    786195  14-Dec-2011  21:35:12  PC-Software/Benutzer-Handbuch.pdf
6
  drwxrwxrwx         0  31-Dec-2011  19:26:24  PC-Software/Datasheet/
7
  -rw-rw-rw-        46  31-Dec-2011  19:26:06  PC-Software/SystemClock.scl
8
  -rw-rw-rw-    287744  31-Dec-2011  18:23:36  PC-Software/æC-PCC.exe
9
  -rw-rw-rw-       179  14-Oct-2011  07:24:50  WICHTIG.txt
10
  drwxrwxrwx         0   6-Oct-2011  08:34:46  æC-Firmware/
11
  -rw-rw-rw-       325   6-Oct-2011  05:21:24  æC-Firmware/m16-16MHz.hex
12
  -rw-rw-rw-       325   6-Oct-2011  05:15:30  æC-Firmware/m16-1MHz.hex
13
  -rw-rw-rw-       325   6-Oct-2011  05:08:32  æC-Firmware/m16-2MHz.hex
14
  -rw-rw-rw-       325   6-Oct-2011  05:00:38  æC-Firmware/m16-4MHz.hex
15
  -rw-rw-rw-       325   6-Oct-2011  05:17:06  æC-Firmware/m16-8MHz.hex
16
  -rw-rw-rw-       345   6-Oct-2011  08:32:56  æC-Firmware/m16.hex
17
  -rw-rw-rw-       325   6-Oct-2011  05:21:24  æC-Firmware/m32-16MHz.hex
18
  -rw-rw-rw-       325   6-Oct-2011  05:15:30  æC-Firmware/m32-1MHz.hex
19
  -rw-rw-rw-       325   6-Oct-2011  05:08:32  æC-Firmware/m32-2MHz.hex
20
  -rw-rw-rw-       325   6-Oct-2011  05:00:38  æC-Firmware/m32-4MHz.hex
21
  -rw-rw-rw-       325   6-Oct-2011  05:17:06  æC-Firmware/m32-8MHz.hex
22
  -rw-rw-rw-       345   6-Oct-2011  08:32:56  æC-Firmware/m32.hex
23
  -rw-rw-rw-     36864  12-Oct-2011  18:48:54  æC-PCC-Starten.exe
24
- ----------  --------  -----------  --------  ---------------------------------
25
               2004384                         21 files

von Oliver J. (skriptkiddy)


Lesenswert?

Sieht interessant aus.
Würde es dich stören uns einen Blick in die Quellen zu gestatten?

Gruß Oliver

von Vlad T. (vlad_tepesch)


Lesenswert?

dank dieses tollen "Empfehle meinem Freund"-Blödsinns passt die Gui 
horizontal nicht auf meine (1680-Startleiste) Pixel, was unter anderem 
auch daran liegt, dass die Tabs rechts ein haufen leere Fläche haben.
über den interne/externe Peripherie-Buttons ist auch ein Haufen Platz 
und bei externer Peripherie ist gar nix.

Die Gui könnte also deutlich kompakter sein.
Der Impuls-Generator-Button wirklt auch fehl am Platz, den könnte man 
auch ins Menü packen, was ja auch als Buttonleiste misbraucht wird, da 
einige Menüeinträge direkt eine Funktion auslösen, anstatt, wie für ein 
Haupmenü üblich, erst mal ein Untermenü zu öffnen.

wiso scrollt das Hauptmenü überhaupt mit hoch, wenn man vertikal scrollt 
(die Fenster-Startgröße ist kleiner als der Fensterinhalt?
Gleiches gilt für die Statusleiste, was aber hier nicht schlimm ist, da 
die keinen Informationsgehalt bietet. Die Webadresse gehört unter 
Hilfe/about

von Vlad T. (vlad_tepesch)


Lesenswert?

Die HExfiles enthalten nur ~100Bytes Programmcode.
Ist da ein Fehler unterlaufen, oder stimmt das tatschlich?

von Leo H. (Gast)


Lesenswert?

Feedback: Die Idee hinter dem Programm finde ich gut.

Mit so einem Tool könnte man eine Schaltung schön einfach testen, nach 
dem Löten die .hex aufspielen und schnell mal ein paar Pins wackeln, PWM 
ausgeben, ...
Sehr nett wäre ein integrierter Bootloader, das wäre dann fast "JTAG für 
arme"

Aaaaaber:
- die Registrierung auf der Seite ist mal komplett unsinnig, wozu müssen 
die Daten erhoben werden? E-Mail Adresse sehe ich ja noch ein, dann aber 
bitte lokal auf der Seite und nicht über so einen dubiosen Anbieter. 
Selbst der Link zum Anbieter führt über 4-5 Redirects, ich will garnicht 
wissen wo eine E-Mail Adresse überall landet.

- Empfehlungs-Funktion im Programm: Najaa. Meinetwegen, wäre aber in der 
Hilfe oder Übersicht besser aufgehoben. 1/3 vom Bildschirm sind von 
dieser Funktion blockiert, wo auch nicht klar ist wie die Mails 
überhaupt verschickt werden...

- Anonyme Daten-Erhebung: Was soll das denn? Feature-Wünsche oder 
Kommentare lassen sich per Mail oder Forum viel besser übermitteln.
Was nützt dir die Info, das 100 User 50x täglich mit deinem Tool den 
AD-Wandler ein- und wieder ausschalten?! Bekommt der zugehörige Button 
dann rundere Ecken, damit der Cursor nicht so hart anstößt?

Fazit: Man könnte auf die Idee kommen, hier soll mit einem Programm mit 
minimalem Gegenwert irgendwie Geld/Ego/Klicks/Adressen gesammelt werden.
Wozu? Kommt von den Kindererziehungs- und Dating-Tipps nicht genug rum?

von Valentin D. (valentin)


Angehängte Dateien:

Lesenswert?

Danke erstmal für den zahlreichen Feedback.

> Autor: Karl Heinz Buchegger (kbuchegg) (Moderator)
> Datum: 01.01.2012 22:41
> Wenn du etwas vorstellen möchtest, dann ist dafür die Codesammlung der
> richtige Platz.
Das Programm ist auch für den geeignet, der nicht einfach nur ein 
Projekt nachbauen möchte. Z.B. Einer, der sich mit CPLDs oder FPGAs 
beschäftigt, und ein paar digitale Signale braucht.
> Und es wäre toll, wenn du den ganzen(!) Code in der
> Codesammlung hinterlegen kannst.
Der Firmware-Code ist recht klein. Siehe Anhang.
> Denn die Codesammlung garantiert, dass
> man auch in 10 Jahren noch den Code von heute dort vorfinden wird.
Ich mache dann dort ein Thread mit einem Verweis auf Diesen.

Danke für die Tipps
-------------------

> Autor: 1234 (Gast)
> Datum: 01.01.2012 23:17
> hier könnt ihr das Programm ohne lästige Registrierung Herunterladen.
> www.valentin-diring.de/uC-PCC/uC-PCC.zip
Über den Facebook-Button geht es noch schneller.

-------------------

> Autor: Klaus Wachtler (mfgkw)
> Datum: 01.01.2012 23:51
> Es wäre auch nett, wenn dabei stehen würde, was in etwa dabei abläuft.
Bitte das YouTube-Video vollständig ansehen. Es wurde von mir in 
HD-Qualität aufgenommen (Evtl. auf HD umschalten bitte).
> Dann muß man nicht erst mühsam die ZIP entdröseln, um dann
> festzustellen, daß man es nicht braucht.
"entdröseln" ist ein Fremdwort für mich, dass ich nicht kenne.
>  Autor: Valentin Diring (valentin)
>  Datum: 01.01.2012 22:28
>  Ein Programm, mit dem Sie die IO-Register eines AVR-Mikrocontrollers
>  manipulieren können.

-------------------

> Autor: Klaus Wachtler (mfgkw)
> Datum: 01.01.2012 23:58
> Das "Benutzer-Handbuch" in der ZIP sagt aber auch nicht mehr.
> Ansonsten ein paar *.exe und *.hex.
> Wozu das Ganze?
>  Autor: Valentin Diring (valentin)
>  Datum: 01.01.2012 22:28
>  Ein Programm, mit dem Sie die IO-Register eines AVR-Mikrocontrollers
>  manipulieren können.
> Ich habe den Verdacht, die 1.6Mb sind für die Katz.
Hmm? Haben Sie keine Flatrate?
> Für die Codesammlung ist jedenfalls auch nichts dabei.
Ja.

-------------------

> Autor: Vlad Tepesch (vlad_tepesch)
> Datum: 01.01.2012 23:58
> Ganz nettes Projekt, leider wird nur so ein alter AVR-Typ unterstützt.
Es werden die ATmega16 und ATmega32 vorerst unterstützt, weil diese am 
meisten verbreitet sind.
> Interessanter als die PC-Gui fände ich die Uart-Protokoll-Beschreibung.
Dieser ist recht einfach. Siehe Anhang.
> wenn man das alles, was die Gui kann direkt über ein Terminal machen
> könnte, wäre das zur Benutzung in Skripten sehr nütlich.
Ich bin da anderer Meinung. Dank der GUI hast Du voll den Überblick.
> Die SPI oder I²C über Gui macht zB nicht so viel Sinn.
Da bin ich auch anderer Meinung. Mit I²C kannst Du z.B. ein EEPROM 
(24Cxx) brennen. Stell dir vor, Du hast ein Projekt indem ein Tiny861 
einen 24Cxx EEPROM benutzt. Und Du willst wissen was passiert, wenn ein 
bestimmter Wert erreicht ist, dann kannst Du diesen ganz gezielt 
manipulieren (geplanter Feature).
> Ich vermute aber, das Protokoll beschränkt sich auf das Schreiben von
> Adressen und den Rest macht die GUI, oder? Zumindest wäre das für die
> Umsetzung des vorgestellten Ansatzes das einfachste.
So ist es.
> Ich hatte mal etwas ähnliches angefangen, was auf einem Tiny861 basiert,
> der Befehle per UART entgegennimmt.
> Ist aber, wie so oft nicht fertig, wird aber nach Bedarf erweitert
Schade, klingt aber sehr interessant.
> zur Zeit sind es nur die Basisfunktionen, die unterstützt werden:
> Digitaleausgänge schalten,
> Digitaleingänge einlesen
> Analogeingänge einlessn (auswählbare Referenz)
> periodisches Einlesen beliebiger Kanäle (Open Format für Logview)
> PWM und Counter steht noch ganz oben auf der Liste
Veröffentliche es doch, oder schick es mir bitte per Email.
Ich würde es mir gerne ansehen.
> Falls meine Vermutung bezüglich der Implementierung des Protokolls
> falsch ist, wäre ich daher sehr erfreut, wenn du den Code und eine
> Protokoll-Beschreibung frei zugänglich machst.
Siehe Anhang.
> PS:
> DAs Handbuch ist kein Handbuch, sondern eine Sammlung von Schaltplänen,
> ohne weitere Erklärungen.
Da kommt noch der Text dazu. Später.

Danke für das große Interesse Vlad Tepesch.
-------------------------------------------

> Autor: Klaus Wachtler (mfgkw)
> Datum: 01.01.2012 23:59
> Damit nicht jeder sich das antun muß hier der Inhalt der ZIP:
Relevant sind nur folgende Dateien:
- µC-PCC-Starten.exe
- µC-Firmware Ordner mit den Hex-Dateien
- WICHTIG.txt
und evtl. die
- .NetFramework4.exe
Ich finde das sollte sich jeder mal antun!

-------------------------------------------

> Autor: Oliver J. (skriptkiddy)
> Datum: 02.01.2012 00:04
> Sieht interessant aus.
> Würde es dich stören uns einen Blick in die Quellen zu gestatten?
Kein Problem, siehe Anhang.

Danke für das Interesse.
-------------------------------------------

> Autor: Vlad Tepesch (vlad_tepesch)
> Datum: 02.01.2012 00:11
> dank dieses tollen "Empfehle meinem Freund"-Blödsinns passt die Gui
> horizontal nicht auf meine (1680-Startleiste) Pixel, was unter anderem
Du kannst die Breite minimieren, diese wird dauerhaft abgespeichert.
> auch daran liegt, dass die Tabs rechts ein haufen leere Fläche haben.
> über den interne/externe Peripherie-Buttons ist auch ein Haufen Platz
> und bei externer Peripherie ist gar nix.
Es wird noch was hinzukommen.
> Die Gui könnte also deutlich kompakter sein.
Breite minimieren. Schick mir bitte ein Screenshot per Email. So könnte 
ich das Programm an deinen Bildschirm evtl. anpassen.
> Der Impuls-Generator-Button wirklt auch fehl am Platz, den könnte man
> auch ins Menü packen, was ja auch als Buttonleiste misbraucht wird, da
> einige Menüeinträge direkt eine Funktion auslösen, anstatt, wie für ein
> Haupmenü üblich, erst mal ein Untermenü zu öffnen.
Ja, aber die Icons sind nicht üblich in der Menuleiste.
> wiso scrollt das Hauptmenü überhaupt mit hoch, wenn man vertikal scrollt
> (die Fenster-Startgröße ist kleiner als der Fensterinhalt?
Screenshot bitte.

Ansonsten Danke für die konstruktive Kritik
-------------------------------------------

> Vlad Tepesch schrieb:
> Die HExfiles enthalten nur ~100Bytes Programmcode.
> Ist da ein Fehler unterlaufen, oder stimmt das tatschlich?
Das stimmt tatsächlich.

**********

Das Programm wird von mir laufend weiterentwickelt.
Weiter Veröffentlicht wird es nur, wenn genug Leute sich in meine 
Newsletter-Liste eintragen (sprich das Programm nutzen).

MfG
Valentin Diring
http://www.valentin-diring.de/uC-PCC

PS: Bitte über den oberen Link das Programm beziehen, weil es für mich 
wichtig ist zu wissen, wieviele Nutzer es gibt.

PPS: Mist, ich hab vergessen auf die Uhr zugucken. Gute Nacht 
allerseits.

von Valentin D. (valentin)


Lesenswert?

> Autor: Leo-andres H. (leoloewe)
> Datum: 02.01.2012 04:00
> Feedback: Die Idee hinter dem Programm finde ich gut.
Freut mich.
> Mit so einem Tool könnte man eine Schaltung schön einfach testen, nach
> dem Löten die .hex aufspielen und schnell mal ein paar Pins wackeln, PWM
> ausgeben, ...
Das ist nur ein Anwendungsbereich. Du kannst auch ein PWM für andere 
Schaltung ausgeben und diesen mit dem Mauscursor, anstatt mit einem 
Poti, verändern. Mit einem Poti und LCD-Anzeige wäre sowas bestimmt 
teurer und umständlicher.
> Sehr nett wäre ein integrierter Bootloader, das wäre dann fast "JTAG für
> arme"
Was meinst Du damit? Ein Bootloader, der die Hex-Datei in den Flash 
brennt, oder die Hex-Datei selbst als Bootloader.
> Aaaaaber:
> - die Registrierung auf der Seite ist mal komplett unsinnig, wozu müssen
> die Daten erhoben werden? E-Mail Adresse sehe ich ja noch ein, dann aber
> bitte lokal auf der Seite und nicht über so einen dubiosen Anbieter.
> Selbst der Link zum Anbieter führt über 4-5 Redirects, ich will garnicht
> wissen wo eine E-Mail Adresse überall landet.
Ich benutze die Zurzeit beste und sichere Anmeldungssoftware in 
Deutschland. Eine Email-Adresse reicht grundsätzlich vollkommen aus.
Bitte die Hinweise unter dem Anmeldeformular durchlesen.
1.Sie erlauben mir, mit Ihrer Anmeldung bei meinem Newsletter, Ihnen 
regelmäßig eMails zuschicken, die Sie über den Verlauf dieses Programms 
(µC-PCC) informieren.
2.Ich gebe Ihre eMail-Adresse nicht an Dritte weiter !
3.Mit nur EINEM Klick können Sie sich abmelden !
> - Empfehlungs-Funktion im Programm: Najaa. Meinetwegen, wäre aber in der
> Hilfe oder Übersicht besser aufgehoben. 1/3 vom Bildschirm sind von
> dieser Funktion blockiert, wo auch nicht klar ist wie die Mails
> überhaupt verschickt werden...
Sorry, wird noch geändert werden.
Die Emails werden über meinen 1&1 Email-Server versendet. Es werden in 
diesem Fall keine Email-Adressen und auch die Nachrichten selbst nicht 
gespeichert. Bitte Hinweis durchlesen.
> - Anonyme Daten-Erhebung: Was soll das denn? Feature-Wünsche oder
> Kommentare lassen sich per Mail oder Forum viel besser übermitteln.
Ja, das wäre schön.
> Was nützt dir die Info, das 100 User 50x täglich mit deinem Tool den
> AD-Wandler ein- und wieder ausschalten?! Bekommt der zugehörige Button
> dann rundere Ecken, damit der Cursor nicht so hart anstößt?
Zurzeit werden nur die Programm-Aufrufe erfasst.
Wie schon gesagt muss ich wissen, wieviele Leute das Programm nutzen.
Außerdem hilft es mir später Priorität bei der Entwicklung zu setzen.
> Fazit: Man könnte auf die Idee kommen, hier soll mit einem Programm mit
> minimalem Gegenwert irgendwie Geld/Ego/Klicks/Adressen gesammelt werden.
> Wozu?
Mein Ziel ist es mit diesem Programm allen Elektronikern da draußen zu 
helfen. Und wenn ich dabei ein paar Euros verdiene, dann ist es völlig 
in Ordnung. Noch habe ich nichts verdient. Und wenn das Programm keinem 
Menschen hilft, dann habe ich auch nichts zu verdienen.

Es würde mich echt freuen, wenn hier jemand schreiben könnte, wie er 
oder sie das Programm konkret nutzt. Damit meine ich ein konkretes 
Projekt auf einem Steckbrett aufgebaut, beidem Du alle Taster und 
Schalter raus geschmissen hast und stattdessen den Mikrocontroller-PCC 
nutzt.

von spess53 (Gast)


Lesenswert?

Hi

>Es werden die ATmega16 und ATmega32 vorerst unterstützt, weil diese am
>meisten verbreitet sind.

Nur bei Amateuren. Ich benutze schon seit ca. 14 Jahren AVRs und habe 
noch keinen von den beiden in einem Projekt benutzt. Am Anfang waren die 
zu klein und jetzt sind sie überholt.

Also, wenn du dir noch keine Gedanken über die Erweiterung gemacht hast 
wird das Ganze, ohne deine Leistung in irgend einer Weise schmälern zu 
wollen, nur eine Programmierübung für dich bleiben.

Für künftige Erweiterungen solltest du dir die Partdescription Files des 
4er AVR Studios mal ansehen. Dort findest du die Informationen über 
Speicherausstattung, IO-Module, Registeradressen, Bitdefinitionen usw. 
der aktuellen AVRs.

MfG Spess

von Vlad T. (vlad_tepesch)


Lesenswert?

Valentin Diring schrieb:
>> wenn man das alles, was die Gui kann direkt über ein Terminal machen
>> könnte, wäre das zur Benutzung in Skripten sehr nütlich.
> Ich bin da anderer Meinung. Dank der GUI hast Du voll den Überblick.
Sicher um mal ein paar kleine Sachen zu testen, ist es sicher gut.
Wenn man den µC aber als verlängerten Arm des PCs benutzen möchte, ist 
es reichlich unpraktisch.

>> Die SPI oder I²C über Gui macht zB nicht so viel Sinn.
> Da bin ich auch anderer Meinung.
wenn man dann aber in der Gui einzelne Bytes für komplexe 
Initialisierungen eintippern und absenden muss ist das unhandlich.
Ebendso die Auswertung der Antworten

> Mit I²C kannst Du z.B. ein EEPROM
> (24Cxx) brennen. Stell dir vor, Du hast ein Projekt indem ein Tiny861
> einen 24Cxx EEPROM benutzt. Und Du willst wissen was passiert, wenn ein
> bestimmter Wert erreicht ist, dann kannst Du diesen ganz gezielt
> manipulieren (geplanter Feature).

>> Ich hatte mal etwas ähnliches angefangen, was auf einem Tiny861 basiert,
>> der Befehle per UART entgegennimmt.
>> Ist aber, wie so oft nicht fertig, wird aber nach Bedarf erweitert
> Schade, klingt aber sehr interessant.
> Veröffentliche es doch, oder schick es mir bitte per Email.
> Ich würde es mir gerne ansehen.
wie gesagt, es ist erst in einem Stadium, in dem ich es selbst zwar 
benutze, in dem man es aber eigentlich niemand anderen zumuten möchte.
Die Eingaben werden zB nicht validiert.
Aber vielleicht setze ich ja wirklich mal einen Artikel auf - obwohl es 
von der Komplexität her nicht wirklich etwas weltbewegendes ist.



Valentin Diring schrieb:
>> Autor: Vlad Tepesch (vlad_tepesch)
>> dank dieses tollen "Empfehle meinem Freund"-Blödsinns passt die Gui
>> horizontal nicht auf meine (1680-Startleiste) Pixel, was unter anderem
> Du kannst die Breite minimieren, diese wird dauerhaft abgespeichert.
dann gibts ja aber Scollbalken.

>> Die Gui könnte also deutlich kompakter sein.
> Breite minimieren. Schick mir bitte ein Screenshot per Email. So könnte
> ich das Programm an deinen Bildschirm evtl. anpassen.
eine individuelle Anpassung macht ja nicht so viel sinn.
Lieber alles unnütze rausschmeißen.
Meine Verbesserungsvorschläge:
- Die "Verbindung zum Mikrocontroller"-Elemente könnten in das 
PC-Schnittstelle-Fenster, das bei Programmstart automatisch geöffnet 
wird, sofern nicht das Häkchen fürs automatische Verbinden gesetzt ist. 
Der Verbindungsstatus gehört in die Statusleiste.
- wenn Statusleiste keine wichtigen Infos bekommt, dann weg.
Link in einen Hilfe/About-Dialog, oder ganz rechts in Menü
- Den Freundes-Quatsch kann man, wenn man ihn unbedingt braucht ja auch 
ins About-Fenster verbannen, oder einen seperaten Dialog draus machen.
- Kosmetik:Interne/Externe Peripherie als Tabs, die dann die Untertabs 
enthalten.
- Analog Devices ist ein eingetragener Firmenname


>> Der Impuls-Generator-Button wirklt auch fehl am Platz, den könnte man
>> auch ins Menü packen, was ja auch als Buttonleiste misbraucht wird, da
>> einige Menüeinträge direkt eine Funktion auslösen, anstatt, wie für ein
>> Haupmenü üblich, erst mal ein Untermenü zu öffnen.
> Ja, aber die Icons sind nicht üblich in der Menuleiste.
in den sich öffnenden Untermenüs schon.
Aber was spricht dagegen dem Generator ebenfalls ein Tab neben den 
anderen zu spendieren? eventuell auch neben den interne/externe 
Peripherie.

>> wiso scrollt das Hauptmenü überhaupt mit hoch, wenn man vertikal scrollt
>> (die Fenster-Startgröße ist kleiner als der Fensterinhalt?
> Screenshot bitte.
lässt sich doch einfach reproduzieren:
veringere die vertikale Fenstergröße und scrolle dann hoch und runter.
Menü und Statusleiste werden mitgescrollt.


Und noch ein Bug:
wenn man bei unverbundenen Controller in den Einstellungen rumklickt 
kommt ständig (je einmal nach verlorener Verbindung sollte reichen) ein 
Fehlerfenster, manchmal gibts aber auch eine unhandled Exception:
zB unter Timer eine "Clock Select"-Option auswählen.

von Karl H. (kbuchegg)


Lesenswert?

Valentin Diring schrieb:

> Es würde mich echt freuen, wenn hier jemand schreiben könnte, wie er
> oder sie das Programm konkret nutzt. Damit meine ich ein konkretes
> Projekt auf einem Steckbrett aufgebaut, beidem Du alle Taster und
> Schalter raus geschmissen hast und stattdessen den Mikrocontroller-PCC
> nutzt.


Darauf würde ich mal nicht setzen.
Denn der Scharm eines µC besteht nun mal darin, dass er nach dem Anlegen 
der Versorgungsspannung sofort mit seiner Arbeit loslegt. Wenn ich da 
erst mal ein PC-Programm booten muss, um dem µC eine Reaktion zu 
entlocken, dann ist das nicht prickelnd.

Was ich mir aber vorstellen könnte: Wenn der µC die übermittelte 
Konfiguration im EEPROM ablegt und nach dem Einschalten automatisch 
wiederherstellt, dann hätte das zumindest soweit einen Sinn, dass man 
sich mit dem µC 'Custom-Chips' bauen kann, die ohne externe Interaktion 
auskommen.

Edit: Wenn ich genauer darüber nachdenke, ist auch das sinnlos. Ohne ein 
wenig Logik der Form "Wenn 'Eingang' dann 'Ausgang'" kommen wohl die 
allerwenigsten Projekte aus. Und wenn man eine Schaltung auf dem 
Steckbrett zusammengesteckt habe, dann schreib man auch schnell ein 
entsprechendes Test-Programm dazu. Recht viel mehr Potential als das 
Austesten einer Schaltung während oder unmittelbar nach deren Aufbau auf 
dem Steckbrett sehe ich ehrlich gesagt nicht in der Idee. Und selbst da 
seh ich bei den Nicht-Anfängern eher wenig Potential, weil ein 
angepasstes einfaches Erst-Programm schreiben nun mal schneller geht und 
letztenedes ohnehin nicht ausbleibt.

Oder auf Deutsch: Es ist nett, wenn ich vom PC aus einen Portpin auf 1 
stellen kann. Aber in der Praxis soll das dann doch eher passieren, wenn 
ein Taster oder eine Lichtschranke oder ein ADC Pegel oder .... einen 
entsprechenden Auslöseimpuls gibt.

von oldmax (Gast)


Lesenswert?

Hi
Vor einiger Zeit hab ich mal etwas ähnliches vorgehabt und dank OOP auch 
realisiert. Ein Programm, um eine Logig-Schaltung zu erzeugen, mit Und, 
Oder, Flipflops usw. Schließlich sollte die Schnittstelle ein Controller 
sein. Bis dahin kein Problem, allerdings, und das ist genau der Tenor 
von KHB, macht es keinen Sinn, einen PC anzuwerfen um eine Steuerung 
damit zu betreiben. Ich denke, das wird später mal ein interessantes 
Rentner-Projekt, wenn ich weiß, wie externe EEProms gelesen und 
beschrieben werden, Dann ist es möglich, mit so einer grafischen 
Oberfläche eine Schaltung zu erzeugen und daraus eine Befehlsfolge im 
EEProm abzulegen. Aber auch die "kleine" Anwendung macht sicherlich 
Spass. Dabei möchte ich noch mal auf "OpenEye" verweisen, welches die 
Variablen in einem Controller zur Laufzeit sichtbar macht und damit bei 
der Programmentwicklung unter Assembler eine wertvolle Hilfe ist. Ich 
hab's hier irgendwo veröffentlicht.
Gruß oldmax

von Vlad T. (vlad_tepesch)


Lesenswert?

ich sehe den Zweck eines solchen etwas eher als Werkzeug um andere 
Schaltungen zu entwickeln.

zumindest war das von mir erwähnte TinyControl dazu gedacht.
Wenn ich etwas baue, was auf bestimmte externe Signale wartet, die ich 
nicht zum Testen des Gerätes zur Verfügung habe, kann man die so 
scriptgesteuert vom PC aus generieren, ohne dass ich ein zweites Etwas 
auf dem Steckbrett aufbauen und dafür ebenfalls eine Software schreiben 
muss.
Das und als billig-Scope oder eher als Datenlogger in Verbindung mit 
Logview (wenn hierfür jemand Alternativen kennt - gerne her damit).

Der von Valentin angedachte Einsatzzweck als Bedienelemente-Ersatz 
erschließt sich mir auch nicht, da auf dem µC ja nix anderes Läuft, als 
die Lese/Schreibe-Register-Anwendung.


Achtung, nicht zuende gedachte Idee:
Da sollte man lieber eine Art Standard-Protokoll erarbeiten über das ein 
µC-Programm seine Parameter/Ausgaben kund tut und über das es Änderungen 
entgegennuimmt, sowie Messwerte übermittelt.
Ein PC-Programm verbindet sich mit dem µC, ließt die Parameterliste und 
erzeugt Gui-Schaltelemente, die dann vom Benutzer angeordnet, 
konfiguriert und letztendlich bedient werden können.

Vorteil:
Unabhängig vom µC-Typ
Als optionale Erweiterung für beliebige µC-Anwendungen
definiertes Protokoll -> scriptbar

Nachteil:
Abhängigkeit vom PC
recht viel Text auf µC-Seite -> Flashverbrauch

von hp-freund (Gast)


Lesenswert?

Wenn es im Prinzip nur um Register/Ports lesen/schreiben geht, vor 
Jahren hab ich mir das mal aufgebaut:

http://www.recursion.jp/avrcdc/cdc-io.html

Über USB-CDC werden einfach Textbefehle wie:
1
FF PORTC =
  (setze PORTC mit FF)
bzw.
1
PINB ?
 (lies PORTB)
abgesetzt.
So war mittels simpler GUI z.B. eine Sensorsteuerung über I2C möglich.

von oldmax (Gast)


Angehängte Dateien:

Lesenswert?

Hi
Ich hab euch mal einen "schnellen" Entwurf in VB angehängt. So in etwa 
könnte ich mir eine Bedienoberfläche für einen Controller vorstellen. So 
etwas funktioniert in der Simulation und sollte auf einem Controller in 
einer Art "Anweisungsliste" in den EEProm geschrieben werden. Die paar 
Bytes reichen allerdings nicht aus, so das ein externer EEProm 
angeschlossen werden muss, um eine einigermaßen umfangreiche 
Programmstruktur zu hinterlegen.
So ein paar Checkboxen auf eine Oberfläche zu setzen und dann den 
IO-Registern zuzuweisen macht zwar Spass, ist aber keinesfalls 
anspruchsvoll.
So, nun hab ich mal eine interessante Vorlage geliefert..... macht was 
draus.
Gruß oldmax

von Vlad T. (vlad_tepesch)


Lesenswert?

super, du hast einen FPGA erfunden ;)

von Guest (Gast)


Angehängte Dateien:

Lesenswert?

oldmax schrieb:
> Hi
> Ich hab euch mal einen "schnellen" Entwurf in VB angehängt. So in etwa
> könnte ich mir eine Bedienoberfläche für einen Controller vorstellen. So
> etwas funktioniert in der Simulation und sollte auf einem Controller in
> [...]
> So, nun hab ich mal eine interessante Vorlage geliefert..... macht was
> draus.
> Gruß oldmax

von Achim M. (minifloat)


Lesenswert?

Die Idee mit dem "verlängerten Arm eines PCs" finde ich hingegen 
interessant. Wenn es ein kleines C-Kommandozeilenprogramm oder 
python-Script gäbe, welches ein Register setzt
1
bash$ avrpcc -set PORTB 0x04
oder einliest und als exitstatus
1
bash$ avrpcc -get PINB -exit
2
 [20578]: avrpcc exited with status 254
oder als Text auf stdout
1
bash$ avrpcc -get PINB -print >>log.txt
ausgibt, wäre das schon ne feine Sache.

Rumgeklicke in einem, sorry, dot-würg Programm "zum Testen" brauch ich 
so direkt nicht wirklich. Wenn ich was zum Testen brauche, mach ich das 
direkt über die Serielle mit einem Terminalprogramm.

mfg mf

von Valentin D. (valentin)


Lesenswert?

> Autor: spess53 (Gast)
> Datum: 02.01.2012 10:17
> Also, wenn du dir noch keine Gedanken über die Erweiterung gemacht hast
> wird das Ganze, ohne deine Leistung in irgend einer Weise schmälern zu
> wollen, nur eine Programmierübung für dich bleiben.

Was haltet ihr von folgenden Erweiterungen:
- Multi High-Speed ISP Programer (mehrere, hardware)
- Mehrere serielle Schnittstellen emulieren (mit Hardware USARTs), 
integrierte Editoren parallel anzeigbar, ...
- Variable Ladungspumpen
- Schritt(motor) Ansteuerung
- Spannungs- und Stromsteuerung
- Akku-Ladegerät
- Background-Prozesse (z.B. Akku-Ladegerät, etc.)
- uvm.

von Karl H. (kbuchegg)


Lesenswert?

Valentin Diring schrieb:


> Was haltet ihr von folgenden Erweiterungen:
> - Multi High-Speed ISP Programer (mehrere, hardware)
> - Mehrere serielle Schnittstellen emulieren (mit Hardware USARTs),

OK

> integrierte Editoren parallel anzeigbar, ...
> - Variable Ladungspumpen
> - Schritt(motor) Ansteuerung
> - Spannungs- und Stromsteuerung
> - Akku-Ladegerät
> - Background-Prozesse (z.B. Akku-Ladegerät, etc.)
> - uvm.

Geht für mich zu weit und ist das andere Extrem. Das ist schon nicht 
mehr das 'einfache', schnell benutzbare 'Schaun-wir-mal' Programm.

Eine einfache Skripting Möglichkeit, bei der man dann auch kleine 
Logiken bauen kann, dann wäre für mich Ende der Fahnenstange. Alles 
weitere schreit dann schon förmlich nach einer direkten 
µC-Programmierung und da gibt es ja Programmiersprachen zuhauf.

Das was oldmax da skizziert hat, das wäre das, wo ich hingehen würde 
(und auch getan hab, ich betreue das Frontend einer Firma die 
Gebäudeautomatisierung genau mit derartigen graphischen Editoren und 
zusammenstellen von Logiken durch Malen realisiert. Nur dass es dann da 
eben auch fertige Module auf höherer Ebene, wie zb PID Regler u.dgl. 
gibt)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.