I use Elvis, which is another VI clone. It's icon is the King. It was based on Stevie, originally written for the Atari 520ST. Had one of those long ago and have been using the editor ever since.
And things come full circle... some of the library code we are using in propgcc comes from the public domain MiNT library for the Atari ST which I wrote ages ago .
I'm using Komodo Edit from ActiveState. I was going to put together a tutorial on how to configure it for PropGCC, but finally decided that it would be better to provide some pre-configured tools.
So I'm attaching a zip file that has a few tools that can be customized as needed. Three of the tools are specific to Komodo, and one is a Perl script that combines compiling & loading into a single step. It should work with any editor that supports external tools. Note that all of these tools can be edited with a text editor, so creating new tools is fairly easy.
Just one thing... I'm using the Linux version of Komodo, and haven't tested them under Windows & OS-X, but it shouldn't be too difficult to set up. It should only be path names that need to be changed. Komodo created a hidden local directory for your user profile, and it's simple enough to copy this directory, tools, templates, etc., between Linux & Windows, and presumably OS-X, which I don't have to test with.
Thanks for this effort. I've been looking for a way to just share configurations for various IDE programs. Looks like komodo package allows that.
I'm have quite a bit of trouble figuring this all out for Windows though, and I'm not sure what it takes to make it work.
I guess you could say it's 4th down and 2 on my 40 yard line and I don't have confidence for making a first down.
Is it possible for you to come up with some Windows instructions for using the plug-ins?
Meanwhile I'm still looking for that easier Windows solution.
I'm using Komodo Edit from ActiveState. I was going to put together a tutorial on how to configure it for PropGCC, but finally decided that it would be better to provide some pre-configured tools.
So I'm attaching a zip file that has a few tools that can be customized as needed. Three of the tools are specific to Komodo, and one is a Perl script that combines compiling & loading into a single step. It should work with any editor that supports external tools. Note that all of these tools can be edited with a text editor, so creating new tools is fairly easy.
Just one thing... I'm using the Linux version of Komodo, and haven't tested them under Windows & OS-X, but it shouldn't be too difficult to set up. It should only be path names that need to be changed. Komodo created a hidden local directory for your user profile, and it's simple enough to copy this directory, tools, templates, etc., between Linux & Windows, and presumably OS-X, which I don't have to test with.
I can create a tutorial, but I'll have to install Windows to a VM, which is the reason for not testing it.
If you don't mind my asking, what did you have trouble with? I'll incorporate the readme into the tutorial, but I'd like to know what needs improvement.
Also, way off-topic, but are you the person responsible for FDSerial for ICC? If so, any word on a PGCC port? I took a look at it and it seems to rely on definitions in the ICC headers, which aren't available.
Kevin,
No idea about FDSerial for ICC but I have posted full duplex serial here that is entirely written in C and runs as native code in COG. Works at 115200 baud.
Also, way off-topic, but are you the person responsible for FDSerial for ICC? If so, any word on a PGCC port? I took a look at it and it seems to rely on definitions in the ICC headers, which aren't available.
There's already a full duplex serial driver in the libraries. To use it (instead of the default half duplex driver) add:
to your program. That will make the full duplex driver the default (used for stdin, stdout, and stderr, on pins 31 and 30 at 115200 baud). To use some different pins as well, you can do something like:
FILE *f = fopen("FDS:9600,8,7", "r+");
That starts a new cog running the full duplex serial code, at 9600 baud and with rxpin 8 and txpin 7. Replace those as necessary . Now you can read/write using the "f" handle. If you don't want it to be interpreted as a terminal do:
f->_flag &= ~_IOCOOKED;
to put it in "raw" mode (no echo, no interpretation of control characters).
The Library.html document describes this, although it may not be as clear as it should be. Suggestions for improvements are always welcome!
One problem was and is getting ActivePerl to register at startup.
The biggest issue was the $PGCC variable and others didn't seem to be defined.
I have no idea what it takes to make that work.
At this point all community supported user IDE options are open.
Parallax has it's own plan for an official product with Eclipse and it seems pretty awesome to me.
I've used Eclipse, Netbeans, and Dev-C++ with PropGCC so far.
The Programmer's Notepad was a nice editor, but it had big issues dealing with external programs.
NetBeans and Dev-C++ are the easiest to integrate without a plug-in, but they're not so simple.
I'm seriously considering posting some setup information for the Dev-C++ IDE and others in other threads.
The more IDE compatibility, the merrier at this point. We don't want to restrict anyone to VIM
Regarding FdSerial:
Yes, I wrote it. The ICC FdSerial is in PropGCC already sort of. See propgcc/lib/drivers.
I see Eric has answered the mechanics of using it.
The xbasic.c file in propgcc/demos/xbasic uses a similar approach so that
people can copy/paste code from a terminal instead of typing every character.
I think I would surround the driver stub with this so programs could be used with Vanilla C.
#if defined(__PROPELLER__) && defined(__GNUC__)
...
#endif
Heater's code is a fine example, but I'm waiting for him to commit his demo to the repository.
Using nano on Mac OS X :-) But, started thinking about TextMate with a propGCC bundle for compiles and syntax checking... Anyone written a TextMate bundle?
Comments
And things come full circle... some of the library code we are using in propgcc comes from the public domain MiNT library for the Atari ST which I wrote ages ago .
Eric
So I'm attaching a zip file that has a few tools that can be customized as needed. Three of the tools are specific to Komodo, and one is a Perl script that combines compiling & loading into a single step. It should work with any editor that supports external tools. Note that all of these tools can be edited with a text editor, so creating new tools is fairly easy.
Just one thing... I'm using the Linux version of Komodo, and haven't tested them under Windows & OS-X, but it shouldn't be too difficult to set up. It should only be path names that need to be changed. Komodo created a hidden local directory for your user profile, and it's simple enough to copy this directory, tools, templates, etc., between Linux & Windows, and presumably OS-X, which I don't have to test with.
Thanks for this effort. I've been looking for a way to just share configurations for various IDE programs. Looks like komodo package allows that.
I'm have quite a bit of trouble figuring this all out for Windows though, and I'm not sure what it takes to make it work.
I guess you could say it's 4th down and 2 on my 40 yard line and I don't have confidence for making a first down.
Is it possible for you to come up with some Windows instructions for using the plug-ins?
Meanwhile I'm still looking for that easier Windows solution.
Thanks,
--Steve
I can create a tutorial, but I'll have to install Windows to a VM, which is the reason for not testing it.
If you don't mind my asking, what did you have trouble with? I'll incorporate the readme into the tutorial, but I'd like to know what needs improvement.
Also, way off-topic, but are you the person responsible for FDSerial for ICC? If so, any word on a PGCC port? I took a look at it and it seems to rely on definitions in the ICC headers, which aren't available.
Thanks.
No idea about FDSerial for ICC but I have posted full duplex serial here that is entirely written in C and runs as native code in COG. Works at 115200 baud.
There's already a full duplex serial driver in the libraries. To use it (instead of the default half duplex driver) add: to your program. That will make the full duplex driver the default (used for stdin, stdout, and stderr, on pins 31 and 30 at 115200 baud). To use some different pins as well, you can do something like: That starts a new cog running the full duplex serial code, at 9600 baud and with rxpin 8 and txpin 7. Replace those as necessary . Now you can read/write using the "f" handle. If you don't want it to be interpreted as a terminal do: to put it in "raw" mode (no echo, no interpretation of control characters).
The Library.html document describes this, although it may not be as clear as it should be. Suggestions for improvements are always welcome!
Eric
Regarding komodo:
One problem was and is getting ActivePerl to register at startup.
The biggest issue was the $PGCC variable and others didn't seem to be defined.
I have no idea what it takes to make that work.
At this point all community supported user IDE options are open.
Parallax has it's own plan for an official product with Eclipse and it seems pretty awesome to me.
I've used Eclipse, Netbeans, and Dev-C++ with PropGCC so far.
The Programmer's Notepad was a nice editor, but it had big issues dealing with external programs.
NetBeans and Dev-C++ are the easiest to integrate without a plug-in, but they're not so simple.
I'm seriously considering posting some setup information for the Dev-C++ IDE and others in other threads.
The more IDE compatibility, the merrier at this point. We don't want to restrict anyone to VIM
Regarding FdSerial:
Yes, I wrote it. The ICC FdSerial is in PropGCC already sort of. See propgcc/lib/drivers.
I see Eric has answered the mechanics of using it.
The xbasic.c file in propgcc/demos/xbasic uses a similar approach so that
people can copy/paste code from a terminal instead of typing every character.
I think I would surround the driver stub with this so programs could be used with Vanilla C.
#if defined(__PROPELLER__) && defined(__GNUC__)
...
#endif
Heater's code is a fine example, but I'm waiting for him to commit his demo to the repository.