News:

;) This forum is the property of Proton software developers

Main Menu

KS108 GLCD

Started by m.kaviani, Feb 03, 2025, 04:26 PM

Previous topic - Next topic

m.kaviani

Hi all
I am confusing to make big size font for my project (ks108 64x128). every things work fine with dedicated proton font.inc. I will be glad if any one share an include file for glcd.

best regards,

TimB


Are you looking for a font converter? Or examples of Pprint in use

m.kaviani

Dear Timb
A simple code of pprint with a large font include file will be useful. Of course that a proton plugin for font converter is so good . I remember that was a plug-in for this job but I could not found it.

Quote from: TimB on Feb 03, 2025, 05:55 PMAre you looking for a font converter? Or examples of Pprint in use

m.kaviani

dear les
why this happens ? I did looked up a include font file from your code but the proton gives this error
here is the code:
'
'   /\\\\\\\\\
'  /\\\///////\\\
'  \/\\\     \/\\\                                                 /\\\          /\\\
'   \/\\\\\\\\\\\/        /\\\\\     /\\\\\\\\\\     /\\\\\\\\   /\\\\\\\\\\\  /\\\\\\\\\\\  /\\\\\\\\\
'    \/\\\//////\\\      /\\\///\\\  \/\\\//////    /\\\/////\\\ \////\\\////  \////\\\////  \////////\\\
'     \/\\\    \//\\\    /\\\  \//\\\ \/\\\\\\\\\\  /\\\\\\\\\\\     \/\\\         \/\\\        /\\\\\\\\\\
'      \/\\\     \//\\\  \//\\\  /\\\  \////////\\\ \//\\///////      \/\\\ /\\     \/\\\ /\\   /\\\/////\\\
'       \/\\\      \//\\\  \///\\\\\/    /\\\\\\\\\\  \//\\\\\\\\\\    \//\\\\\      \//\\\\\   \//\\\\\\\\/\\
'        \///        \///     \/////     \//////////    \//////////      \/////        \/////     \////////\//
'                                  Let's find out together what makes a PIC Tick!
'
' Font information for  Small Fonts  - Font Size 8 (Point Size 6.75) Bold
'
' Pointers to the actual font table
'
Small_B7:

CData     Word 8 ' Font is 8 High

CData     Small_B7o75_0, Small_B7o75_1, Small_B7o75_2, Small_B7o75_3, Small_B7o75_4, Small_B7o75_5
CData     Small_B7o75_6, Small_B7o75_7, Small_B7o75_8, Small_B7o75_9, Small_B7o75_10, Small_B7o75_11
CData     Small_B7o75_12, Small_B7o75_13, Small_B7o75_14, Small_B7o75_15, Small_B7o75_16, Small_B7o75_17
CData     Small_B7o75_18, Small_B7o75_19, Small_B7o75_20, Small_B7o75_21, Small_B7o75_22, Small_B7o75_23
CData     Small_B7o75_24, Small_B7o75_25, Small_B7o75_26, Small_B7o75_27, Small_B7o75_28, Small_B7o75_29
CData     Small_B7o75_30, Small_B7o75_31, Small_B7o75_32, Small_B7o75_33, Small_B7o75_34, Small_B7o75_35
CData     Small_B7o75_36, Small_B7o75_37, Small_B7o75_38, Small_B7o75_39, Small_B7o75_40, Small_B7o75_41
CData     Small_B7o75_42, Small_B7o75_43, Small_B7o75_44, Small_B7o75_45, Small_B7o75_46, Small_B7o75_47
CData     Small_B7o75_48, Small_B7o75_49, Small_B7o75_50, Small_B7o75_51, Small_B7o75_52, Small_B7o75_53
CData     Small_B7o75_54, Small_B7o75_55, Small_B7o75_56, Small_B7o75_57, Small_B7o75_58, Small_B7o75_59
CData     Small_B7o75_60, Small_B7o75_61, Small_B7o75_62, Small_B7o75_63, Small_B7o75_64, Small_B7o75_65
CData     Small_B7o75_66, Small_B7o75_67, Small_B7o75_68, Small_B7o75_69, Small_B7o75_70, Small_B7o75_71
CData     Small_B7o75_72, Small_B7o75_73, Small_B7o75_74, Small_B7o75_75, Small_B7o75_76, Small_B7o75_77
CData     Small_B7o75_78, Small_B7o75_79, Small_B7o75_80, Small_B7o75_81, Small_B7o75_82, Small_B7o75_83
CData     Small_B7o75_84, Small_B7o75_85, Small_B7o75_86, Small_B7o75_87, Small_B7o75_88, Small_B7o75_89
CData     Small_B7o75_90, Small_B7o75_91, Small_B7o75_92, Small_B7o75_93, Small_B7o75_94, Small_B7o75_95



' Font data

Small_B7o75_0:
CData 2, 0, 0, 0 ' Code for char
Small_B7o75_1:
CData 3, 95, 95, 0 ' Code for char !
Small_B7o75_2:
CData 5, 3, 3, 3, 3, 0 ' Code for char "
Small_B7o75_3:
CData 7, 20, 127, 127, 127, 127, 20, 0 ' Code for char #
Small_B7o75_4:
CData 7, 36, 110, 255, 255, 118, 36, 0 ' Code for char $
Small_B7o75_5:
CData 8, 70, 102, 54, 24, 108, 102, 98, 0, 0 ' Code for char %
Small_B7o75_6:
CData 7, 58, 127, 79, 122, 120, 72, 0 ' Code for char &
Small_B7o75_7:
CData 3, 3, 3, 0 ' Code for char '
Small_B7o75_8:
CData 4, 254, 255, 1, 0, 0 ' Code for char (
Small_B7o75_9:
CData 4, 1, 255, 254, 0, 0 ' Code for char )
Small_B7o75_10:
CData 4, 3, 3, 3, 0, 0 ' Code for char *
Small_B7o75_11:
CData 5, 16, 56, 56, 16, 0 ' Code for char +
Small_B7o75_12:
CData 3, 192, 192, 0 ' Code for char ,
Small_B7o75_13:
CData 4, 16, 16, 16, 0, 0 ' Code for char -
Small_B7o75_14:
CData 3, 64, 64, 0 ' Code for char .
Small_B7o75_15:
CData 4, 120, 127, 15, 0, 0 ' Code for char /
Small_B7o75_16:
CData 6, 62, 127, 65, 127, 62, 0, 0 ' Code for char 0
Small_B7o75_17:
CData 4, 2, 127, 127, 0, 0 ' Code for char 1
Small_B7o75_18:
CData 6, 98, 115, 89, 79, 70, 0, 0 ' Code for char 2
Small_B7o75_19:
CData 6, 34, 99, 73, 127, 54, 0, 0 ' Code for char 3
Small_B7o75_20:
CData 6, 24, 30, 127, 127, 16, 0, 0 ' Code for char 4
Small_B7o75_21:
CData 6, 47, 111, 69, 125, 57, 0, 0 ' Code for char 5
Small_B7o75_22:
CData 6, 62, 127, 73, 123, 50, 0, 0 ' Code for char 6
Small_B7o75_23:
CData 6, 1, 113, 125, 15, 3, 0, 0 ' Code for char 7
Small_B7o75_24:
CData 6, 54, 127, 73, 127, 54, 0, 0 ' Code for char 8
Small_B7o75_25:
CData 6, 38, 111, 73, 127, 62, 0, 0 ' Code for char 9
Small_B7o75_26:
CData 3, 72, 72, 0 ' Code for char :
Small_B7o75_27:
CData 3, 200, 200, 0 ' Code for char ;
Small_B7o75_28:
CData 5, 16, 56, 108, 68, 0 ' Code for char <
Small_B7o75_29:
CData 5, 40, 40, 40, 40, 0 ' Code for char =
Small_B7o75_30:
CData 5, 68, 108, 56, 16, 0 ' Code for char >
Small_B7o75_31:
CData 6, 2, 83, 89, 15, 6, 0, 0 ' Code for char ?
Small_B7o75_32:
CData 10, 60, 126, 219, 189, 189, 189, 163, 62, 28, 0, 0 ' Code for char @
Small_B7o75_33:
CData 8, 96, 124, 31, 19, 31, 124, 96, 0, 0 ' Code for char A
Small_B7o75_34:
CData 8, 127, 127, 73, 73, 73, 127, 54, 0, 0 ' Code for char B
Small_B7o75_35:
CData 8, 62, 127, 65, 65, 65, 99, 34, 0, 0 ' Code for char C
Small_B7o75_36:
CData 8, 127, 127, 65, 65, 65, 127, 62, 0, 0 ' Code for char D
Small_B7o75_37:
CData 7, 127, 127, 73, 73, 73, 65, 0 ' Code for char E
Small_B7o75_38:
CData 7, 127, 127, 9, 9, 9, 1, 0 ' Code for char F
Small_B7o75_39:
CData 8, 62, 127, 65, 73, 105, 123, 122, 0, 0 ' Code for char G
Small_B7o75_40:
CData 8, 127, 127, 8, 8, 8, 127, 127, 0, 0 ' Code for char H
Small_B7o75_41:
CData 3, 127, 127, 0 ' Code for char I
Small_B7o75_42:
CData 6, 48, 112, 64, 127, 63, 0, 0 ' Code for char J
Small_B7o75_43:
CData 7, 127, 127, 28, 54, 99, 65, 0 ' Code for char K
Small_B7o75_44:
CData 6, 127, 127, 64, 64, 64, 0, 0 ' Code for char L
Small_B7o75_45:
CData 10, 127, 127, 15, 60, 48, 60, 15, 127, 127, 0, 0 ' Code for char M
Small_B7o75_46:
CData 8, 127, 127, 15, 60, 112, 127, 127, 0, 0 ' Code for char N
Small_B7o75_47:
CData 8, 62, 127, 65, 65, 65, 127, 62, 0, 0 ' Code for char O
Small_B7o75_48:
CData 8, 127, 127, 9, 9, 9, 15, 6, 0, 0 ' Code for char P
Small_B7o75_49:
CData 8, 62, 127, 65, 81, 113, 255, 190, 0, 0 ' Code for char Q
Small_B7o75_50:
CData 8, 127, 127, 9, 9, 9, 127, 118, 0, 0 ' Code for char R
Small_B7o75_51:
CData 7, 38, 111, 73, 73, 123, 50, 0 ' Code for char S
Small_B7o75_52:
CData 7, 1, 1, 127, 127, 1, 1, 0 ' Code for char T
Small_B7o75_53:
CData 7, 63, 127, 64, 64, 127, 63, 0 ' Code for char U
Small_B7o75_54:
CData 7, 3, 31, 124, 124, 31, 3, 0 ' Code for char V
Small_B7o75_55:
CData 9, 3, 31, 124, 120, 120, 124, 31, 3, 0 ' Code for char W
Small_B7o75_56:
CData 7, 99, 119, 28, 28, 119, 99, 0 ' Code for char X
Small_B7o75_57:
CData 7, 3, 7, 124, 124, 7, 3, 0 ' Code for char Y
Small_B7o75_58:
CData 7, 97, 113, 89, 77, 71, 67, 0 ' Code for char Z
Small_B7o75_59:
CData 4, 255, 255, 1, 0, 0 ' Code for char [
Small_B7o75_60:
CData 4, 30, 126, 112, 0, 0 ' Code for char \
Small_B7o75_61:
CData 4, 1, 255, 255, 0, 0 ' Code for char ]
Small_B7o75_62:
CData 5, 2, 3, 3, 2, 0 ' Code for char ^
Small_B7o75_63:
CData 2, 0, 0, 0 ' Code for char _
Small_B7o75_64:
CData 4, 1, 3, 2, 0, 0 ' Code for char `
Small_B7o75_65:
CData 6, 32, 116, 84, 124, 120, 0, 0 ' Code for char a
Small_B7o75_66:
CData 6, 127, 127, 68, 124, 56, 0, 0 ' Code for char b
Small_B7o75_67:
CData 6, 56, 124, 68, 108, 40, 0, 0 ' Code for char c
Small_B7o75_68:
CData 6, 56, 124, 68, 127, 127, 0, 0 ' Code for char d
Small_B7o75_69:
CData 6, 56, 124, 84, 92, 24, 0, 0 ' Code for char e
Small_B7o75_70:
CData 4, 126, 127, 9, 0, 0 ' Code for char f
Small_B7o75_71:
CData 6, 56, 124, 68, 252, 252, 0, 0 ' Code for char g
Small_B7o75_72:
CData 6, 127, 127, 12, 124, 120, 0, 0 ' Code for char h
Small_B7o75_73:
CData 3, 125, 125, 0 ' Code for char i
Small_B7o75_74:
CData 3, 253, 253, 0 ' Code for char j
Small_B7o75_75:
CData 6, 127, 127, 60, 100, 64, 0, 0 ' Code for char k
Small_B7o75_76:
CData 3, 127, 127, 0 ' Code for char l
Small_B7o75_77:
CData 9, 124, 124, 4, 124, 124, 4, 124, 120, 0 ' Code for char m
Small_B7o75_78:
CData 6, 124, 124, 4, 124, 120, 0, 0 ' Code for char n
Small_B7o75_79:
CData 7, 56, 124, 68, 68, 124, 56, 0 ' Code for char o
Small_B7o75_80:
CData 6, 252, 252, 68, 124, 56, 0, 0 ' Code for char p
Small_B7o75_81:
CData 6, 56, 124, 68, 252, 252, 0, 0 ' Code for char q
Small_B7o75_82:
CData 4, 124, 124, 4, 0, 0 ' Code for char r
Small_B7o75_83:
CData 6, 72, 92, 84, 116, 36, 0, 0 ' Code for char s
Small_B7o75_84:
CData 4, 62, 126, 68, 0, 0 ' Code for char t
Small_B7o75_85:
CData 6, 60, 124, 64, 124, 124, 0, 0 ' Code for char u
Small_B7o75_86:
CData 6, 28, 124, 96, 124, 28, 0, 0 ' Code for char v
Small_B7o75_87:
CData 7, 28, 124, 120, 120, 124, 28, 0 ' Code for char w
Small_B7o75_88:
CData 5, 108, 124, 124, 108, 0 ' Code for char x
Small_B7o75_89:
CData 5, 60, 124, 252, 252, 0 ' Code for char y
Small_B7o75_90:
CData 5, 100, 116, 92, 76, 0 ' Code for char z
Small_B7o75_91:
CData 4, 16, 255, 255, 0, 0 ' Code for char {
Small_B7o75_92:
CData 3, 254, 254, 0 ' Code for char |
Small_B7o75_93:
CData 4, 239, 255, 16, 0, 0 ' Code for char }
Small_B7o75_94:
CData 6, 4, 6, 6, 6, 2, 0, 0 ' Code for char ~
Small_B7o75_95:
CData 3, 254, 254, 0 ' Code for char �

m.kaviani

#4
my code :

    Device 16F877A
   
    Declare Xtal 4
   
    Declare LCD_DTPort = PORTD                              ' Connects to the LCD's data lines (PORTB.0 to PORTB.7)
    Declare LCD_CS1Pin = PORTB.2                            ' Connects to the LCD's CS1 line
    Declare LCD_CS2Pin = PORTB.1                            ' Connects to the LCD's CS2 line
    Declare LCD_RSPin = PORTB.5                             ' Connects to the LCD's RS line
    Declare LCD_RWPin = PORTB.4                             ' Connects to the LCD's RW line
    Declare LCD_ENPin = PORTB.3                             ' Connects to the LCD's EN line
    Declare LCD_Type = Graphic                              ' LCD type (Samsung KS0108)
    Declare Internal_Font = On                              ' Use an internal (flash memory) font
    Declare GLCD_CS_Invert = On
    Declare GLCD_Strobe_Delay 100
       
    Include "Small_Font_7B.inc"
 
    Declare HSDA_Pin PORTC.4
    Declare HSCL_Pin PORTC.3
    Declare Hbus_Bitrate = 500     
   
   
    Dim ad_result  As Word
    Dim ads_val    As Byte
    Dim ads_flag   As Bit
    Dim channel1   As Word
    Dim flt        As Float
    Dim flt1       As Float
   
    Symbol i2c2_data          = PORTC.4  ' i2c 2 data pin
    Symbol i2c2_clock         = PORTC.3  ' i2c 2 clock pin
    Symbol ads1115_write      = %10010000
    Symbol ads1115_read       = %10010001
    Symbol pointer_con        = %00000000  ' Conversion register
    Symbol pointer_cfg        = %00000001  ' Config register
    Symbol ads_factor         = 0.00003125
    ads_val = 0
    channel1  = %1101011001101000
                                           
    DelayMS 100
    Cls
                                     
main:
   
    HBusOut ads1115_write,pointer_cfg, [channel1]
    HBusIn ads1115_read,pointer_con, [ad_result]   
    flt = ad_result * ads_factor
    flt1 = flt / 0.04
    'Line 1,1,1,1,128
    Print At 1,1,dec5 ad_result
   
    GoTo main

m.kaviani

Something interesting!
the code compiled without error with 18F452!

top204

The Pprint was created by Tim, many, many years ago, so it is third party, and since then the compiler has gone through a lot of changes and improvements.

I re-visited the Pprint code about 10 years ago, and altered it for the current devices, but the compiler had changed too much for it to be used with the original code for the enhanced and standard 14-bit core devices.

If the code for the Print mechanism is of any interest to users, to see if they can convert it for the 14-bit devices with the Positron compiler, it is available in the folder: "C:\Program Files (x86)\ProtonIDE\PDS\Includes\Sources\".

Pepe

#7
proteus example