Shop OBEX P1 Docs P2 Docs Learn Events
ICCv7 -- Alsheimers Warning — Parallax Forums

ICCv7 -- Alsheimers Warning

WNedWNed Posts: 157
edited 2009-03-16 14:58 in Propeller 1
After discovering that Image Craft C is not to be some sort of bastard stepchild, I fired up the free download I'd started playing with a while back, and ran through the examples again. All was going well, and I remembered how much I enjoy the C language in general, until I hit the VGA Text example. That project wouldn't build. What the heck!? I don't remember that happening before. I did some fussing and fuming about compiler producers whose own examples don't even work... Then I remembered, the free download version has a 45 day limitation after which, as the ICC web site says,"it will be code limited for an unlimited time." It's actually decent of them to allow perpetual play, but when time expires for useful development, there's no message that says "Show me the money!".
I've attached the build error so anybody else who forgets how long ago they installed the download will understand what's going on before beginning a disgruntled rant.
Have Fun.

Post Edited By Moderator (Chris Savage (Parallax)) : 3/16/2009 6:29:55 PM GMT
800 x 508 - 221K

Comments

  • jazzedjazzed Posts: 11,803
    edited 2009-03-14 18:34
    When did you download the ICC package?
    What version was this? Look at Help->About
    Have you added any files?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Need a Propeller PC logic analyzer?
    Try Propalyzer http://www.brouhaha.com/~sdenson/Propalyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-14 19:35
    Hey jazzed,
    I downloaded the package somewhere around Jan. 11, 2009
    Version info:
    ICCPROP
    Version 7.04 Built OCT. 27, 2008

    I have not added anything to the ICC installation folders... my own projects go into a folder on another drive. They seem to compile just fine... they're all just little play blurbs.
    Are you thinking that the build error may be more than an over-time issue?

    In another issue altogether, but still related to ICCv7: when ASIO.H "prints" something to a serial line, it seems that the first character is always replaced by a garbage character. In the attached illustration, the text should read "I'm workin' here..." the "I" gets hammered, as does "H" if you try "Hello World", etc.
    Anybody care to take a guess what that's about?

    Ned

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno

    Post Edited (WNed) : 3/14/2009 8:22:18 PM GMT
    662 x 317 - 131K
  • jazzedjazzed Posts: 11,803
    edited 2009-03-14 20:11
    Reproducing a problem is key to solving a problem. How does your project window look? There should only be a few files; can you list them? If you could do Project->Rebuild All and copy/paste all of the text from the bottom output window in a post, that would be helpful. If your time has expired I guess rebuild would not be possible though. I've never had the trouble you're facing building just vga_text lib and vgatest.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • jazzedjazzed Posts: 11,803
    edited 2009-03-14 20:31
    WNed,
    Please post your project build instructions. Creating a zip of your project directory and attaching it here would be very useful.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230

    Post Edited (jazzed) : 3/14/2009 8:36:57 PM GMT
  • WNedWNed Posts: 157
    edited 2009-03-14 21:27
    @Steve,
    I attached the zipped directory, but it should be exactly the same as you already have under "iccv7prop\examples.prop\VGATest". I have mine installed under D:\Program Files
    If you are running an "expired" version of the ICC free download, and VGATest is not giving you any trouble, it will be interesting to see if the version from my system behaves differently. If you are running a licensed version of ICC, then I would expect my files to work just fine. If they don't , that's interesting too.
    Thanks.
    Ned

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • jazzedjazzed Posts: 11,803
    edited 2009-03-14 21:46
    Well, since the project works fine for me and assuming all else equal (except that I had to find a copy of the vga_text.h file), I can only conclude that it's related to the expiration issue. Seems I remember now that on expiration, the application becomes "crippled" and memory size shrinks to 8KBytes or something.

    What were you using for ASIO library testing? I do not see that problem either. Since you can build it I assume it's not related to cripple-ware effects.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-14 22:06
    Jeez, I hadn't even thought of the ASIO issue in reference to the cripple-ware issue... Since it's the ASIO that came with the package, and it consistently hits the first character and only the first character every time, crippledom does seem like a good candidate... Well, I should be receiving a license from Ken Gracey at some point, then any question about limitations will be resolved. Until then, I have MinGW and Eclipse to play with C, then there's Prop ASM to learn.
    Thanks, Steve, for trying to work this through.
    Ned

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • jazzedjazzed Posts: 11,803
    edited 2009-03-14 22:23
    Ned, I doubt the bad ASIO char is a cripple-ware problem. Once you get your IDE licensed, go to the ImageCraft site and get the latest release (should work with your license). Meanwhile if you post your ASIO experiment here, I'll give it a try.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-14 23:15
    Steve,
    It does this with the plain vanilla example included with the download. I would consider it unworthy of anyone's time to chase any little glitch associated with the expired IDE. I started debugging software as a hobby back with ASM on the TRS-80 (it's really cool to read the progress of the ZiCog project), and I don't let go of a bug easily... but I absolutely hate spending good time on futile work. Until the license arrives, I have other monkeys to chase.
    Thanks again, many people on the forum benefit from your help.
    Ned

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • Michael O'BrienMichael O'Brien Posts: 55
    edited 2009-03-15 00:16
    ImageCraft email support is excellent, I had an issue last month with my license key resolved within the hour at 0100h EDT.
    /michael
  • WNedWNed Posts: 157
    edited 2009-03-15 10:31
    Having received a proper license, and installed the latest version of the ICCv7 Prop compiler, I can say two things for certain:
    1. The VGATest project issue was simply the memory limitation imposed on the "expired" version I had been using.
    2. ASIO is still not playing nicely. It always replaces the first character in a printf string with a garbage character, and the garbage character is always the same for any given string.
    For example (I'll use keyboard characters, the compiler puts control characters... or something) "Hello World!" will always come out as "@ello World!" but "Yo, Adrienne!" will always come out as "&o, Adrienne!". The garbage character is consistent for a given string.
    See the attached picture for actual Hello World output.

    The original intent of this thread was simply to be a friendly reminder to anyone interested that the free download of ICCv7 expires after 45 days, there is a strict memory limitation after that time, and the compiler will not give you a "You've been using this for over 45 days, can I have my money now?" message, it will simply fail to build your project (if it uses too much memory, like VGATest).

    Now I'm going to go play!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno

    Post Edited (WNed) : 3/15/2009 10:36:23 AM GMT
    710 x 722 - 232K
  • jazzedjazzed Posts: 11,803
    edited 2009-03-15 15:47
    Ned, I did the same thing yesterday and did not see your issue. I'm very annoyed by the linefeed problem though which I did not see before. One thing I had to do was put a delay after init so I could see all output after load i.e. msleep(1000);

    What hardware do you have?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-15 21:21
    Hey jazzed,
    What can I say...
    1. Check Power
    2. Check Data
    3. Check Timing
    Three simple rules... and 2 out of 3 is not "good enough". Adding "msleep(1) ;" yes 1, is enough to distract it from squashing the first character.
    I am going to be boldly ignorant and ask, why the speed limitation? Spin, which is much slower, can push 115200, why can't ICC? I played around in ASIO.H a little, and managed not to break it permanently, neither did I make any real difference.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • jazzedjazzed Posts: 11,803
    edited 2009-03-15 23:25
    Hi Ned.

    Ok, hope the msleep(1) is an adequate work-around. I suppose the first transmit was happening fast enough after init to cause garbage. I usually put a getchar() or something before output to make sure I don't miss a thing since the port I use for comm is the same port I use for download ... Actually I was wondering if you have Protoboard or other dev platform.

    As far as Spin/C speed goes, if you are using FullDuplexSerial as a comparison, it is apples and oranges. The ASIO stuff bit-bangs relying on function call timing etc... (really a bad idea but mitigated somewhat by using waitcnt inline asm) where FullDuplexSerial is a PASM driver with queue called from spin. The ASIO equivalent SPIN Serial.spin code can barely do 19200Kbps ... I've tried many times trying to save program space [noparse]:)[/noparse]. The C FdSerial package is roughly the same as FullDuplexSerial. The FdSerial package is the way to go normally with ICC unless you're running out of space.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-16 00:09
    Just to ramble a bit... For the past 10 years I've been doing a lot of business related (read: Boooring!) mid-range (AS/400), high level programming, and I can see there's going to be some frustration at having to claw my way back down to the metal... but it's so much more fun down there it will be well worth it. I do know the difference between Async and Full Duplex, I just need to get my head back in the game... I was a technician 27 years before I did software development... Anyway, I have a laser range finder from Opti-Logic that is hard coded for 3 wire serial comms @ 19200, so I have already downloaded the C FDX object and am just starting to play. Even with the FDX object available, though, it's always nice to have plain old printf around for debugging. I also make extensive use of the Demo Board's LED's for debugging. I have all the bits and pieces I want for my "autonomous rover". I was told that I have to build one if I want to use this forum lol.gif And a Prop Proto Board for when it's time to move everything off the bench and over to the chassis.
    I've decided, though, that I'll do all the development in C (ASM where necessary is a given), and I'm comfortable with the start we've made here. Many thanks.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • jazzedjazzed Posts: 11,803
    edited 2009-03-16 00:31
    Ned, You're in luck with printf ... here's an example of how to make it work:

    [color=#008000][color=#008000]/**
     * @file hello.c
     */[/color][/color]
    [color=#000000]#include <stdio.h>
    #include <propeller.h>
    #include <FdSerial.h>
    
    [b]void[/b] main([b]void[/b])
    {
    [b]  int[/b] val;
      FdSerial_start(31,30,0,115200);
    [b]  while[/b](1) {
    [/color][color=#008000][color=#008000]   printf("Hello World\n\r");[/color][/color]
    [color=#000000]  }
    }
    
    [b]int[/b] putchar([b]char[/b] ch)
    {
      FdSerial_tx(ch);
    [b]  return[/b] 0;
    }[/color]
    
    


    Function putchar·is defined by default in ASIO and·vga_text though I wish they were not. You can also add FDS_DISABLE_OUTS·to the compiler options "Macro Defines" box to save space; it turns off FdSerial_hex, FdSerial_dec, FdSerial_out, & FdSerial_str.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • WNedWNed Posts: 157
    edited 2009-03-16 02:42
    Super!
    Also turned out to be a nice little exercise in getting the support files straight. I automatically pulled the header files into the project, but forgot FDSerial.c is also a required support file... not too much cranial bruising before I remembered, though. Much appreciated.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno
  • ImageCraftImageCraft Posts: 348
    edited 2009-03-16 05:04
    Hi Ned, we will add an update to address the "purchase a license" reminder, but if you look at the title bar, it should say "8K limited demo license." I suppose we can add the "Please buy" every time an expired IDE is invoked, but again, the Propeller market is a little new to us. Our other markets, the engineers would test drive our products and will purchase within days. Some times they purchase after the 45 days, but there's really very little chance that they will let it expire and test it again in a few months later and wonder why things don't work. Regardless, we must adjust for the particular market expectation and add the reminder screen.

    Steve, once again you have my eternal gratitude for helping out. I will buy you a cup of coffee or whatever you drink next week smile.gif

    // richard
  • WNedWNed Posts: 157
    edited 2009-03-16 14:58
    @Steve,
    Don't let Richard off the hook with anything less than lunch. burger.gif
    Just as a gee whiz... somewhere down the road, I'll be cajoling my iSeries system into playing nicely with the Prop... I'll have to be very comfy with Ethernet / sockets programming in C before I go there, though.

    @Richard,
    My original assumption was that my issues were due to the time limitation, but why would I look for such information in the title bar? I know what program I just started and, therefore, seldom look at its title. You really don't need to add a nag screen to the package, you want to maintain a professional image, but certainly an indication in the build error message would have been helpful. As it is, the existing error message indicates that there is a memory issue, adding why the memory is currently limited would go a long way... I would have known, rather than suspected, the cause of my "bug".
    There is, indeed, a rich mix of varying levels of talent, experience, and expectations in the "Parallax World". Your free download is going to be picked up and worn out by some serious hobbyists. They may not be able to buy a copy until they get a job in the industry (or pick up a decent paying contract), and at that point, you will want them to have fond memories. Parallax is certainly doing their part now by insuring a lot of examples and experience are available in the near future.

    Ned

    Edit: ...and for Pete's sake, put the little delay in your Printf example...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    "They may have computers, and other weapons of mass destruction." - Janet Reno

    Post Edited (WNed) : 3/16/2009 3:05:12 PM GMT
Sign In or Register to comment.