AES70 C++ is used to develop optimized OCA control interfaces for static bare-metal devices or dynamic scalable solutions, including hardware & panel controllers, for IP media networks.
OCA Device & Controller Library
AES70 C++ is a software library for audio centric media devices and OCA controller devices. It is a C++11 implementation header only library.
While the library is highly flexible, it naturally supports development of structured, coherent device object models. Development teams will appreciate the consistency AES70 object data types bring to the resulting control interface code.
It is ideal for very small devices that need a fast, low overhead AES70 control solution. In addition, it scales to large complex applications.
Embedded devices typically have limited memory resources. AES70 C++ provides a special API for creating object trees in static storage, which provides a method of optimizing firmware, dramatically reducing memory footprint. DeusO demonstrated this recently by compiling AES70 on a device using just 1kB of static ram.
In static devices, AES70 C++ avoids using dynamic memory, exceptions and run-time type information (RTTI). This makes it a perfect fit for real time environments such as RTOS.
Included in AES70 C++ is dynamic device support. The approach follows a simple pattern – create a device object, then start adding objects or blocks to the device.
For more advanced applications involving dynamic device object trees, the library supports device structure changes.
For systems with defined functionality, AES70 C++ provides the technical foundation for a high performance and optimized embedded OCA Controller, even if just one physical component is needed.
Getting Started – Discovery
DeusO has a deep understanding of how AES70 can be deployed, both on a device, and into a network of devices. But there are always complexities and unique points of difference between products and applications. We are happy to discuss these needs early on and offer evaluation of our implementations. Read more about evaluating working examples, source code and adoption assessment.
Tools & Utilities
For engineers, a repository of example code is available. Hands-on working examples have proven to be a very useful tool in the adoption process. Often these examples go hand in hand with direct questions during a handover period, while others combine with hardware Dev-Kits provided by well-known manufacturers, including Espressif, ST Microelectronics, XMOS.
DeusO also provides a complete OCA Controller development utility called AES70 Explorer. This software provides engineers a ready made user interface controller. It means a UI is ready as soon as a device successfully compiles, providing Class/Object information, control and monitoring.
Consulting & Adoption Support
Having experienced multiple projects integrating AES70 with hardware and software applications, we stand in a good position to assist your team in the process of integration and adoption.
We are interested in providing the knowledge to engineers in order to equip them for internal ownership of AES70 applications, in conjunction with our tools and software libraries.
If your team is not yet technically equipped, or capacity is not available, we're able to provide integration services. Projects might include tasks like 'wiring up' control to existing DSP or providing deliverables like compilation tools, as well as ongoing support for in-house engineers.
Support, Service & Maintenance
For ongoing support, we are happy to negotiate an agreement to suit engineers' needs. We generally anticipate an initial handover package, which includes technical introductory meetings, suggestions on design strategy, and sharing of general technical knowledge and code examples. Subsequent support engagement is defined on a case by case basis.
Service and maintenance is separate to support. We provide a standard warranty in licensed software which includes general service and maintenance for active agreements. Service covers incorporation of updates to the AES70 Standard, optimizations or API improvements and possible new features. Maintenance is more focused on fixes, and addressing possible feature gaps discovered in a library.