AMX MACROMANAGER User Manual

instruction manual
i!-MacroManager
integration!Solutions
Software Limited Agreement
LIMITED WARRANTY
LIMITED WARRANTY. AMX Corporation warrants that the SOFTWARE will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt. Any implied warranties on the SOFTWARE and hardware are limited to ninety (90) days and one (1) year, respectively. Some states/countries do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.
CUSTOMER REMEDIES. AMX Corporation’s entire liability and your exclusive remedy shall be, at AMX Corporation's option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE that does not meet AMX Cor­poration's Limited Warranty and which is returned to AMX Corporation. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
NO OTHER WARRANTIES. not limited to implied warranties of merchantability and fitness for a particular purpose, with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal rights. You may have others which vary from state/country to state/country.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this AMX Corporation product, even if AMX Corporation has been advised of the possibility of such damages. Because some states/countries do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
U.S. GOVERNMENT RESTRICTED RIGHTS
The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Com­puter Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Soft­ware--Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is AMX Corporation, 3000 Research Drive, Richardson, TX 75082.
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Texas. Should you have any questions concerning this Agreement, or if you desire to contact AMX for any reason, please
write: AMX Corporation, 3000 Research Drive, Richardson, TX 75082.
AMX Corporation disclaims all other warranties, either expressed or implied, including, but
. In no event shall AMX Corporation be liable for any damages
Table of Contents
Table of Contents
Introduction ...............................................................................................................1
Macro and Schedule Persistence...................................................................................... 1
Programming i!-MacroManager ..............................................................................3
i!-MacroEngineMod ........................................................................................................... 3
i!-MacroEditorMod ............................................................................................................. 3
i!-MacroExecuteMod ......................................................................................................... 3
i!-MacroSchedulerEngineMod ........................................................................................... 3
i!-MacroSchedulerEditorMod............................................................................................. 4
Non i!-MacroManager Modules ......................................................................................... 4
KeyboardMod........................................................................................................................... 4
i!-TimeManagerMod ................................................................................................................. 4
Programming i!-MacroEngineMod..................................................................................... 4
Commands............................................................................................................................... 4
Strings ...................................................................................................................................... 5
i!-MacroEngineMod Module Definition ..................................................................................... 5
Parameters............................................................................................................................... 5
Touch Panel Pages.................................................................................................................. 5
Programming i!-MacroEditorMod ...................................................................................... 5
Commands............................................................................................................................... 5
Parameters............................................................................................................................... 6
Touch Panel Pages................................................................................................................ 10
Programming i!-MacroExecuteMod................................................................................. 11
i!-MacroExecuteMod Module Definition ................................................................................. 11
Parameters............................................................................................................................. 11
Touch Panel Pages................................................................................................................ 12
Programming i!-MacroSchedulerEngineMod .................................................................. 13
Channels ................................................................................................................................ 13
Levels..................................................................................................................................... 13
Commands............................................................................................................................. 13
Strings .................................................................................................................................... 15
i!-MacroSchedulerEngineMod Module Definition ................................................................... 16
Parameters............................................................................................................................. 16
Touch Panel Pages................................................................................................................ 16
Programming i!-MacroSchedulerEditorMod .................................................................... 16
Levels..................................................................................................................................... 16
Commands............................................................................................................................. 17
!-MacroManager
i
Table of Contents
i!-MacroSchedulerEditorMod Module Definition..................................................................... 17
Parameters............................................................................................................................. 18
Touch Panel Pages................................................................................................................ 23
ii
i!-MacroManager

Introduction

i!-MacroManager allows users to create custom macros from any NetLinx compatible touch panel
and execute them in real time without modification to the NetLinx program. i!-MacroManager is
composed of a series of modules that allow users to create, edit, delete, execute and schedule
macros from any NetLinx compatible touch panel.
i!-MacroManager creates macros from the actions available through i!-ConnectLinx. Each macro
can contain up to 50 actions. Each action can have an associated delay, set in 1/100-second
increments, to handle time delays required between actions. The user can configure a macro
execution button to execute any macro.
i!-MacroScheduler allows users to schedule NetLinx macros directly from any NetLinx compatible
touch panel. i!-MacroScheduler provides a user interface for creating up to 240 scheduled events to
run any available macro on a repeating or non-repeating basis. i!-MacroScheduler also provides a
scheduling engine that will trigger each event at the appropriate time and reschedule repeating
events.
i!-ConnectLinx provides the mechanism to expose actions to i!-MacroManager and to manage
action execution on the NetLinx system. Once i!-MacroManager builds a macro from the actions in
the i!-ConnectLinx action list, i!-MacroManager makes a request to i!-ConnectLinx to execute
those actions. i!-ConnectLinx handles this request and presents it to the NetLinx program for
execution.
Introduction

Macro and Schedule Persistence

i!-MacroManager stores macros on the NetLinx master's file system in macro files. These files are
located in the doc:\user\macros directory. You can use i!-MacroManager to create and delete
macros.
i!-MacroManager does not store macros in memory, only on the file systems. If a macro is
scheduled via i!-MacroScheduler and then the macro is deleted, the macro will fail to run since the
macro no longer exists on the file system. Deleting macros will not delete all references to the
macro, only the macro itself.
i!-MacroScheduler stores the schedule information in a file called MMSchedule.bin located in the
doc:\user\schedule directory. All event information will be stored in this file and recalled during
power up. Any event scheduled by the user is stored and will not be lost during a power cycle.
The scheduling engine will always attempt to read the MMSchedule.bin file on start up. If you are
loading a new program containing macro scheduling into an old master that used to have macro
scheduling, you should use FTP to browse the NetLinx master's file system and delete the old
schedule file. Otherwise, the old scheduling information will be automatically loaded.
NetLinx Master firmware (build 130 or greater) supports up to 199 macros.
!-MacroManager
1
Introduction
2
i!-MacroManager

Programming i!-MacroManager

i!-MacroManager is implemented as a series of NetLinx modules to simplify adding macro
functionality to your program. To add any of the i!-MacroManager modules to your program,
simply add the module definition and all it's parameters to your code and integrate the sample touch
panel pages for that module into your touch panel design.
One simple way of doing this is to save the i!-MacroManager test file as an include file that you can
include into your main program. Then you can make any needed modifications to your include file.
To integrate the touch panel pages, copy each page and popup page from the i!-MacroManager test
touch panel file and paste it into your design. After copying the popup pages to the new file, you
will need to create the necessary popup groups and group the popup properly. As an option you can
base your design on the i!-MacroManager test touch panel file. If the channel and variable text
codes for i!-MacroManager conflict with existing channel or variable text codes, you can move
i!-MacroManager to another device using Power Assign and editing the touch panel devices in the
include file.
In order to use i!-MacroManager, you will need to program and define a series of actions through
i!-ConnectLinx. The i!-ConnectLinxEngineMod module is included with i!-MacroManager and
some simple examples appear in the i!-MacroManager test file. For complete documentation on
i!-ConnectLinx, download the i!-ConnectLinx install from the AMX web site.
Programming i!-MacroManager
Once the i!-ConnectLinx programming has been established, choose which i!-MacroManager
features you want to include in your program and add the corresponding module code and pages.
The following list describes the i!-MacroManager modules:

i!-MacroEngineMod

This is the macro engine module. This module executes macros and must always be included for
any i!-MacroManager functions. This module requires the i!-ConnectLinxEngineMod module.

i!-MacroEditorMod

This is the macro editor module. This module creates, edits and deletes macros. This module must
be used to create macros but is not required to run the macros. Since this module creates macros,
you will likely include this module in your program. This module requires the
i!- ConnectLinxEngineMod, i!-MacroEngineMod and KeyboardMod modules.

i!-MacroExecuteMod

This is the macro execute module. This module allows the user to dynamically assign a macro to a
touch panel button and run the macro when the button is pressed. This is the most common method
of macro execution; therefore you will likely include this module in your program. This module
requires the i!-MacroEngineMod module.
!-MacroManager

i!-MacroSchedulerEngineMod

This is the macro scheduler engine module. This module allows the scheduling and scheduled
execution of macros. This module is only needed if you want to support the scheduling of macros.
This module requires the i!-MacroEngineMod module.
3
Programming i!-MacroManager

i!-MacroSchedulerEditorMod

This is the macro scheduler editor module. This module allows the user to create scheduled macros
from a touch panel. This module is only needed if you want to support the scheduling of macros
from a touch panel. If you want to support scheduled macros but the schedule is fixed or very
simple, you can configure the i!-MacroSchedulerEngineMod via SEND_COMMANDs and you do
not need to include this module. This module requires the
i!-MacroEngineMod, i!-MacroSchedulerEngineMod and KeyboardMod modules.

Non i!-MacroManager Modules

KeyboardMod

This is the keyboard module. This module is required by any module requiring
on-screen text entry of data. Both i!-MacroEditorMod and i!-MacroSchedulerEditorMod require
this module.

i!-TimeManagerMod

This is the i!-TimeManager module. This module manages the systems clock by synchronizing
with Internet timeservers. This module also provides sunrise and sunset information. If you are
including the i!-MacroSchedulerEngineMod module, you will want to include this module.
Without this module, i!-MacroScheduler cannot run schedules based on sunrise/sunset. Complete
documentation for i!-TimeManager can be downloaded from the AMX website.

Programming i!-MacroEngineMod

i!-MacroEngineMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.

Commands

i!-MacroEngineMod supports the following out-bound commands (master to device).
i!-MacroEngineMod - Commands
Command Description
'RUN-[MacroFile/MacroName]'
'KILL-[MacroFile/MacroName]'
'NOTIFY-[ON/OFF]'
'DEBUGON'
'DEBUGOF'
'VERSION'
Run a macro file.
Stop running a macro file if it is currently running.
Turn macro execution notification on or off. Default is off.
Turn on debug.
Turn off debug. (Default)
Send version information to master debug port (master messaging)
4
i!-MacroManager
Programming i!-MacroManager

Strings

i!-MacroEngineMod supports the following in-bound strings (device to master).
i!-MacroEngineMod - Strings
Command Description
'LOAD-[Slot],[MacroName]'
'KILL-[Slot],[MacroName]'
'STEP-[Slot],[Step#],[StepName]'
'UNLOAD-[Slot],[MacroName]'
Notification that macro MacroName was started in engine slot Slot (1-10).
Notification that macro MacroName was kill with a KILL command.
Notification that step Step# named StepName was executed in engine slot Slot (1-10).
Notification that macro MacroName was unload from engine slot Slot (1-10). Occurs when the macro is finished executing.

i!-MacroEngineMod Module Definition

DEFINE_MODULE 'i!-MacroEngineMod' mdlMMEng(vdvMacroEngine,vdvConnectLinx)
Where mdlMMEng is a unique module name.

Parameters

vdvMacroEngine
A virtual device for communicating to the macro engine.
vdvConnectLinx
An array of virtual devices for communicating to i!-ConnectLinx.

Touch Panel Pages

i!-MacroEngineMod does not require any touch panel pages.

Programming i!-MacroEditorMod

i!-MacroEditorMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.

Commands

i!-MacroEditorMod supports the following out-bound commands (master to device).
i!-MacroEditorMod - Commands
Command Description
'DEBUGON'
'DEBUGOF'
'VERSION'
Turn on debug.
Turn off debug. (Default)
Send version information to master debug port (master messaging)
!-MacroManager
5
Programming i!-MacroManager
i!-MacroEditorMod Module Definition
DEFINE_MODULE 'i!-MacroEditorMod' mdlMMEdt (vdvMacroEditor,
vdvMacroEngine,
vdvConnectLinx,
vdvKB,
dvKB,
dvTP,
nchMMMacroEdit,
nvtMMMacroEdit,
nchMMMacroList,
nvtMMMacroList,
nchMMMacroListCtrl,
nchMMStepEdit,
nvtMMStepEdit,
nchMMParameterEdit,
nvtMMParameterEdit,
nchMMEnumList,
nvtMMEnumList,
nchMMEnumListCtrl,
nvtMMDelayEdit,
nchMMStepList,
nvtMMStepList,
nchMMStepListCtrl,
nchCLActionListNavigate,
nchCLActionList,
nvtCLActionList,
nchCLActionListCtrl)
Where mdlMMEdt is a unique module name.

Parameters

vdvMacroEditor
A virtual device for communicating to the macro editor.
vdvMacroEngine
A virtual device for communicating to i!-MacroEngineMod.
vdvConnectLinx
An array of virtual devices for communicating to i!-ConnectLinx.
vdvKB
The virtual device of the KeyboardMod module for editing text.
dvKB
An array of touch panel base devices implementing i!-MacroEditorMod.
6
i!-MacroManager
dvTP
An array of touch panel devices implementing i!- MacroEditorMod.
nchMMMacroEdit
An
INTEGER array with the following buttons:
Add new macro
Edit macro
Delete confirm
Delete macro
Save macro
Rename macro
Test macro
nvtMMMacroEdit
An
INTEGER array with the following variable text channels:
Programming i!-MacroManager
Macro Name
nchMMMacroList
An
INTEGER array with the following buttons:
Macro Browser List Items 1-10
nvtMMMacroList
An
INTEGER array with the following variable text channels:
Macro Browser List Total Items
Macro Browser List Slider Level Code
Macro Browser List Items 1-10
nchMMMacroListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
!-MacroManager
Slider Channel Code
nchMMStepEdit
An
INTEGER array with the following buttons:
Add To Macro
Delete From Macro
7
Programming i!-MacroManager
nvtMMStepEdit
nchMMParameterEdit
Shift Up
Shift Down
Edit Delay
Edit Parameter
An
INTEGER array with the following variable text channels:
Action Name
Parameter Name
Edit Parameter
An
INTEGER array with the following buttons:
Level Parameter Increment
Level Parameter Decrement
Level Parameter Slider
Enumeration/Level Parameter Done
Enumeration /Level Parameter Abort
Previous Parameter
Next Parameter
nvtMMParameterEdit
An
INTEGER array with the following variable text channels:
String Parameter Value
Number Parameter Value
Level Parameter Slider Level
Level Parameter Value
Previous Parameter
Next Parameter
nchMMEnumList
An
INTEGER array with the following buttons:
Parameter Enumeration List Items 1-10
nvtMMEnumList
An
INTEGER array with the following variable text channels:
Parameter Enumeration List Total Items
Parameter Enumeration List Slider Level Code
8
i!-MacroManager
Parameter Enumeration List Items 1-10
nchMMEnumListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
nvtMMDelayEdit
An
INTEGER array with the following variable text channels:
Hour Field
Min Field
Sec Field
Programming i!-MacroManager
Sub-Sec Field
nchMMStepList
An
INTEGER array with the following buttons:
Macro Step List Item 1-10
nvtMMStepList
An
INTEGER array with the following variable text channels:
Macro Step List Total Items
Macro Step List Slider Level Code
Macro Name
Macro Step List Item Name 1
Macro Step List Item Delay 1
Macro Step List Item Name 2
Macro Step List Item Delay 2…
Macro Step List Item Name 10
Macro Step List Item Delay 10
!-MacroManager
nchMMStepListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
9
Programming i!-MacroManager
nchCLActionListNavigate
nchCLActionList
nvtCLActionList
End of List
Slider Channel Code
An
INTEGER array with the following buttons:
Back/Up
Home
Select System
An
INTEGER array with the following buttons:
i!-ConnectLinx Action List Items 1 - 8
INTEGER array with the following variable text channels:
An
i!-ConnectLinx Action List Total Items
i!-ConnectLinx Action List Slider Level Code
i!-ConnectLinx Action List Systems Name
i!-ConnectLinx Action List Folder Name
i!-ConnectLinx Action List Items Name 1
i!-ConnectLinx Action List Items Icon 1
i!-ConnectLinx Action List Items Name 2
i!-ConnectLinx Action List Items Icon 2…
i!-ConnectLinx Action List Items Name 8
i!-ConnectLinx Action List Items Icon 8
nchCLActionListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code
10

Touch Panel Pages

i!-MacroEditorMod requires the following touch panel pages:
mmManage
mmEdit
i!-MacroManager
mmParameterEnum
mmParameterLevel
mmConnectlinxActions
KBKeyboard
KBKeypad
KBEKeypad
i!-MacroEditorMod requires the following touch panel pop-up pages:
Popup Page Popup Group
mmParameterString KBClients
mmParameterNumber KBClients
mmMacroName KBClients
mmDelay KBClients
mmDeleteConfirm N/A
KBShift KBClients
Programming i!-MacroManager

Programming i!-MacroExecuteMod

i!-MacroExecuteMod does not appear on the NetLinx bus as a NetLinx device. There is no need for
communication to this module.
This module is designed to allow the programmer to provide the user with a series of buttons that
can have macros assigned to them. These buttons use a variable text code so the module can assign
the macro name to the text of the button. These buttons also use a channel code to trigger the
execution of the macro and to provide feedback if the macro is running. The programer can place
the macro buttons anywhere on the touch panel allowing the user to customize the macro buttons to
achieve the end-user goals without modifications to the NetLinx code.

i!-MacroExecuteMod Module Definition

DEFINE_MODULE 'i!-MacroExecuteMod' mdlMMExe (vdvMacroEngine,
dvTP,
nchMMExeMacroExecute,
nvtMMExeMacroExecute,
nchMMExeMacroEdit,
nchMMExeMacroList,
nvtMMExeMacroList,
nchMMExeMacroListCtrl)
!-MacroManager
Where mdlMMExe is a unique module name.

Parameters

vdvMacroEngine
A virtual device for communicating to the macro engine.
11
Programming i!-MacroManager
dvTP
nchMMExeMacroExecute
nvtMMExeMacroExecute
nchMMExeMacroEdit
nchMMExeMacroList
An array of touch panel devices implementing i!-MacroExecuteMod.
An
INTEGER array with the following buttons:
Macro Execute buttons 1-10
An
INTEGER array with the following variable text channels:
Macro Execute buttons 1-10
An
INTEGER array with the following buttons:
Add New Macro
Save Macro Name To Preset
Clear Macro Name From Preset
An
INTEGER array with the following buttons:
Macro Browser List Items 1-10
nvtMMExeMacroList
An
INTEGER array with the following variable text channels:
Macro Browser List Total Items
Macro Browser List Slider Level Code
Macro Browser List Items 1-10
nchMMExeMacroListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code

Touch Panel Pages

12
i!-MacroExecuteMod requires the following touch panel page:
mmExecute
i!-MacroManager
Programming i!-MacroManager
i!-MacroExecuteMod requires the following touch panel pop-up page:
Popup Page Popup Group
mmMacroBrowse N/A

Programming i!-MacroSchedulerEngineMod

i!-MacroSchedulerEngineMod appears on the NetLinx bus as a NetLinx device. This device has 1
port with channels, levels, commands and strings like most other devices.

Channels

i!-MacroSchedulerEngineMod supports the following channels:
Channel Description
250 Enable debugging

Levels

i!-MacroSchedulerEngineMod supports the following levels:
Channel Description
1-8 Unused
9 Total Event Slots
10 Available Slots
11 Next free Event index
12 Unused
13 Next Event to start
14 Next Event to stop
15 Total Events today
16 Events completed today
17 Number of current events
18 Events left today
!-MacroManager

Commands

i!-MacroSchedulerEngineMod supports the following out-bound commands (master to device):
i!-MacroSchedulerEngineMod - Commands
Command Description
'SET EVENT-[Event Number], [Event Name],[Date String], [Start Time String], [End Time String]'
'GET EVENT-[Event Number]'
'SET NAME-[Event Number], [Event Name]'
'GET NAME-[Event Number]'
'SET STIME-[Event Number], [Time String]'
Set the name, date, start and end time of an event. All parameters are optional.
Get the name, date, start and end time, next start and end data and time for event.
Set the name of an event. If name is an empty string, event will be deleted.
Get the name of an event.
Set start time for event number. If time string is empty, the event is set for "No Start Time" (i.e. not scheduled)
13
Programming i!-MacroManager
i!-MacroSchedulerEngineMod - Commands (Cont.)
'GET STIME-[Event Number]'
'SET ETIME-[Event Number], [Time String]'
'GET ETIME-[Event Number]'
'SET DATE-[Event Number], [Date String]'
'GET DATE-[Event Number]'
'SET SMACRO-[Event Number], [Start Macro]'
'GET SMACRO-[Event Number]'
'SET EMACRO-[Event Number], [End Macro]'
'GET EMACRO-[Event Number]'
‘GET SNEXT-[Event Number]'
'GET ENEXT-[Event Number]'
'GET ELIST-[Start],[Count]'
'GET NLIST-[Start],[Count]'
'GET PLIST-[Start],[Count]'
'GET CLIST-[Start],[Count]'
'GET FLIST-[Start],[Count]'
'GET EVENT LISTS'
'RUN-[Event Number]'
'CANCEL-[Event Number]'
'DFORMAT-DAY/MONTH'
'DFORMAT-MONTH/DAY'
'TFORMAT-12 HOUR'
'TFORMAT-24 HOUR
'FBON'
'DEBUGON'
'DEBUGOF'
'RESET'
'VERSION'
Where:
[Event Name]
Get start time for event number.
Set end time for event number. If time string is empty, the event is set for one-shot (non-time spanning) event.
Get end time for event number.
Get date for event number. If time string is empty, the event is set for "No Date" (i.e. not scheduled)
Get date string for event number.
Set start macro for event number.
Get start macro for event number.
Set end macro for event number.
Get end macro for event number.
Gets next start Date and Time for event number.
Gets next end Date and Time for event number.
Get list of events from Start through Start+Count ordered by name.
Get list of events from Start through Start+Count ordered by number.
Get list of today's past events from Start through Start+Count ordered by time.
Get list of today's current events from Start through Start+Count ordered by time.
Get list of today's future events from Start through Start+Count ordered by time.
Return past, current/active and future event lists.
Run event number and re-schedule the event (if it can be rescheduled).
Cancel event from running today and re-schedule the event (if it can be rescheduled)
Set Date format European format: Day/Month/Year
Set Date format US format: Month/Day/Year
Set Time format to 12 hour format: [01-12]:[00-59] [AM,PM]
Set Time format to 24 hour (military) format: [00-23]:[00-59]
Turn on unsolicited feedback. As today's event lists change, they will be sent (see string section below).
Turn on debug.
Turn off debug. (Default)
Reset the schedule engine to re-schedule all events and re-build the event list for today.
Send version information to master debug port (master messaging)
Any ASCII Readable string of characters
14
i!-MacroManager
i!-MacroSchedulerEngineMod - Commands (Cont.)
[Time String]
[Date String]
[Start]
[Count]
[Start Macro]
[End Macro]
Any time or time from Astronomical event in 24 hour time where Astronomical event is 'Sunrise" or "Sunset" and offset can be '-' or '+' and time is 'HH:MM'.
Examples: '01:00', 'Sunset', 'Sunrise', 'Sunrise+00:30', 'Sunrise-01:00', 'Sunset-00:30', 'Sunset+00:25'
Any fixed date in "MM/DD/YYYY" format
Daily: "[WD,WE] [xMultiplier]
"Weekly: "[SMTWTFS] or [-------] [xMultiplier]
"Monthly: "[Day 1-31] [xMultiplier]
"Monthly: "[First,Second,Third,Fourth,Last] [Sun,Mon,Tue,Wed,Thu,Fri,Sat] [xMultiplier]
" Yearly: "[Jan,Feb,Mar,.Apr,May,Jun,Jul,Aug, Sep,Oct,Nov,Dec] [Day 1-31]
"Yearly: "[First,Second,Third,Foruth,Last] [Sun,Mon,Tue,Wed,Thu,Fri,Sat][Jan,Feb,Mar,.Apr,May,Jun, Jul,Aug,Sep,Oct,Nov,Dec]"
1 - 240
1 - 240
Any valid macro file
Any valid macro file
Programming i!-MacroManager

Strings

i!-MacroSchedulerEngine supports the following in-bound strings (device to master):
Command Description
"'PAST-',[Binary Event List String]"
"'CURRENT-',[Binary Event List String]"
"'FUTURE-',[Binary Event List String]"
'CANCEL-[Event Number],[Name],[STime],[SDate],[Time], [Date]'
'END-[Event Number],[Name],[STime],[SDate],[Time], [Date]'
'RUN-[Event Number],[Name],[STime],[SDate],[Time], [Date]'
'NAME-[Event Number],[Event Name]'
'SMACRO-[Event Number],[MacroFile]'
'EMACRO-[Event Number],[MacroFile]'
'STIME[Event Number],[Time String]'
'ETIME[Event Number],[Time String]'
'DATE[Event Number],[Date String]'
'SNEXT-[Event Number],[Date],[Time]'
'ENEXT-[Event Number],[Date],[Time]'
List of past event indexes
List of current/active event indexes
List of future event indexes
Notification that an event was cancelled by the CANCEL- command.
Notification that an event ended normally.
Notification that a scheduled event started.
Event Name for event Event Number
Start Macro for event Event Number.
End Macro for event Event Number.
Start Time String for event Event Number
End Time String for event Event Number
Date String for event Event Number
Next start Date and Time for event Event Number.
Next end Date and Time for event Event Number.
!-MacroManager
15
Programming i!-MacroManager

i!-MacroSchedulerEngineMod Module Definition

DEFINE_MODULE 'i!-MacroSchedulerEngineMod' mdlSchEng (vdvSchEngine,
Where mdlSchEng is a unique module name.

Parameters

vdvSchEngine
vdvMacroEngine
vdvTmEvents

Touch Panel Pages

vdvMacroEngine,
vdvTmEvents)
A virtual device for communicating to the macro scheduling engine.
A virtual device for communicating to i!-MacroEngineMod for running macros.
The virtual device of the i!-TimeManager module for sunrise and sunset information.
i!-MacroEngineMod does not require any touch panel pages.

Programming i!-MacroSchedulerEditorMod

i!-MacroSchedulerEditorMod appears on the NetLinx bus as a NetLinx device. This device has 1
port with channels, levels, commands and strings like most other devices.

Levels

i!-MacroSchedulerEditorMod supports the following levels:
Channel Description
12 Current Event selected
16
i!-MacroManager
Programming i!-MacroManager

Commands

i!-MacroSchedulerEditorMod - Commands
Command Description
'DFORMAT-DAY/MONTH'
'DFORMAT-MONTH/DAY'
'TFORMAT-12 HOUR'
'TFORMAT-24 HOUR
'DEBUGON'
'DEBUGOF'
'VERSION'
Set Date format European format: Day/Month/Year
Set Date format US format: Month/Day/Year
Set Time format to 12 hour format:
[01-12]:[00-59] [AM,PM]
Set Time format to 24 hour (military) format:
[00-23]:[00-59]
Turn on debug.
Turn off debug. (Default)
Send version information to master debug port (master messaging)

i!-MacroSchedulerEditorMod Module Definition

DEFINE_MODULE 'i!-MacroSchedulerEditorMod' mdlSchEdt (vdvSchEditor,
vdvSchEngine, vdvTmEvents, vdvMacroEditor, vdvKB, dvKB, dvTPSch, nchSchEventList, nvtSchEventList, nchSchEventListCtrl, nvtSchEventInfo, nchSchEngineList, nvtSchEngineList, nchSchEngineListCtrl, nvtSchEngineInfo, nchSchEngineListMode, nvtSchEngineListSel, nchSchEngineEdit, nvtSchEngineStats, nchSchEventEdit, nvtSchEventEdit, nchSchSaveOpt, nchSchTimeSelect, nvtSchTimeSelect, nchSchDateSelect, nvtSchDateSelect, nchSchDateOpt, nchSchDetailSelect, nvtSchDetailSelect, nchSchMacroList, nvtSchMacroList, nchSchMacroListCtrl)
!-MacroManager
17
Programming i!-MacroManager

Parameters

vdvSchEditor
vdvSchEngine
vdvTmEvents
vdvMacroEditor
vdvKB
dvKB
A virtual device for communicating to the macro scheduling editor.
The virtual device of the i!-MacroSchedulerEngineMod module for editing scheduled
macros.
The virtual device of the i!-TimeManager module for sunrise and sunset information.
The virtual device of the i!-MacroEditorMod module for creating new macros.
The virtual device of the Keyboard module for editing text.
An array of touch panel base devices implementing i!-MacroScheduler.
dvTPSch
An array of touch panel devices implementing i!-MacroScheduler.
nchSchEventList
An
INTEGER array with the following buttons:
Main Event List Items 1-6
nvtSchEventList
An
INTEGER array with the following variable text channels:
Main Event List Total Items
Main Event List Slider Level Code
Main Event List Items 1-6
nchSchEventListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
18
End of List
Slider Channel Code
nvtSchEventInfo
An
INTEGER array with the following variable text channels:
Scheduled For Date
i!-MacroManager
Scheduled For time
Runs Next at
Name
Unused
nchSchEngineList
An
INTEGER array with the following buttons:
Today's Event List Items 1-6
nvtSchEngineList
An
INTEGER array with the following variable text channels:
Today's Event List Total Items
Today's Event List Slider Level Code
Today's Event List Items 1-6
nchSchEngineListCtrl
An
INTEGER array with the following buttons:
Programming i!-MacroManager
Page Up
Page Down
Top of List
End of List
Slider Channel Code
nvtSchEngineInfo
An
INTEGER array with the following variable text channels:
Scheduled For Date
Scheduled For time
Runs Next at
nchSchEngineListMode
An
INTEGER array with the following buttons:
Past Events
Current Events
Future Events
!-MacroManager
nvtSchEngineListSel
An
INTEGER array with the following variable text channels:
Number of Past Events
Number of Current Events
19
Programming i!-MacroManager
nchSchEngineEdit
nvtSchEngineStats
nchSchEventEdit
Number of Future Events
An
INTEGER array with the following buttons:
Run Event
Cancel Event
An
INTEGER array with the following variable text channels:
Date
Time
Sunrise Time
Sunset Time
An
INTEGER array with the following buttons:
Edit Event
New Event
Delete Confirm
Delete Event
nvtSchEventEdit
An
INTEGER array with the following variable text channels:
New Name
Delete Confirm
nchSchSaveOpt
INTEGER array with the following buttons:
An
Save Edit
Cancel Edit
Rename
Unused
Clear Event
Edit Start Macro
20
Edit End Macro
Select Macro
Clear Macro
i!-MacroManager
nchSchTimeSelect
An INTEGER array with the following buttons:
Start time - Fixed
Start Time - Sunrise
Start time - Sunset
Start Time - Before Sunrise
Start time - Before Sunset
Start Time - After Sunrise
Start time - After Sunset
Start Time - Hour
Start time - Minute
Start Time - AM/PM
End time - None
Programming i!-MacroManager
End time - Fixed
End time - Sunrise
End time - Sunset
End time - Before Sunrise
End time - Before Sunset
End time - After Sunrise
End time - After Sunset
End time - Hour
End time - Minute
End time - AM/PM
End time - Sunrise
Hours Done/Minutes Done
nvtSchTimeSelect
INTEGER array with the following variable text channels:
An
Start time - Hours
!-MacroManager
Start Time - Minutes
Start Time - AM/PM
Start Time - Label
End Time - Hours
End Time - Minutes
21
Programming i!-MacroManager
nchSchDateSelect
nvtSchDateSelect
End Time - AM/PM
End time- Label
Adjustable Minutes
Trap for Sunrise/Sunset functions
An
INTEGER array with the following buttons:
Date - Fixed
Date - Daily
Date - Weekly
Date - Monthly
Date - Yearly
An
INTEGER array with the following variable text channels:
Daily Repeat
Weekly Repeat
Monthly Repeat
Monthly/Yearly Date of Month
Monthly/Yearly Day Occurrence
Monthly/Yearly Day of Month
Yearly Month
Fixed Date - Month
Fixed Date - Day
Fixed Date - Year
Year 0
Year 1
Year 2
Year 3
Year 4
22
Description Schedule For Date
Description Schedule For time
Start Macro Name
End Macro Name
i!-MacroManager
nchSchDateOpt
An
INTEGER array with the following buttons:
Pool of Channel codes for Date editing options (9 channel codes, see touch panel
pages)
nchSchDetailSelect
An
INTEGER array with the following buttons:
Pool of Channel codes for editing Date and Time parameters (37 channel codes, see
touch panel pages)
nvtSchDetailSelect
An
INTEGER array with the following variable text channels:
Pool of variable text channels codes for editing Date and Time parameters (37
channel codes, see touch panel pages)
nchSchMacroList
An
INTEGER array with the following buttons:
Macro Browser List Items 1-10
Programming i!-MacroManager
nvtSchMacroList
INTEGER array with the following variable text channels:
An
Macro Browser List Total Items
Macro Browser List Slider Level Code
Macro Browser List Items 1-10
nchSchMacroListCtrl
An
INTEGER array with the following buttons:
Page Up
Page Down
Top of List
End of List
Slider Channel Code

Touch Panel Pages

i!-MacroSchedulerEditorMod requires the following touch panel pages:
SchEventList
!-MacroManager
SchEngineView
SchSchedule
KBKeyboard
23
Programming i!-MacroManager
i!-MacroSchedulerEditorMod requires the following touch panel pop-up pages:
Popup Page Popup Group
SchDaily SchDate
SchWeekly SchDate
SchMonthly SchDate
SchYearly SchDate
SchDateUS SchDate
SchDateUK SchDate
SchHourAMPM SchSelect
SchHourMilitary SchSelect
SchMinute SchSelect
SchDay SchSelect
SchMonth SchSelect
SchYear SchSelect
SchDateOccur SchSelect
SchDayOfWeek SchSelect
SchDescription SchSelect
SchRepeat SchSelect
SchEventName KBClients
SchMacroName KBClients
SchDeleteEvent N/A
SchMacroBrowse N/A
KBShift KBClients
24
i!-MacroManager
Programming i!-MacroManager
!-MacroManager
25
AMX reserves the right to alter specifications without notice at any time.
DALLAS, TEXAS • LOS ANGELES, CALIFORNIA • MEXICO CITY, MEXICO • ONTARIO, CANADA • PHILADELPHIA, PE NNSYLVANIA • SHANGHAI, CHINA • SINGAPORE • TAMPA, FLORIDA • WESTERLO, BELGIUM • YORK, ENGLAND
3000 RESEARCH DRIVE, RICHARDSON, TX 75082 USA • 800.222.0193 • 469.624.8000 • 469-624-7153 fax • 800.932.6993 technical s upport • www.amx.com
2005 AMX Corporation. All rights reserved. AMX, the AMX logo, the building icon, the home icon, and the light bulb icon are all trademarks of AMX Corporation.
©
033-004-2697 01/05
AMX reserves the right to alter specifications without notice at any time. *In Canada doing business as Panja Inc.
Loading...