¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

Re: Newbie Simpl+ Question


 

Hi Chris,

I have been using a simpl+ macro for some time that is doing
something like that.

My inputs are
Touchpanel in use
Room in use
Menu in use
Direct selection of a voice
Max Pages for each menu(array)

outputs are
array of menus containing page selected for each menu
with an analog equate you feedback pages so that each zone has its
own menu Functions: light,av etc,
av equip: sky, dvd
av out: plasma vp (for each room)

I use one macro per touchpanel. I could actually use the single macro
for the whole project... but i prefer splitting things up

the framework in simpl uses crosspoints to handle matrix, devices,
etc everything that is global for zones and devices

raf


--- In Crestron@..., "scates98" <ccates98@...> wrote:

Hey Chip,

Thanks for your reply! I spent about a day or two trying to figure
out how I could program this in SIMPL+ and eventually gave up
because
I couldn't figure out how to do it. I went back to SIMPL Windows
and
continued writing the module. When I look at the code I've written
in
SIMPL Windows it just looks like a lot of code and when I see my
code
go that way I start thinking I've made things too complicated. My
paranoia starts going because I think signals won't be resolved in
logic waves and then things won't work exactly as they should. I've
done all I can to keep the code down to it's minimum so things will
work efficiently.

Since the menu is going to be generated by a TPS-GA-TPI (touchpanel
interface for standard display devices) there will be no touch input
to navigate the menu. The only device to interface with the menu
being displayed will be an ML-600 remote. When the user presses
Menu
on the ML-600, I want the Menu to toggle on/off. They will then
have
to use the direction pad to navigate the on-screen menu. I've
broken
this down into two components, Menu Selection and Menu Control which
is selected by the left/right dirpad buttons. When in Menu
Selection
mode the user is choosing from the list of rooms, sources, lights,
shades, etc. when the user is in Menu Control mode the user is
selecting options from the current Menu Selection. Example, when
the
user selected rooms from the Menu Selection they immediately switch
to
Menu Control mode and start choosing a floor followed by a room.
The
inputs are fairly simple dirpad signals and such to control
navigation. Output signals are to switch between pages and subpages
for menu navigation. Example: pressing the Enter button on the
dirpad
when selecting Rooms from the Menu Selection list will switch the
TPS-GA-TPI to display the room selection page and force the Floor
Selection subpage high. After using the up/down dirpad buttons the
user will select a floor and press the dirpad enter button again to
choose a floor which will display the room list for that floor.

This is why I was thinking of using an array. In SIMPL Windows I
control this using a Ring Counter with Seed so I can send an analog
value to the Ring counter to turn all outputs off or force one on.
This in conjunction with interlocks help to enable the correct
buffer
for navigational control. If I knew how to create a buffer in
SIMPL+
I might have enough to make the module work. However, I keep
thinking
I'm reinventing the wheel if all I'm doing is making the same
signals
in SIMPL+ that I've already written in SIMPL Windows.

I hope this answers your question. I appreciate your input and
perhaps you're right. Maybe I should keep this in SIMPL Windows. At
least I'll know how to troubleshoot it! lol

Thanks,

- Chris


--- In Crestron@..., "Chip Moody" <cfm@> wrote:


I'm certainly not going to steer you away from diving into S+,
but
I'm going to question whether what you're trying to accomplish in
this
case is better off left in SIMPL. Based on what you've
described, it
doesn't sound like you're going to be pushing the limits on the
processor by any means - even if you had 16 instances of
the "block"
of code AND had 16 people pounding buttons in each zone at the
same
time. (16 instances of a block of code with a zillion signals
where
only one instance is going to be used by the client at any one
time is
pretty much a non-issue)

If you want to neaten things up a bit, get the block to a point
where you think it's got all the goezintas and goezouttas you
need,
and turn it into a SIMPL module. Then you can just drop 16
instances
of the completed module into your program. No, it doesn't make
any
difference on processing - it'll just make your main program's
code
easier to read through and maintain.

If you're still interested in making an S+ version for
self-educational purposes at the very least, could you describe
the
signals going in/out a bit more? I wasn't able to get a clear
enough
picture to advise/suggest S+ approaches.

- Chip


--- In Crestron@..., "scates98" <ccates98@> wrote:

Hi all,

Sorry for the long post, but I like to give a lot of details to
help
people understand what I'm trying to do. I'm an experienced
SIMPL
Windows programmer but SIMPL+ is still pretty new to me. I'm
trying
to find a way to program a custom menu subsystem for my client
and was
hoping someone could help me in building this in SIMPL+.

The client will be using an ML-600 and he's only going to be
using
some basic inputs like: dirpad up/down/left/right/enter and page
up/down on the remote to navigate an on-screen display
generated by a
TPS-GA-TPI. He wants to have the ability to control any zone
in the
house. So I've created a GUI so he can select room control,
source
control, lighting control, climate control, shade control and
security
control.

In SIMPL Windows I am using a series of buffers and interlocks
to
control when the dirpad up/down/left...etc. signals are in use
for a
particular menu. I am also using a series of Ring Counter with
Seed
symbols to allow him to navigate the on-screen menu using only
the
dirpad on the ML-600. Example: the user selects "Choose Room"
from
the primary menu, then uses the ring counter to scroll through
the
floors, another ring counter controls the scrolling through
rooms for
the selected floor.

As I'm building this project, I am noticing that my menu
system, built
in SIMPL Windows, is creating a lot of signals and I'm
concerned with
how well it will function after I've duplicated it for all
zones which
require it (at least 16 zones). I know that if I were to build
this
in SIMPL+ it would be much more efficient and easier to copy,
but I am
confused on how I could write it as I'm not experienced in
SIMPL+. I
thought of using an array to create a table where the first row
would
contain values for the primary menu (rooms, sources, lights,
etc.).
Then each column would contain values for each of the primary
menu
items (ex: 1=first floor, 2=main floor, 3=upper floor, etc.).
However
I do not understand how to buffer the dirpad up/down commands to
control the scrolling through the list. I keep thinking about
using
an IF statement but then I'm writing a large amount of nested IF
statements to control when the up/down command is enabled for a
specific menu. Perhaps using a long SWITCH/CASE statement would
work?

Any help you can provide would be greatly appreciated as I know
I need
to get my head into SIMPL+ programming to become a better
programmer.
Please try not to get too technical with your replies as I'm
still
new to programming this way and can get lost quickly.

Thanks In Advance For All Your Help,

- Scates

P.S. I've read the SIMPL+ programming help PDF and it's helped
me to
get this far. I really need to take some sort of programming
class to
better learn this.

Join [email protected] to automatically receive all group messages.