PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Neue IDE für BASCOM



darxon69
19.12.2007, 15:25
Hallo Leute.

Die Bascom IDE ist ja nun alles andere als benutzerfrendlich . insbesondere die verwendung von MDI- Fenstern anstatt Tabs wie bei allen anderen mir bekannten IDEs führt ja bei größeren Projekten mit mehreren Files dazu, daß man schlichtweg nur noch am Suchen ist, wo denn die gewünschte Datei gerade liegt. Gibt es irgend welche Bestrebungens seitens der Entwickler dies nun endlich mal zu ändern? Hat da jemand was gehört?
Die andere Alternative wäre ja ein gänglicher Verzicht auf die IDE und deren Ersatz durch ein roichtiges Entwicklertool wie Eclipse oder Codeblocks. Dazu büsste aber der Compiler von der Kommandozeile aufrufbar sein, damit man dann die Files auch compilieren kann. Geht das mit Bascom oder nicht? Wenn ja, hat das schon mal jemand gemacht?

stefan_Z
19.12.2007, 17:13
Also ich finde die IDE schon "fast" brauchbar, einige Dinge sind aber in der Tat schlecht bis garnicht durchdacht.
Was mich vor allem nervt sind kleine Unstimmigkeiten:
- Fensterverwaltung
- Groß-/Kleinschreibung in der Syntax (bei manchen Befehlen werden die Kommas nicht richtig sortiert, bei anderen werden die Variablen mit Kleinbuchstaben am Anfang formatiert, etc)
- Automatismen fehlen, die das Leben vereinfachen: anständige Syntax-Vervollständigung (wenn ich z.B. CONFIG SERIALIN schreibe, sollte er mir direkt mögliche Optionen hinschreiben), die Optionen aus dem Compilermenü sollte man per Klick als Syntax ins Listing verschieben können
- Ein Fenster mit dynamischer Resourcenanzeige wäre klasse: Wieviel SRAM ist noch über, müsste man den Stack größer machen, welcher Teil meines Programms verbraucht wieviel Flash-Speicher, wie groß sind die vorhandenen EEP-Zeilen alle zusammen, etc.
- Das Handbuch ist recht dürftig - vor allem von der Aufteilung her und die Samples könnten besser sein. Es fehlt mir ein Wenig didaktisches Denken... Wieso gibts kein Sample für CONFIG ACI z.B.?
- Das Setzen von speziellen Registern könnte deutlich besser gemacht sein: sobald man z.B. anfängt Sachen wie PCINT zu verwenden, muss man erst wieder Datenblätter wälzen - dabei wäre das schon sauber und verständlich lösbar!

recycle
19.12.2007, 17:17
Die Bascom IDE ist ja nun alles andere als benutzerfrendlich .

Zu mir war sie bisher eigentlich immer ganz freundlich ;-)



Die andere Alternative wäre ja ein gänglicher Verzicht auf die IDE und deren Ersatz durch ein roichtiges Entwicklertool wie Eclipse oder Codeblocks.

Scheint mir ein wenig mit Kanonen auf Spatzen geschossen, zumal doch immer behauptet wird "richtige Entwickler" geben sich nicht mit Basic ab. Aber jedem das Seine.



Dazu büsste aber der Compiler von der Kommandozeile aufrufbar sein, damit man dann die Files auch compilieren kann.

Da könntest du dich mal auf der Bascom Herstellerseite nach dem ["Utility to use the Compiler from the Command Line. You can use your own favorite editor or use a batch job." umsehen. Klingt fast wie dafür geschaffen.

darxon69
19.12.2007, 18:11
Das Utility scheint nicht schlecht zu sein ist aber schon ne Weile alt. Das wird offensichtlich nicht gepflegt. Ich kann ja nur hoffen, daß die Entwickler mal wenigstens das Tabbed-Editing integrieren. Sowas ollte eigentlich in ein paar stunden umgebaut sein (jedenfalls bei Delphi, ich weiß aber nicht womit die BAscom IDE programmiert wurde).

darxon69
19.12.2007, 18:15
zumal doch immer behauptet wird "richtige Entwickler" geben sich nicht mit Basic ab.


Naja also ich komm eher so aus der Pascal Ecke, aber PAscal ist für den AVR ja recht stiefmütterlich vertreten. Ich habe mir mal MikroPascalAVR angeschaut und muss sagen, daß das recht buggy ist. Mit C werde ich nicht richtig warm. Sorry, abe rich bin von Pascal halt den sauberen Programierstil gewöhnt und wenn ich mir so manche Programme, die auch hier in C veröffentlicht werden, dann wird mir...
Aber vielleicht sollte ich mich doch mal auf diese Ebene herunter begeben.

stefan_Z
19.12.2007, 18:26
Ich finde Basic schon super komfortabel und völlig ausreichend für µCs.
Mit C werde ichauch nicht warm, aber die Sprache selber ist schon deutlich mächtiger... Aus der Syntax werde ich aber irgendwie nicht schlau, das ist alles sehr verwirrend :-O
Bascom hat halt den Vorteil, dass es sich immer schön gleich benimmt und man auch nicht viel einstellen kann. Eigentlich macht es ja auch nicht viel mehr als die Basic-Befehle in eigene ASM Routinen zu übersetzen und dann durch den Compiler zu jagen. In C kann man da sichlich viel mehr rausholen - einmal beim Timing und auch bei der Größe - aber man muss halt wissen wie... viel Aufwand für nen 2 Euro µC...

Was mich halt stört, ist dass Bascom irgendwie sehr "lieblos" aussieht. Vielleicht bin ich da als MacUser auch verwöhnt, aber die Summe aller Kleinigkeiten wie Fenster, Fehlermeldungen usw. bestimmt maßgeblich die Benutzerfreundlichkeit. Das Endergebnis mag das selbe sein, aber der Weg dorthin könnte oft einfacher sein.

darxon69
19.12.2007, 19:18
Was mich halt stört, ist dass Bascom irgendwie sehr "lieblos" aussieht.


Das aussehen ist mir eigentlich total egal. Wichtig ist mir, daß ich schnell und effektiv programmieren kann ohne imme rirgend welche fenster auf und zu machen zu müssen um von einer Quelltextdatei zur nächsten zu wechseln.
Bin gerade dabei mir mal AVRco anzuschauen. Das teil macht nen megaguten eindruck. Werde mal mit der Demo rum spielen.

roboterheld
19.12.2007, 20:11
.....wie Eclipse.....



nein, chaos pur...!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

kurzschluss
20.12.2007, 09:29
zum dem Thema:

mir fehlt in Bascom irgendwie die Möglichkeit zusammengesetzte
Datentypen (Pascal: Record) aufzubauen.... ](*,)

z.B.

...
Type MeinDatentype
Vorname as String
Nachname as String
Alter as Byte
Geburstag as Date
End Type

Dim User as MeinDatentype

oder gar:

Dim Userlist[10] as MeinDatentype 'quasi ein Array of Record
.....


Handling im Programm per:

User.Vorname = Kurzschluss
User.Alter as Byte = 33

usw.

Ist da was bekannt, ob das in Bascom machbar ist ?
Vieleicht wäre das was für die Wunschliste an Mark Alberts.

Weihnachliche Grüße O:)
Kurzschluss

chr-mt
20.12.2007, 10:01
Hi,

Die Bascom IDE ist ja nun alles andere als benutzerfrendlich
Ich finde die Bascom IDE eigentlich recht gelungen.
Auch größere Projekte, also um die 10 000 Zeilen Code, gingen bisher problemlos.
Tabs mag ich irgendwie gar nicht, das ist wohl auch Geschmacksache.
Das einzige, was mich stört ist, daß Bascom bei der Suche nach Wörtern nur im jeweiligen File sucht, und nicht in allen Files, die mit $include eingebunden sind.


zumal doch immer behauptet wird "richtige Entwickler" geben sich nicht mit Basic ab
Und die die es trotzdem tun, verraten es lieber keinem, damit sie nicht ausgelacht werden.. ;)

Gruß
Christopher

recycle
20.12.2007, 14:20
mir fehlt in Bascom irgendwie die Möglichkeit zusammengesetzte
Datentypen (Pascal: Record) aufzubauen....

z.B.

...
Type MeinDatentype
Vorname as String
Nachname as String
Alter as Byte
Geburstag as Date
End Type

Bascom ist von dessen Entwicklern vermutlich nicht unbedingt als Werkzeug zur Datenbank-Entwicklung gemeint ;-)
Vielleicht sollte man im Hinterkopf behalten, dass Bascom ein Compiler für Microcontroller ist und man auf Microcontrollern nicht ganz so mit den Resourcen "rumaasen" kann wie auf dem PC.

Zahlenmässig kann ich es nicht abschätzen, aber die Umsetzung des von dir genannte Beispieldatentypen dürfte eine Menge Speicher und Assemblerzeilen erfordern.

Wenn man soetwas benutzen könnte, würde man sich ganz schnell wundern, warum einem ständig der Speicher ausgeht, Timer- und Interruptroutinen nicht mehr funktionieren usw.

Bascom schlägt eine Brücke zwischen Assembler und einen für den Menschen leichter handlebarer Hochsprache.

Ich fände gar nicht mal so sinnvoll, wenn Bascom Konstrukte anbieten würde, bei denen man gar nicht mehr merkt, dass man mit einer einzelnen Codezeile und Variablen gleich massenweise Speicher und Rechenschritte verbraucht.

stefan_Z
20.12.2007, 14:57
Ich fände gar nicht mal so sinnvoll, wenn Bascom Konstrukte anbieten würde, bei denen man gar nicht mehr merkt, dass man mit einer einzelnen Codezeile und Variablen gleich massenweise Speicher und Rechenschritte verbraucht.

So wie die RND() Funktion? :-P

kurzschluss
20.12.2007, 15:43
mir fehlt in Bascom irgendwie die Möglichkeit zusammengesetzte
Datentypen (Pascal: Record) aufzubauen....

z.B.

...
Type MeinDatentype
Vorname as String
Nachname as String
Alter as Byte
Geburstag as Date
End Type

Bascom ist von dessen Entwicklern vermutlich nicht unbedingt als Werkzeug zur Datenbank-Entwicklung gemeint ;-)
Vielleicht sollte man im Hinterkopf behalten, dass Bascom ein Compiler für Microcontroller ist und man auf Microcontrollern nicht ganz so mit den Resourcen "rumaasen" kann wie auf dem PC.

Zahlenmässig kann ich es nicht abschätzen, aber die Umsetzung des von dir genannte Beispieldatentypen dürfte eine Menge Speicher und Assemblerzeilen erfordern.

Wenn man soetwas benutzen könnte, würde man sich ganz schnell wundern, warum einem ständig der Speicher ausgeht, Timer- und Interruptroutinen nicht mehr funktionieren usw.

Bascom schlägt eine Brücke zwischen Assembler und einen für den Menschen leichter handlebarer Hochsprache.

Ich fände gar nicht mal so sinnvoll, wenn Bascom Konstrukte anbieten würde, bei denen man gar nicht mehr merkt, dass man mit einer einzelnen Codezeile und Variablen gleich massenweise Speicher und Rechenschritte verbraucht.

Meiner Meinung nach sollte das Arbeiten mit Konstrukten auf den Maschinencode keine großen Auswirkungen haben.
Diese Variablen bauen ja auf bestimmen Standartypen (z.B. integer..)
auf.

D.h. nach dem compilieren sollte es im Maschinencode keinen
Unterschied geben ob ich im Quelltext mit z.B.:

Vornamme=Max
Nachname=Mustermann

bzw.

User.Vornamme=Max
User.Nachname=Mustermann

arbeite, mit der zweiten Variante lässt sich halt
strukturierter arbeiten

Nur der Compiler muss den Konstrukt verwalten können.

Grüsse
kurzschluss

recycle
20.12.2007, 15:47
So wie die RND() Funktion? :-P

Wieso? Frisst die soviel Resourcen?
Ich bastel momentan an einer kleinen Schaltung mit nem ATTiny13 und verwende da die RND-Funktion, daher die Nachfrage.

Im Prinzip bestätigt das eigentlich meine Aussage, denn ich habe nicht drüber nachgedacht, dass so eine "kleine, unscheinbare" Funktion viele Resourcen frisst.

stefan_Z
20.12.2007, 16:08
ja braucht schon einiges... dafür, dass sie nicht wirklich zufällig ist ;-)
kommentier die mal komplett raus und schau danach, wieviel Source weniger generiert wird.

recycle
20.12.2007, 19:00
ja braucht schon einiges... dafür, dass sie nicht wirklich zufällig ist

Wirklich zufällig ist die Randomize-Funktion eigentlich nie. Das ist für meinen Zweck momentan eigentlich auch egal.



kommentier die mal komplett raus und schau danach, wieviel Source weniger generiert wird.

Das werde ich bei Gelegenheit malmachen.

Jetzt wo du mich drauf stösst, fällt mir auf, dass ich mir die Verwendung der RND-Funktion eh sparen kann.
Ich hab einen Timerwert genommen um die RND-Funktion möglichst zufällig zu initialisieren. Da kann ich eigentlich auch direkt den Timerwert als Zufallszahl nehmen ;-)

stefan_Z
20.12.2007, 19:40
Also habs eben nochmal getestet.. brauch bei nem 2313 anscheinend um die 11& Flash.. schon viel... Was es an RAM braucht kann ich nicht sagen...

darxon69
21.12.2007, 05:21
Nun die Diskussion geht anscheinend in eine andere Richtung. Mir ging es prinzipiell um das Handling der IDE und nicht um die Effizienz der erstellten Programme.
Da hat BASCOM noch so einige böse Dinge parat . So wird ja immer mal wieder das Thema mit der Division angeführt. A = A / B dauert 111 Takte selbst wenn B=16 als Konstante ist und das mit Bitschieben ganz fix erledigt werden könnte. Der Compiler optimiert da nix.
Klar ist hier C effektiver, dafür hat C aber andere Nachteile ( for(;P("\n").R-;P("|"))for(e=3DC;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);) :-) Ich habe sogar vor kurzem im Internet gelesen, daß C die am leichtesten zu lernende Programmiersprache sei. Der Autor hatte wohl zu viel getrunken ode rnoch nie Probleme mit Pointern gehabt O:)
Bascom ist schon ne gute Alternative, allerdings nicht sehr benutzerfreundlich. So würde ich mir auch wünschen, daß man durch doppelklick auf einen Funktions- oder Prozedurnamen direkt zu dieser springen kann um sie zu bearbeiten. Insbesondere, wenn man mit mehreren Dateien arbeitet geht da schnell ne Sucherei los.

chr-mt
21.12.2007, 07:18
Hi,
übrigens ist eine neue IDE schon angekündigt.
Mark hatte im Juli letzten Jahres mal was von einer neuen IDE geschrieben, die dann aber nicht mehr als Update, sondern als neues Produkt kommen soll.

Gruß
Christopher

darxon69
21.12.2007, 07:20
Na das klingt doch schon mal interessant. Da bin ich mal gespannt.
Aber ich finde es keine gute Idee so etwas dann als neues Produkt zu verkaufen, wo man dann nochmal kräftig zahlen kann. Da steig ich dann doch gleich auf AVRco um.

marvin42x
02.05.2008, 00:30
Etwas spät in diesem Thread, aber ich bin auch gerade dabei zu suchen ob jemand eine Alternative zum Bascom Editor hat.
Da ich auch mit mehreren Include Dateien zu tun habe und das Hauptprogramm auch elend lang wird habe ich mir das Notepad++ geschnappt.

-Es arbeitet mit Tabs

-Es kontrolliert ob die Datei inzwischen von einem anderen Programm verändert worden ist und fragt ob es die Datei reloaden soll.

-Es hat für viele Programmiersprachen Syntax Einfärbung.

-Es können eigen Sprachen definiert werden und damit eigene syntax einfärbung.
Das ist für mich gut weil ich den verschiedenen includes eigene Farben zuweise. Dadurch sehe ich ohne Mühe von welcher include Datei die Konstante oder die Sub im Hauptprogramm kommt.

-Es beherrscht Faltung von Textblöcken.
Ich falte, wenn ich will, das gesamte Programm so zusammen das es auf eine Bildschirmseite passt. Und wenn ich was mache falte ich nur die Sachen auf die ich brauche.

-Es startet andere Anwendungen.
Ich starte Bascom per Mausklick vom Notepad++ aus und es öffnet sich durch die eingebaute Möglichkeit Commandline Argumente zu übergeben mit dem Programm was ich gerade bearbeite.
Dann compilieren, flashen und aus.
Der Bascom Editor sieht dagegen ziemlich blass aus.
Meine Frage oder Suche ist jetzt ob es noch was anderes oder besseres dazu gibt.

Netter Gruß

sechsrad
02.05.2008, 17:15
wer mit bascom arbeitet sollte keine ansprüche an die ide stellen sondern sich auf das wesentliche konzentrieren : programme erstellen die die baugruppen in bewegung setzen.

sechsrad
02.05.2008, 17:19
zumal doch immer behauptet wird "richtige Entwickler" geben sich nicht mit Basic ab


so ist es.
bascom ist etwas für einsteiger, damit die funktion der baugruppen schnell erreicht wird. die effektivität wird zur seite gelegt, welches sich aber bei der späteren profihaften entwicklung wieder ändert.

mfg

darxon69
02.05.2008, 18:14
Hallo Sechsrad.

Die einstellung ist prinzipiell ja ok, aber wenn die IDE so schlecht ist, daß man bei großen Projekten (und damit meine ich solche, die auch einen ATMEGA2560 Speichermäßig auslasten) nur noch mit der IDE zu kämpfen hat, dann kann man sich eben nicht mehr auf das wesentliche konzentrieren. Mich hat es schlichtweg genervt, wenn ich mit mehreren Dateien gearbeitet habe (wegen der übersichtlichkeit des Codes), daß diese dann wenn minimiert am unteren Bildrand und nicht in einzelnen Tabs mit Dateiname als überschrift auftauchen. Man muss dann jede maximieren, damit man weiß welche Datei nun die Gesuchte ist. Manchmal hab ich alle durchgeklickt und die letzte war es dann. Wenn man dan oft in den Dateien hin und her springen muss flippt man irgendwann aus.
Man kann aber auch ein Programm in einer einzigen megagroßen Datei speichern, aber sowas macht man anscheinend nur bei Bascom.
Tabbed Editing ist nun wahrlich keine Neuheit mehr und mir ist keine IDE außer der von BASCOM bekannt, die das noch nicht unterstützt.
OK, im Prinzip brauche ich mich ja nicht mehr aufzuregen. Ich habe eh zu einem andern Produkt gewechselt und bin seither zufrieden.
Eine Frage zum Schluss. Warum nimmt man nicht notepad.exe. Damit kann man auch gut programmieren.

Klar kann man sich auf das wesentlichste konzentrieren wie du so schön sagst. Aber erzähl mal einem Handwerker daß er mit ner Billigstichsäge aus dem Baumarkt ne Küche zusammen bauen soll. Der wird dir erst mal einen Vortrag halten, daß die Qualität des Endergebnisses und auch die Fertigstellungsgeschwindigkeit sehr stark von der Qualität des Werkzeugs abhängen. Das ist bei der Softwareentwicklung nicht anders.

linux_80
02.05.2008, 21:00
Hallo,

zum Thema Tab, wenn ich mich nicht täusche, sind in der aktuellen Version Tabs vorhanden:

http://roboter.net-con.net/rn/BascomMitTabs1.11.9.1.png
Wann die aufgetaucht sind weiss ich aber nicht mehr.

marvin42x
02.05.2008, 21:35
@linux_80:
Ist ja interessant. Ich habe noch 1.11.9.0 und kann da die Tabs nicht finden. Kann zwar sein das ich sie übersehen habe. Aber ich werde mal updaten, dann weis ich es genau. Das wäre ja schon mal schön.
Wenn er dann noch falten könnte wäre das schon das wichtigste was ich gerne hätte.

@All:
darxon69 hat es genau so geschrieben wie ich es auch sehe.
Meine Frage soll ja keine Unruhe Stiften oder Bascom schlecht machen sondern lediglich nachfragen ob es noch Anregungen zu dem Thema gibt und mitteilen mit was ich gerade versuche mir das Leben leichter zu machen.

Netter Gruß

Gento
02.05.2008, 22:05
Tabs erscheinen Automatisch wenn man mehrere Files öffnet.

Aber erst ab V 1.11.9.1

lg Gento

darxon69
03.05.2008, 08:17
Na dann ist das ja schon mal ein Fortschritt. Kommt allerdings etwas zu spät für mich.

chr-mt
03.05.2008, 09:27
Hi,
ich würde trotz Tabs nicht auf die 1.11.9.1 updaten.
Da sind noch einige Bugs drin.
Unter anderem sind einige def-Files wohl fehlerhaft,
und die Befehle CLS Text und CLS Graph für Grafikdisplays funktionieren nicht mehr.
Ich hoffe, daß es bald eine neue Version gibt,
in der die Fehler beseitigt sind.
Ich bin jedenfalls wieder zurück zur 1.11.9.0

Gruß
Christopher

marvin42x
03.05.2008, 12:51
Gestern Abend habe ich noch das Update 1.11.9.1 eingespielt.
Und siehe da, es hat Tabs, genau wie es die Prophezeiung vorausgesagt hat.

Danke chr-mt für die Warnung.
Ich mache bei Bascom vor dem Update sicherheitshalber immer eine Kopie des Bascom Verzeichnisses weil ich da schon mal in die Falle gedappt bin. Damit kann ich noch recht problemlos zur Vorversion zurückkehren wenn die Fehler bei mir relevant sein sollten.

Bleibt eigentlich im Moment nur der etwas ratlose Blick in die Gemeinde. Es scheint so als wären Bacom Benutzer eher hells-angel's-motorradlenker-verbieger die jeder Unbill trotzen und die 4 Kilometer unbekannter Codezeilen als Ausflug ansehen.

Mich würde ja noch am Rande interessieren mit was darxon69 inzwischen arbeitet. Da er es aber nicht sagt frage ich natürlich auch nicht. Klang so wie avrco?

Netter Gruß

darxon69
03.05.2008, 16:25
Ja ist AVRCo. Da gibt es zwar auch ein paar bugs (die gibt es wohl überall) aber das system läuft super. Zugegeben istd er Preis recht happig, aber dafür bekommt man auch ziemlich viel geliefert. Die Hardwaretreiber sind allesamt in Assembler programmiert und dementsprechend schnell. Zudem gibt es Multitasking, nen guten Simulator und den Merlin-Optimiser, der den Code nochmal im Nachgang optimiert. Dadurch lassen sich je nach programm so zwischen 10 und 30% Speiecher sparen. Übrigens gibt es dort für die ATMEGA8-Prozessoren auch eine kostenlose Version. Eigentlich bin ich beim AVRCo gelandet, weil ich ursprünglich aus der PAscal ecke komme und deshalb auch einen pascal-Compiler gesucht habe. Mit BASCOM hatte ich davor gearbeitet. Ich konnte mich aber nie so recht daran erfreuen, daß man zum beispiel bei komplexen Formeln usw. diese in einzelne Schritte auseinandernehmen muss. Auch hier sollte BASCOM irgendwann mal mehr als einen Befahl pro Statement zulassen.
Auf meiner Suche bin ich zunächst bei Micropascal gelandet, was aber wegen der wenigen Hardwaretreiber bald wieder verworfen wurde. AVRCo ist für mich im Moment die Wahl weil ich als Pascal Programmierer (wegen der besseren Strukturiertheit der Programme) mich nie mit C anfreunden konnte.


Wer ein wenig Lust zum Lesen hat:
http://www.e-lab.de/AVRco/DOC_de/DocuCompiler.pdf
http://www.e-lab.de/AVRco/DOC_de/DocuStdDriver.pdf
http://www.e-lab.de/AVRco/DOC_de/DocuProfiDriver.pdf
http://www.e-lab.de/AVRco/DOC_de/DocuReference.pdf
http://www.e-lab.de/AVRco/DOC_de/DocuTools.pdf

Gento
03.05.2008, 16:48
ab 572 Euro bis >1100 Teuros

Gento

darxon69
03.05.2008, 16:58
Ja, preislich heftig, aber dennoch super. Ist halt ein System für die Industrie.