View Full Version : Development enviroments orther than MPLAB
It took me all of five minutes to decide that there is no way I would use the MPLAB IDE to program the robot this year. Every part of it made me angry (especialy the ultra-long load times on my crappy old notebook), so I started using gVim + cygwin + make.
What are other people using to program it?
wine+mcc18+makefile+ifi_picloader
works way better than MPLAB since I can use vim or kate or whatever else I want, and the cli bootloader feels less clumsy than ifi's loader.
Tom Bottiglieri
09-03-2004, 17:26
i would do something else, but im too lazy
deltacoder1020
09-03-2004, 17:55
horray for vim, the true "programmer's text editor"
horray for vim, the true "programmer's text editor"
*cheers* Yup! Nothing like it.
(you know youve been coding with vim too long when you start hitting j and k when your on the web... Thank heaven FireFox knows to start searching when you hit /)
deltacoder1020
09-03-2004, 23:48
*cheers* Yup! Nothing like it.
(you know youve been coding with vim too long when you start hitting j and k when your on the web... Thank heaven FireFox knows to start searching when you hit /)
no, you know you've been using vim to long when you start typing :w for no reason at all into your word documents at school.... ;)
Actually, I find vim scary. ;)
My team used MPLAB + Windows since I was the only one with Linux on their machine. Plus, I didn't find out until later that others got the IFI_Loader to work with WINE with no major problems.
afaik, the ifi loader still doesn't work through wine. A new one was coded from scratch to do the job.
CrashZero
11-03-2004, 09:51
I used the MPLAB IDE with windows cuz I was way to lazy to use anything else, I mean most of my code is just the default; My team was kinda picky about having it working b4 we shipped;
Astronouth7303
11-03-2004, 13:52
The bot barely worked when we shipped. And the code was screwed up so badly that the controller gave us a red-green. (RGOD!) Or an infinate loop.
CrashZero
12-03-2004, 14:58
:ahh: Thats nothing all our robot did when we shipped it was spin in a circle. cuz the stupid build team put one of the fricking moters in backwards. I think that when we get there i can download a code that works but we will literally be testing it on our bot for the first time then. If anything goes wrong i am sure that all you programers out there know that it is me who will be blamed for screwing it up, even though if the builders whould have put it in right it would not have been a problem. :ahh:
Our situation is sort of weird. I definitely like where we went with the robot and if it turns out correctly, look out for Miss Daisy. We didn't make too many modications to the code, not enough to warrant switching from Windows or anything. The problem is that our code hadn't been tested with the robot at all before we shipped. But we have some good programmers and I think that we will definitely turn out okay. See ya at Chesapeake.
Wow, I didn't realize how many teams actually had code that didn't work at ship. :ahh: This is my first year competing. :)
Surprisingly, even though we are rookies, we still got all our OI code tested and our main automous mode. :p
Venkatesh
12-03-2004, 18:58
Vim? Fwah.
I used vi (not vim) and make. Not GNU make either. Microsoft NMAKE.
If I had access to a Mac, I would use Subethaedit, but I don't. If somebody were to port Subethaedit to Windows, I would regard them in the ranks of Cerf.
Astronouth7303
12-03-2004, 20:58
I voted for MPLAB, but I just did MSC++ .NET, and I'm really happy. :D Now that's an IDE.
Vim? Fwah.
I used vi (not vim) and make. Not GNU make either. Microsoft NMAKE.
If I had access to a Mac, I would use Subethaedit, but I don't. If somebody were to port Subethaedit to Windows, I would regard them in the ranks of Cerf.Microsoft?!?!? :ahh:
As my old signature used to say, "I'm not anti-Microsoft, I'm just pro-quality." :)
Yeah, MSC++ .NET is great (surprisingly, a good Microsoft product). The only reason I didn't use it is MPLAB allowed quick access to the compiler, while MSC++ .NET isn't custimizable for that sort of thing. Next year I'm going to find something better for our controls team to use. :)
GVim/Vim + Cygwin + IDE for compilation. Don't have access to a linux computer other than at home for programming, and too lazy to figure out how to use MCC's command line.
Astronouth7303
19-03-2004, 18:37
Compared with the general rabble, Microsoft almost caters to developers.
Kevin Karan
19-03-2004, 21:34
Its too bad that only 3 voted for linux...Most of my team is affraid of it, including the other programmer, so im stuck using windows at the competitions...
Neal Probert
23-03-2004, 08:45
I use ActiveState's Komodo a lot, otherwise Eclipse is worth a good look. Both are available under Linux or Windows. KDevelop under Linux is also worth a good look.
A lot of bots didn't work right off the bat at the early competitions, because people didn't follow the latest IFI/FIRST news about software updates and weird initial states upon RC startup.
As for NMAKE, it's piece of $@#$@#$@#$@#. Gnu MAKE is available for Windows as well. Though I think it's high time that somebody come out with a better MAKE one of these days.
Mike Soukup
23-03-2004, 10:46
We decided early on to scrap the MPLAB IDE and use cygwin & make instead. After a month or so I finally convinced the other mentors to use VIM. Now we're actually teaching the students how to use it.
An invaluable development tool I found a few years ago is cscope (http://cscope.sourceforge.net/). It parses all the source & header files in your build and creates a 'database' that allows you to quickly jump to a function definition, find all calls of a function, find all references to a symbol, etc. Even better you can integrate it with VIM so all you have to do is put your curser on a function call, hit <ctl>] and you're now at the function definition; hit g<ctl>\ and you have a list of all occurrances of the symbol under the cursor. I'd probably be half as productive at work if I didn't have VIM & cscope. Give it a try. If you need help send me a PM or start a new thread.
I got our code working the day of shipping this year (goes to show how having access to the robot is a good thing eh). Last year however, we never really had the time to test, so we got to our regonal, and didn't move for hte first 2 practice matchs. Seems auto code didn't work right, go figure. :p
Astronouth7303
23-03-2004, 11:42
Cool! I like that. MS has been doing it for awhile, but it's nice to now someone else is.
:ahh: Thats nothing all our robot did when we shipped it was spin in a circle. cuz the stupid build team put one of the fricking moters in backwards. I think that when we get there i can download a code that works but we will literally be testing it on our bot for the first time then. If anything goes wrong i am sure that all you programers out there know that it is me who will be blamed for screwing it up, even though if the builders whould have put it in right it would not have been a problem. :ahh:
You think that that's nothing. We shipped six pieces of metal with the rest of the requirements. And a few motors. :)
CrashZero
26-03-2004, 09:40
Ok I admit that is worse then what I had, but it is kinda funny; you must admit :D
But your team didn't know how well the code worked when you shipped yours, they knew that mine just made it spin around and around which was definatly not a confidence booster. But I am hopeing to have it compile :ahh: Today. This code that I have now better work or you may not see me at any compitions cuz my team will have killed me. :ahh:
Tom Saxton
26-03-2004, 16:33
:ahh: Thats nothing all our robot did when we shipped it was spin in a circle. cuz the stupid build team put one of the fricking moters in backwards. I think that when we get there i can download a code that works but we will literally be testing it on our bot for the first time then. If anything goes wrong i am sure that all you programers out there know that it is me who will be blamed for screwing it up, even though if the builders whould have put it in right it would not have been a problem. :ahh:
Our code has exactly one place in the code that knows how to run the drive motors.
// Set the left and right drive motors to the specified speed values.
//
// The speed values must be in the range [-127, 127].
// For both motors:
// 0 is stop
// postive values move that wheel forward
// negative values move that wheel backward
//
void SetDriveMotors(int speedLeft, int speedRight)
{
pwmWheelL = pwm01 + speedLeft;
pwmWheelR = pwm02 + speedRight;
}
This simple encapsulation has many advantages.
This chunk of code is the only place that has to keep track of "bigger than 127 goes forward, less is backward, proportional to the difference" or the other way around if either motor is wired the other way.
It's much easier to read "SetDriveMotors(10, -10)" than "pwm01 = 137; pwm02 = 117;" and know that it's asking for a slow right turn.
If one of the motors gets wired backwards, it's trivial to change the +/- for that motor in one well-defined place. (We also put polarized connectors on the motors, so that motors can't get reversed for anything less than a motor replacement.) It's also trivial to move the drive motor to a different PWM if need be.
The software team gets so little time with the working robot, it doesn't pay to spend time and energy blaming the build/electronics team for something being backwards. If you keep the knowledge localized in the code, it's trivial to adjust, compile and download. This is especially handy if you just finished a big repair two minutes before the next match and there's no time to crawl back in and reverse a couple of wires.
K0r34nB0y
26-03-2004, 18:18
I'm not anti-Microsoft, I'm just pro-quality
Hehehehe that's great. I used to use MPLAB, but it started to annoy the crap out of me so I switched to Crimson and now only go into MPLAB for compiling.
deltacoder1020
27-03-2004, 01:08
Hehehehe that's great. I used to use MPLAB, but it started to annoy the crap out of me so I switched to Crimson and now only go into MPLAB for compiling.
don't even do that - mplab shows you the command lines it uses - just copy them into a batchfile.
K0r34nB0y
27-03-2004, 17:42
eh... I'm lazy... BTW Does anyone know what the heck is up with this error in mplink?
"Error - could not find file 'clib.lib'" I keep getting that when I try to compile on my own computer. I checked and clib.lib is right where it's supposed to be. Does it matter that I'm using the demo of c18?
Astronouth7303
08-04-2004, 13:33
I've been trying to find out how to make a new platform for MS VC++ (in the new project dialog, the checked listbox down in the lower right). Unfortunately, I have had literaly no luck. Mine just says Win32. Any Ideas? [This includes MSDN and e-mailing a sugestion to the How-to group]
MikeDubreuil
08-04-2004, 13:39
Under Linux, how do you compile your code? I heard about using make, but how?
Recently changed to Cygwin+Makefile+Vim
Under Linux, how do you compile your code? I heard about using make, but how?You have to make a make file (typically named something clever like "makefile") that describes all the dependencies in your code and how to compile it. Then, from within the directory that has the make file, you type "make" and presto!, you have an compiled version of your program . The cool thing is that if you do a make after changing only one file, only the files that rely on that one have to be recompiled, making it much faster. :)
Under Linux, how do you compile your code? I heard about using make, but how?
I havent done it personaly, but basicly you have to do two things:
1) get mcc and the IFI loader working under wine
2) make a makefile that compiles everything.
1) Has been done many times, and there is a thread on it here: http://www.chiefdelphi.com/forums/showthread.php?t=23517&highlight=wine+linux
2) I have written one that works under windows + cygwin, and wont take too much hacking to get it to run under linux. You can see it here: http://www.chiefdelphi.com/forums/showthread.php?t=25567&highlight=makefile
I think I have done a pretty good job of commenting it, so it shouldent be that hard.
Good luck!
TomJoseph
20-04-2004, 12:18
There are several other IDEs for PICMicro processors.
Check out MPLAB 5.7, which is supposed to be a lot less buggy:
http://www.microchip.com/1010/pline/tools/picmicro/devenv/mplabi/mplab5x/index.htm
SourceBoost IDE (which I haven't tried yet, but he's also got C++ and Pascal compilers)
http://www.picant.com/c2cpp/cpp.html
MPLAB 6.50 just came out which should fix several bugs and adds some new features
http://www.microchip.com/1010/pline/tools/picmicro/devenv/mplabi/mplab6/index.htm
HI-TIDE by some company whom I've never heard of:
http://www.htsoft.com/products/hitide/picc18.htm
Just takes a little searching around :)
phrontist
29-04-2004, 21:20
Compared with the general rabble, Microsoft almost caters to developers.
What the [expletives that would've made Nixon blush deleted]
What do you mean by "the general rabble"?! I sincerely hope you don't mean linux!
Please report to the nearest Microsoft Deprogramming Center:
ESR's Propaganda Post (http://www.catb.org/~esr/)
Slashdot: News for Linux Zealots (http://slashdot.org/)
The GNU Website: 'Nuff said (http://www.gnu.org/)
;)
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.