RMS Scheduling Code

Looking for some examples of how to program the Scheduling GUI on the newer Modero Touch Panels. Anyone have some code they'd be willing to share with me?

Comments

  • nickmnickm Blinky Light Aficionado Posts: 152
    I would pull the example GUI file from AMX's website and start tearing it apart. That will help you discover the channels, addresses, and levels that are used better than the written documentation. From there, you would be able to develop your own GUI and UI module if you so choose.
  • mjones2620mjones2620 Junior Member Posts: 86
    So I've done that, and I've worked up some code that uses a structure to store meeting requests based on Start time, date, subject and host name. The work day is 8 hours, and possible meeting intervals are 15 minutes. There are 36 possible meeting times. I've created a GUI that has 36 address boxes. My question is, how can I fill these boxes properly based on the length of the meeting. I am able to determine if a meeting starts at say 9am, but I can't figure out how to light up each box based on how long the meeting runs...
  • nickmnickm Blinky Light Aficionado Posts: 152
    First thing that comes to mind is dynamically re-sizing the button representing the start time block of a meeting, and disabling/hiding the buttons representing the intermediate time blocks. For instance: if a meeting starts at noon and lasts two hours, I would expand the size of the 12:00 button to the size of 8 time blocks. I would then hide the buttons representing 12:15, 12:30, 12:45, and so on.

    Just a quick thought. Maybe it will get you down the right path.
  • mjones2620mjones2620 Junior Member Posts: 86
    How would I do this with a loop?
  • nickmnickm Blinky Light Aficionado Posts: 152
    mjones2620 wrote: »
    How would I do this with a loop?

    Not sure I follow what you mean by a loop.

    I would create a timeline to adjust the schedule every 5 minutes or so, based on new schedule entries, and the current time of day. If you want to limit the window of time displayed to be something in the range of the last hour through the next 4 hours, you would compare that time window to your structure of meeting information and run a subroutine/function to adjust the touch panel UI accordingly.

    Likewise, any time a meeting event is initiated from the touch panel itself, run the same subroutine to immediately reflect the most recent data on the touch panel.
  • Ma_ZeMa_Ze Posts: 5
    mjones2620 wrote: »
    So I've done that, and I've worked up some code that uses a structure to store meeting requests based on Start time, date, subject and host name. The work day is 8 hours, and possible meeting intervals are 15 minutes. There are 36 possible meeting times. I've created a GUI that has 36 address boxes. My question is, how can I fill these boxes properly based on the length of the meeting. I am able to determine if a meeting starts at say 9am, but I can't figure out how to light up each box based on how long the meeting runs...

    Hello!

    I`m trying to make my own scheduling GUI too, however my 'work day' is 24 hours (meetings can be scheduled whole day) and intervals are 15 minutes too. That gives me 96 possible meeting times = 96 channel and addresses codes (i use channels to light up boxes).
    I`m using the structure to store every meeting - standard information like StartDate, StartTime etc. BUT there are 2 special fields called StartQuarter and EndQuarter. Basically: StartQuarter for a meeting which starts at 00:00 equals to 1000
    StartQuarter for a meeting which starts at 00:15 equals to 1001 etc.
    Same goes for EndQuarter.
    And here is the loop which turns on boxes for specific meeting:
    		tempChannel = ReservationStatus[i].EndQuarter - ReservationStatus[i].StartQuarter
    		ON[dvTP1,ReservationStatus[i].StartQuarter] 
    		
    		for (l=1; l < tempChannel; l++)
    		{
    		    ON[dvtp1,ReservationStatus[i].StartQuarter + l] 
    		}
    
    Maybe this will help you.
  • mjones2620mjones2620 Junior Member Posts: 86
    Ma_Ze wrote: »
    Hello!

    I`m trying to make my own scheduling GUI too, however my 'work day' is 24 hours (meetings can be scheduled whole day) and intervals are 15 minutes too. That gives me 96 possible meeting times = 96 channel and addresses codes (i use channels to light up boxes).
    I`m using the structure to store every meeting - standard information like StartDate, StartTime etc. BUT there are 2 special fields called StartQuarter and EndQuarter. Basically: StartQuarter for a meeting which starts at 00:00 equals to 1000
    StartQuarter for a meeting which starts at 00:15 equals to 1001 etc.
    Same goes for EndQuarter.
    And here is the loop which turns on boxes for specific meeting:
    		tempChannel = ReservationStatus[i].EndQuarter - ReservationStatus[i].StartQuarter
    		ON[dvTP1,ReservationStatus[i].StartQuarter] 
    		
    		for (l=1; l < tempChannel; l++)
    		{
    		    ON[dvtp1,ReservationStatus[i].StartQuarter + l] 
    		}
    
    Maybe this will help you.

    Thank you, I figured out a way to do the feedback shortly after posting this. Now I'm running into some trouble validating meetings based on availability.
Sign In or Register to comment.