Home AMX User Forum NetLinx Studio

Too many devices for a controller

We have a system with 25+ controller in m2m configuration; every controller manages the device connect to it with a comm module.

We want to control every device from every panel.

Is there a "good pattern" to do it?

With less device we tipically create a dev array with all virtual comm device and the UI module will show only the infos about the current device, something like:
create_level(...)

// snip...

BUTTON_EVENT[tp, nBtnSelection] {
  push: {
    currentDeviceIndex = get_last(nBtnSelection)
    refreshUI()
  }
}

CHANNEL_EVENT[commModules, nChannels] {
  // do something
}

LEVEL_EVENT[commModules, nLevels] {
  // do something
}

but in this case we cannot use this approach because the event table is limited to 4000 entries (4000 events / 25 controller = 160)

We'd like to choose dinamically the device, synchronize the status and listen only to its events (using the rebuild_events function).

Using this approach, how can we get the level status of a remote device? The only way is send a query request and parse the feedbacks?

But, more important, is there a better solution to our problem?

Thanks

Comments

  • ericmedleyericmedley Posts: 4,177
    Yeah,
    You might be forced into breaking out the button events a bit so your event tables don't get so large.


    To be frank, I've never quite understood the whole idea of trying to go with as few button events statments as possible myself.

    I've seen code with button_event[tp,0] (only one efvent) but then a whole raft of conditional statements to deal with all the possible events. In my mind, break them out logically by function or something. You lose performance either way.

    I suppose it's just personal preference.
Sign In or Register to comment.