Hoi,
Ik kan nu een bitmap op mijn GLCD laten zien.
dit is geschreven in Picbasic (volledige versie)
alleen hoe kan ik nu 2 verschilende afbeeldingen achter alkaar laten zien, dus eigenlijk afwisselend afb. 1 en afb.2?

Ik heb nu de onderstaande code:


DEVICE 16F877A  
    XTAL = 8        
config hs_osc,wdt_off,lvp_off   
  'MikroElektronika EP5 GLCD Definition
        Declare LCD_TYPE       SAMSUNG
        Declare LCD_INTERFACE  8         
        Declare LCD_DTPIN      PORTD.0
        Declare LCD_ENPIN      PORTB.4
        Declare LCD_RSPIN      PORTB.2
        Declare LCD_RWPIN      PORTB.3
        Declare LCD_RSTPIN     PORTB.5
        Declare LCD_CS1PIN     PORTB.1
        Declare LCD_CS2PIN     PORTB.0
        Declare GLCD_CS_INVERT on
        ;declare GLCD_STROBE_DELAY 30000
        ;declare GLCD_read_delay 500
        High                   PORTB.5
'End of MikroElektronika EP5 GLCD Definition
   INTERNAL_FONT = on		
   FONT_ADDR = 0
       ALL_DIGITAL = TRUE

; include "PROTON_G4.INT"

Dim xpos as byte
dim temp as byte
dim yline as byte
dim glcd_data as Byte
Dim data_pointer as Word

yline = 0
data_pointer = 0
cls

Repeat 
repeat 
glcd_data = lread Splash2 + data_pointer
LCDwrite yline,xpos,[glcd_data]
inc xpos
inc data_pointer 
until xpos = 128
xpos = 0
inc yline
until yline = 8

Repeat 
repeat 
glcd_data = lread Splash3 + data_pointer
LCDwrite yline,xpos,[glcd_data]
inc xpos
inc data_pointer 
until xpos = 128
xpos = 0
inc yline
until yline = 8

';Stop
;end

;bmp_img.bmp (128 x 64)
Splash2:
LData $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F0,$F8,$FC,$FE,$FF,$FF,$03,_
      $00,$00,$00,$00,$00,$F0,$E0,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$1E,$7E,$FE,$F8,$F0,$81,$07,$0F,$8F,$FF,$FE,_
      $F8,$F0,$00,$00,$C0,$FF,$FF,$7F,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$07,$3F,$0F,$00,$0E,$3F,$7F,$0F,_
      $01,$00,$00,$0F,$0F,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$E0,$E0,$E0,$F0,$70,$30,$38,$18,$18,$18,$18,$1C,$1C,$1C,$0C,$0C,$08,_
      $08,$80,$C0,$E0,$E0,$E0,$F0,$F0,$F0,$E0,$F0,$E0,$E0,$E0,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$0F,$3F,$7F,$FF,$FE,$F8,$F8,$F8,$F0,$F0,$F0,$F0,$E0,$E0,$E0,$E0,$E0,$E0,_
      $E0,$E0,$E0,$E1,$71,$70,$78,$38,$19,$1F,$8F,$EF,$F7,$F3,$F9,$38,$1C,$0C,$0E,$0E,$0E,$FE,$FE,$FC,$F8,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$0F,$3F,$FF,$FE,$F8,$E0,$80,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$80,$E0,$F8,$FE,$7F,$1F,$07,$01,$00,$38,$3C,$7C,$7C,$7E,$7E,$3F,$3F,$0F,$03,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$E0,$F0,$F8,$F8,$FC,$FC,$FC,$FE,$1E,$0F,$0F,$07,$07,$07,$03,$03,$03,$0F,$1F,$3E,$38,$70,$60,$60,$60,_
      $60,$60,$70,$70,$38,$3E,$1F,$07,$03,$00,$08,$3C,$3E,$3E,$3E,$3E,$FC,$FC,$F8,$F8,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$07,$07,$0F,$0F,$1F,$1F,$1E,$1E,$3E,$3C,$3C,$38,$38,$78,$78,$78,$70,$70,$70,$70,$70,$60,_
      $60,$70,$70,$60,$60,$70,$70,$70,$70,$30,$38,$38,$18,$1C,$1E,$1F,$0F,$07,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00;
;end
Splash3:
LData $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3C,$FC,$F0,$C0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$C0,$F0,$F0,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$0F,$0F,$0C,$FC,$FC,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$EF,$FF,$7D,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$1F,$3F,$78,$70,$40,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1E,$7F,$7F,$E3,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$E0,$E0,$E0,$F0,$70,$30,$38,$18,$18,$18,$18,$1C,$1C,$1C,$0C,$0C,$08,_
      $08,$80,$C0,$E0,$E0,$F8,$F8,$F8,$F8,$F8,$F8,$F8,$E8,$E8,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$0F,$3F,$7F,$FF,$FE,$F8,$F8,$F8,$F0,$F0,$F0,$F0,$E0,$E0,$E0,$E0,$E0,$E0,_
      $E0,$E0,$E0,$E1,$71,$70,$78,$38,$19,$1F,$8F,$EF,$F7,$F3,$F9,$38,$1C,$0C,$0E,$0E,$0E,$FE,$FE,$FC,$F8,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$0F,$3F,$FF,$FE,$F8,$E0,$80,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$80,$E0,$F8,$FE,$7F,$1F,$07,$01,$00,$38,$3C,$7C,$7C,$7E,$7E,$3F,$3F,$0F,$03,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$E0,$F0,$F8,$F8,$FC,$FC,$FC,$FE,$1E,$0F,$0F,$07,$07,$07,$03,$03,$03,$0F,$1F,$3E,$38,$70,$60,$60,$60,_
      $60,$60,$70,$70,$38,$3E,$1F,$07,$03,$00,$08,$3C,$3E,$3E,$3E,$3E,$FC,$FC,$F8,$F8,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$07,$07,$0F,$0F,$1F,$1F,$1E,$1E,$3E,$3C,$3C,$38,$38,$78,$78,$78,$70,$70,$70,$70,$70,$60,_
      $60,$70,$70,$60,$60,$70,$70,$70,$70,$30,$38,$38,$18,$1C,$1E,$1F,$0F,$07,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
      $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00;
  end

Hij laat nu alleen de eerste afbeelding zien.

Wie kan mij op weg helpen?

wat doen die dubbele repeats daar?

Het is voor jezelf, en al helemaal voor ons duidelijker om achter elke regel code kort en duidelijk te omschrijven wat de functie ervan is..

Goedemorgen,

wat doen die dubbele repeats daar?

Het is voor jezelf, en al helemaal voor ons duidelijker om achter elke regel code kort en duidelijk te omschrijven wat de functie ervan is..

Klopt maar het stukje code is gecopieerd van:

http://www.picbasic.org/forum/showthread.php?t=2960&highlight=bitmap+g…

Als ik de repeat eruit haal dan krijg ik een foutmelding op de regel met "until".
Ik vond dat ook al raar en verwachte geen foutmelding als ik repeat zou weghalen

Ok, ik ben er ondertussen uit, met dank aan:
http://www.picbasic.org/forum

de code die ik nu heb:


DEVICE 16F877A  
           
config hs_osc,wdt_off,lvp_off   
XTAL = 8 
  'MikroElektronika EP5 GLCD Definition
        Declare LCD_TYPE       SAMSUNG
        Declare LCD_INTERFACE  8         
        Declare LCD_DTPIN      PORTD.0
        Declare LCD_ENPIN      PORTB.4
        Declare LCD_RSPIN      PORTB.2
        Declare LCD_RWPIN      PORTB.3
        Declare LCD_RSTPIN     PORTB.5
        Declare LCD_CS1PIN     PORTB.1
        Declare LCD_CS2PIN     PORTB.0
        Declare GLCD_CS_INVERT on
        ;declare GLCD_STROBE_DELAY 30000
        ;declare GLCD_read_delay 500
        High                   PORTB.5
'End of MikroElektronika EP5 GLCD Definition
   ;INTERNAL_FONT = on		
   ;FONT_ADDR = 0
   ALL_DIGITAL = TRUE

Dim XPOS As Byte ' X position of cursor
Dim YPOS As Byte ' Y position of cursor
Dim temp As Byte
Dim yline As Byte
Dim glcd_data As Byte
Dim data_pointer As Word
Dim splashaddress As Word

main:
yline = 0
data_pointer = 0
XPOS = 0
YPOS = 0
;Cls
splashaddress = Splash1
GoSub displaysplash
DelayMS 500

;Cls
splashaddress = Splash2
GoSub displaysplash
DelayMS 500

splashaddress = Splash3
GoSub displaysplash
DelayMS 500

splashaddress = Splash4
GoSub displaysplash
DelayMS 500

GoTo main

displaysplash:
Cls
YPOS = 0
XPOS = 0
data_pointer = 0
yline = 0

Repeat 
Repeat 
glcd_data = LRead splashaddress + data_pointer
LCDWrite yline,XPOS,[glcd_data]
Inc XPOS
Inc data_pointer 
Until XPOS = 128
XPOS = 0
Inc yline
Until yline = 8
Return

Include "AFBEELDING4.INC"
;End

in afbeeldingen4.inc heb ik de code's van de bitmap(pen) staan. Op die manier kan ik de code overzichtelijk houden.

Nu dan even een vraagje van mijn kant aan Lampje25:

Hoe heb jij je Bitmap omgezet naar de data die je in je code hebt staan?

Hallo Rene,

Ik heb hiervoor gebruik gemaakt van het programma GLCD Tools.
http://www.compsys1.com/workbench/Benchware/GLTools/gltools.html

het enige waar ik tegen aan loop is dat de data die er uit komt te lang is.
Ik weet nog niet waardoor dat komt.
Het werkt echter wel.
Ook weet ik ondertussen hoe de data wordt/is opgebouwd.
Dit heb ik met behulp van o.a. excel en de handleiding van Proton uitgedokterd.

Bedankt!
Het is nu gelukt om met de code van picbasic.org jouw afbeelding op het GLCD te krijgen.

Alleen loop ik waarschijnlij tegen hetzelfde probleem aan als jouw. De code die uit het programma "GL Tools" rolt is maar 8 regels, maar wel met met iets van 120 waardes achter elkaar (bij vertikaal converteren. Met als resultaat dat proton het niet wil compileren, hij blijft hangen bij de 1e pass op 87% en stopt er dan mee.

Al doe ik Horizontaal converteren krijg ik bijna het omgekeerde, veel regels, en maar 16 waarden achter elkaar. Wel wil proton dan complimeren, en als ik het dan op het GLCD wil zetten lukt dat. Alleen lijkt het of hij de afbeelding 8 keer naast elkaar zet.

Oftewel, hoe heb jij de code zo gekregen zoals je hierboven in het topic hebt staan?

Rene,

Klopt ik heb handmatig de regels afgebroken, want daar gaat het mis.
Regels afbreken kan door na de "," een "_" te plaatsen dan een enter en de rest weer aansluiten.
je kunt 16 (ik zelf heb het gedaan met 36) waarden achter elkaar te zetten alvorens j op een nieuwe regel begint.

De data die GL tools maakt moeten we eens controlen of het aantal inderdaad wel klopt
Een 128x64 display heeft "8 regels" elke regel heeft een hoogte van 8 pixels (8x8=64.
120 waarden, dat zullen er dan 128 zijn, staat voor het aantal pixels dat een regel heeft.
Ik totaal krijg je dus 1024 waarden
als je 16 waarden op 1 regel zet dan heb je n totaal 64 regels nodig.
elke 8 regels staan dan weer voor 1 complete rij (8x16=128)

ik had het gevoel dat ik meer dan 1024 waarden had, dit heb ik echter verder nog niet gecontroleerd.

zo, een heel verhaal zo op de vroege ochtend...

Super!, erg bedankt!

Het werkt als een zonnetje, gewoon de regels afkappen op 32 waarden en gaan met die banaan.