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
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:
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:
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
- Home
- Source & Line
- Analog Line Level
- Yet another Volume controlers and source selections