Shop OBEX P1 Docs P2 Docs Learn Events
I cant find enough on propeller C — Parallax Forums

I cant find enough on propeller C

whiteoxewhiteoxe Posts: 794
edited 2014-08-01 04:23 in Propeller 1
Ive gonre to the learn section and complested 95% of the examples/tutorials but its still lacking a downloadable manual. Is this being editied as I write or do Parallax think they have done enough. If that is all your providing then my decision rto begin Spin is the only way to go. therre are tons more info lon spin than prop C. But it seems a wate of my time that I coud have been learning Spin.

OK,

Mike.

Arduino made their C version easier to learn.

Edit: I was too quick to judge. I'd like to take back my critcal words. There is quite a lot more than I first realized.
«1

Comments

  • JonnyMacJonnyMac Posts: 9,105
    edited 2014-07-23 01:48
    Arduino made their C version easier to learn.

    O'Reilly Publications is financially involved in the Arduino which means it's in their interest to publish. And they do. A ton of stuff. As I've said before, the most popular girl in school was never the smartest.
  • LeonLeon Posts: 7,620
    edited 2014-07-23 03:16
    Buy a copy of The C Programming Language by Kernighan and Ritchie.
  • Heater.Heater. Posts: 21,230
    edited 2014-07-23 04:47
    whiteoxe,

    Be aware that C on the Propeller is a relatively recent thing. I suspect there are no "C on Propeller" books like for the Arduino. Parallax has been busy though creating documentation and tutorials for the use of C on the Prop. I'm sure you can find if you look. It's all a "work in progress" as far as I can tell.

    Spin is a Parallax creation so they document an support it well. C is not. There are many books on the C language in the world. It would be kind of pointless for Parallax to recreate those.

    Edit:

    Arduino do not have "their C version". It's the same GCC compiler as used for the Propeller!

    The Arduino is actually programmed in C++ not C. Although the Arduino folks do a careful job of hiding that fact, never referring to "C" or "C++" as such. And only documenting the simpler aspects of the language.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 05:08
    You're right that there isn't enough documentation yet on PropGCC. This is partially due to the fact that much of the effort on PropGCC has been by volunteers and I think most of the current documentation was written by volunteers. I myself find it frustrating to have to search web sites for library documentation when I can't remember the order of arguments to a function or something simple like that. If I had more free time I'd help write better documentation. For example, I'd love to have a PDF file that I could download rather than having to browse a web site. I like online documents but I also like to be able to work "unplugged" from the internet. Maybe we need to rally the volunteers to see if we can pull together the documentation that already exists into a form that is easy to use.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 05:10
    Heater. wrote: »
    Arduino do not have "their C version". It's the same GCC compiler as used for the Propeller!
    Yes and no. They do have a preprocessor that makes it unnecessary to write forward declarations to functions and takes care of a few other details. They also have a non-standard "main" that invokes their setup() and loop() functions. It is a bit different than programming in C/C++ but not much.
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 06:03
    JonnyMac wrote: »
    O'Reilly Publications is financially involved in the Arduino which means it's in their interest to publish. And they do. A ton of stuff. As I've said before, the most popular girl in school was never the smartest.
    yes but she was the cutest and nicest ! nothing wrong with her at all.,
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 06:08
    i just didnt realise thevstate of play of prop C . i started learning C using Code:blocks a few weeks before i touched prop C. i think a beginner would be well advised to stick at it and ask questions in these forums whenever they need help using C for the propeller
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 06:18
    whiteoxe wrote: »
    i just didnt realise thevstate of play of prop C . i started learning C using Code:blocks a few weeks before i touched prop C. i think a beginner would be well advised to leave it alone just for now.
    I think a beginner can make good progress using the Learn pages on the Parallax web site along with SimpleIDE. The main problem is that the information that advanced users need is hard to find. It is there but it is not as well organized as it should be.
  • mindrobotsmindrobots Posts: 6,506
    edited 2014-07-23 06:28
    whiteoxe wrote: »
    i just didnt realise thevstate of play of prop C . i started learning C using Code:blocks a few weeks before i touched prop C. i think a beginner would be well advised to leave it alone just for now.

    A beginner should leave SimpleIDE/Propeller C alone?? That seems to be a rather harsh statement.

    What do you find lacking? What areas would you like explained or explored? (Granted a PDF would be nice.)

    The education team (both people :smile:) has been pretty darn responsive to requests from the outside while working on the internal priorities also. People don't always realize how much work is really involved in creating documentation, especially when it comes to tutorials and educational materials because not only does your information need to be correct but any and all examples need to be solid and user proof.

    You're learning C, you're taking a creative writing class (actually helpful in writing tutorials and learning guides, I believe), take on something you want to learn and along with learning it, write a tutorial on the topic. It's really a win-win, you learn better and you have something to contribute back to the community and make the product better.

    This approach goes over much better than just complaining and telling other (especially beginners) to leave it alone for now. You're statement alone can kill a lot of the hard work many people in and around Parallax have put in over the past several years.
  • Heater.Heater. Posts: 21,230
    edited 2014-07-23 07:16
    whiteox,
    i think a beginner would be well advised to leave it alone just for now.
    Actually, what is needed is for a beginner to the Propeller and C, such as yourself, to try and get to grips with both. And whilst doing so complain about all the things that are hard to find or hard to understand to the team creating the reference and tutorial material.

    A sort of proof reading job if you like.

    This might sound like working for Parallax for free but actually all this stuff is Free and Open Source software much of created and maintained by volunteers. So you would actually just be making a contribution to the world at large by your efforts.

    Are you up to the challenge?

    Is the Parallax team up to it?

    Can they be put in touch with each other?
  • SawmillerSawmiller Posts: 276
    edited 2014-07-23 07:18
    The documentation is there, just spread out in the libraries, I'm a beginner in c for propeller,and finding stuff is slow. But its more than typing in the tutorials.
    Get a basic thick book on ANSI C and use that for the basics. I like learning c in 21 days.
    You can then do the library reference to find other function and such. Dream up a project ( I'm playing with controlling a stepper motor, and step out on your own.
    Google c code and modify it to run if you want, every failure to run is a learning experience.
    Dan
  • twm47099twm47099 Posts: 867
    edited 2014-07-23 07:52
    I bought myself the ActivityBot kit for this past Christmas because it was an opportunity to learn multicore C programming for microcontrollers. I was a complete beginner to C and started using the C-Learning tutorials.

    At first I wanted a printed book (and yes I would still like one), but I realized that the C-Learning system was still a work in progress for Parallax. Since Christmas, there have been at least 6 new tutorials added. So a hard copy book that I would have bought in December would be well out of date.

    I am one of those who likes to be able to read and use the "manual" when I don't have internet access or to have a copy separate from the computer I am using to run SimpleIDE . What I did was go the the page where the main topic starts (e.g. Simple Protocols), scroll to the bottom of the first page and click on "Printer-Friendly Version" (which gives an HTML of all the pages in that tutorial), then print them as a PDF. I'll do this for all of the main topics I want. Then I copy the PDFs to a mini SD card that I can use in my tablet. (It would be easier if the Printer Friendly version was a PDF not an HTML).

    As for the general C language reference, I usually find that a google search works well, but I also have a free C reference app on my tablet, that is pretty good.

    For the propeller specific functions, clicking on help in SimpleIDE will get to most of the library documentation (unfortunately a bit terse for a beginner), but there were some functions that I couldn't find that way. But Steve (Jazzed) posted a link that had the lower level functions:
    https://sites.google.com/site/propellergcc/documentation/libraries/propeller-h-library

    Having all of the documentation in one place would be useful.

    I think I've learned a lot from the tutorials, and have been able to extend their examples to do other things I want. I still have to learn how to interface and control other devices (particularly how to interface I2C and SPI devices based on reading the device product info), but some experimentation and asking questions here has worked quite well.

    One thing I would like to see are explanations (tutorial level) of the lower level functions that are called by the c-library functions, for example what is fdserial.c or adcDCpropab.c doing in detail (I know that they are commented, but it is still over my head). I realize that Parallax is working to build a C learning system for their educational customers, and that they can only do so much at a time. But I hope they will eventually expand the tutorials to a C-Learning 201 or 301 level.

    Tom
  • ErNaErNa Posts: 1,752
    edited 2014-07-23 10:47
    I am quite slow in learning and it took me years to start programming "C". Finding out all the tricks, understand algorithms, thinking about what to do with what I learned, all this took a long time. So my advice: be patient. Until you know, what you really need, it will be there! As you hurry, my feeling is, you have about 90 years more to live, so what to do with the rest of your time? ;-)
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 11:24
    ouch.... but i see your point. i think ill delete some of my statements and take on board the advice some have suggested. but its now 4am, im trying to get back to sleep after waking and having my cupa tea ;)
  • jazzedjazzed Posts: 11,803
    edited 2014-07-23 11:36
    Sawmiller wrote: »
    The documentation is there, just spread out in the libraries, I'm a beginner in c for propeller,and finding stuff is slow. But its more than typing in the tutorials.


    I've been adding context sensitive library help to the IDE for some time now (not language syntax help). It is a Mouse-over Press F1 feature and will be available in the next test version and most likely in the 1.0.0 release for the Learn/Simple Library. As the feature grows, it will include the propeller.h library, standard library functions and attributes, and an indexing feature.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 12:10
    jazzed wrote: »
    I've been adding context sensitive library help to the IDE for some time now (not language syntax help). It is a Mouse-over Press F1 feature and will be available in the next test version and most likely in the 1.0.0 release for the Learn/Simple Library. As the feature grows, it will include the propeller.h library, standard library functions and attributes, and an indexing feature.
    That's very nice and I'm sure very helpful for SimpleIDE users but what about PropGCC users who don't use SimpleIDE?
  • jazzedjazzed Posts: 11,803
    edited 2014-07-23 12:21
    David Betz wrote: »
    That's very nice and I'm sure very helpful for SimpleIDE users but what about PropGCC users who don't use SimpleIDE?


    Guess that's up to the developers that don't use SimpleIDE.

    I have a place you can put it if you feel like making a web site.
  • DavidZemonDavidZemon Posts: 2,973
    edited 2014-07-23 12:22
    David Betz wrote: »
    That's very nice and I'm sure very helpful for SimpleIDE users but what about PropGCC users who don't use SimpleIDE?

    For PropGCC users not using SimpleIDE, why not use another IDE like Eclipse, QtCreator or JetBrain's new CLion (currently private beta)? That was my problem as well and hence forth why I created PropWare.

    And, if you're using basic CL editors like vim/emacs, then maybe you're comfortable enough generating your own Doxygen docs? I did that once for the Learn library and it was very helpful! :) I was surprised though when I couldn't find that same documentation on a website anywhere. Am I crazy or is that truly not available anywhere?

    Also, Jazzed:
    WAY TO GO on the context sensitive stuff! That should be a huge bonus to SimpleIDE and was always one of my biggest gripes. Congrats!
  • jazzedjazzed Posts: 11,803
    edited 2014-07-23 12:29
    I did that once for the Learn library and it was very helpful! :) I was surprised though when I couldn't find that same documentation on a website anywhere. Am I crazy or is that truly not available anywhere?

    It's all here: https://propsideworkspace.googlecode.com/hg/Learn/Simple%20Libraries%20Index.html
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 12:30
    And, if you're using basic CL editors like vim/emacs, then maybe you're comfortable enough generating your own Doxygen docs? I did that once for the Learn library and it was very helpful! :) I was surprised though when I couldn't find that same documentation on a website anywhere. Am I crazy or is that truly not available anywhere?
    It may not be available. When I started working on PropGCC I assumed that all of the documentation would be done by the excellent writers at Parallax. I guess they don't have enough bandwidth to do that and the Learn stuff at the same time. Unfortunately, I don't have the time either and I'm not as good as the Parallax writers anyway.
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 13:13
    ErNa wrote: »
    I am quite slow in learning and it took me years to start programming "C". Finding out all the tricks, understand algorithms, thinking about what to do with what I learned, all this took a long time. So my advice: be patient. Until you know, what you really need, it will be there! As you hurry, my feeling is, you have about 90 years more to live, so what to do with the rest of your time? ;-)
    and a free lesson in metaphysics ... dont worry i get it :;) i'll take it slow and easy., been in overdrive with no destination ;)
  • DavidZemonDavidZemon Posts: 2,973
    edited 2014-07-23 13:58
    David Betz wrote: »
    It may not be available. When I started working on PropGCC I assumed that all of the documentation would be done by the excellent writers at Parallax. I guess they don't have enough bandwidth to do that and the Learn stuff at the same time. Unfortunately, I don't have the time either and I'm not as good as the Parallax writers anyway.

    Hmmm... were you looking for docs on PropGCC or docs on Learn? My point was just that users (of Learn, not devs of PropGCC) can generate the doxygen docs for Learn on their local machines and that might alleviate some of their troubles (though autocompletion and jump-to-definition features in IDEs might be even better). I found the doxygen docs in the Learn folder are pretty solid. They certainly aren't a "Learn C in 21 Days" tutorial... but then, like others have mentioned, they don't need to be. If you want to learn C, Google. If you want to learn about the Propeller, poke through the assembly/hardware descriptions. If you want to learn how to program the propeller, read the Doxygen docs in Learn and/or PropWare (shameless plug :P ) and browse other peripheral libraries/projects already out there.
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 14:06
    I read a post about using code:blocks for prop C. I guess its a pretty popular ide since its in the repository of a few Linux distros, thats what i was using in ubuntu and mint anyway !
    but it was not totally transparent how to get it working due bto my ignorance of different C compilers. i though C was C full stop. but i had to use the command line to download dependencies to even do a HELLO WORLD. then it still wasn't fully functional until i figured out from errors that i had to also download xterm.

    I would like to try using CODE:BLOCKS for prop C ......at some point in the Future ;)
  • DavidZemonDavidZemon Posts: 2,973
    edited 2014-07-23 14:18
    whiteoxe wrote: »
    I read a post about using code:blocks for prop C. I guess its a pretty popular ide since its in the repository of a few Linux distros, thats what i was using in ubuntu and mint anyway !
    but it was not totally transparent how to get it working due bto my ignorance of different C compilers. i though C was C full stop. but i had to use the command line to download dependencies to even do a HELLO WORLD. then it still wasn't fully functional until i figured out from errors that i had to also download xterm.

    I would like to try using CODE:BLOCKS for prop C ......at some point in the Future ;)

    whenever you're ready to give a full-blown IDE a try, let me know. I have pretty solid instructions for developing C or C++ code for the propeller inside Eclipse. PropWare is in a buggy transition as I make the switch from Make to CMake, but whenever you're ready I'll happily walk you through getting it setup (if I haven't finished the CMake transition, I'll show you Make). Full blown IDEs like Eclipse (and maybe CODE:Blocks? I haven't used it before) are definitely more complicated than something like SimpleIDE, but the features they offer are extensive.
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 14:45
    Thank you SwimDude, i had just been paid a visit by the Monkey God, or a thread of mine... and I thanked him for his wisdom and offered to light a candle (some of you may know him by his more familiar name as Monkey Moderator) and Low..he cometh in the form of C Seer ! it only takes the movement of one atom to change the world !

    Seriously, i will be in touch eventually, Duane, you seem very good at being able to post links to threads that would otherwise end up in the cloud... i started hitting BLOG THIS POST for similar reasons but that seems the wrong thing to do. please share even by pm what you do ? thx Duane & SwimDude.
  • PublisonPublison Posts: 12,366
    edited 2014-07-23 15:18
    whiteoxe wrote: »
    Thank you SwimDude, i had just been paid a visit by the Monkey God, or a thread of mine... and I thanked him for his wisdom and offered to light a candle (some of you may know him by his more familiar name as Monkey Moderator) and Low..he cometh in the form of C Seer ! it only takes the movement of one atom to change the world !

    Seriously, i will be in touch eventually, Duane, you seem very good at being able to post links to threads that would otherwise end up in the cloud... i started hitting BLOG THIS POST for similar reasons but that seems the wrong thing to do. please share even by pm what you do ? thx Duane & SwimDude.

    Mike ,

    It makes more sense to do what Duane is doing and creating his log under one post under Test Forums :

    http://forums.parallax.com/forumdisplay.php/45-Test-Forum

    http://forums.parallax.com/showthread.php/135706-Index-Test

    Posting in Blogs just republishes what is on the thread and does not make sense to new uses. Making your own thread in the Test Forum will let you manage that thread with all your bookmarks.
  • David BetzDavid Betz Posts: 14,516
    edited 2014-07-23 15:44
    Hmmm... were you looking for docs on PropGCC or docs on Learn? My point was just that users (of Learn, not devs of PropGCC) can generate the doxygen docs for Learn on their local machines and that might alleviate some of their troubles (though autocompletion and jump-to-definition features in IDEs might be even better). I found the doxygen docs in the Learn folder are pretty solid. They certainly aren't a "Learn C in 21 Days" tutorial... but then, like others have mentioned, they don't need to be. If you want to learn C, Google. If you want to learn about the Propeller, poke through the assembly/hardware descriptions. If you want to learn how to program the propeller, read the Doxygen docs in Learn and/or PropWare (shameless plug :P ) and browse other peripheral libraries/projects already out there.
    Yes, I know access to the Learn docs is good. I just wish access to all of the docs was just as good and that decent documentation didn't depend on using SimpleIDE. I guess the Arduino is no better though. They only provide docs for their own libraries through their IDE. You can use the command line tools if you want but you're pretty much on your own for figuring them out and for learning the standard C libraries.
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 16:02
    Great, thats perfect for what i was trying to do. Publison (were/are u a sound engineer) but i am stumped, there seems to be only two threads but the second link is all Duanes log of posts.

    So shall i create a thread titled say.... 'The Whiteoxe Log' and just use that to keep posting links with brief explanation to go with them ? and that will work as well as what Duane managed?
  • whiteoxewhiteoxe Posts: 794
    edited 2014-07-23 16:18
    nope.... what ive done is just add a third thread http://forums.parallax.com/forumdisplay.php/45-Test-Forum

    ive done it wrong.
  • PublisonPublison Posts: 12,366
    edited 2014-07-23 16:23
    whiteoxe wrote: »
    Great, thats perfect for what i was trying to do. Publison (were/are u a sound engineer) but i am stumped, there seems to be only two threads but the second link is all Duanes log of posts.

    So shall i create a thread titled say.... 'The Whiteoxe Log' and just use that to keep posting links with brief explanation to go with them ? and that will work as well as what Duane managed?

    I linked the two threads.

    1. To show you were to start the thread

    and

    2. To show you how Duane does it.

    Looks like you have your own started now. Just keep posting to the same when you want to update it.
Sign In or Register to comment.