Home AMX User Forum AMX General Discussion

NI-700 and levels

Hi All...

Does anyone have any info on an issue with NI-700 and not doing levels well?

I've been banging my head against the wall dealing with an NXT-CV7 panel with 15 bar graphs for volume, each with a different level channels, connected to an NI-700.

Level 1 works, as expected in the level_event from the TP, and the subsequent SEND_LEVEL to the vol card. Any other levels don't work.

I called AMX and apparently this is a recently discovered issue with the NI-700 and current firmware. They said to go back to previous firmware to avoid the problem.

I did that with no success. Has anyone else run into this? If so, did you find a version of F/W that worked? I can't find a tech note on it yet.

Thanks

Comments

  • Did you have done a hard reset (power off) of the NI after firmware downgrade?

    Just another try, but...
    DEFINE_EVENT[dvPanel]
    {
    ONLINE:
    {
    SET_VIRTUAL_LEVEL_COUNT(dvPanel,15)
    }
    }
  • PyroGuyPyroGuy Posts: 121
    Thanks Mark...

    Yes, we did do hardware power cycle.

    Regarding your suggested online event

    SET_VIRTUAL_LEVEL_COUNT(dvPanel,15)

    Are you suggesting this with the old firmware or the current firmware?

    I'm not familiar with that command but will search around the forums and AMX tech support to find out more details.

    I no longer have the device as it is now installed at the clients so it is a bit tricky to troubleshoot.
  • PyroGuyPyroGuy Posts: 121
    hot fix for the problem

    Just had a chat with AMX and apparently when they advised me to go back to an earlier version of firmware, it was actually a hot fix version of the firmware.

    It has been emailed to me and I'll try it on-site.

    For your reference, it is 3.40.399. It is not on the AMX website for download.

    Cheers!
  • JackJack Posts: 10
    I have the same problem with v3.41.414 and NI-3100 and MVP8400. I updated two of my NI-3100's and levels stopped working. I have a third NI-3100 which I didn't update and it works fine. I'm in big trouble here because when I try to downgrade the firmware to v3.30.371 the process fails. Is there a trick to downgrade to an older version or do I have to request v3.40.399? Problem is that I need the system working by Monday.
  • I just tested my NI700 with the new firmware and it works fine.

    Here's the code I tested it with... The NI has 3.41.414 and my NXT1200VG is 2.72.11
    DEFINE_DEVICE
    
    dvTP = 10001:1:0
    dvTP2 = 10001:2:0
    
    
    DEFINE_CONSTANT
    
    integer TPlevels[]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
    
    integer current_level[15],index_level
    
    level_event[dvTP,TPlevels]
    {
      index_level = get_last(TPlevels)
      if (level.value) current_level[index_level] = level.value
    	send_level dvTP2,index_level,level.value
    }
    
    data_event[dvTP]
    {
      online:
    	{
    	  stack_var integer level_COUNT
    		
    	  for (level_COUNT = 1;level_COUNT <= 15; level_COUNT++)
    		{
    		  SEND_LEVEL dvTP,level_COUNT,current_level[level_COUNT]
    		}
    	}
    }
    
  • My second set of levels on port 2 track perfectly!
  • JackJack Posts: 10
    Can you try with virtual combined devices please.
    I'm not near any NetLinx hardware, but something like this should do:
    PROGRAM_NAME='LevelsTest'
    
    DEFINE_DEVICE
    
    dvTP   = 10001:1:0
    dvTP2  = 10001:2:0
    
    vdvTP  = 33002:1:0
    vdvTP2 = 33003:1:0
    
    DEFINE_CONSTANT
    
    integer TPlevels[]= {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
    
    DEFINE_VARIABLE
    
    integer current_level[length_array(TPlevels)],index_level
    
    DEFINE_EVENT
    
    level_event[vdvTP,TPlevels]
    {
        index_level = get_last(TPlevels)
        if (level.value) current_level[index_level] = level.value
        send_level vdvTP2,index_level,level.value
    }
    
    data_event[dvTP]
    {
        online:
        {
            stack_var integer level_COUNT
            set_virtual_level_count (vdvTP,length_array(TPlevels))
            combine_devices (vdvTP,data.device)
            for (level_COUNT = 1;level_COUNT <= length_array(TPlevels); level_COUNT++)
            {
                send_level vdvTP,level_COUNT,current_level[level_COUNT]
            }
        }
    }
    
    data_event[dvTP2]
    {
        online:
        {
            set_virtual_level_count (vdvTP2,length_array(TPlevels))
            combine_devices (vdvTP2,data.device)
        }
    }
    
  • vdvTP will not trigger a level event. I checked the port status on vdvTP and the levels have been recorded. Why are you needing to combine_device? Could you not use a devArray?
  • I backed down to 3.30.371 and the level_event works for the virtual device. So it not really a problem with levels on Touch panels but problem with levels on Combined devices with a virtual device reference.
  • JackJack Posts: 10
    I was taught to use virtual devices as standard practice and have always done so without problems - except with this newest version of firmware. I guess that I shall have to do some reading up on devArrays. Do you have any tips or examples? Are there any disadvantages over virtual devices? I am currently combining because we have multiple panels in different rooms which connect when they go online.

    How are you able to back down to previous versions of firmware? My attempts always fail.

    Thanks for your help and confirming the "issue", Ken.
  • Virtual TP devices give you a way to have your TP always online. The question you have to ask is what are you loosing if your TP goes offline. Levels don't return. Strings dissappear. POP up page is gone. Stuff like that. But you could refresh the stuff you need with the online event. dvArrays arn't the only answer but there are many ways to skin a cat. Yes there seems to be a bug with the new firmware but I had no problems reverting to 3.30.371. I have a nonJava copy 2.9 something. Maybe you need to revert to this then back to 3.30
  • JackJack Posts: 10
    I wonder if the problem is that the combine_device command has changed and we need to also include a combine_levels command too.

    Otherwise I'll modify my program to use devArrays and add a bit of logic to compensate. I've read that there are issues adding and removing devices from the devArrays so I'll have to play about with that.

    As far as downgrading goes, the NIx100's don't support non-duet firmware so still stuck. I really cannot understand why it fails so shall chat with AMX tech support on Monday morning.
  • PyroGuyPyroGuy Posts: 121
    Jack...

    If you need the new firmware, send me a private message with your email and I will send it to you. (that way our email adds remain unpublished). It's about a 6 meg file.

    Not sure if we are supposed to do this on the forum but I know what it's like when you have to get something done on a deadline.

    Cheers!
  • JackJack Posts: 10
    Thanks Michael, but your post states that you have a NI-700 and I have a NI-3100 so I'm not sure if they are compatible (they are listed as seperate downloads).

    But I just found a way to do it: DIP switch 1 - Program Run Disable (PRD) Mode. Setting the position to ON allows me to downgrade. I wonder why setting to factory default didn't have the same effect.

    Anyway, thanks again everyone.
Sign In or Register to comment.