Home AMX User Forum AMX General Discussion

Denon AVP Feedback issues

Hey i know there is a Denon AMX module but i thought i will write a simple code since i dont have to do the same string parsing and all.

I got a denon receiver which is on RS232, now i am sending commands to change its inputs based on if the current input is not the input that is requested.

It works but sometimes it doesnt take the new inputs, it thinks that its the same input that is requested so commands are not send.

I have included the include file and the Denon manual, and i ll paste the notifications tab for your reference.

Please guide me on this

Thanks
John
Line 1 (03:02:51):: String To [5001:5:4]-[SI?$0D]
Line 2 (03:02:51):: String From [5001:5:4]-[SISAT$0D]
Line 3 (03:02:51):: String From [5001:5:4]-[SVSOURCE$0D]
Line 4 (03:02:54):: String To [5001:5:4]-[SI?$0D]
Line 5 (03:02:54):: String From [5001:5:4]-[SISAT$0DSVSOURCE$0D]
Line 6 (03:02:56):: String To [5001:5:4]-[SI?$0D]
Line 7 (03:02:56):: String From [5001:5:4]-[SISAT$0D]
Line 8 (03:02:56):: String From [5001:5:4]-[SVSOURCE$0D]
Line 9 (03:03:00):: String To [5001:5:4]-[SI?$0D]
Line 10 (03:03:00):: String From [5001:5:4]-[SISAT$0D]
Line 11 (03:03:00):: String From [5001:5:4]-[SVSOURCE$0D]
Line 12 (03:03:01):: String To [5001:5:4]-[SIVCR$0D]
Line 13 (03:03:02):: String From [5001:5:4]-[SIVCR$0DMSPURE DIRECT$0DSDAUTO$0DSVSOURCE$0DDCAUTO$0DCVFL 50$0D]
Line 14 (03:03:02):: String From [5001:5:4]-[CVFR 50$0D]
Line 15 (03:03:02):: String From [5001:5:4]-[CVC 50$0D]
Line 16 (03:03:02):: String From [5001:5:4]-[CVSW1 50$0D]
Line 17 (03:03:02):: String From [5001:5:4]-[CVSW2 50$0D]
Line 18 (03:03:02):: String From [5001:5:4]-[CVTR 50$0D]
Line 19 (03:03:02):: String From [5001:5:4]-[CVSL 50$0D]
Line 20 (03:03:02):: String From [5001:5:4]-[CVSR 50$0D]
Line 21 (03:03:02):: String From [5001:5:4]-[CVSBL 50$0D]
Line 22 (03:03:02):: String From [5001:5:4]-[CVSBR 50$0D]
Line 23 (03:03:02):: String From [5001:5:4]-[CVSB 50$0DMVMAX 98$0D]
Line 24 (03:03:06):: String To [5001:5:4]-[SI?$0D]
Line 25 (03:03:06):: String From [5001:5:4]-[SIVCR$0D]
Line 26 (03:03:06):: String From [5001:5:4]-[SVSOURCE$0D]
Line 27 (03:03:07):: String To [5001:5:4]-[SIVCR$0D]
Line 28 (03:03:12):: String To [5001:5:4]-[SI?$0D]
Line 29 (03:03:12):: String From [5001:5:4]-[SIVCR$0DSVSOURCE$0D]
Line 30 (03:03:13):: String To [5001:5:4]-[SIVCR$0D]
Line 31 (03:03:15):: String To [5001:5:4]-[SI?$0D]
Line 32 (03:03:15):: String From [5001:5:4]-[SIVCR$0D]
Line 33 (03:03:15):: String From [5001:5:4]-[SVSOURCE$0D]
Line 34 (03:03:20):: String To [5001:5:4]-[SI?$0D]
Line 35 (03:03:20):: String From [5001:5:4]-[SIVCR$0DSVSOURCE$0D]
Line 36 (03:03:24):: String To [5001:5:4]-[SI?$0D]
Line 37 (03:03:24):: String From [5001:5:4]-[SIVCR$0DSVSOURCE$0D]
Line 38 (03:03:28):: String To [5001:5:4]-[SI?$0D]
Line 39 (03:03:28):: String From [5001:5:4]-[SIVCR$0DSVSOURCE$0D]
Line 40 (03:03:29):: String To [5001:5:4]-[SISAT$0D]
Line 41 (03:03:31):: String From [5001:5:4]-[SISAT$0DMSPL2 C+THX$0DSDAUTO$0DSVSOURCE$0DDCAUTO$0DCVFL 50$0DCVFR 50$0D]
Line 42 (03:03:31):: String From [5001:5:4]-[CVC 50$0D]
Line 43 (03:03:31):: String From [5001:5:4]-[CVSW1 50$0D]
Line 44 (03:03:31):: String From [5001:5:4]-[CVSW2 50$0D]
Line 45 (03:03:31):: String From [5001:5:4]-[CVTR 50$0D]
Line 46 (03:03:31):: String From [5001:5:4]-[CVSL 50$0D]
Line 47 (03:03:31):: String From [5001:5:4]-[CVSR 50$0D]
Line 48 (03:03:31):: String From [5001:5:4]-[CVSBL 50$0D]
Line 49 (03:03:31):: String From [5001:5:4]-[CVSBR 50$0D]
Line 50 (03:03:31):: String From [5001:5:4]-[CVSB 50$0DMVMAX 98$0D]
Line 51 (03:03:35):: String To [5001:5:4]-[SI?$0D]
Line 52 (03:03:35):: String From [5001:5:4]-[SISAT$0DSVSOURCE$0D]
Line 53 (03:03:36):: String To [5001:5:4]-[SIDVR-1$0D]
Line 54 (03:03:37):: String From [5001:5:4]-[SIDVR-1$0DSDANALOG$0DSVSOURCE$0DDCAUTO$0DCVFL 50$0DCVFR 50$0D]
Line 55 (03:03:37):: String From [5001:5:4]-[CVC 50$0D]
Line 56 (03:03:37):: String From [5001:5:4]-[CVSW1 50$0D]
Line 57 (03:03:37):: String From [5001:5:4]-[CVSW2 50$0D]
Line 58 (03:03:37):: String From [5001:5:4]-[CVTR 50$0D]
Line 59 (03:03:37):: String From [5001:5:4]-[CVSL 50$0D]
Line 60 (03:03:37):: String From [5001:5:4]-[CVSR 50$0D]
Line 61 (03:03:37):: String From [5001:5:4]-[CVSBL 50$0D]
Line 62 (03:03:38):: String From [5001:5:4]-[CVSBR 50$0D]
Line 63 (03:03:38):: String From [5001:5:4]-[CVSB 50$0DMVMAX 98$0D]
Line 64 (03:03:40):: String To [5001:5:4]-[SI?$0D]
Line 65 (03:03:40):: String From [5001:5:4]-[SIDVR-1$0D]
Line 66 (03:03:40):: String From [5001:5:4]-[SVSOURCE$0D]
Line 67 (03:03:41):: String To [5001:5:4]-[SIDVR-1$0D]
Line 68 (03:03:48):: String To [5001:5:4]-[SI?$0D]
Line 69 (03:03:48):: String From [5001:5:4]-[SIDVR-1$0D]
Line 70 (03:03:48):: String From [5001:5:4]-[SVSOURCE$0D]
Line 71 (03:03:49):: String To [5001:5:4]-[SIDVR-1$0D]
Line 72 (03:03:50):: String To [5001:5:4]-[SI?$0D]
Line 73 (03:03:50):: String From [5001:5:4]-[SIDVR-1$0DSVSOURCE$0D]
Line 74 (03:03:51):: String To [5001:5:4]-[SIDVR-1$0D]
Line 75 (03:03:52):: String To [5001:5:4]-[SI?$0D]
Line 76 (03:03:52):: String From [5001:5:4]-[SIDVR-1$0D]
Line 77 (03:03:52):: String From [5001:5:4]-[SVSOURCE$0D]
Line 78 (03:03:56):: String To [5001:5:4]-[SI?$0D]
Line 79 (03:03:56):: String From [5001:5:4]-[SIDVR-1$0DSVSOURCE$0D]
Line 80 (03:03:59):: String To [5001:5:4]-[SI?$0D]
Line 81 (03:03:59):: String From [5001:5:4]-[SIDVR-1$0DSVSOURCE$0D]
Line 82 (03:04:03):: String To [5001:5:4]-[SI?$0D]
Line 83 (03:04:03):: String From [5001:5:4]-[SIDVR-1$0DSVSOURCE$0D]
Line 84 (03:04:04):: String To [5001:5:4]-[SIDVR-2$0D]
Line 85 (03:04:05):: String From [5001:5:4]-[SIDVR-2$0DSDDIGITAL$0DSVSOURCE$0DDCAUTO$0DCVFL 50$0D]
Line 86 (03:04:05):: String From [5001:5:4]-[CVFR 50$0D]
Line 87 (03:04:05):: String From [5001:5:4]-[CVC 50$0D]
Line 88 (03:04:05):: String From [5001:5:4]-[CVSW1 50$0D]
Line 89 (03:04:05):: String From [5001:5:4]-[CVSW2 50$0D]
Line 90 (03:04:05):: String From [5001:5:4]-[CVTR 50$0D]
Line 91 (03:04:05):: String From [5001:5:4]-[CVSL 50$0D]
Line 92 (03:04:05):: String From [5001:5:4]-[CVSR 50$0D]
Line 93 (03:04:05):: String From [5001:5:4]-[CVSBL 50$0D]
Line 94 (03:04:05):: String From [5001:5:4]-[CVSBR 50$0D]
Line 95 (03:04:05):: String From [5001:5:4]-[CVSB 50$0DMVMAX 98$0D]
Line 96 (03:04:08):: String To [5001:5:4]-[SI?$0D]
Line 97 (03:04:08):: String From [5001:5:4]-[SIDVR-2$0DSVSOURCE$0D]
Line 98 (03:04:09):: String To [5001:5:4]-[SIDVR-2$0D]
Line 99 (03:04:13):: String To [5001:5:4]-[SI?$0D]
Line 100 (03:04:13):: String From [5001:5:4]-[SIDVR-2$0DSVSOURCE$0D]
Line 101 (03:04:14):: String To [5001:5:4]-[SIDVR-2$0D]
Line 102 (03:04:16):: String To [5001:5:4]-[SI?$0D]
Line 103 (03:04:16):: String From [5001:5:4]-[SIDVR-2$0DSVSOURCE$0D]
Line 104 (03:04:19):: String To [5001:5:4]-[SI?$0D]
Line 105 (03:04:19):: String From [5001:5:4]-[SIDVR-2$0DSVSOURCE$0D]
Line 106 (03:04:22):: String To [5001:5:4]-[SI?$0D]
Line 107 (03:04:22):: String From [5001:5:4]-[SIDVR-2$0D]
Line 108 (03:04:22):: String From [5001:5:4]-[SVSOURCE$0D]
Line 109 (03:04:23):: String To [5001:5:4]-[SISAT$0D]
Line 110 (03:04:24):: String From [5001:5:4]-[SISAT$0DSDAUTO$0DSVSOURCE$0DDCAUTO$0DCVFL 50$0D]
Line 111 (03:04:24):: String From [5001:5:4]-[CVFR 50$0D]
Line 112 (03:04:24):: String From [5001:5:4]-[CVC 50$0D]
Line 113 (03:04:24):: String From [5001:5:4]-[CVSW1 50$0D]
Line 114 (03:04:24):: String From [5001:5:4]-[CVSW2 50$0D]
Line 115 (03:04:24):: String From [5001:5:4]-[CVTR 50$0D]
Line 116 (03:04:24):: String From [5001:5:4]-[CVSL 50$0D]
Line 117 (03:04:24):: String From [5001:5:4]-[CVSR 50$0D]
Line 118 (03:04:24):: String From [5001:5:4]-[CVSBL 50$0D]
Line 119 (03:04:25):: String From [5001:5:4]-[CVSBR 50$0D]
Line 120 (03:04:25):: String From [5001:5:4]-[CVSB 50$0DMVMAX 98$0D]
Line 121 (03:04:26):: String To [5001:5:4]-[SI?$0D]
Line 122 (03:04:26):: String From [5001:5:4]-[SISAT$0D]
Line 123 (03:04:26):: String From [5001:5:4]-[SVSOURCE$0D]

Comments

  • After looking at your code I'm thinking you might be better off taking a slightly different approach. You are already tracking the selected input in an array so you shouldn't need to solicit feedback before switching inputs. Just check the appropriate array elements value.

    Then when you do switch inputs, query the AVP for feedback so that your array will get updated and you will be ready for the next button press.

    Also since you are using a buffer you really should be using a while loop to be sure that you are parsing strings in the right order.
    	WHILE(FIND_STRING(yourAVRBuffer, "$0D", 1))
    	{
               // Don't forget this or your code will never stop looping!
    	   CharsToBeParsed = REMOVE_STRING(yourAVRBuffer, "$0D", 1)
            }
    
  • Fixed it

    Thanks, i have loaded the new file with the changes that you have asked.

    BTW while loop is making the controller getting hang up and also the remove_string of '$0D' is also not happening.

    Anyway the response is faster and the commands are going faster without any delay
Sign In or Register to comment.