' ---------------------------------------------------------------------
' Fichier: PILOTAGE ORIGINAL.bas
' Date: 24/03/2020
' Version du fichier: V1.0
' Ecrit par: Rg LEGAT
' Fonction: Test du module AXE134 et OLED 4x20#
' Creation des caracteres graphiques personnalises (CGRAM)
' Programmation des 3 sorties Tout ou Rien
' Type de PICAXE: 28X2 (Aussi testé avec succes sur un 08M2)
' *********************************************************************
#Picaxe 28X2
'#Picaxe 08M2
#Terminal 4800
Symbol Display = C.4 'In Serial OLED Display 28X2
'Symbol Display = C.2 'In Serial OLED Display 08M2
Symbol BAUD = N2400_8 '28X2
'Symbol Baud = N2400_4 '08M2
Symbol Pos = b0 ' Adress char.
Symbol i = b1 ' Indice variable
Sertxd (cr,lf," Pilotage original.bas",cr,lf) 'Debug console (Prg identification)
Sertxd (" Test module AXE134 avec firmware Picaxe non modifie",cr,lf)
Sertxd (" Display: OLED 4x20 #",cr,lf)
Pause 4000 'Stabilize Serial Display
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Pause 1000
Serout Display,Baud,(254,128)'L1 C1
Serout Display,Baud,(" FirmWare AXE134 ")
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,("Original Non modifie")
Serout Display,Baud,(254,148)'L3 C1
Serout Display,Baud,(" Pour OLED 4x20#")
Serout Display,Baud,(254,212)'L4 C1
Serout Display,Baud,("Prg de Demonstration")
Pause 4000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,128)'L1 C1
Serout Display,Baud,("Creation caracteres")
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,("personnalises CGRAM")
Serout Display,Baud,(254,148)'L3 C1
Serout Display,Baud,("+Controle des 3 LEDs")
Serout Display,Baud,(254,212)'L4 C1
Serout Display,Baud,("--------------------")
Pause 4000
' TESTING 255 COMMAND
'+++++++++++++++++++++++++++++++
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,128)'L1 C1
Serout Display,Baud,("--- Control LEDs ---")
Serout Display,Baud,(254,152)'L3 C4
Serout Display,Baud,("bit0 = 1")
Serout Display,Baud,(255,%00000001) '$1 OUT1
Pause 1500
'Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,152)'L3 C4
Serout Display,Baud,("bit1 = 1")
Serout Display,Baud,(255,%00000010) '$2 OUT2
Pause 1500
'Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,152)'L3 C4
Serout Display,Baud,("bit2 = 1")
Serout Display,Baud,(255,%00000100) '$4 OUT3
Pause 1500
Serout Display,Baud,(255,%00000000) '$0 All OUT OFF
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,195)'L2 C4
Serout Display,Baud,("Scrolling LEDs")
For i = 1 to 6
Serout Display,Baud,(255,%00000001) '$1 OUT1
Pause 150
Serout Display,Baud,(255,%00000010) '$2 OUT2
Pause 150
Serout Display,Baud,(255,%00000100) '$4 OUT3
Pause 150
Next
Serout Display,Baud,(254,195)'L2 C4
Serout Display,Baud,("Blinking LEDs ")
For i = 1 to 4
Serout Display,Baud,(255,%00000111) '$7 All OUT ON
Pause 350
Serout Display,Baud,(255,%00000000) '$0 All OUT OFF
Pause 350
Next
Serout Display,Baud,(255,%00000111) '$7 All OUT ON
Pause 1500
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,192)'L2 C1
serout Display,Baud,("----- LEDs OFF -----")
Serout Display,Baud,(255,%00000000) '$0 All OUT OFF
Pause 2000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,("----- Writing -----")
Pause 2000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,15) 'Cursor ON
Serout Display,Baud,(254,128)'L1 C1
Serout Display,Baud,("12345 -- ",125,127,126)
Pause 1000
'Serout Display,Baud,(COMD,15) 'Cursor ON
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,("ABCDE -- ",126,127,179)
Pause 1000
'Serout Display,Baud,(COMD,15) : Pause 30 'Cursor ON
Serout Display,Baud,(254,148)'L3 C1
Serout Display,Baud,("FGHIJ -- ",222,244,180)
Pause 1000
'Serout Display,Baud,(COMD,15) 'Cursor ON
Serout Display,Baud,(254,212)'L4 C1
Serout Display,Baud,("KLMNO -- ",210,181)
Pause 3000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,12) 'No Cursor
' Creation Graphic Character
'++++++++++++++++++++++++++++++++
'GG0
Serout Display,Baud,(254,$40)
Serout Display,Baud,($0E,$1B,$11,$11,$11,$11,$11,$1F)' : Battery Level 0 in CG0
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG1
Serout Display,Baud,(254,$48)
Serout Display,Baud,($0E,$1B,$11,$11,$11,$11,$1F,$1F)' : Battery Level 1 in CG1
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG2
Serout Display,Baud,(254,$50)
Serout Display,Baud,($0E,$1B,$11,$11,$11,$1F,$1F,$1F)' : Battery Level 2 in CG2
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG3
Serout Display,Baud,(254,$58)
Serout Display,Baud,($0E,$1B,$11,$11,$1F,$1F,$1F,$1F)' : Battery Level 3 in CG3
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG4
Serout Display,Baud,(254,$60)
Serout Display,Baud,($0E,$1B,$11,$1F,$1F,$1F,$1F,$1F)' : Battery Level 4 in CG4
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG5
Serout Display,Baud,(254,$68)
Serout Display,Baud,($0E,$1B,$1F,$1F,$1F,$1F,$1F,$1F)' : Battery Level 5 in CG5
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG6
Serout Display,Baud,(254,$70)
Serout Display,Baud,($0E,$1F,$1F,$1F,$1F,$1F,$1F,$1F)' : Battery Level 6 in CG6
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG7
Serout Display,Baud,(254,$78)
Serout Display,Baud,($01,$1B,$00,$04,$01,$12,$0C,$00)' : Smile in CG7
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
' Call CG
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,(" Custom Characters")
Serout Display,Baud,(254,212)'L4 C1
Serout Display,Baud,(" (Battery Level)")
Pause 3000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,128)'L1 C1
Serout Display,Baud,("CG 0/7 = ",0,1,2,3,4,5,6,7)
Serout Display,Baud,(254,148)'L3 C1
Serout Display,Baud,("CG 8/15 = ",8,9,10,11,12,13,14,15)
Pause 4000
Serout Display,Baud,(254,1) : Pause 30 'Clear Display
Serout Display,Baud,(254,128) 'L1 C1
Serout Display,Baud,("->Change CGRAM Char.")
Serout Display,Baud,(254,192) 'L2 C1
Serout Display,Baud,("--------------------")
' CHANGE CG RAM
'++++++++++++++++++++++++++++++++
'GG0
Serout Display,Baud,(254,$40)
Serout Display,Baud,($0E,$11,$15,$11,$0E,$04,$0A,$11)' : in CG0
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG1
Serout Display,Baud,(254,$48)
Serout Display,Baud,($0E,$15,$0A,$15,$0A,$15,$0A,$15)' : in CG1
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG2
Serout Display,Baud,(254,$50)
Serout Display,Baud,($1B,$1B,$00,$1B,$1B,$00,$1B,$1B)' : in CG2
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG3
Serout Display,Baud,(254,$58)
Serout Display,Baud,($12,$09,$04,$12,$09,$04,$12,$09)' : in CG3
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG4
Serout Display,Baud,(254,$60)
Serout Display,Baud,($09,$12,$04,$09,$12,$04,$09,$12)' : in CG4
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG5
Serout Display,Baud,(254,$68)
Serout Display,Baud,($1F,$04,$15,$15,$1F,$15,$04,$1F)' : in CG5
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG6
Serout Display,Baud,(254,$70)
Serout Display,Baud,($0F,$1E,$1C,$10,$1C,$1E,$0F,$00)' : PacMan Open in CG6
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
'GG7
Serout Display,Baud,(254,$78)
Serout Display,Baud,($0E,$1F,$1F,$1E,$1F,$1F,$0E,$00)' : PacMan Close in CG7
Serout Display,Baud,(254,128)' : Reinit Address DDRAM
Pause 3000
Serout Display,Baud,(254,148)'L3 C1
Serout Display,Baud,("CG 0/7 = ",0,1,2,3,4,5,6,7)
Serout Display,Baud,(254,212)'L4 C2
Serout Display,Baud,("CG 8/15 = ",8,9,10,11,12,13,14,15)
Pause 4000
For Pos = 128 to 147
Gosub PacMan
Next
For Pos = 192 to 211
Gosub PacMan
Next
For Pos = 148 to 167
Gosub PacMan
Next
For Pos = 212 to 231
Gosub PacMan
Next
Pause 1000
Serout Display,Baud,(254,192)'L2 C1
Serout Display,Baud,(" --- End of TEST ---")
Serout Display,Baud,(254,212)'L4 C1
Serout Display,Baud,(" Have Fun ...")
'Blinking
For i = 1 to 4
Serout Display,Baud,(255,%00000111)' $7
Pause 100
Serout Display,Baud,(255,%00000000)' $0
Pause 100
Next
End
' ------------------------------------------------------
' -----------------
' SUB ROUTINE
' -----------------
PacMan:
Serout Display,Baud,(254,Pos)'L2 C19
Serout Display,Baud,(6)
Pause 50
Serout Display,Baud,(254,Pos)'L2 C19
Serout Display,Baud,(7)
Pause 50
Serout Display,Baud,(254,Pos)
Serout Display,Baud,(" ")
return