Temporary leave...
Ravenkallen
Posts: 1,057
So... First i want to say that you have all been great. One of the best forum "families" i have known:). But the time has come for me to get over my fear of C/ C++. I have now pledged most of my spare time to learning C/ C++ using an Arduino(And then moving on to ARM's, Mbeds, AVRS and all that). I am not completely abandoning the Propeller, but rather taking a extended "holiday" from it. So, this means that work on PASos has been discontinued, as well as the text editor program. The C3 seems to be losing popularity anyways... I may still work on Spaceace! though and be watching over the forums occasionally to.
To Cluso... I am still planning on using the CPUBlades in my soldering iron project.. It might be one of my last Prop projects for a while
To WBA Consulting... I think your DIP40 modules have promise. I still have one embedded on my Rover5 platform.
To Martin Hodge... I still have not gotten around to using the ASC compatible in a project. I am still thinking of a good project to use it with. I had an idea though. I could write a SPIN program for most every Arduino project that i do, To see if we can get more shields successfully interfaced with the ASC?
To Ken, Chip and Parallax... You guys are a very good example of what a company should be like. Honest, open, modestly priced products, community support. Never give up:)
@everybody else.... I still LOVE the Propeller and it is still very relevant, but i have to break out and look at what else is out there. AND I HAVE to learn C, even if it kills me:) C is the language that the computer world seems to be leaning towards and i have put off learning it to long. I just feel like i will get left behind if i don't act now. Who knows, in a year from now the Propeller 2 could be out and a real C compiler developed for it. I hope to see you all again soon... RK
PS... If anybody is interested, i am selling my used C3(Excellent condition) for $60(Compared to $129.99 new)
To Cluso... I am still planning on using the CPUBlades in my soldering iron project.. It might be one of my last Prop projects for a while
To WBA Consulting... I think your DIP40 modules have promise. I still have one embedded on my Rover5 platform.
To Martin Hodge... I still have not gotten around to using the ASC compatible in a project. I am still thinking of a good project to use it with. I had an idea though. I could write a SPIN program for most every Arduino project that i do, To see if we can get more shields successfully interfaced with the ASC?
To Ken, Chip and Parallax... You guys are a very good example of what a company should be like. Honest, open, modestly priced products, community support. Never give up:)
@everybody else.... I still LOVE the Propeller and it is still very relevant, but i have to break out and look at what else is out there. AND I HAVE to learn C, even if it kills me:) C is the language that the computer world seems to be leaning towards and i have put off learning it to long. I just feel like i will get left behind if i don't act now. Who knows, in a year from now the Propeller 2 could be out and a real C compiler developed for it. I hope to see you all again soon... RK
PS... If anybody is interested, i am selling my used C3(Excellent condition) for $60(Compared to $129.99 new)
Comments
Now is exactly the wrong time to be giving up the Prop for PICs, AVRs and Arduinos just so that you can learn C/C++.
Just now when the Catalina C compiler is maturing to perfection and there is the imminent arrival of the GCC C and C++ compiler.
As an old hand I would suggest you start out learning C/C++ on your PC. That will make experimenting and picking up the language a lot easier. If you have a Linux machine you are all set to go. If you are on Windows get a free compiler from MS or use Code::Blocks or Cygwin. Perhaps others have better advice there.
Get yourself the white book by Kernigan and Ritchie a couple of other books and a compiler and you are set.
With that under you belt you can turn to C on micro-controllers. Probably GCC for the Prop will be ready to go by then or Catalina.
Anyway having become profficient in C on the PC at no cost other than time you will be in a good position to evaluate whatever C running hardware you fancy.
Meanwhile you can still have your Prop projects on the back burner.
P.S. Did you know the first C compiler whose output ran on the Prop was the BDSC C compiler for the Intel 8080.
It runs on the Prop under the CP/M OS under Z80 emulation.
It is still the only C compiler that can compile code actually on the Prop, no PC required. So if you are really keen you can be doing all of your C studies on the Prop alone:)
(Not recommended).
-Tor
So, in terms of actually learning C, warts and all, the Arduino is not the best place to start.
I don't belive there is a human being alive who fully understands the ramifications of the complexity on offer by C++. (Seriously).
Languages come and come and come and go again....if you know a procedural language and can put together algorithms in that, your good to go when someone throws a new procedural language at you...Object Oriented design and thinking under your belt...then you're good for the most part in that area....ever try Lisp? Haskell? Prolog, Smalltalk......the tower of babel is tall...learn how to program, how to structure your thoughts, how to get requirements out of a user (or yourself).....odds are good you'll show up to the dance with the wrong language a lot of times.
...at least that's my theory after too many years of learning different languages.
Whatever you decide to do, good luck!
Leon - That cannot be true. For the Arduino you might send a char to a serial port with ser.tx('A') or some such, I can't remember exactly now. It is very definately C++ that you are writing for the Arduino.
That's just too much for us to tackle at this point.
-Matt
You are calling a C++ library function, but you have to use C. If you try using C++ in a sketch I'm quite sure that you will get an error message when you try to compile it.
That is not true.
You cannot call a method of a class from plain C with the dot notation as in the example I gave. Ergo it is C++ you are writing.
I imagine there is nothing stopping you defining your own classes in Arduino sketches.
Good luck, hope you find what you're looking for. And I bet you won't be gone for long. This is a great group for a variety of reasons. Worth keeping in touch just for moral support. Peace out for now!
Sketches can only contain functions, AFAIK. You can't use classes and all the usual C++ stuff in them, as you can when writing library functions.
Arduino sketches co-op AVR-GCC, which is an open source toolchain for C/C++. Yes, it's C. Yes, it's C++. Most sketches remove the technicalities by using pre-defined macros and functions that simplify the majority of work. I'd say 90% of Arduino users have never directly used a C++ construct. Instead, they import objects from libraries, instantiate them using example code they've copied, and they never know the difference.
An example is Serial, which is a predefined function for working with the chip's UART. After initializing the UART with something like:
Serial.begin(9600);
The constructor creates the Serial object and does all the necessary port initialization. Users then interact with it using something on the order of
Serial.print('A');
The Serial object includes methods for checking if bytes are available, peeking at the buffer, retrieving bytes, etc. It's C++, but only under the hood.
All this said, if you want to learn C, it's much easier using a free compiler and editor, and doing it on your PC. External hardware like microcontrollers just add to the aggravation. Microsoft gives away their entry-level C# and C++ tools for .NET, and they have excellent features for code writing and debugging. If you don't like MS stuff there's Mono, and the tools for it.
-- Gordon
That's true, as .pde sketches are intended to be wrapped internally at compile time to make them real C programs (adding void main, making loop() an infinite for statement etc.). The tabbing feature of the IDE allows you to create and use included files while you're working with a pde sketch, however, and these can be .cpp, c, h, etc. files.
-- Gordon
Absolutely!!!
I now do Basic Stamp, Propeller, and Arduino projects. There's no need to choose just one. In fact I find the skills from one transfer to the others.
Anyway, C on a PC - C is really good for writing operating systems on workstations. If you have a powerful PC and need an OS or make changes to the OS, C is a good way to go.
For micro controlers, maybe its a different story. If you need to listen to sensors and talk to actuators, and then have your micro controller talk to a workstation, maybe you don't need C. But there are several options that are easier and more fun. The best reason to use C on a micro controller is if you already master C, and want move to micro controllers. If you don't already know C, there are other tools that might be better suited. If you have 20 years of experience in assembler, then assembler is the way to go. But folks don't tend to talk about "assembler" and "fun" until after a long learning curve.
Right tool for the right job. What's the real job? "Just learning C" would be best on a workstation. Moving to beyond spin or to a more mainstream environment might not mean
C.
Consider the nxp line dev kits are about $99.00 via Avnet, have c compiler (Code Red) all tied up in a nice Eclipse environment. Wish they had multi core though; just can't replicate that feature easily........
Frank
I may indeed have a sharp temper, but last time I looked there was still only one of me
However, I agree - Ravenkallen, why not try Catalina before you decide to leave the Prop altogether? All the fun of C, plus the best microcontroller on the planet. I'll even throw in a 50% discount!
I do think it would be a good thing to learn C before you decide to leap into the gaping chasm that is C++. C is really all you can usefully use on a microcontroller anyway (flameproof suite firmly zipped!), but if you really do decide you need to go beyond C, then GCC C++ is not too far away.
Ross.
The NXP LPCXpresso boards are under $30.
Yes, they are. I attended a USB/NXP seminar for my $99.00. Included lunch, good discussion with peers, and top it all off by a guest appearance (call it a 2-fer for a captive audience) by the Tyco team promoting their USB connection solutions and a box of a wide range of multiple usable samples in a nice kit. Sure, it was probably more than just buying a couple boards, but it was a good jumpstart and a way to meet and work with their local FAE.
It may be worth noting that there is an NXP device with fully integrated CAN on it. Including transceivers.
Frank
Deliverables from the course:
LPCXpresso LPC11U1X
LPCXpresso LPC1343
NGX Baseboard for LPCXpresso Lots of goodies on this one.
Free 128K code size limited ‘C’ compiler
Printed lab handouts
Oh, the LPCExpresso 4 by Code Red environment is happy in whatever OS you put it on.
RK- Definitely take Ross up on his discount - what a deal! (He's never offered that to me - 'course I'm too old now. I only got through A and part of B...
/bad jokes = off
-Matt
Come to think of it, I was thinking of leaving too. Two questions:
1) What am I offered if I stay?
2) What am I offered if I leave?
I'll weigh my options carefully.
I am about to (over the weekend or next week at the latest) run Catalina 3.3 on my new RamBlade3 boards - it's a commercial project so I cannot talk much about it, but I will definately be sharing what I find out with Catalina. Here is an insight that I can say. I have a handheld device (keypad and LCD) driven by a prop pcb (has the same 1"sq CpuBlade at its center) and communicates serially to another module that has 2 props. One prop is a RamBlade3 (prop, eeprom, 512KB SRAM, microSD and RTC w battery) and the other is an IO controller prop. The RamBlade3 will be running a mix of Catalina C, spin and pasm.
As we already have Catalina 2.x C running the user interface between the keypad and LCD screen, complete with a large number of menus, I have no doubts about the capability of Catalina C. The latest version 3.x simplifies the spin and pasm interfaces.
So, I would definately recommend you check out Catalina 3.3 C before you move on. If I am not mistaken, you already have the hardware to run Catalina. IMHO this would give you the best of both worlds... get to learn and program in C and at the same time remain with the prop chip you love. And we dont have to find a new Best Hair replacement!
If you don't come back, we'll sell your hair to the circus...