Home AMX User Forum AMX Technical Discussion

R4 controlling an iPort on port other than 1

I am having trouble getting an iport working properly on an R4.

I'm using the Zigbee Pro gateway with firmware 3.06 I think. I know that that it's higher that 3.0.

At the moment I have 2 touch panels in the dev array I'm passing to the latest UI module. The first is a CV10 that's using port 8 for the iport. That's working perfectly. The second dev is the R4 i'm having trouble with. I've decided to use port 4 for the iport on the R4.

At first I was using the buffering module AMX_R4_Comm_Mod but according to the iport demo file, this isn't needed with the newer zigbee gateways. So I'm back to just using the straight R4 dev.

dvR4_GUEST_House_iPort = 10132:4:130

VOLATILE DEV devIPORT_TPs1[] = {dvROTUNDA_TP_iPort, dvR4_GUEST_House_iPort}


Anyway, my problem is that I don't get any metadata to the R4. It's processing the channel presses. I'm certain that I'm pressing 142 when I select the iport. At least as certain as someone can be after staring at the same thing for 2 hours.

I'm sure I'm missing something simple and I'll be able to call tech support (Jon Parker) in the morning. But what the heck, I'll throw it out here first. Then maybe I can go to sleep feeling like I've done something. :)

Thanks

Comments

  • a_riot42a_riot42 Posts: 1,624
    sphere27 wrote: »
    I am having trouble getting an iport working properly on an R4.

    I'm using the Zigbee Pro gateway with firmware 3.06 I think. I know that that it's higher that 3.0.

    At the moment I have 2 touch panels in the dev array I'm passing to the latest UI module. The first is a CV10 that's using port 8 for the iport. That's working perfectly. The second dev is the R4 i'm having trouble with. I've decided to use port 4 for the iport on the R4.

    At first I was using the buffering module AMX_R4_Comm_Mod but according to the iport demo file, this isn't needed with the newer zigbee gateways. So I'm back to just using the straight R4 dev.

    dvR4_GUEST_House_iPort = 10132:4:130

    VOLATILE DEV devIPORT_TPs1[] = {dvROTUNDA_TP_iPort, dvR4_GUEST_House_iPort}


    Anyway, my problem is that I don't get any metadata to the R4. It's processing the channel presses. I'm certain that I'm pressing 142 when I select the iport. At least as certain as someone can be after staring at the same thing for 2 hours.

    I'm sure I'm missing something simple and I'll be able to call tech support (Jon Parker) in the morning. But what the heck, I'll throw it out here first. Then maybe I can go to sleep feeling like I've done something. :)

    Thanks

    Are you certain that you are pushing 142 on the R4s virtual device with the corresponding port? The module requires this even though you aren't using the buffering module.
    Paul
  • I'm going back to the site this morning and hopefully I'll be able to approach this with a fresh head. But I'm pretty certain that I'm pressing channel 142 of the actual R4 device (10321:4:130). Do I have to use a virtual device in some way instead of the actual device.

    When I was using the buffering module I used a virtual device but when I dropped that module I stared using the actual device everywhere.

    Thank you
  • TurnipTruckTurnipTruck Posts: 1,485
    The queing (buffering) module is absolutely not necessary in your case.

    It does sound very much like you are not pressing channel 142 on the R4 port that contains the buttons. The example code provided with the module can be a bit confusing at first.

    Often times I find myself needing to enable the R4 feedback (channel 142) in conjunction with another button press such as switching an A/V receiver to the input allowing the iPort to play. In that case I'll use a DO_PUSH to channel 142 of the iPort under the button event that switches the receiver's input.

    Also, in the last few versions of the iPort module, pressing channel 143 does not stop all feedback to a UI. As I remember there is a loop through all UIs to check on-page status. The DEV array of UIs was not indexed in the commands to send the feedback.
  • I got it....with a little help from Jonathen at tech support. In the UI file that I was working with on line 175 there was a bit of code that was purposefully excluding R4s from the text feedback routine. It was doing this by use of the DEVICE_ID function. I saw the line but misunderstood the function. I thought it would return the device id (10321) but instead it returns the device identifier for the type of device.

    Interesting. I commented out the check and everything is working properly now.

    Then I went back to the sample program that I had been using and it seems like the check is commented out there as well. I must have gotten tangled up in my module directory at some point.

    Thanks for the help

    Jimi
  • One thing else, while this thread is still alive.

    Although I am treating the R4 as a regular TP some of the strings are truncated on the remote. It's not the size of the field in the UI file so I don't know where else it might be getting dropped. Could this be a setting in the gateway that I'm not aware of?
  • TurnipTruckTurnipTruck Posts: 1,485
    sphere27 wrote: »
    One thing else, while this thread is still alive.

    Although I am treating the R4 as a regular TP some of the strings are truncated on the remote. It's not the size of the field in the UI file so I don't know where else it might be getting dropped. Could this be a setting in the gateway that I'm not aware of?

    There is an array size somewhere in the code defined at 30. I made it 100.
  • jjamesjjames Posts: 2,908
    Here's the bit he's referring to - it even has what lengths should / could be.
    VOLATILE CHAR cINDEX_LIST_1[5][2][10][30]// MAX list size is 10 - if this UI runs a G4 panel then the Fourth array parameter can be extended to 200
    (***************************************
    The cINDEX_LIST_1 array is set up to record the ID numbers and info pertaining to that ID that is returned from the iPod for each menu and is set up as follows:
    
    [5] 5 different menus of information. If one selects Playlist it will actually only use 3 of the menus – Songs will only use 2 – Artists will use 4 - Albums and videos use 5.
    
    [2] 2 types of information in each menu – ID number[1] and either Song, Album, or Artist [2]. This info in [2] is sent to the Touch Panels when a list is produced or on the push of the Menu button.
    
    [10] This is the list length of each menu. This can be set the same as the TP_UI_list variable in the Main.axs actually.
    
    [b][30] The max character length of the information – set to 30 for the DMS length – G3 panels max is 39 – G4 panels max is 200[/b]
    ***************************************)
    
    Keep in mind, the maximum length of metadata from an iPod I believe is 256 characters, so to really conform, you could set this to 256, and modify the code to send a ^BAT / ^BAU command to append the remaining 6 characters.
Sign In or Register to comment.