Home AMX User Forum AMX Technical Discussion
Options

DEV Array and Virtual Levels

Is a DEV Array for linking multiple touch panels considered a virtual device? I have multiple levels to control in a Lutron QS system integrated with AMX. Probably 300 levels. Do I need to include the SET_VIRTUAL_LEVEL_COUNT(vTP_LUTRON, 300) call at start up for the vTP_LUTRON device array below?

I am actually controlling 150 levels, but will need to level per dimmable circuit. One level to track the lutron level, behind a transparent level to actually touch and send the value to Lutron. Without the 2 levels I noticed that a single bargraph jumps erratically. Any fixes for that?

Thanks!


DEV vTP_LUTRON[TP_COUNT] =
{
dvTP_Lutron1, // Real Panel (dvTP_Kitchen)
dvTP_Lutron2, // Real Panel (dvTP_Wardrobe)
dvTP_Lutron3, // Real Panel (dvTP_Garage)
dvTP_Lutron4, // Real Panel (dvTP_Entry)
dvTP_Lutron5, // Real Panel (dvTP_Office)
dvTP_Lutron6, // Real Panel (dvTP_OutdoorDining
dvTP_Lutron7, // Real Panel (dvTP_GarElevator)
dvTP_Lutron8, // Real Panel (dvTP_Camerons)
dvTP_Lutron9, // Real Panel (dvTP_Morgans)
dvTP_Lutron11, // Real Panel (dviPad_Office)
dvTP_Lutron12, // Real Panel (dviPad_Lounge)
dvTP_Lutron13, // Real Panel (dviPad_Family)
dvTP_Lutron14 // Real Panel (dviPad_Master)
}

Comments

  • Options
    ericmedleyericmedley Posts: 4,177
    Nope,
    A dev or devchan or devlev etc... Is not a virtual device.

    Here's how I'd handle it
    data_event[vTP_LUTRON]{
      Online:{
        stack_var integer device_id;
        device_id=get_last(vTP_LUTRON);
        SET_VIRTUAL_LEVEL_COUNT(vTP_LUTRON[device_id]300)
        }
    }
    
    

    The variable device_id will be the index of the device in the array that caused the data_event to fire.
  • Options
    I am actually controlling 150 levels, but will need to level per dimmable circuit. One level to track the lutron level, behind a transparent level to actually touch and send the value to Lutron. Without the 2 levels I noticed that a single bargraph jumps erratically. Any fixes for that?

    One way to do it is to give the single bargraph a channel number and track whether the bargraph is being touched or not using a variable. Then, when the bargraph is being pushed, disable the feedback from the Lutron system and send the level from the bargraph to the lutron system. Then, once the Lutron system's feedback has caught up to where you want it to be, or once the bargraph is no longer being touched (whichever is longer), you can reenable the feedback from the lutron system to the bargraph.

    Hope that makes sense.
  • Options
    John NagyJohn Nagy Posts: 1,734
    IWithout the 2 levels I noticed that a single bargraph jumps erratically. Any fixes for that?

    It ain't broken, its to be expected. Without dodges of the sort already suggested, the use of a single bargraph as input and output results in a feedback loop. Each move of the graph triggers a new input, which may on recalculation, result in a new position of the bar. Which of course results in new input. Lather, rinse, repeat.

    The double layer you say you use is the least programming-intense solution, and can provide live bar feedbback while you control it. Other schemes can cause the display to jump after you take your finger away and it changes mode from input display to output display.
Sign In or Register to comment.