Hey 🙂
If anyone like to use Dallas DS1267 dual pot I made a smal test code for bascom :
Thanks man !
It is good to gather all info and code about volume / selectors here with atmel /avr and bascom .
Keep on posting .
Another bargraph sample for lcd - bascom
Here is a sample of a bargraph stepping !!
/Kim
Here is a sample of a bargraph stepping !!
Code:
'$sim
$regfile = "m16def.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 20 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
Config Lcdpin = Pin , Db4 = Porta.2 , Db5 = Porta.3 , Db6 = Porta.4 , Db7 = Porta.5 , E = Porta.1 , Rs = Porta.0
Config Lcd = 16 * 2
Cursor Off
Deflcdchar 2 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ' small
Deflcdchar 3 , 24 , 24 , 24 , 24 , 24 , 24 , 24 , 24 '
Deflcdchar 4 , 28 , 28 , 28 , 28 , 28 , 28 , 28 , 28 ' medium
Deflcdchar 5 , 30 , 30 , 30 , 30 , 30 , 30 , 30 , 30 '
Deflcdchar 6 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 31 ' Big
Declare Sub Warm_up 'the warm up tube sub
Dim Lcd_adr As Byte , Bar_tybe As Byte
Do
'test warm_up tube lcd 56 sec
Call Warm_up
Wait 1
Loop
End
Sub Warm_up
Cls
Locate 1 , 1 'Start at 1 chr on line 1
Lcd "Preheating tubes"
For Lcd_adr = 1 To 16 ' We have a 16 chr lcd or just use 16 chr bar
For Bar_tybe = 2 To 6 'what type of bar to use
Locate 2 , Lcd_adr ' wher do we locate it on lcd
Lcd Chr(bar_tybe) ' put the chr on lcd
Waitms 700 '16 * 5 * 700 = 56 seconds
Next
Next
Cls
End Sub
I made a TypO in the DS1267
Shift Send_volume , Left , 15
Correct shift is 16
Shift Send_volume , Left , 16
sorry for the mistake , this works also for DS1867
Shift Send_volume , Left , 15
Correct shift is 16
Shift Send_volume , Left , 16
sorry for the mistake , this works also for DS1867
RC5 Remote - code change demo
Here is a sample code to add remote code/commands
to your program and store them in eeprom
Here is a sample code to add remote code/commands
to your program and store them in eeprom
Code:
' RC5 remote control code setup for Input selector audio amplifier
'
' Store new Remote buttons to eeprom and use them in program
'
' FarmTech 18.09.2010 DEMO to show how it works
'$sim
$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 20
$framesize = 40
Config Rc5 = Pind.3
Config Portb.0 = Input : Set Portb.0 ' RESET BUTTON to enter a NEW remote if you change remote controler
Reset_button Alias Pinb.0
Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcd = 16 * 2
Cursor Off Noblink
Cls
Dim Address As Byte , Command As Byte 'RC5 use
Dim Vol_u As Byte , Vol_d As Byte 'new commnds var vol+ , vol-
Dim Shift_l As Byte , Shift_r As Byte , Power_1 As Byte 'new commnds var ch+ , ch- , power on/off
Dim My_address As Byte , Mut As Byte 'new commnds var new address , mute
'lcd constants for setup
Const Por = "PUSH POWER"
Const Chu = "PUSH CH +"
Const Chd = "PUSH CH -"
Const Volu = "PUSH VOL +"
Const Vold = "PUSH VOL -"
Const Mutonoff = "PUSH MUTE"
Declare Sub Get_remote 'sub get NEW RC COMMANDS
Declare Sub Test 'just a test to see remote buttons working
If Reset_button = 0 Then Goto Setup 'add new code for remote if portB.0 is low at startup (reset button)
Readeeprom Address , 2 'check if we have a remote programmed
If Address <> 255 Then 'code in eeprom no need to setup RC5 just read the code
Readeeprom My_address , 2
Waitms 25
Readeeprom Power_1 , 4
Waitms 25
Readeeprom Shift_r , 5
Waitms 25
Readeeprom Shift_l , 8
Waitms 25
Readeeprom Vol_u , 10
Waitms 25
Readeeprom Vol_d , 12
Waitms 25
Readeeprom Mut , 14
Waitms 500
Gosub Test
Else
Setup: ' SETUP remote codes store them in eeprom Frist time use or reset via button at start up
Locate 1 , 1
Lcd "FIRST TIME USE"
Locate 2 , 1
Lcd "SETUP REMOTE NOW"
Wait 3
Cls
Lcd "STEP 1 OF 6"
Locate 2 , 1
Lcd "PUSH A BUTTON"
Do
Getrc5(address , Command)
If Address <> 255 Then
If Command <> 255 Then
Command = Command And &B01111111
End If
End If
Loop Until Address <> 255
My_address = Address
Locate 1 , 1
Lcd "OK FOUND REMOTE "
Locate 2 , 1
Lcd "PROGRAM BUTTONS "
Wait 2
Cls
Locate 1 , 1
Lcd Por
Call Get_remote
Power_1 = Command
Wait 5
Locate 1 , 1
Lcd Chu
Call Get_remote
Shift_r = Command
Wait 5
Locate 1 , 1
Lcd Chd
Call Get_remote
Shift_l = Command
Wait 5
Locate 1 , 1
Lcd Volu
Call Get_remote
Vol_u = Command
Wait 5
Locate 1 , 1
Lcd Vold
Call Get_remote
Vol_d = Command
Wait 5
Locate 1 , 1
Lcd Mutonoff
Call Get_remote
Mut = Command
Wait 5
Cls
Locate 1 , 1
Lcd "READY TO USE"
Locate 2 , 1
Lcd "SAVE DATA "
Writeeeprom My_address , 2
Waitms 25
Writeeeprom Power_1 , 4
Waitms 25
Writeeeprom Shift_r , 5
Waitms 25
Writeeeprom Shift_l , 8
Waitms 25
Writeeeprom Vol_u , 10
Waitms 25
Writeeeprom Vol_d , 12
Waitms 25
Writeeeprom Mut , 14
Wait 5
Cls
End If
Sub Test() 'test program here you add your normal code
Locate 1 , 1
Lcd "TRY REMOTE"
Do
Getrc5(address , Command)
If Address = My_address Then
If Command <> 255 Then
Command = Command And &B01111111
Locate 2 , 1
Select Case Command
Case Power_1 : Lcd "POWER BUTTON "
Case Shift_r : Lcd "CH + BUTTON "
Case Shift_l : Lcd "CH - BUTTON "
Case Vol_u : Lcd "VOL + BUTTON "
Case Vol_d : Lcd "VOL - BUTTON "
Case Mut : Lcd "MUTE BUTTON "
Case Else
Locate 2 , 1
Lcd "UNKNOWN BUTTON "
End Select
Waitms 500
Lcd " "
End If
End If
Loop
End Sub
Sub Get_remote()
Do
Getrc5(address , Command)
If Address <> 255 Then
If Command <> 255 Then
Command = Command And &B01111111
End If
End If
Loop Until Address <> 255
Locate 2 , 1
Lcd "OK CMD IS " ; Command ; " "
End Sub
End
Sample code
Your sample code didnt work for me until I added a couple of strings in your code.
See DarkOrange strings. Now it works🙂
Its high time to add this feature to the firmware, but I think that there is not enough M8515 memory...
And one more thing: maybe we should use external EEPROM with 1.000.000 write cycles like AT24CXX or something like that.
HiHere is a sample code to add remote code/commands to your program and store them in eeprom
Your sample code didnt work for me until I added a couple of strings in your code.
See DarkOrange strings. Now it works🙂
Its high time to add this feature to the firmware, but I think that there is not enough M8515 memory...
And one more thing: maybe we should use external EEPROM with 1.000.000 write cycles like AT24CXX or something like that.
Code:
' RC5 remote control code setup for Input selector audio amplifier
'
' Store new Remote buttons to eeprom and use them in program
'
' FarmTech 18.09.2010 DEMO to show how it works
'$sim
$regfile = "m8515.dat" ' specify the used micro
$crystal = 16000000 ' external crystal 16MHz
$hwstack = 32
$swstack = 20
$framesize = 40
Config Rc5 = Pind.3
Config Portb.0 = Input : Set Portb.0 ' RESET BUTTON to enter a NEW remote if you change remote controler
Reset_button Alias Pinb.0
'Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Config Lcd = 20 * 2
Cursor Off Noblink
Cls
Dim Address As Byte , Command As Byte 'RC5 use
Dim Vol_u As Byte , Vol_d As Byte 'new commnds var vol+ , vol-
Dim Shift_l As Byte , Shift_r As Byte , Power_1 As Byte 'new commnds var ch+ , ch- , power on/off
Dim My_address As Byte , Mut As Byte 'new commnds var new address , mute
'lcd constants for setup
Const Por = "PUSH POWER"
Const Chu = "PUSH CH +"
Const Chd = "PUSH CH -"
Const Volu = "PUSH VOL +"
Const Vold = "PUSH VOL -"
Const Mutonoff = "PUSH MUTE"
Declare Sub Get_remote 'sub get NEW RC COMMANDS
Declare Sub Test 'just a test to see remote buttons working
[COLOR="DarkOrange"]Enable Int0[/COLOR] 'we configure the INT0 interrupt to trigger when a falling edge is detected
[COLOR="DarkOrange"]Config Int0 = Falling[/COLOR]
[COLOR="DarkOrange"]Enable Interrupts[/COLOR]
If Reset_button = 0 Then Goto Setup 'add new code for remote if portB.0 is low at startup (reset button)
Readeeprom Address , 2 'check if we have a remote programmed
If Address <> 255 Then 'code in eeprom no need to setup RC5 just read the code
Readeeprom My_address , 2
Waitms 25
Readeeprom Power_1 , 4
Waitms 25
Readeeprom Shift_r , 5
Waitms 25
Readeeprom Shift_l , 8
Waitms 25
Readeeprom Vol_u , 10
Waitms 25
Readeeprom Vol_d , 12
Waitms 25
Readeeprom Mut , 14
Waitms 500
Gosub Test
Else
Setup: ' SETUP remote codes store them in eeprom Frist time use or reset via button at start up
Locate 1 , 1
Lcd "FIRST TIME USE"
Locate 2 , 1
Lcd "SETUP REMOTE NOW"
Wait 3
Cls
Lcd "STEP 1 OF 6"
Locate 2 , 1
Lcd "PUSH A BUTTON"
Do
[COLOR="DarkOrange"]Disable Int0
Enable Interrupts[/COLOR]
Getrc5(address , Command)
If Address <> 255 Then
Command = Command And &B01111111
End If
[COLOR="DarkOrange"]Enable Int0[/COLOR]
Loop Until Address <> 255
My_address = Address
Locate 1 , 1
Lcd "OK FOUND REMOTE "
Locate 2 , 1
Lcd "PROGRAM BUTTONS "
Wait 2
Cls
Locate 1 , 1
Lcd Por
Call Get_remote
Power_1 = Command
Wait 5
Locate 1 , 1
Lcd Chu
Call Get_remote
Shift_r = Command
Wait 5
Locate 1 , 1
Lcd Chd
Call Get_remote
Shift_l = Command
Wait 5
Locate 1 , 1
Lcd Volu
Call Get_remote
Vol_u = Command
Wait 5
Locate 1 , 1
Lcd Vold
Call Get_remote
Vol_d = Command
Wait 5
Locate 1 , 1
Lcd Mutonoff
Call Get_remote
Mut = Command
Wait 5
Cls
Locate 1 , 1
Lcd "READY TO USE"
Locate 2 , 1
Lcd "SAVE DATA "
Writeeeprom My_address , 2
Waitms 25
Writeeeprom Power_1 , 4
Waitms 25
Writeeeprom Shift_r , 5
Waitms 25
Writeeeprom Shift_l , 8
Waitms 25
Writeeeprom Vol_u , 10
Waitms 25
Writeeeprom Vol_d , 12
Waitms 25
Writeeeprom Mut , 14
Wait 5
Cls
End If
Sub Test() 'test program here you add your normal code
Locate 1 , 1
Lcd "TRY REMOTE"
Do
Getrc5(address , Command)
If Address = My_address Then
If Command <> 255 Then
Command = Command And &B01111111
Locate 2 , 1
Select Case Command
Case Power_1 : Lcd "POWER BUTTON "
Case Shift_r : Lcd "CH + BUTTON "
Case Shift_l : Lcd "CH - BUTTON "
Case Vol_u : Lcd "VOL + BUTTON "
Case Vol_d : Lcd "VOL - BUTTON "
Case Mut : Lcd "MUTE BUTTON "
Case Else
Locate 2 , 1
Lcd "UNKNOWN BUTTON "
End Select
Waitms 500
Lcd " "
End If
End If
Loop
End Sub
Sub Get_remote()
Do
Getrc5(address , Command)
If Address <> 255 Then
If Command <> 255 Then
Command = Command And &B01111111
End If
End If
Loop Until Address <> 255
Locate 2 , 1
Lcd "OK CMD IS " ; Command ; " "
End Sub
End
Hi ,
Oh Itook this out of my full program and forgot a few lines like the Enable Interrupts (sorry)
It was only tested in full code ,
Next is select TEXT for the INPUT selector
maybe like a string*8
this way we can setup new text to the select of input good idea ?
You can use the eeprom to store lots of data to free program space
like strings for input select text just use As Eram
sample :
Dim Menu_text(10) As Eram String * 15
Dim X As String * 15
Do
x = Menu_text(1)
x = Menu_text(2)
'ect
Loop
$eeprom
Data " CD " , " DVD " , " TUNER "
/Kim
Oh Itook this out of my full program and forgot a few lines like the Enable Interrupts (sorry)
It was only tested in full code ,
Next is select TEXT for the INPUT selector
maybe like a string*8
this way we can setup new text to the select of input good idea ?
You can use the eeprom to store lots of data to free program space
like strings for input select text just use As Eram
sample :
Dim Menu_text(10) As Eram String * 15
Dim X As String * 15
Do
x = Menu_text(1)
x = Menu_text(2)
'ect
Loop
$eeprom
Data " CD " , " DVD " , " TUNER "
/Kim
Last edited:
eeprom
FarmTech thank you for code examples
Its great.
I added RC5 codes learning program into my firmware version. Now Im working on code adjustment.
FarmTech thank you for code examples
Its great.
I added RC5 codes learning program into my firmware version. Now Im working on code adjustment.
Reduced Flash by 3%
I did a small test on Danzup´s lcd_m8515_v_1_5_ons.bas ´hope it ok´
orginal code : lcd_m8515_v_1_5_ons.bas
ROMIMAGE : 8EC hex -> Will fit into ROM
ROMIMAGE : 2284 dec
FLASH USED : 27 %
Use with Eram : lcd_m8515_v_1_5_ons.bas
ROMIMAGE : 7B6 hex -> Will fit into ROM
ROMIMAGE : 1974 dec
FLASH USED : 24 %
Romimage reduced by 310 dec , 3% less flash used NICE !!! 😀
And we can change the data if we like
Thats simple
I did a small test on Danzup´s lcd_m8515_v_1_5_ons.bas ´hope it ok´
orginal code : lcd_m8515_v_1_5_ons.bas
ROMIMAGE : 8EC hex -> Will fit into ROM
ROMIMAGE : 2284 dec
FLASH USED : 27 %
Use with Eram : lcd_m8515_v_1_5_ons.bas
ROMIMAGE : 7B6 hex -> Will fit into ROM
ROMIMAGE : 1974 dec
FLASH USED : 24 %
Romimage reduced by 310 dec , 3% less flash used NICE !!! 😀
Code:
'only used 13 of the 30 strings in eeprom still have 17 left
Dim Menu_text(30) As Eram String * 16
Dim X As String * 16
'the command used to get them is :
'the old code was : Lcd "Preamp controler"
'the new code is :
X = Menu_text(10) ' 10 is then "Preamp controler"
Lcd X
'ALL data MUST be 16 chrs long else you get errors in show
$eeprom
Data "DVD selected" , "CD selected" ' 1 2
Data "Tuner selected" , "Tape selected" ' 3 4
Data "Aux1 selected" , "Aux2 selected" ' 5 6
Data "Volume Down ! " , " " ' 7 8
Data "Volume UP ! " , "Preamp controler" ' 9 10
Data "1.5.ons(c)danzup" , " Power On ! " ' 11 12
Data "MUTE ! " ' 13
$Data
Code:
'old was Aux2 selected"
Menu_text(6) = "Aux9 selected" ' change to
Last edited:
EDIT Input Select Text
Here is a test code to edit your Input Select Text
just a test code can be better but 4now its ok
It use As Eram for more free flash space
Enjoy
/Kim
@Edit forgot to add the UP/Down button , (Input Select Text) a long string of chars 🙂
Here is a test code to edit your Input Select Text
just a test code can be better but 4now its ok
It use As Eram for more free flash space
Enjoy
/Kim
Code:
' EDIT Input Select TEXT DEMO
' ,
' BUTTONS :
' In Normal Mode
' PortA.0 = Select Input - show on lcd as normal program steps 1 2 3 4 5 6 1 2 ect ..
' PortA.1 = Enter EDIT Input Select Text
'
' In EDIT Mode
' Porta.5 = Select what Input select Text to EDIT steps 1 2 3 4 5 6 1 2 ect
' PortA.2 = select char for test steps A B C D E F G ect Incr chr like UP
' PortA.3 = select char for test steps G F E D C B A ect Decr chr like Down
' PortA.4 = Use the selectet char and goto next char you MUST ENTER ALL 16 chars in this test
' It jump to Normal Mode when done '(or next if you edit the code under If Pina.3 = 1)
' PortA.6 = EXIT Edit Mode and goto normal mode
' FarmTech 19.08.2010
'-----------------------------------------------------------------------------------------
'$sim
$regfile = "m8515.dat" ' specify the used micro
$crystal = 8000000 ' used crystal frequency
$hwstack = 32
$swstack = 20
$framesize = 40
Ddra = &B00000000 ' PA0...PA7 are input
Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0
Cursor Off
Config Lcd = 16 * 2
'put 6 labels into eeprom
'$eepromhex enable if you like bascom to make a *.EEP ( eeprom file )
'then you can delete the next 5 lines this in bas and just use the *.eep when you program avr
$eeprom
Data "DVD selected" , "CD selected"
Data "Tuner selected" , "Tape selected"
Data "Aux1 selected" , "Aux2 selected"
$data
Dim Menu_text(6) As Eram String * 16 'only used 6 for ths test
Dim X As String * 16
Dim Inp_sel As Byte
Declare Sub Af_sel
Declare Sub Edit_text
Cls
Enable Interrupts
Inp_sel = 2
Call Af_sel
Do
'test the input select 1 - 6
If Pina.0 = 1 Then
Incr Inp_sel
If Inp_sel > 6 Then Inp_sel = 1
Call Af_sel
End If
'enter set up
If Pina.1 = 1 Then
Bitwait Pina.1 , Reset
Call Edit_text
End If
Loop
End
'-----------EDIR INPUT TEXT-------------------
Sub Edit_text:
Local My_chr As Byte
Local X_chr As Byte
Local Menu_point As Byte
Local My_string As String * 16
Local Old_select As Byte
Old_select = Inp_sel
My_chr = 65
X_chr = 1
Menu_point = 1
My_string = ""
Locate 1 , 1
X = Menu_text(menu_point)
Lcd X
Cursor On Blink
Locate 2 , 1
Lcd Chr(my_chr)
Do
If Pina.2 = 1 Then 'UP select the chr you like to use
Incr My_chr
If My_chr = 33 Then My_chr = 48
If My_chr > 90 Then My_chr = 32
Locate 2 , X_chr
Lcd Chr(my_chr)
Waitms 80
Cursor On Blink
End If
If Pina.3 = 1 Then 'Down select the chr you like to use
Decr My_chr
If My_chr = 47 Then My_chr = 32
If My_chr < 32 Then My_chr = 90
Locate 2 , X_chr
Lcd Chr(my_chr)
Waitms 80
Cursor On Blink
End If
If Pina.4 = 1 Then
My_string = My_string + Chr(my_chr) ' add the chr to the string jump to next 1 to 16
'Waitms 200
Bitwait Pina.3 , Reset
Incr X_chr
My_chr = 65
Locate 2 , X_chr
Lcd Chr(my_chr)
Cursor On Blink
If X_chr = 17 Then
Menu_text(menu_point) = My_string
Waitms 25
' Incr Menu_point
' If Menu_point > 6 Then
Exit Do
'(
Else
Cls
Locate 1 , 1
X = Menu_text(menu_point)
Lcd X
My_string = ""
X_chr = 1
My_chr = 65
Locate 2 , 1
Lcd Chr(my_chr)
Cursor On Blink
End If
')
End If
End If
If Pina.5 = 1 Then
Incr Menu_point
If Menu_point > 6 Then Menu_point = 1
Cls
Locate 1 , 1
X = Menu_text(menu_point)
Locate 1 , 1
Lcd X
My_string = ""
X_chr = 1
My_chr = 65
Locate 2 , 1
Lcd Chr(my_chr)
Cursor On Blink
Bitwait Pina.5 , Reset
End If
If Pina.6 = 1 Then Exit Do
Loop
Cls
Lcd "EXIT setup"
Waitms 25
My_string = ""
Inp_sel = Old_select
Call Af_sel
Waitms 50
End Sub
'------Af_sel---------------------------
Sub Af_sel:
Home Upper
If Inp_sel = 1 Then
X = Menu_text(1)
Lcd X
End If
If Inp_sel = 2 Then
X = Menu_text(2)
Lcd X
End If
If Inp_sel = 4 Then
X = Menu_text(3)
Lcd X
End If
If Inp_sel = 8 Then
X = Menu_text(4)
Lcd X
End If
If Inp_sel = 16 Then
X = Menu_text(5)
Lcd X
End If
If Inp_sel = 32 Then
X = Menu_text(6)
Lcd X
End If
End Sub
@Edit forgot to add the UP/Down button , (Input Select Text) a long string of chars 🙂
Last edited:
Bug fix EDIT Input Select Text
Bug fix
Cursor was not set in first version
Bug fix

Cursor was not set in first version
Attachments
Last edited:
RC5 remote tester
Hi 🙂,
Here is a code for RC5 debug
It show:
Address info + code
Command info + code
Easy to reprogram a multi ir remote when you can see the address/command on LCD
I used my ATM16 but eny other AVR can be used
run INTRC 8Mhz Disable JTAG if your chip have it
LCD 16*2
/Kim
@ Edit input text works now auto fill space on save via RC5 allmost finish code 🙂
Hi 🙂,
Here is a code for RC5 debug
It show:
Address info + code
Command info + code
Easy to reprogram a multi ir remote when you can see the address/command on LCD
An externally hosted image should be here but it was not working when we last tested it.
I used my ATM16 but eny other AVR can be used
run INTRC 8Mhz Disable JTAG if your chip have it
LCD 16*2
/Kim
@ Edit input text works now auto fill space on save via RC5 allmost finish code 🙂
Attachments
Last edited:
Update : pga2310_m8515_6in_encoder Lcd text Edit
Here is a update clone of pga2310_m8515_6in_encoder.bas
Added edit LCD input select TEXT via RC5
Edit the Text for you input How do it work :
Select 'Edit input text' via menu button
Upper Line Show The Current Text
Bottom Line Is Where You Write The New Text
RC5 COMMANDS FOR EDIT TEXT :
STEP 1 : VOL - : SELECT THE TEXT TO EDIT steps from 1 to 6 in the input select text
STEP 2 : CH + : scroll letters up
STEP 3 : CH - : scroll letters down
STEP 4 : VOL + : SELECT the letter , it goes next letter do step 2 to 4
until you have the text you like to use
STEP 5 : MUTE : save the text to memery and show it on lcd
use VOL- to select next or press power on/off to exit
STEP 6 : Power on/off EXIT Edit mode
ATT ATT :IF YOU LIKE TO EXIT AND NOT SAVE JUST PRESS POWER ON/OFF
pls report any Bugs ..
/Kim
Here is a update clone of pga2310_m8515_6in_encoder.bas
Added edit LCD input select TEXT via RC5
Edit the Text for you input How do it work :
Select 'Edit input text' via menu button
Upper Line Show The Current Text
Bottom Line Is Where You Write The New Text
RC5 COMMANDS FOR EDIT TEXT :
STEP 1 : VOL - : SELECT THE TEXT TO EDIT steps from 1 to 6 in the input select text
STEP 2 : CH + : scroll letters up
STEP 3 : CH - : scroll letters down
STEP 4 : VOL + : SELECT the letter , it goes next letter do step 2 to 4
until you have the text you like to use
STEP 5 : MUTE : save the text to memery and show it on lcd
use VOL- to select next or press power on/off to exit
STEP 6 : Power on/off EXIT Edit mode
ATT ATT :IF YOU LIKE TO EXIT AND NOT SAVE JUST PRESS POWER ON/OFF
pls report any Bugs ..
/Kim
Attachments
RC5 add command/eeprom
Hi Kim
Writeeeprom Address , 2 works fine - "0" writes to eeprom every time I programmed my RC5 with address "0". No problem.
After that it works fine too until reboot device (power off/on). After power on I read any other number from eeprom with Readeeprom Address , 2
but not "0"
Like bascom forum says the best choice is to use eeprom address from 33 to the end of eeprom.
So I changed eeprom address
Writeeeprom Address , 44 and Readeeprom Address , 44
and it becomes perfect.
Thanks.
Hi Kim
Writeeeprom Address , 2 works fine - "0" writes to eeprom every time I programmed my RC5 with address "0". No problem.
After that it works fine too until reboot device (power off/on). After power on I read any other number from eeprom with Readeeprom Address , 2
but not "0"
Like bascom forum says the best choice is to use eeprom address from 33 to the end of eeprom.
So I changed eeprom address
Writeeeprom Address , 44 and Readeeprom Address , 44
and it becomes perfect.
Thanks.
Hi Pryanick,
tanks for the info , I did my test on a ATM32 and did not get any errors after power off unplug power cable , I have never seen the ATMEL "error "in real eeprom address 0 in any of my avrs ,
the readeeprom ,2 is just a test to see if we got any data in eeprom else avr show 255
The only error I got with the input select text edit was on exit if i use cursor on / off
I dont have the real hardware so most is done in Proteus simulator using the *.OBJ file
Glad to see that it can work on real hardware , if you see any other mystic errors pls let me know , I like to learn from my mistakes .
My next job will be make code for TDA7440/48 just for fun ...
@ Edit : is the RC5 edit to complex to use or do you have a simpler way to do it ?
my RC5 test was with ONE forall URC-6520 it only have 5 buttons thats why i used the mute to save text to eeprom if you have a other remote with more buttons like menu it would be more logical to "see thu" for end user.
tanks for the info , I did my test on a ATM32 and did not get any errors after power off unplug power cable , I have never seen the ATMEL "error "in real eeprom address 0 in any of my avrs ,
the readeeprom ,2 is just a test to see if we got any data in eeprom else avr show 255
The only error I got with the input select text edit was on exit if i use cursor on / off
I dont have the real hardware so most is done in Proteus simulator using the *.OBJ file
Glad to see that it can work on real hardware , if you see any other mystic errors pls let me know , I like to learn from my mistakes .
My next job will be make code for TDA7440/48 just for fun ...
@ Edit : is the RC5 edit to complex to use or do you have a simpler way to do it ?
my RC5 test was with ONE forall URC-6520 it only have 5 buttons thats why i used the mute to save text to eeprom if you have a other remote with more buttons like menu it would be more logical to "see thu" for end user.
Last edited:
RC5 edit text
Hi Kim
My schematic firmware version is very differ from danzup schematic and firmware.
RC5 edit text procedure is very useful but I use russian language interface. My LCD WH2002A doesnt have russian code page so I use program converter to implement russian chars on LCD. I think that it will be not so easy to adapt RC5 edit text procedure for russian language and there is not enough memory🙄
After your RC5 add commands code was included and adjusted I have 5% flash memory free.
So...
🙁
Hi Kim
My schematic firmware version is very differ from danzup schematic and firmware.
RC5 edit text procedure is very useful but I use russian language interface. My LCD WH2002A doesnt have russian code page so I use program converter to implement russian chars on LCD. I think that it will be not so easy to adapt RC5 edit text procedure for russian language and there is not enough memory🙄
After your RC5 add commands code was included and adjusted I have 5% flash memory free.
So...
🙁
Hi Pryanick,
if this is a lookup table then you can use it in edit text toI use program converter to implement russian chars on LCD
pga2310_m8515_6in_encoder Lcd now leran new RC5 remote
A update for : pga2310_m8515_6in_encoder Lcd now with Edit input select text & Learn new RC5 remote
New in menu is - SETUP REMOTE RC5
This ONLY work with a RC5 remote
When you you enter this menu you will be ask to :
PUSH A BUTTON = this will check if your remote is a RC5 (use 1 of the buttons CH+, CH-, VOL+, VOL- or Mute)
If it dont write - OK FOUND REMOTE on lcd then the remote cant be used - to exit this PUSH menu button
If it is a RC5 you can now add this to controlle your hardware
Just 5 steps to setup buttons Power, CH+, CH-, VOL+, VOL- & Mute
Thats it simple and easy enjoy
If you find any errors pls let me know .
/Kim
A update for : pga2310_m8515_6in_encoder Lcd now with Edit input select text & Learn new RC5 remote
New in menu is - SETUP REMOTE RC5
This ONLY work with a RC5 remote
When you you enter this menu you will be ask to :
PUSH A BUTTON = this will check if your remote is a RC5 (use 1 of the buttons CH+, CH-, VOL+, VOL- or Mute)
If it dont write - OK FOUND REMOTE on lcd then the remote cant be used - to exit this PUSH menu button
If it is a RC5 you can now add this to controlle your hardware
Just 5 steps to setup buttons Power, CH+, CH-, VOL+, VOL- & Mute
Thats it simple and easy enjoy
If you find any errors pls let me know .
/Kim
Attachments
RC5/RC6
...Im thinking now about one extra feature to add into my firmware version. May be RC5 and RC6 recognition with add command+eeprom procedure code can be added?
Kim, do you have any code example for that?
🙂
...Im thinking now about one extra feature to add into my firmware version. May be RC5 and RC6 recognition with add command+eeprom procedure code can be added?
Kim, do you have any code example for that?
🙂
Hi Pryanick,
Iam working on decode RC6 mode 0 and 32
I dont have working code yet still getting some errors in the "system" (address)
but I will work with it untiil it works ...
Iam working on decode RC6 mode 0 and 32
I dont have working code yet still getting some errors in the "system" (address)
but I will work with it untiil it works ...
- Home
- Source & Line
- Analog Line Level
- Yet another Volume controlers and source selections