Driving forward

Over the last 12 months the global pandemic has given us the opportunity to develop plans on new parts of our business. Modules have always been a part of our business as our work in Crestron Custom means we often have to create modules for use in our own projects.

At the same time Crestron’s long term project to move to a standardized platform for driver development has come of age with the release of the v4 SDK. Lighting Control have been involved as a close development partner on both the SDK and Crestron Home (one of the supported operating environments).

The aim of the standardized model is that drivers will be compatible across the range of Crestron systems including Crestron Home, AV Framework , DM and NVX Endpoints and in the cloud as part of Crestron XiO Cloud.

Taking an active part in the pilot program for both the drivers SDK and Crestron Home has been a satisfying project as we have been able to contribute our piece to the progress of the ecosystem both in documentation, systems , processes and flushing out features.

Our project, to setup and launch our Drivers store for Crestron Home, has been a long term investment in the systems, processes and talent we require to be a serious b2b partner across the ecosystem in the years to come.

We had working drivers back in November of 2019 but I realized that we didn’t have all of the processes and tools in place to maintain, support and be agile in our approach to new requirements at scale.

We are excited to have Neil and the team at Lighting Control working on Crestron Drivers. We hope that their enthusiasm and investment in the program will prove beneficial to all Crestron partners going forward.

Ara Seferian | Sr. Product Manager , Digital workplace Crestron Electronics Inc

Build

  • Implemented an Automated Build process for our Drivers
  • Common Functionality coded using best practices
  • Base Types allowing consistency of user experience and easier testability
  • Code Driven User interface
  • Automated Documentation Build
  • Build Updates production Downloads directly meaning updates are immediately available

Testing

  • Unit Testing of helper methods and hardware interfaces.
  • Implemented Integration Testing using dedicated hardware.
  • Implemented Internal Compliance Testing of Crestron Home Driver Packages.

Process

  • Server move of our existing website and upgrades to back end systems
  • Addition of webstore and integration of our existing support systems
  • Addition of new Internal and External Knowledge base systems
  • Creation of a Library of “how to” guides, both video and print
  • Creation of a bespoke licensing system with self-serve functionality

Looking forward

So with this base in place we are now well positioned to offer continued additional items to our Crestron Home catalogue and we are already working with manufacturers who want a partner in this field to assist them with integration with this or other platforms. With exciting new developments looming in the other Crestron platforms in the coming months we look forward to developing partnerships in this area.

Covid

Times are not normal just now and I never expected to be writing a blog post about what my business is not doing!

Practical day to day and what the business is doing!

With restrictions on movement, and due to the nature of most of our works being Lighting Control, we are currently operating a very restricted service.

All of our on-site works for non-essential sites/projects have stopped although we continue to provide some remote support to customers.

We have a small number of projects in the development phase which the relevant team-members continue to work on from home.

The AV industry and Software industry more widely

The AV industry, as part of the larger communication sector, is classed as an essential sector and we have seen in the mainstream media examples of AV at work as part of the Covid crisis response. Supporting the daily briefings, projects to add virtual support to government committees and indeed the main parliament chambers in Westminster and Holyrood and projects helping healthcare professionals collaborate with their peers and offer their services remotely to patients.

SPOR AV Working hard for the NHS

In the software industry there are many impressive projects being undertaken at the moment from amateur data presentation and analysis of the Covid data (https://www.travellingtabby.com/scotland-coronavirus-tracker/)

The Scottish CoronaVirus Tracker.

to the efforts of the software businesses supporting the HMRC with the Furlough scheme.

Made Tech supporting this huge project to register businesses for the employee support scheme.

I’m equally proud of the work of our sector in taking the responsible and difficult decisions to do nothing and stepping up to deliver when required.

Stay Well, Stay Safe!

The Design Black Hole

In the AV industry consultants, designers and integrators have always struggled with defining the functionality of systems.

I’m not talking about the process of gathering the requirement here but of documenting it.

We produce, mostly, great schematics which define the boundaries of the possible based on the hardware. The idea of these drawings containing black boxes which are highly configurable is not new.

Black boxes, by my definition, differ from other hardware items on a system drawing as although they may have a static number of input and output ports their core functionality is open to a high level of configuration.

A display has, potentially, a few functions. It’s a video switcher, a display, an amplifier with onboard speakers, it even has some control features including auto switching of the video switch and volume control of the amplified sound level.

Take for example a display with a single connected HDMI and RS232.

Display Schematic

It’s reasonable to glean from a schematic alone that the functionality of this piece of hardware in this system is to display a video stream of the connected source and that power and input control will be using the RS232 port.

Contrast this with a control processor pre-Ethernet.

A control system processor does stuff.

Take a simple system with a two-button keypad and a display.

A Schematic showing a control system a content player and a display accurately describes the system. On functionality we can make some assumptions but without some additional information they are just that.

It is possible that:
Button 1 turns system on and Button 2 turns system off.

However, it is also possible that:
System turns on and off based on an internal timeclock and Button 1 raises volume and button 2 lowers volume.

To discover the actual requirement we need a functional scope which has hopefully been produced by some good needs analysis that informed the system design.

Control systems in the form of processors and touch panels with IO allowing control over 3rd party devices have been around since the 80’s and the discussion over how to specify their operation has produced little in the way of standards.

Infocomm, pre Avixa did some good work on this but this is not widely adopted across the industry. Crestron’s CAIP scheme and subsequently CSP (Crestron service providers) has, at its core, the requirement for programmers to produce a functional specification but even this is not standardised across the body of CSP’s.

DSP’s are common place in mid to large systems. Again these are of course by our definition black boxes.

But like traditional non Ethernet connected control systems DSP’s pre Dante and Digital had fixed number of inputs and outputs. Even post Digital standard such as OBAM proprietary hardware such as IO extenders also included on the schematic would ultimately define the inputs and outputs of the system.

The Functionality of the processing going on in that DSP must be defined just like a control system. The language of this definition is often tied in with the control system which provides control IO to this audio processing however audio processing has a language of it’s own. These boxes provide room and system specific equalisation, gain structure, Acoustic Echo Cancelling along with VOIP functionality.

Often the DSP tools are graphical in their nature providing a schematic like trail which defines that dynamic functionality of the DSP. In our system functionality specifications we define all interactions between control system and the audio processor.

The new world  “Not just black boxes but hidden lines.

Dante Spoken Here

Although the change has been coming over the years for me the, “Dante Spoken Here”, sign at the ISE Show in 2018 all over the show were the sign that Audio over IP was now wide spread.

Now Schematics don’t just contain black boxes but hidden lines! The traditional skill of tracing a signal path through a schematic from input to output becomes a whole new skill.

A single LAN connection to a device can be obfuscating control, video and audio in that single cable and potentially multiple routes to disparate locations.

One approach to this by engineers is to view the IO potential in a traditional way and connect it all up like a patch panel. I have found systems where all 64 Dante channels are connected from DSP to Audio Desk for “future use” but for me this misses the point.

It’s the same misunderstanding as coding an object oriented code in a single file monolith.

In the world of Dante in addition to the Schematic which shows the physical connections between devices documentation showing the network routes must be created intelligently based on the functional requirements of the system.

These routes need to be well named for system maintainability and usability.

Having Multiple Dante 1, Dante 2 ,Dante 3 around a system dont mean anything. These should have a Name or Numbering convention just like cables.         

These concepts of defining the routes apply to other types of audio over digital such as USB IO.

Dante I/O How many In’s and Out’s?

Add to this video over IP in whatever flavour is being used or in some cases a mix of different types.

Listing video encoders and video decoders on a drawing doesn’t tell you what routing possibilities you might need to setup. Some devices in the market can be configured to be Decoders and Encoders but the Fixed IO on the device doesn’t always inform you on this without some further information.

Are devices to be matrixed or is the system designed as a one to many DA?

Are you using audio breakaway on the encoders / decoders?

And in a final twist some of these products also in addition to all of the above speak Dante so need to be included in your Dante routes.

These challenges are real for us in our day to day business where provided with schematics for a project we need to suck out the functional intent from the pre-sales design engineers and the project engineers.

We often work with the designers explaining to them the additional documentation we need to produce to clarify to the programmers and commissioning engineers what they need to implement.

  • Virtual Matrix Drawings
  • VLAN Network Design Drawings
  • Dante Routing Naming Schedules
  • GUI Functional Requirements
  • Automation Functional Requirements
  • Audio System Functional Requirements

If you need help with filling in the gaps reach out to us to help!

Image Credit : Julian Böck

Design Assist

I’m really looking forward to Crestron Masters in Madrid next week. The very fact that this event now has a Keynote speaker reflects the change in this event over the years I have attended.

At my first masters there was no Keynote speaker but a Crestron Staffer filled the space very well, masters were altogether smaller affairs in those days.

I followed on twitter from afar Masters 2019 in the US and picked up that Danny Forster and Architect and TV personality was chosen as the 2019 Keynote. I guess for guys in the UK Danny is the equivalent of a mix of Richard Rogers and Kevin McCloud.

I don’t know if we have a seperate keynote speaker next week in Madrid ( will update later!) or if we will be seeing Danny’s full keynote.

I had a glimpse of some of his key points but have not heard the full keynote.

Two items stuck with me which I think are really interesting. The first is what audio visual companies call themselves. The term in Integrator has become the go to title for the industry with the term Dealer.

Leading audio visual companies in the UK all use this terminology although I find myself having to regularly explain “What is an Integrator” to end users and design professionals.

I have always found the term dealer to be very accurate for some smaller companies as it sometimes it accurately describes the process of selling boxes without understanding the aspect of integration which is key to our industry. I think it is for this very reason that companies moved to the word Integrator i guess meaning an organisation who has expertise in integrating audio visual equipment. Before Dealers we had a lot of companies with Consultants in their business name or description Consultants in the industry! These business like my own usually offered a chargeable design service as part of their business model but more often than not any design work was an internal process supporting the Sales or delivery of projects.

Of Course we still have consultants in the Industry but the term has changed to describe companies who provide consultancy as their sole or primary service. Many IT and building service consultancies have opened dedicated AV departments and of course some dedicated Audio visual consultants exist within the industry.

I wonder what the marketing guys will come up with next in the year that has seen Infocomm become Avixa.

Maybe we will all become storytellers , or experience engineers!

I think that with the convergence of IT , Collaboration and AV we need to get better at explaining what we do!

The other thing that I found interesting in was the mention of Design Assist. Both in the Lighting Industry and in the Audio visual industry it’s a conversation I have had with many other design professionals throughout the years. The conversations about needing help far outnumber the number of times that we are engaged at an early stage to assist with design.

The video posted via the CI website talks around the early involvement of integrators in the design process.

I offer design as one of my four core services, as an engineer I sell professional services to others in the Audio Visual and Electrical Services industries. My clients are mainly integrators but we do have some relationships with end users and with design professionals who engage us to provide technical expertise to a project.

I have seen over the years so many times the problem when a company brings it’s sales focus early into the design stage of a project. Conversations become about boxes rather than function. Early designs become fixed in architecture meaning only one solution will fit when th project goes to tender later.

It seems to me CSP’s are very well placed to serve Danny’s need for design assist or sometimes know as early contractor involvement.

However if architects or indeed consultants in the industry don’t have this expertise in-house then they need to engage contractually with the experts they need, there is no such thing as a free lunch and free design funded by the promise of future sales or manufacturer tie in is worth little to the process.

Design assist is based on the premise that engaging the delivery team in the design process will have an overall benefit on the whole project. Coming back to the first section around what an integrator does then this related directly into the Design assist discussion.

There is a huge variety of different expertise, specialist capabilities and depth of knowledge  within  AV companies ( I am separating our professional service companies from companies that sell hardware). Interestingly when selecting a company to engage in the design process the selection criteria vary from who you might choose to deliver that solution the skills are different. You don’t need excellent warehousing and logistics to design a great AV system.

We, like many independent service providers, do Design and Delivery, we don’t sell hardware. Our core services of Design, Development, Deployment and Maintain are all hardware agnostic.

Many companies who do sell hardware have the ability to design and  integrate either through in-house expertise or through relationships with service providers like us.

The key to this working either with a service provider or a companies Design resource is and always has been the difference between Design assist and manufacturer or dealer based “free” design.

I think ? Danny and I agree on this!

More Reading:

Full stack AV Developer

Developer , Programmer , configurator, engineer …

In the software world, the new wanna-be job title is a “Full Stack Developer”and following a recent quick discussion with a colleague in the AV Industry this got me thinking about what we call ourselves and what we read in what others call themselves in the AV Industry. In the ever changing world of tech it is interesting to think about how we stay relevant in the changing marketplace.

In the world of AV control, the term “programming” is used to describe a process in which a software developer (often referred to as the programmer) uses the system’s functional requirements to develop, install and test the user interfaces and automation software required to operate the control system appropriately

In Infocomm’s 2015 Whitepaper, Modern Approaches to Control Systems Design

Sounds like a full stack job to me! The description doesn’t include developing the user interface but in the industry, this is often carried out by the same ” programmer”.

The tasks within this definition can be broken down into smaller items.

  • Software Developer – Develop a software specification from the functional requirements
  • Programmer – Write the controller software based on the developer’s specification.
  • GUI Designer – Design and implement a touch panel design to fit the developer’s specification
  • Commissioning Engineer – Install and test the controller software and GUI Interface. ( not installing or programming the physical devices)
  • T&C Engineer – Verify the compliance based on the functional requirements.

I think it is helpful for the sake of this discussion to mention and then exclude installers traditional “Test and Commissioning Engineers”. For me, this role is part of the quality control process and indeed in other industries, the T&C engineer is an independent contractor who can objectively assess the compliance to the spec of an engineering system. Installers (ideally good ones) are crucial to the process,  just not what I am discussing today. I know some excellent T & C engineers who have no knowledge of how to write a DSP config or a control program but will tell you what it is not doing in a very detailed way!

So this leaves broadly two groups:

  • Commissioning
  • Programming

There has been debate (and a fair amount of snobbery) for years within the programming community online over the difference between a programmer and somebody who just carries out configuration on a pre-programmed system. It has generally been accepted in the past that configuring systems using a drag and drop software is not the work of a programmer. That line seems to be crossed only when your work involves writing custom code at some level.

The skills required by a good commissioning engineer have ramped up over the years. In the past a good commissioning engineer would be on the tools checking IR bugs, using RS 232 connections for firmware, tuning gains on amplifiers and pre-amps using a screwdriver and have a stock of RS232 crossovers in their bag. Its common now for the principle tool used by a commissioning engineer to be a laptop. Convergence of communications onto ethernet and the widespread use of DSP audio processing means that the commissioning engineer can update firmware, setup network configuration, ID Devices and tune the room audio from their laptop connected to the LAN. Commissioning engineers are likely to be certified on individual products and familiar with scripting and telnet as well as competent in networking.

To me, a Full Stack Developer is someone with familiarity in each layer, if not mastery in many and a genuine interest in all software technology

Laurance Gellert

So what does a programmer do? we defined above that they need to write custom code at some level.

However both in AV and in any software development, writing code is only one of the skill sets.

AV System

  • Video and Audio Distribution
  • Building / Room Data Collection
  • Functional requirements
  • Core Programming
  • GUI Design and Programming

Web Application 

  • Server Network and Hosting Environment
  • Data Modelling
  • Business Logic
  • Action Layer MVC
  • User Interface User Experience

Some focus on user interface design while some work in the processor coding that is the core custom logic of the system, others on writing the modules and interfaces that other programmers use within their core code.

There is also differentiation by sector with some focusing on offering their services to the residential sector or the commercial sector.

There is another level of differentiation based on the technical skillsets of the individuals or companies. In Crestron alone, it is possible to program a system in four different ways (AVFramework, Studio, Simpl or Simpl#) four different software platforms with different possibilities.

We all program at some level of abstraction and different software tools offer different levels of abstraction with the associated loss of detail and reliance on the abstracted code.

Indeed the scale of abstraction and quality of the tools available means that highly custom systems can be created without writing any code at all.

Is it time for the “AV Programmer” to establish a new identity? Perhaps the current term “AV Programmer” is a misnomer. We might consider that a new name be given—one that better identifies and describes the value an AV programmer provides

Steve Greenblatt Control Concepts

[blockquote][/blockquote]

AV converging with IT has also meant it has mearged with software development. Systems can be written or include sections that use open languages such as Python, C # or javascript and open hardware for control and of course there arespecialist AV programmers who can also excel in these open languages.

In the AV industry we need to learn to write clean code, loosely coupled  or systems and API’s so that we can all work on our specialisms! In the future the role of the real code writers may well be to write the code to allow other less skilled users to use more abstracted solutions and have confidence in their tools and the supporting modules.

We have in my opinion a problem In the AV industry where some integrators lean on new eager individuals in the industry to be a jack of all trades and become their sole and complete technical resource.

Indeed I have done my own share of this type of work in the past. I think of it like a Hollywood movie ‘mission impossible’ where the hacker has to control a building system and shut down the lifts and the alarms before Tom Cruise gets caught.

This unsustainable expectation leads to systems which are poorly documented, difficult to maintain, impossible to fully test and lead to a bad user experiance. In addition, these new starts into the industry have no-one to look up to in the business,  no technical mentor and no team to support them.

I think programmers new and old should look to the wider world of software development where collaboration with other professionals is encouraged. Meet-ups and Hackathons for example bring together technical and non-technical individuals to collaborate on projects and new ideas.

AV professionals can stay relevant and play a major role in the ongoing AV/IT convergence by doing what we have always done. Keep learning.

Patrick Murray-Controlhaus

So as you can see programmers do many different things for many different clients. I think as Programmers we must make sure we speak to your customers about where we specialise and use the network of our peers to deliver better solutions.

I think Integrators planning project make sure you talk about which skills you need before selecting the right team.

Further reading:

Testing of RS232 control cables for installers

Summary:

Despite the increase in control via ethernet the use of RS232 is widespread in integrated AV systems and the connection of these control cables and testing of the falls within the remit of the installation engineer. However many AV engineers lack the knowledge to test and fault find these connections and hence cabling problems are the number one cause of problems at the programming stage. The testing of Video and Audio signal routing throughout a system is common and more widely understood and this article attempts to provide a toolbox of methods for simple testing of RS232 cabling within a system.

The methods below require no control system training and are applicable to any RS232 system.

Pre-amble:

To effectively install and test a cable for RS232 control you need to know what the pin out specification for the device that is being controlled and the pin out specification for the controller.

This information may have been found by the system designer in which case you might find it in your job specific method statement, cable listing or schematic drawing. If you don’t have this information you cant install the RS232 cabling and can either install a standard straight through RS232 cable and rely on adaptors at the controlled device end, speak to the system designer to clarify this information or find out the information yourself from the manufacturer documentation.

Method 1:  Voltage test on RX / TX

It is possible to carry out a simple test on the GND, TX and RX of a connected RS232 link with both the controller and the controlled device connected.

e.g.

And AMX NI2100 controlling a Panasonic Projector.

AMX Module documentation provides the following cable specification:

AMX NI (DB-9 Female)       – Panasonic (DB-9 Male)

5(GND)———————5 (GND)

2 (RXD)———————2 (TXD)

3 (TXD)———————3 (RXD)

Testing at the projector end (Male db9)

With both devices connected:

We should see a negative voltage on pin 2 and 3.

If both pins remain at 0V it is likely that RX and TX are incorrectly crossed.

With the projector disconnected:

When the projector is disconnected we would see only a voltage on pin 3.

Method 2: Loopback Test

Using a loopback is a great way of testing installed RS232 wiring. Put simply by connecting the RX and TX pins at the remote end we can test the continuity and correct pin wiring of the cabling throughout its length of installation.

A loopback connector should be a Female DB9 with pin’s 2 and 3 connected and pin’s 7 and 8 connected.

A loopback test is carried out simply by sending some data from a terminal software running on a pc. As the RX and TX pins are connected if the wiring is continuous then the transmitted data loops back onto the rx pin of the PC and the data sent is received back by the PC.

A detailed tutorial of this simple test can be found here http://www.ni.com/tutorial/3450/en/#toc3

This test is however limited in that it will not show up errors of RX and TX being crossed over incorrectly.

Method 3: Testing cabling using Manufacturer Software tools

This involves testing communications by using a manufacturer provided software to communicate with the device hence proving the control cabling.

Not all devices have a software application but most do and I have included some of the common ones below:

Software can be found on the manufacturer’s website and is often provided on disc when a product is shipped.

BARCO Projector Toolset

http://www.barco.com/en/Products-Solutions/Display-management-software/All-in-one-remote-projector-management-software.aspx

NEC Screens

PD Comms tool  http://www.necdisplay.com/support-and-services/pdcommstool/downloads

Samsung Screens

MDC Multiscreen Control Software

multiscreen.sharewarejunction.com

Kramers Switchers

Protocol 2000

http://www.kramerelectronics.com/support/download.asp?f=35567

Protocol 3000

http://www.kramerelectronics.com/products/model.asp?pid=2870

Extron Switchers

http://www.extron.com/download/dltrack.aspx?file=MATRIX_SW_v8x4.exe&id=67589

AMX Switchers

APControl 3.0.1.1

Method 4: Simple device control

When no manufacturer tool exists using a simple command terminal is the only way of proving correct wiring from AV controller to 3rd party device.

To do this test a computer running a terminal program should be connected temporarily in place of the AV controller this way the installed cabling is tested entirely. The object of the test is to demonstrate 1 way control over the controlled device over RS232 by seeing visual feedback on the device. Where 2-way control is required the test should also prove that the controlled device has responded with some data on the terminal.

Example:

LG Screens:    RS232 Setting 9600,0,8,1

Command: ASCII    ‘ka 1 1’      Action:  Turns screen on from standby

Command:ASCII     ‘ka 1 0’     Action:  Turns screen off to standby

You can download the pdf version here

Lighting Control showing the colours

Colourstyle1

Lighting controls were showing the colourstyle controller at the recent Bar 09 Show at The highland Showground in Edinburgh.

The Colourstyle controller is the perfect controller for back bar effect lighting. The controller allows complex colour effects to be setup using the setup wizard and then provides a very usable interface for day to day use.

The system can also be programmed with timed rules to allow automation.

Select currency
GBP Pound sterling