Hi Rob, I'll do that. With the toggle now the play and pause are working 
also perfect. Thank for your help, great!!

Op zaterdag 19 juni 2021 om 10:08:08 UTC+2 schreef [email protected]:

> Hi Hans,
>
> Small addition. 'Officially' you should make the RC5 low before the 
> repetition time of 114 ms so after the last bit of the message was sent.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens Rob CJ <
> [email protected]>
> *Verzonden:* zaterdag 19 juni 2021 09:24
> *Aan:* [email protected] <[email protected]>
>
> *Onderwerp:* Re: [jallib] RC5 lib
> Hi Hans,
>
> You are right, I completely missed that. At the end of the message you 
> should have no signal ( in your case low). Good that you solved it.
>
> Met vriendelijke groet,
> Rob Jansen 
> ------------------------------
> *From:* [email protected] <[email protected]> on behalf of 
> hans <[email protected]>
> *Sent:* Friday, June 18, 2021 7:45:10 PM
> *To:* jallib <[email protected]>
> *Subject:* Re: [jallib] RC5 lib 
>  
> Hi Rob, 
> I have added the toggle part, ... same bad result, BUT now i set the RC to 
> low at the end of the procedure, after the 114 ms delay... and it works.
> Now i can spent this evening to get rid of my headache:
>
> var bit toggle = FALSE
>
> procedure RC (byte in adres,byte in command) is
>
>   var byte xx = adres <<3
>   var byte yy = command <<2
>   var bit x at xx : 7
>   var bit y at yy : 7
>  --start
>   hoog
>   hoog
>  -- Send and toggle the toggle bit
>   if toggle then
>      hoog
>   else
>      laag
>   end if
>   toggle = !toggle
>
>  --now adres 5 bits
>   for 5 loop
>   if x == high then
>   hoog
>   else
>   laag
>   end if
>   XX=XX << 1
>   end loop
>   -- now command 6 bits
>    for 6 loop
>   if y == high then
>   hoog
>   else
>   laag
>   end if
>    yy = yy << 1
>   end loop
>
>
>   -- And do not forget the space between messages
>   delay_1mS(114)
>   RC5 = low
>
>   end procedure
>
>
>
> Op vrijdag 18 juni 2021 om 12:45:47 UTC+2 schreef [email protected]:
>
> Hi Hans,
>
> The problem with the play button that also is pauze (when you press it 
> again) can be related to the fact that you do not toggle the toggle bit so 
> the VCR thinks you did not release the button.
>
> So if you would declare a variable
>
> var bit toggle = FALSE
>
> And then change your procedure in (also add the delay at the end between 
> two messages):
>
> procedure RC (byte in adres,byte in command) is 
>   
>   var byte xx = adres <<3
>   var byte yy = command <<2
>   var bit x at xx : 7
>   var bit y at yy : 7
>  --start
>   hoog
>   hoog
>
>  -- Send and toggle the toggle bit
>   if toggle then
>      hoog
>   else
>      laag
>   end if 
>   toggle = !toggle
>
>   --now adres 5 bits
>   for 5 loop
>   if x == high then
>   hoog
>   else
>   laag
>   end if
>   XX=XX << 1
>   end loop
>   -- now command 6 bits
>    for 6 loop
>   if y == high then
>   hoog
>   else
>   laag
>   end if
>    yy = yy << 1
>   end loop
>   
>   -- And do not forget the space between messages
>   delay_1mS(114)
>
>   end procedure
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens hans <
> [email protected]>
> *Verzonden:* donderdag 17 juni 2021 20:21
>
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] RC5 lib
> Hi Rob, 
> This was a testing way. I know abou the third bit . I am now working on a 
> better way :
> I am now so far that all commands are working beside the play function. 
> (0x35) . On the normal button operation this button is also used as pauze 
> command.
> With the RC5 (0x35) command works only when i have the pauze situation 
> activated with the button. Then it restarts, but not as a normal start.
> In the program attached you can see the command list i have from this 
> device.
> If you have time pleas have a look at this revised, untested program 
> change. :
>
> alias RC5    is pin_D2
> pin_D2_direction  = output
> RC5 = low
> var byte ADRES
> var byte COMMAND
>
> include delay                         -- fetch delay library
> --
>  procedure HOOG is
>  RC5 = low
>  _usec_delay(889)
>  RC5 = high
>   _usec_delay(889)
>   end procedure
>   
>   procedure LAAG is
>  RC5 = high
>  _usec_delay(889)
>  RC5 = low
>   _usec_delay(889)
>   end procedure
>   
>   procedure RC (byte in adres,byte in command) is
>   
>   var byte xx = adres <<3
>   var byte yy = command <<2
>   var bit x at xx : 7
>   var bit y at yy : 7
>  --start
>   hoog
>   hoog
>   laag
>   --now adres 5 bits
>   for 5 loop
>   if x == high then
>   hoog
>   else
>   laag
>   end if
>   XX=XX << 1
>   end loop
>   -- now command 6 bits
>    for 6 loop
>   if y == high then
>   hoog
>   else
>   laag
>   end if
>    yy = yy << 1
>   end loop
>   
>   end procedure
>   
>   forever loop
>   RC( 0x05, 0x35) -- play
>   RC( 0x05, 0x36) -- stop
>   RC( 0x05, 0x37) -- rec
>   RC( 0x05, 0x32) --left
>   RC( 0x05, 0x34)  --right
>   RC( 0x05, 0x20)  --next
>    RC( 0x05, 0x21) -- last
>    RC( 0x05, 0x31)  -- delete
>    RC( 0x05, 0x3c)  --lyrics
>    RC( 0x05, 0x3a)  -- transp up
>    RC( 0x05, 0x3b)  -- transp down
>    RC( 0x05, 0x1d)  -- menu
>    RC( 0x05, 0x29)  -- play next
>    RC( 0x05, 0x22)  -- play last
>    RC( 0x05, 0x3e)   -- monitor
>    end loop
>    
>    regards
> Hans
>
> Op donderdag 17 juni 2021 om 19:47:23 UTC+2 schreef [email protected]:
>
> Hi Hans, 
>
> I had a look at your program. The procedure called 'Basis' raises some 
> questions.
>
> It starts with two start bits (both 'hoog') but the third bit is a toggle 
> bit. If you press a key on the remote control and you keep it pressed. The 
> same command is repeated with the same toggle bit. The receiver then knows 
> that it is still the same command. As soon as you release a key and press 
> it again, the toggle bit changes. In your 'basis' the toggle bit is always 
> the same so your device thinks you are repeated the same command.
>
> Next to that do you know the RC5 device address? In your 'basis' you use 
> low-low-high-low-high to the device has address 0x05 which is a VCR so I 
> assume you are controlling a VCR. If  not you should change 'basis'.
>
> You can find the RC5 addresses on wikipedia.
>
> For the rest it seems to be OK. One thing that can be a problem is the 
> opto coupler. It will invert your bits and I do not know if the infrared 
> received in your device does the same. If not then you should invert all 
> bits in 'hoog' and 'laag'.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens hans <
> [email protected]>
> *Verzonden:* woensdag 16 juni 2021 20:39
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] RC5 lib 
>  
>
> Hi Rob,
>
> I've tried a few things but it's not as easy as I thought. Simply removing 
> the IR receiver and replacing it with an optocoupler will not work. There's 
> something behind it with no license plates. So I put the case back together 
> and checked with a standard remote. He's working again. End of story : I do 
> need a lib for the normal IR operation. If it can send and receive. I hope 
> you have the time for it.
>
> Here is what i have done.
>
>  I have a very old RC5 reader and on that one the data reeceived is 
> correct, adres and commands. But not on the one i like to use. (as i said 
> above)
>
> -- Title: RC5 test
>
> --
>
>  
>
> -- ------------------------------------------------------
>
> --
>
> --
>
> include 16f877a                     -- target PICmicro
>
> --
>
>  
>
> pragma target clock 20_000_000      -- oscillator frequency
>
> --
>
> pragma target OSC      HS                        -- crystal or resonator
>
> pragma target WDT      DISABLED                  -- watchdog
>
> pragma target DEBUG    DISABLED                  -- no debugging
>
> pragma target BROWNOUT DISABLED                  -- no brownout reset
>
> pragma target LVP      DISABLED---ENABLED                   -- low voltage 
> programming
>
> --
>
>  
>
> enable_digital_io()                 -- make all pins digital I/O
>
>  
>
> -- library with delay procedures
>
> include delay
>
>  
>
> alias RC5    is pin_D2
>
> pin_D2_direction  = output
>
> RC5 = low
>
>  
>
>  
>
> include delay                         -- fetch delay library
>
> --
>
>  procedure HOOG is
>
>  RC5 = low
>
>  _usec_delay(889)
>
>  RC5 = high
>
>   _usec_delay(889)
>
>   end procedure
>
>   
>
>   procedure LAAG is
>
>  RC5 = high
>
>  _usec_delay(889)
>
>  RC5 = low
>
>   _usec_delay(889)
>
>   end procedure
>
>  
>
>   procedure BASIS is
>
>   hoog
>
>   hoog
>
>   laag
>
>   laag
>
>   laag
>
>   hoog
>
>   laag
>
>   hoog
>
>   end procedure
>
>   
>
>   procedure   START_PAUZE is
>
>   for 10 loop
>
>   basis
>
>   hoog
>
>   hoog
>
>   laag
>
>   hoog
>
>   laag
>
>   hoog
>
>   delay_1mS(114)
>
>   end loop
>
>   end procedure
>
>   
>
>   procedure STOP is
>
>   for 10 loop
>
>   basis
>
>   hoog
>
>   hoog
>
>   laag
>
>   hoog
>
>   hoog
>
>   laag
>
>   delay_1mS(114)
>
>   end loop
>
>   end procedure
>
>   
>
>   procedure VOLGENDE is
>
>   for 10 loop
>
>   basis
>
>   hoog
>
>   laag
>
>   laag
>
>   laag
>
>   laag
>
>   laag
>
>   delay_1mS(114)
>
>   end loop
>
>   end procedure
>
>   
>
>   
>
>    delay_1S(5)
>
>    forever loop
>
>  
>
>    start_pauze
>
>    delay_1S(2)
>
>    start_pauze
>
>    delay_1S(2)
>
>    start_pauze
>
>    delay_1S(2)
>
>    stop
>
>    delay_1S(2)
>
>    volgende
>
>    delay_1S(2)
>
>    start_pauze
>
>    delay_1S(2)
>
>    stop
>
>    delay_1S(5)
>
>    
>
>    end loop
>
>    
>
>  
>
>  
>
>  
>
> Thanks again.
>
> regards
>
> Hans
>
> Op woensdag 16 juni 2021 om 08:04:59 UTC+2 schreef [email protected]:
>
> Hi Hans,
>
> I understand what you are doing so you do not need the 36 kHz carrier. 
> That makes it even simpler. In that case you only need a timer to generate 
> the RC5 bi-phase signal. Will you be able to do that or do you need some 
> help with that?
>
> Met vriendelijke groet,
> Rob Jansen 
> ------------------------------
> *From:* [email protected] <[email protected]> on behalf of 
> hans <[email protected]>
> *Sent:* Tuesday, June 15, 2021 9:54:26 PM
> *To:* jallib <[email protected]>
> *Subject:* Re: [jallib] RC5 lib 
>  
>
> Hi Rob,
>
> Thanks for responding, even though you're on vacation. First some more 
> information. I have a device that I normally operate with push buttons, but 
> that can also work with RC5 if i connect  a Tsop1836 on it, for example. I 
> also have the codes used for address and commands. So I want to use a Pic 
> as a transmitter.
>
> Actually I don't need the whole IR part  because I can also connect an 
> output of the PIC directly to the RC5 input of the device.. I have already 
> found the information about what the pulse train should look like.
>
> At least it keeps the gray matter flexible.
>
> Greetings and have a nice holiday
>
> Hans
> Op dinsdag 15 juni 2021 om 18:31:02 UTC+2 schreef [email protected]:
>
> Hi Hans,
>
> Some years ago (in 2014 to be exact) I wrote a decoder routine that is 
> capable of decoding RC5 and RC6 messages. It works on an interrupt basis. I 
> wrote two variants, one using Timer 0 and one using Timer 1. I attached the 
> sources files in the attached zip file.
>
> I could make a JAL library out of it - since these source files are not 
> yet Jallib compilant - and make it part of Jallib. I could then incorporate 
> the timer part in the decoder part so that you only have one library to 
> include. 
>
> Currently I am enjoying my vacation so I am not able to test them but I 
> think they work. The main program uses a USART to write the received RC5 or 
> RC6 message. The UART part is also included in the zip file.  
>
> I could make an RC5 and RC6 encoder program since I have done that in the 
> past because I have worked at Philips many years ago and was one of the 
> contributors of the Philips RC6 standard 🙂. As you may know, for the 
> encoder you need a 36 kHz modulated signal to drive the Infra Red LED so 
> you need a PWM signal for that. 
>
> Kind regards,
>
> Rob
>
>
>
>
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens hans <
> [email protected]>
> *Verzonden:* dinsdag 15 juni 2021 10:49
> *Aan:* jallib <[email protected]>
> *Onderwerp:* [jallib] RC5 lib 
>  
> Is there beside the SIRC lib also one for sending/receiving RC5 ? 
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/0e2b7ff9-dfde-4d3b-8db2-72e3c50ee21fn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/0e2b7ff9-dfde-4d3b-8db2-72e3c50ee21fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/7bc0ee26-67d2-46ac-bd58-a6d339042326n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/7bc0ee26-67d2-46ac-bd58-a6d339042326n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/850931fd-ea4f-45e8-9cd2-80389810ead6n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/850931fd-ea4f-45e8-9cd2-80389810ead6n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/06d8f065-5f5c-4d65-96db-21be1be2f62fn%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/06d8f065-5f5c-4d65-96db-21be1be2f62fn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/722fd881-63b6-4b64-af3e-a550d77ee57an%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/jallib/722fd881-63b6-4b64-af3e-a550d77ee57an%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> -- 
> You received this message because you are subscribed to the Google Groups 
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/jallib/VI1PR07MB62561CEC10CCFF7A46FA226AE60C9%40VI1PR07MB6256.eurprd07.prod.outlook.com
>  
> <https://groups.google.com/d/msgid/jallib/VI1PR07MB62561CEC10CCFF7A46FA226AE60C9%40VI1PR07MB6256.eurprd07.prod.outlook.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/dec7e853-0ce7-458e-bf55-39871305ea6dn%40googlegroups.com.

Reply via email to