Shop OBEX P1 Docs P2 Docs Learn Events
Finding Bitmaps SAddr in uOLED128 — Parallax Forums

Finding Bitmaps SAddr in uOLED128

rough_woodrough_wood Posts: 61
edited 2010-01-01 18:00 in Propeller 1
I have a Dynex multicard read/writer. I place a 256 Bitmap in it named WinIcon.bmp which is 17KB. The issue I have is that I don't know what SAddr the file was placed at. I tried trial and error and found if I type in 508 as @SAddr the image shows up but chopped in half, distorted, and miscolored. I tried all adjacent SAddrs but the image is always shaped and colored strange. I also tried both 8 and 16 modes.

How does one find the specific SAddrs of images placed into the uSD from WindowsXP?

Ultimately I'd like to be able to do something such as:

··· OLED.DISPLAY_FROM_uSD(0,0, 128,128, 8, string("WinIcon.bmp"))

But if I have to keep track of SAddr numbers for different Icons that's fine. I just need it to work as a sort of GUI with icons etc the user can click on screen.

I also noticed, after placing this image in the card, and running the full 128-GMD1_Demo, the card won't work in Windows and needs to be reformatted.

  OLED  : "uOLED-128-GMD1"
  DELAY : "Clock"
  FSRW  : "fsrw"
  DEBUG : "FullDuplexSerialPlus" 

FSRW might not work since the serial wires don't seem to be the same from uSD Adapter to uOLED. It may be possible, but I am a·beginner.
PUB KEITH 
  DEBUG.start(31, 30, 0, 57600)
                                                                         
  OLED.OPAQUE 
  OLED.FTEXT(0,3, 2, 255,255,255, string("Display Copy of"),0)
  OLED.FTEXT(0,5, 2, 255,255,255, string("  'WINICON'    "),0)
  OLED.FTEXT(0,7, 2, 255,255,255, string(" from uSD card "),0)
  waitcnt(clkfreq / 2 + cnt)
           
  repeat
    Debug.str(string(16))
    Debug.Str(String("Enter a decimal value: "))
    SAddr := Debug.getDec
    Debug.str(string(13))
    Debug.Str(String("Enter a Mode: "))
    mode := Debug.getDec  
    OLED.ERASE                        
    OLED.DISPLAY_FROM_uSD(0,0, 128,128, mode, @SAddr)
    waitcnt(clkfreq + cnt)   
    OLED.ERASE
    OLED.FTEXT(0,1, 2, 255,255,255, SAddr,0)
    OLED.FTEXT(0,2, 2, 255,255,255, SAddr,1)
    OLED.FTEXT(0,3, 2, 255,255,255, @SAddr,0)
    OLED.FTEXT(0,4, 2, 255,255,255, @SAddr,1)  
                    
  SETUP

I understand how the "Witch" etc worked in the Demo, I just don't have a good way to get these images on my Laptop onto that screen to save them, and know how to access them later.

Thanks,

Keith
Sign In or Register to comment.