Shop OBEX P1 Docs P2 Docs Learn Events
Seeking an uber-short, single cog, color bar video test, + a linking question. — Parallax Forums

Seeking an uber-short, single cog, color bar video test, + a linking question.

epmoyerepmoyer Posts: 314
edited 2008-08-11 21:13 in Propeller 1
Greetings folks,

I'm in the process of putting together the production test software for my Coyote-1 device (www.openstomp.com) and I find myself wanting to embed the production test code into the shipping firmware image. That means that the production test code will need to be code-efficient to leave as much room as possible for the operational code. In order to verify the video in production I'm going to have the manufacturer connect the video output to a display and verify a color bar pattern. I'm looking to write the shortest possible single-cog routine to display some basic color bars. I know there are a lot of renderer tinkerers in the Hydra community so I thought I'd toss it out there and not reinvent the wheel if someone's already got something that would do the trick. Any takers?

On another subject, I use a good chunk of RAM (6K+) for various data buffers in the firmware. It would be possible to "reclaim" the code space used for the diagnostic code and use it for those buffers, since the two will never be used concurrently. I haven't gone poking around yet to figure out how the Propeller Tool orders code assets in a compile. I'd like to locate the diagnostic code so that it appears last, and as one contiguous block, in the "Program" section and abuts the beginning of the "Variable" section. Can anyone shed any light on the order in which modules are stored in EEPROM/RAM during a compile? I am guessing/hoping that linking is performed in the order declared and that declaring the diagnostic objects last in the top file will ensure that they are last in the EEPROM/RAM image. Is there any way to get the equivalent of a memory map out of the Propeller Tool to verify where things are being stored?

Thanks!
-Eric

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The World's First Open Source Guitar Pedal:··http://www.OpenStomp.com

Comments

  • mparkmpark Posts: 1,305
    edited 2008-08-10 22:59
    Hey Eric, congrats on shipping!

    Re your question on reclaiming memory, I'm afraid the news is not very good. See this thread:
    http://forums.parallax.com/showthread.php?p=670353

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Michael Park

    PS, BTW, and FYI:
    To search the forum, use search.parallax.com (do not use the Search button).
    Check out the Propeller Wiki: propeller.wikispaces.com/
  • epmoyerepmoyer Posts: 314
    edited 2008-08-11 00:10
    Thanks Michael. It seems from that thread that the allocation is sequential. I can live with that I think; I'll have to do a little testing to see. Still, it would be great to have some kind of a memory map to verify. I seem to remember people asking Parallax about that a long time ago and there not being one (a memory map), but perhaps things have changed since then. Anyone know if it's possible to get a memory map for compiled code? (not the one in the Hex viewer, but one listing symbols and the memory locations they got mapped to).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    The World's First Open Source Guitar Pedal:··http://www.OpenStomp.com
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2008-08-11 00:58
    Eric,

    I've just reread the above-referenced thread and have posted some additional comments. I don't know if it will help in your case, but it might.

    -Phil

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    'Still some PropSTICK Kit bare PCBs left!
  • AndreLAndreL Posts: 1,004
    edited 2008-08-11 08:52
    Eric,

    Bamse's little 50 line driver is probably the best bet, also, I posted something that will do the same called the "HEL" demo a while ago, very short. However, you might want to not put the test code into the firmware and have it be a separate step. The reason being you might want a more elaborate (or need a more elaborate test then you have now) in the future. Typically, you have the test code firmware, green light, then the production app which tests something again (at least the functionality of what it does at least). This way, if you find yourself needing a more complex test program you don't have to split it out from the application firmware, and its just easier actually for the manufacturing in the long run since they are used to running the test suite then loading the final firmware, running, a quick functional test.

    Andre'
  • VIRANDVIRAND Posts: 656
    edited 2008-08-11 21:13
    If the machine outputs video anyway, can't you just clear the screen and set the background color in a striped pattern?
    As far as I know, that even works in the text only drivers, and character spaces are a good size to make color bars with.
Sign In or Register to comment.