C Objects for the Propeller: Parallax will support your efforts
Ken Gracey
Posts: 7,401
Dear Propeller programmers,
Parallax would like to assist any developers who wish to produce more objects for the Imagecraft ICCV7 Compiler for the Propeller. Some customers simply want to program in C, and we want to make their adoption of the Propeller architecture easier.
We can assist developers in the following ways: free Propeller hardware, free Imagecraft compilers, cash, barter or other recognition. Whatever makes our·C developers interested·(jazzed, allen and others) - we·would be pleased·to support your efforts. Your object would be posted on OBEX and be part of the Imagecraft distribution.
At present, there are objects for floating point math, SPI,·I2C, TV and an assortment of necessary routines. But we need more examples to make this complete.
If this is of interest to you, post here or·contact me directly.
Sincerely,
Ken Gracey
Parallax, Inc. ···
Parallax would like to assist any developers who wish to produce more objects for the Imagecraft ICCV7 Compiler for the Propeller. Some customers simply want to program in C, and we want to make their adoption of the Propeller architecture easier.
We can assist developers in the following ways: free Propeller hardware, free Imagecraft compilers, cash, barter or other recognition. Whatever makes our·C developers interested·(jazzed, allen and others) - we·would be pleased·to support your efforts. Your object would be posted on OBEX and be part of the Imagecraft distribution.
At present, there are objects for floating point math, SPI,·I2C, TV and an assortment of necessary routines. But we need more examples to make this complete.
If this is of interest to you, post here or·contact me directly.
Sincerely,
Ken Gracey
Parallax, Inc. ···
Comments
I'll do what I can. Will PM you with ideas ... and some status [noparse]:)[/noparse]. I'm always into something.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
I was totally jazzed when I saw a C compiler available for the Propeller, and kind of disappointed when I saw the lack of C objects in the exchange. I'd love the opportunity to contribute but am not sure I'm really qualified enough to ask for "free stuff". I did some C programming in the mid 90's so it would take me a bit to get back to the mind set, but I'm headed there anyway for another project. If I could just get the compiler from you, I'd like to start work on an object that manages the 16 port Parallax servo controller as well as a simple database object (hopefully with SD support, but I'll have to start simple).
Here's hoping more qualified people than myself are just as excited by your proposal!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"They may have computers, and other weapons of mass destruction." - Janet Reno
Post Edited (WNed) : 3/11/2009 10:23:07 PM GMT
I don't expect miracles from anybody. Please PM me your shipping address and I'll get a compiler out to you. I made the offer knowing that there's variable skill, interest and abilities to code in C. I'd like to bring ICCV7 closer to maturity and improve the Parallax support for it.
Sincerely,
Ken Gracey
I have a bit vector index I wrote for my PhD thesis. I always wanted to share it. Indexing is basis for relational databases. I have a few other algorithms I can post.
First what do I need to have? I already have a prop proto. I have Visual C++ package but I don't have a C compiler for Prop how can I get it? What else I should have?
Sincerely,
Venkata.
Send me your shipping address. You need the C compiler.
Thanks,
Ken Gracey
Too bad my C is worse than my spin. <SMIRK>
Hats off you guys, good to see this going forward!
OBC
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?
Check out: Protoboard Introduction , Propeller Cookbook 1.4 & Software Index
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us
Got an SD card connected? - PropDOS
I've only been playing around with the propeller for a short time. I'm a C developer, mostly doing embedded Linux for the ARM processor and some small projects using the Atmel AVR. I've found spin quite easy to use but a little slow. I have not really looked at PASM but I'd love to give ICC for the propeller a go. My current project is another balance bot (my third revision) but this time using better parts and a propeller instead of an AVR. I hope the that ICC will work with Viewport as I'm hoping to use that as well.
Thanks.
Jim Ronald
If you search in the Parallax store for "propeller c" with quotes you get ICCV7 and with no quotes you don't see it on the first page.
I'm new to the Propeller but I've been using C for AVR programming for some time now. I've been interested in the ICC compiler, but was put off by an apparent lack of interest in the community.
I have a PPDB, SpinStudio and bunches of sensors, displays, etc.
If I can get the compiler I'll be happy to give it a "spin"...
Craig
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Cardinal Fang! Fetch the comfy chair.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
We have assembled a team. From this post I have at least eight (8) C developers who want to contribute. I could handle about 6 more for a total of 14 people. With this size we should be able to push ICCV7 into the realm of acceptability for commercial applications if 1/3rd of the team delivers documented and functional objects. And whatever is "wrong" with ICCV7 we can improve with the support of Imagecraft. Everybody who requested ICCV7 shall receive a license courtesy of Parallax and Imagecraft. By Thursday I'll reply to everybody who has contacted me via PM or e-mail.
We still have room for others.
Thank you for the support thus far - let's make this compiler useful for the C programmers.
Ken Gracey
ICCPROP is very competetive with SPIN and "not much worse" than PASM in most cases on performance, but C binary code performing the same function as SPIN will be about·four times·bigger than·the SPIN binary.
I've written complicated code in SPIN, PASM, and C. SPIN is a little easier than C from a module management perspective being an obj.method, etc... middle level language.
C and SPIN are comparable in many ways in language features except that C organizes data structures better; SPIN DAT blocks can be data structure like, but not VAR blocks. C is a strongly "typed" language providing better accident prevention ... SPIN allows anything to be passed to a method in any way. C has an explicit multi-dimensional array syntax and SPIN does not. C is of course compiled and run by the LMM interpreter COG and most instructions are executed by the COG core; SPIN is compiled to bytecodes and interpreted by the SPIN COG VM. SPIN is a fair compromise of object oriented ideas and structured simplicity. C is of course a structured language that can be used in obscure ways to perform in object oriented ways. C has function pointers, SPIN does not (not directly anyway ... there is a way to trick SPIN into calling object methods in a "function pointer" way).
SPIN provides lots of language operator features not found in C such as the |< decode operator. NOTHING is wrong with SPIN of course, except for maybe the "repeat n from -1 to -1" statement [noparse]:)[/noparse] and it is fairly easy for the novice to understand. C is an industry standard and ICCPROP works well. C to me at least is a little better organized at the module level. The comment delimiters of the languages could not be more different, but the basic idea of block and inline comments are similar in both.
Free C programming tutorials are everywhere on the net. If you can write SPIN, you can write C.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Just a quick note that ICC user should sign up for the icc-prop mailing list (http://www.dragonsgate.net/mailman/listinfo) as we announce updates there. In fact, I just made a new one release:
**
V7.04C March 11, 2009
Assembler
- Fixed the restricton that only one tab is allowed at the beginning
of a line in an asm file.
***
This fix eliminates an unnecessary aggravation with writing asm driver code.
What I hope to do eventually is to allow users to browse for C objects on the web using the ICC IDE and download them as they wish, automagically. One step at a time though...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
Great work all.
TJ
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I owe everyone here a bunch, So thanks again for answering my dumb questions.
Projects. RG500 ECU system. PropCopter. Prop CanSat. Prop Paste Gun.
Suzuki RG500 in a RGV 250 frame.
Bimota V-Due (Running on the fuel injection system)
Aprilia RS250
I'm a professional software developer with extensive experience in C (in addition to other C-like languages) and I also have 2+ years of experience with Propeller (mainly Spin). I'd like to contribute to this initiative and I've sent you a more detailed e-mail last night (or very early this morning --- it's all one blur ).
I'm finishing up some tasks this morning and I'll get through the PMs and e-mails by early afternoon, and set up each of you with the ICCV7 compiler license.
Thanks for your patience,
Ken Gracey
It's going to take me a day or two to get back to all of those who've made a request to participate, so please be patient. Each person has a variety of specific requests that can't be handled in mass. I literally ran out of bandwidth replying to e-mail and doing my regular job, almost like returning from a week off of work (two weeks to catch up!).
Thanks, Ken
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Need a Propeller PC logic analyzer?
Try Propalyzer http://www.brouhaha.com/~sdenson/Propalyzer
http://forums.parallax.com/showthread.php?p=788230
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Timothy D. Swieter, E.I.
www.brilldea.com - Prop Blade, LED Painter, RGB LEDs, 3.0" LCD Composite video display, eProto for SunSPOT
www.tdswieter.com
Our hope is that this will generate some functional C objects for other customers, and speed the maturity of ICC for the Propeller into a quality product.
Sincerely,
Ken Gracey
thanks
Jeff T.
This is not an unreasonable question ... many seasoned C programmers have such expectations. ImageCraft provides source (for licensed users), headers, and libraries. The .c files·are often obscured (less these days than before) and headers with good documentation are provided with the libraries.·Spin does not have all the "facility" of C, and the obex has full sources for Spin. It is Parallax ultimately that should make the decisions on OBEX content, but the community can offer suggestions.
Proposed C OBEX Content:
It seems to me at least that·in the best interest·of the community·C OBEX packages should:
Output files defined above should never be included in the obex package. Optionally, one can provide libraries which can be generated with ilink-prop.exe, but these may not be optimal for everyone using the package especially for any unused functions, etc.... Parallax might prefer not having libraries in obex anyway.
To make all of this easier to produce and use, it is best when you start a project to define an output directory using: Project->Options->Compiler Options->Paths·... In the Paths tab you can define the Output Directory·(remove any quotes from the text box or ICC will complain). Once you have defined an output directory, you will exclude it from your project directory .zip folder before submitting to obex.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
What does matter is that function return values (if any) and parameters are clearly and fully described.
Misusing functions are the biggest contributor to "functional" bugs second only to misusing global data (in my experience ... YMMV).
One of the nicest documentation tools available in my opinion is Doxygen ... many industry types use this package for producing readable docs from marked up sources. Good engineers using the package make the tech-writer obsolete ... some engineers give tech-writers job security [noparse]:)[/noparse] Doxygen is available on Windows, Linux, and Mac OS. Doxygen can generate HTML, RTF, and Latex doc package/files.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I'll second this proposal, it covers the basic content requirements. Good documentation cannot be stressed enough, and it is probably best to aim it at beginners, not seasoned C hacks.
-tellurian