Show Posts
Pages: [1] 2 3 4
1  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: July 17, 2014, 03:17:41 pm
tach ^^

Die Weiterentwicklung läuft noch. Es gab eine sehr lange Pause, da ich wegen Studium und Arbeit wenig Zeit fand.
Die Software ist unterdessen komplett neu geschrieben wurden, da später Plugins unterstützt werden sollen. Außerdem soll es Multilingual werden.

Der Grund, warum Kaspersky es als Meldung anzeigt, liegt wohl am Dateiformat. Ich glaube die EXE-Datein hatte ich mit UPX gepackt. Daher schlagen einige Antivirenprogramme an.

Eine Mac-Version wird es nicht geben. Der Grund ist ganz einfach: Ich bin ein Windows-User und habe leider kein Mac. Einen Crosscompiler gibt es in PureBasic leider nicht. Allerdings wird es eine Linux-Version geben.

Die aktuelle Version ist noch nicht wirklich verwendbar, daher gab es noch keine weiteren Updates.


Gruß,
SBond

2  International / Deutsch / Re: RAM- / EEPROM-Größe on: April 17, 2014, 03:50:44 pm
oh... du hast recht.

ATMega32-Datasheet, S.18:
Quote
The lower 768/1280/1280/2303 data memory locations address both the Register File, the I/O memory, Extended
I/O memory, and the internal data SRAM. The first 32 locations address the Register File, the next 64 location the
standard I/O memory, then 160 locations of Extended I/O memory, and the next 512/1024/1024/2048 locations
address the internal data SRAM.

vielen Dank smiley
3  International / Deutsch / Re: RAM- / EEPROM-Größe on: April 17, 2014, 03:36:51 pm
danke für die Antworten. smiley

besitzt der SRAM 2000 Bytes oder 2048 Bytes? Ich habe gerade mal das Handbuch des ATMega32 durchgeschaut, aber so richtig schlauer bin ich nicht daraus geworden.


viele Grüße,
SBond
4  International / Deutsch / RAM- / EEPROM-Größe on: April 17, 2014, 02:45:46 pm
Hi Leute,

ich habe mal eine allgemeine Frage. Der von Arduino verwendete ATMega328P-PU hat einen RAM-Speicher von 2KB und EEPROM von 1KB.

Sind das in diesem Fall 2048 Bytes (bzw. 1024 Bytes)? Und können diese Hardwareabhängig um einige Bytes schwanken?
Der Flash-Speicher hat bei mit z.B. 32.256 KB anstatt 32.768 KB.

Ist es Möglich die exakte größe auszulesen oder andersweitig zu ermitteln?


viele Grüße,
SBond
5  International / Deutsch / Re: String (objekt) vs. char array on: April 17, 2014, 12:43:55 pm
cool smiley-wink

vielen Dank.  Muss ich gleich mal testen smiley
6  International / Deutsch / Re: String (objekt) vs. char array on: April 17, 2014, 09:03:12 am
Code:
Ergebnis: char array:
12345689012345568901234556890
Dauer: 40
Ram frei: 1705
Binäre Sketchgröße: 2.874 Bytes

Ergebnis: string:
12345689012345568901234556890
Dauer: 188
Ram frei: 1653
Binäre Sketchgröße: 4.568 Bytes

boa.. smiley-eek

ok, das ist echt übel. Aber an die Performance habe ich auch gar nicht gedacht.
vielen Dank für die Tipps.

An meinem Code sieht man ja schnell, dass ich noch kein großer Programmierer bin. Die Umwandelung der Typen für den CRC hat mich gestern auch sehr aufgeregt. Bin damit auch nicht zufrieden gewesen.

...aber es kann ja nur besser werden smiley-wink

7  International / Deutsch / Re: String (objekt) vs. char array on: April 17, 2014, 07:54:40 am
vielen Dank für die ausführliche Antwort.

So wie ich das sehe, werde ich wohl doch wieder auch char array umsatteln.  Ich habe selber gemerkt, dass ich mit einem normalen Array mehr machen kann, als mit den Strings. Meine einzige Hoffnung war, dass ich RAM einspare.


danke dir erstmal smiley-wink
8  International / Deutsch / String (objekt) vs. char array on: April 17, 2014, 05:57:32 am
Hi Leute,

nach langer Pause wollte ich mal wieder etwas mit meinem Arduino machen smiley-wink

Da ich mit meinem Arduino ASCII-Text über die serielle Schnittstelle empfange und bearbeite, stellt sich mir immer wieder die Frage, ob ein char Array oder ein String in Frage kommt. Beides hat seine Vor- und Nachteile.

Laut Arduino-Referenz benötigt ein String mehr Speicher.   ...aber was bedeutet das genau? Belegt ein String pauschal xx Byte mehr im RAM oder wächst dies mit der Stringlänge?

Prinzipiell habe ich gehofft, dass ich mit Strings RAM spare, da ich im gegensatz zu einem char array  keine max-länge angeben muss. ....oder täusche ich mich da?


hier ist mein aktuell bescheidener Versuch:

Code:
void setup ()
{
  Serial.begin(115200);
}


#define  PUFFER 100

byte     Segmente_aufnehmen   = 0;
char     Segment;
String   Befehl;
String   Temp;

int     CRC_berechnet;
int     CRC_empfangen;

int      Counter;
int      Index;

char     CRC[4];

int     Pos_a;
int     Pos_b;



void loop ()
{

  while (Serial.available() > 0)
  {
   
    // ein Zeichen aus dem Eingangs-Puffer lesen
    Segment = Serial.read();
   
    // den Befehls-String zusammensetzen
    if (Segment == '$' && Segmente_aufnehmen == 0) {
      Segmente_aufnehmen = PUFFER-1;
    }
    else if (Segment == '$' && Segmente_aufnehmen > 0) {
      Segmente_aufnehmen = PUFFER-1;
      Befehl="";
    }
    else if (Segment == '*' && Segmente_aufnehmen > 2) {
      Segmente_aufnehmen = 3;
    }

    if (Segmente_aufnehmen > 0) {
     
      Befehl += (char) Segment;
      Segmente_aufnehmen--;
    }
   
   
    // der Befehl ist komplett....
    if (Segmente_aufnehmen == 0 && Befehl != ""){

      // CRC berechnen
      Index = Befehl.indexOf('*') + 1;
      Temp = Befehl.substring(Index);
      Temp.toCharArray(CRC, 4);
     
      CRC_empfangen = (int)strtol(CRC, NULL, 16);
      CRC_berechnet = 0;
     
      for (Counter = 1; Counter < Befehl.length()-3; Counter++){
        CRC_berechnet ^= (int)Befehl.charAt(Counter);
      }
     
      if (CRC_empfangen == CRC_berechnet) {
        Serial.println("CRC OK");
      }
      else {
        Serial.println("CRC FEHELR");
      }
     
      Serial.println(Befehl);
     
      Pos_a = 0;
     
      while(Pos_a >= 0 && Pos_b >= 0) {
       
        Pos_a = Pos_b;
        Pos_b = Befehl.indexOf(',', Pos_a + 1);
        if (Pos_b == -1) {
          Pos_b = Befehl.indexOf('*', Pos_a + 1);
        }
        Serial.println(Befehl.substring(Pos_a + 1,Pos_b));

      }

      Befehl="";
    }

  }
     
}

ich habe vor, solche Ausdrücke zu Parsen:
Code:
$ACCAL,1120,895,0,D2,4220*14
Es hat den gleichen Aufbau, wie der Datenstrom des NMEA 0183-Protokolls (GPS-Daten).

... ist das sehr ineffizient programmiert? zugegeben.... ich bastel noch an diesem code.


viele Grüße,
SBond
9  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: June 29, 2013, 08:17:55 pm
Hi Leute,

es gibt wieder ein kleines Update.


Ich habe einige kleine Änderungen vorgenommen. Zum einen habe ich die Zeitfunktion neu geschrieben, die eine genauere Zeitberechnung ermöglicht. Die Berechnung erfolgt daher nicht mehr über Millisekunden sondern über Nanosekunden. Die Aktualisierung erfolgt alle 4 Sekunden, um einen besseren Mittelwert zu binden. Die Triggerfunktion habe ich etwas korrigiert, ist aber dennoch sehr einfach gestrickt und bietet noch nicht viele Möglichkeiten. Des Weiteren habe ich eine einfache Frequenzmessung eingebaut. Diese ist auch noch sehr einfach aufgebaut und bietet noch keine Hysterese, um verrauschte Signale zu Kompensieren.

Ich habe jetzt auch noch ein Fenster hinzugefügt um Informationen anzuzeigen. Ist noch alles temporär und wird später ausgebaut.






Die Information "Oszilloskop Datenverlust" bedeutet in diesem Fall, dass nicht alle Daten, die vom COM-Port gelesen wurden in die GUI geplottet wurden. Das passiert zum Beispiel, wenn das Fenster verschoben wird und dadurch die GUI "einfriert". Die Daten, die für den Graph verloren gegangen sind werden auch in der Statusleiste (links neben der Fortschrittsanzeige) angezeigt. Ein echter Datenverlust entsteht aber erst dann, wenn es zum Pufferüberlauf kommt (sollte aber in der Regel nie vorkommen)



Da jetzt wieder Prüfungszeit ist, werde ich für die nächsten 6 Wochen die Programmierung pausieren und keine Updates hochladen. Anschließend wird das Projekt wieder aufgenommen. Eventuell kann es ja noch jemandem von Nutzen sein.

Das Programm ist wieder im Anhang. Wer Probleme haben sollte, kann einfach eine PN oder E-Mail (SBond.Softwareinfo@gmail.com) an mich senden.


lg
SBond
10  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: June 20, 2013, 01:45:41 pm
@sth77: Das Tool programmiere ich jetzt in PureBasic, da es die Performance liefert, die ich für eine Echtzeitauswertung brauche. Ich nutzte zur Zeit mehrere Threads um die Datenkonsistenz zu gewährleisten. Allerdings ist die Handhabung dadurch sehr schwierig geworden, da mehrere Funktionen asynchron ablaufen. Nochmals danke für die Infos und Vorschläge. Das Register "Verbindung" ist auch noch im Umbau, da mir einige Fehler aufgefallen sind. Diese Hardwareauswahl hat momentan noch keinen funktionellen nutzen. Später kommt wieder das Register "Prozessabbild", bei dem mal alle digitalen/analogen Pins und Programmvariablen live beobachten und steuern kann. Erst hier wird die Hardwareauswahl benötigt. ggf. kommt noch ein Register, in dem man verschiedene Boards vergleichen kann.


Die Ansicht habe ich mal mit MS-Paint umgebaut. Gefällt es dir so besser? (ist nur so ein grobes Beispiel)



Solche Funktionen wie Exportieren kommen zwar noch, aber etwas später. Für mich haben noch einige Basis-Funktionen höhere Priorität. Es steckt noch sehr viel Potential drin und das Oszi ist nur eine davon. Ich entwickel später noch ein Protokoll, mit dem man dann die Boards steuern kann. Wenn alles klappt, kommt auch noch ein Web-Interface dazu um das Board über Internet oder BlueTooth zu steuern. Aber eins nach dem anderen.
Für den Fall, dass sich jemand über die Versionsnummer wundern sollte... sie setzt sich folgendermaßen zusammen: Hauptversion.persönliche_Meilensteine.Buildcounter.Compilecounter. Zumindest, bis irgendwann mal die v1.0 fertig ist.

lg
SBond
11  International / Deutsch / Re: LEDs auf dem Aduino-Board abschalten on: June 19, 2013, 06:54:58 pm
ggf. mit Farbspray oder Lackfarbe die LEDs überdecken. Eventuell hilft auch ein Edding.

wie hier schon erwähnt.... Softwaremäßig ist es nicht möglich die LEDs abzuschalten

lg
SBond
12  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: June 19, 2013, 06:50:14 pm
Hi Leute,

momentan wieder ein kleines Update. Habe nun mein altes Programm ("Arduino-Control") zum größten Teil in der neuen Programmiersprache umgesetzt.
Das Programm ließt auch die Daten Byteweise ein, wie es auch bei meinem Nano-Oszi war.
Der größte Unterschied ist, dass man nun den Graphen konfigurieren und von der Größe her anpassen kann. Zum Triggern, kann man mit rechtsklick ein "Triggerkreuz" setzen. An dieser Position wird dann getriggert. Die Funktion ist noch sehr provisorisch, daher ist die FPS-Rate noch nicht so groß und es kann hier und da mal ruckeln oder verzerren. Ich werde es aber die nächsten Tage korrigieren. Die Einstellungen kann man leider auch noch nicht speichern, da ich noch eine Profilverwaltung hinzufügen will. Es ist eben noch eine Alpha-Version.

Die Zeitdarstellung wird automatisch berechnet und passt soweit. Eine Einstellung für Time/DIV kommt demnächst, genauso wie viele andere Basisfunktionen zum Ablesen und Auswerten.








erstmal viel spaß beim Testen, wer will. smiley-wink
Programm ist wie immer im Anhang

lg
SBond
13  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: June 13, 2013, 12:49:44 pm
2 Arduinos zu verwenden ist schon ein interessante Idee. Darauf bin ich noch gar nicht gekommen. Ob die Korrelanz gegeben ist, weiß ich nicht genau. Das müsste man einfach mal testen und messen. Eine geringe Abweichung wäre für mich noch verkraftbar.

FFT & Co. hat noch ein wenig Zeit. Ich muss mal schauen, wann ich es einbringe, da meine Prüfungen anfang Juli losgehen.


Am Wochenende kann ich ggf. ein Update hochladen. Muss erst noch eine Tigger-Funktion einbauen, sonst bringt es nichts.
14  International / Deutsch / Re: Arduino-Oszilloskop [Arduino-Control] on: June 13, 2013, 07:13:55 am
hoppla....

bin wohl etwas zu spät.
Aber für alle die sich noch hierher verirren sollten: Das Programm "Arduino-Control" wurde in dieser Form abgebrochen, da die Programmiersprache für diese Zwecke einfach zu langsam war. Eine Neuentwicklung ist zur Zeit aktiv in Bearbeitung. Updates werden solange hier veröffentlicht:

http://forum.arduino.cc/index.php?topic=160703.0

15  International / Deutsch / Re: Arduino-Oszilloskop - [Nano Version] on: June 12, 2013, 11:07:21 am
C# ist leider nicht so mein Fall, da es soweit ich weiß .Net als Runtime benötigt. Wenn du aber weiter damit arbeiten möchtest, dann solltest du dich in jedem Fall mal in dem Bereich DoubleBuffer einlesen. Das erhöht die FPS-Rate sehr stark. Mit Direct2D hatte ich immer etwas Probleme bei der Verwendung.

....so heute ist erst mal Ruhe angesagt. Mit einer Erkältung kann man wirklich schlecht programmieren smiley-sad
Pages: [1] 2 3 4