Shop OBEX P1 Docs P2 Docs Learn Events
EEPROM Banks on the BS2SX — Parallax Forums

EEPROM Banks on the BS2SX

ArchiverArchiver Posts: 46,084
edited 2004-01-03 04:12 in General Discussion
After trawling the web for an hour, I figured it might be easiest just
to ask my question here.

I am using the stamp as part of an experiment that needs to be able to
output noise to a group of six motors. For experimental reasons, we
want to be able to store as much noise as possible in the stamp. In
the first revision of the code (written for the BS2), we filled up all
of the EEPROM that wasn't program space with noise samples. The
program pulled bytes from EEPROM and pushed them into OUTS. We bought
a BS2SX hoping that it would allow us to do 8 times the sample length.
Upon examination, I can't seem to address the EEPROM bank other than
the bank in which the program code is stored. Is this possible?

Assuming it's not possible, here's my plan for getting around that
limitation. In bank 0, the code will dump its data (using DATA
statements) to EEPROM, and call bank 1, etc. Bank 7's code will dump
DATA and call bank 0 again, which will run the event loop, which pulls
the data from EEPROM and copies it to the digital i/o pins, one byte
at a time. When the code in bank 0 exhausts its DATA, it would call
bank 1, etc.

There are obvious disadvantages to this system - changing
out the signal is a big pain and any changes in the main event loop
have to be mirrored in each of the 8 copies. Is this my best bet? Is
there a better way to do it? The speed of the main loop is crucial -
how long does it take to switch programs? Is there any equivalent to
PHP's include()/require() command, or C's #include in PBASIC?

Thanks a bunch! Happy new year to everyone on the list.

Drew.

PS. My yahoo username is entirelly unrelated to parallax inc. Had
never heard of the company when the account was created. Strange
coincidence that I'm not working with stamps.

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2004-01-03 04:12
    Only the BS2p and BS2pe allow you to address EEPROM in a bank other than
    the current program. The STORE instruction tells the Stamp which bank
    is currently working with WRITE and READ.

    -- Jon Williams
    -- Parallax


    Original Message
    From: Drew [noparse]/noparse]mailto:[url=http://forums.parallaxinc.com/group/basicstamps/post?postID=_14rYatLeliNPwUORqNzodMVGC9_Lj0mIuN3zDC5i81YhualHVQQHC9K7Sg2sTclv_SL0oeGjy-y]drew_harry@m...[/url
    Sent: Friday, January 02, 2004 4:06 PM
    To: basicstamps@yahoogroups.com
    Subject: [noparse][[/noparse]basicstamps] EEPROM Banks on the BS2SX


    After trawling the web for an hour, I figured it might be easiest just
    to ask my question here.

    I am using the stamp as part of an experiment that needs to be able to
    output noise to a group of six motors. For experimental reasons, we want
    to be able to store as much noise as possible in the stamp. In the first
    revision of the code (written for the BS2), we filled up all of the
    EEPROM that wasn't program space with noise samples. The program pulled
    bytes from EEPROM and pushed them into OUTS. We bought a BS2SX hoping
    that it would allow us to do 8 times the sample length. Upon
    examination, I can't seem to address the EEPROM bank other than the bank
    in which the program code is stored. Is this possible?

    Assuming it's not possible, here's my plan for getting around that
    limitation. In bank 0, the code will dump its data (using DATA
    statements) to EEPROM, and call bank 1, etc. Bank 7's code will dump
    DATA and call bank 0 again, which will run the event loop, which pulls
    the data from EEPROM and copies it to the digital i/o pins, one byte at
    a time. When the code in bank 0 exhausts its DATA, it would call bank 1,
    etc.

    There are obvious disadvantages to this system - changing
    out the signal is a big pain and any changes in the main event loop have
    to be mirrored in each of the 8 copies. Is this my best bet? Is there a
    better way to do it? The speed of the main loop is crucial - how long
    does it take to switch programs? Is there any equivalent to PHP's
    include()/require() command, or C's #include in PBASIC?

    Thanks a bunch! Happy new year to everyone on the list.

    Drew.

    PS. My yahoo username is entirelly unrelated to parallax inc. Had never
    heard of the company when the account was created. Strange coincidence
    that I'm not working with stamps.



    To UNSUBSCRIBE, just send mail to:
    basicstamps-unsubscribe@yahoogroups.com
    from the same email address that you subscribed. Text in the Subject
    and Body of the message will be ignored.


    Yahoo! Groups Links

    To visit your group on the web, go to:
    http://groups.yahoo.com/group/basicstamps/

    To unsubscribe from this group, send an email to:
    basicstamps-unsubscribe@yahoogroups.com

    Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/




    This message has been scanned by WebShield. Please report SPAM to
    abuse@p....
Sign In or Register to comment.