Innovations in Comfort, Efficiency, and Safety Solutions.
|Creating Your Own Custom Sedona
creating hardware-dependent components that utilize native platform
functions can be challenging, hardware-independent component
development is much easier.
you are on the developer side, or on the integrator side, Sedona offers
those interested in open control tremendous benefits. Sedona is a
component-based programming environment for embedded, networked control
devices. Logic functionality is provided by the manufacturers of Sedona
hardware in the form of function blocks called Components. Integrators
place these components onto a wire sheet to create applications.
However, if you need that special component, you can make it yourself
by first downloading everything you need for free from the Sedona
web site! While creating hardware-dependent components that utilize
native platform functions can be challenging, hardware-independent
component development is much easier.
Hardware Independent Components
do not rely upon native functions which makes hardware-independent
components transferrable between Sedona platforms regardless of
manufacturer. This allows for the sharing of custom components within
the Sedona Community.
Sedona editor such as the free Sedona Application Editor (SAE)
running on your PC lets you configure and link Components together to
create the wire sheet control logic. Components are deployed in kits,
and a kit manager allows you to install/uninstall kits
to the target Sedona device.
Sedona language is an object-oriented programming language similar to
Java or C#. If you have any experience with Java or C# and simply look
over the open-source example code provided in the documentation, you
too can create your own custom components that combine functions or
create a completely new function.
Key characteristics of the Sedona language include:
Familiar Java / C# syntax
• Object-oriented (inheritance, polymorphism, all that good stuff)
• Component-oriented (first class properties and actions, reflection, graphical assembly)
• Single inheritance only (no interfaces)
• Static memory model (components cannot create new objects at runtime)
• Semicolons are optional as a statement separator
Setting up the Sedona programming environment is easy! The root directory of your Sedona installation or development environment is referred to as Sedona home. Sedona home is organized into the following subdirectories:
adm: administration scripts used to build and test
• apps: Sedona application files (.sab and .sax formats)
• bin: Win32 binaries and some Unix shell scripts
• doc: documentation
• kits: directory for kit database
• lib: Java jar files and properties files
• manifests: directory for manifest database
• platforms: directory for platform database; also contains source files for Sedona platforms
• scode: scode images, and linker files for creating them
• src: directory tree for Java, C, and Sedona source code
technical information above is derived from the Sedona development
documentation which can be accessed for free on the Sedona
Alliance Resource page in addition to the complete instructions and
source files with example code. The Sedona
represents the interests of a community of developers, system
integrators, and users promoting the use of Sedona as an open control
programming environment. Its mission is to promote Sedona as the
premier open control programming environment available for use by the
public without restrictions.
We will go through a custom component development example in a future article.
About the Author
Zach Netsov is a Product Specialist at Contemporary Controls focused on the BASautomation line of products which provide solutions for both small and scalable building management. He received his BSEE from DeVry University with a concentration in renewable energy. At Contemporary Controls, Zach is part of the team that championed the design and creation of a BASpi I/O board for Raspberry Pi.
[Click Banner To Learn More]
[Home Page] [The Automator] [About] [Subscribe ] [Contact Us]