freertos-lts:-amazon's-operating-system-for-the-internet-of-things

FreeRTOS LTS: Amazon's operating system for the Internet of Things

AWS has announced a LTS (Long Term Support) version of its open source real-time operating system FreeRTOS for microcontrollers. FreeRTOS is mainly used in small edge devices with low power consumption. The LTS versions should remain functionally stable for two years and only receive security patches and critical error corrections.

Only recommended updates to the FreeRTOS kernel and some libraries should be included in the updates. Changes to public APIs, file structures or creation processes that could affect the applications are left out. This should eliminate the risk of updates damaging an existing application.

Revised and checked The first version of FreeRTOS LTS is FreeRTOS 202012. 00 LTS. In addition to the FreeRTOS kernel, Long Term Support includes a number of FreeRTOS libraries that are required for embedded and IoT applications as well as for the secure connection of microcontroller devices to the cloud. These include FreeRTOS + TCP, coreMQTT, coreHTTP, corePKCS 11, coreJSON and AWS IoT Device Shadow.

These libraries stay at least until 31. December 2022 currently. They do not depend on any other libraries than the standard C library. Each LTS library has its own GitHub repository. This should make it easier for developers to integrate and update libraries in their FreeRTOS projects.

In addition, the LTS libraries were validated with the tool for automated test CBMC (C Bounded Model Checker) for memory security, to reduce vulnerability to a buffer overflow. In addition, AWS checked the LTS libraries for MISRA-C compliance and subjected them to additional code quality checks, including a static coverity analysis. In the download area of ​​the FreeRTOS LTS libraries there is a corresponding LTS code quality checklist.

(sun)

query-language:-nexus-1.0-creates-graphql-interfaces-declaratively

Query language: Nexus 1.0 creates GraphQL interfaces declaratively

The open source project Nexus has reached version 1.0. The declarative approach to creating GraphQL APIs should be stable for productive use with the new release, and there are some significant changes associated with the version jump. Nexus is now available under a new package name, and fields may by default have the value null .

Everything is code The Nexus Project relies on a code-first approach for the creation of GraphQL interfaces: The definition of the APIs takes place entirely via JavaScript, instead of describing the schemas and associated resolvers for using the endpoints, as is otherwise usual with GraphQL.

The approach requires a rethink at the beginning, especially for the definition of the schemes, but should be easier to maintain in the long run and for larger projects. One advantage is that schemes and resolvers are not separate from each other, but are in one file.

SDL and TypeScript from tape Nexus can automatically create suitable SDL files (Schema Definition Language) by calling the function makeSchema , which can be used, among other things, to provide the appropriate schemes for applications such as development environments. In the same block, TypeScript types can be created that ensure type safety when the interface is called from Microsoft’s programming language, as the following example from the blog post on the release of Nexus 1.0 shows:

import path from ‘path’ const schema = makeSchema ({types: , outputs: {schema: path.join (__ dirname, ‘generated / schema.gen.graphql’), typegen: path.join (__ dirname, ‘generated / nexusTypes.gen.ts’),},}) A web-based SDL converter helps with the reverse Way: converting SDL definitions to Nexus.

Zero is an option Version 1.0 brings a few innovations that can lead to incompatibilities. Nexus 1.0 can now be found in the uniform package called nexus and no longer in @ nexus / schema . Developers must adapt the import accordingly:

import {makeSchema} from ‘nexus’ In addition, fields are now allowed by default have the value zero . While this nullability previously required an explicit declaration, there is now a function for fields that cannot be null :

const Post = objectType ({name: ‘Post’, definition (t) {t.nonNull.id (‘id’) t.nonNull. string (‘title’) t.nonNull.string (‘body’)},}) In the schema definition language, the correspondingly declared fields are given a final exclamation mark to indicate that the value is not null may be:

type Post {id: ID! title: String! body: String! } The nullability can be customized globally for any API created with Nexus. If you decide to deactivate it by default, you can set the value null for individual fields using the function nullable .

Lists and abstracts Nexus 1.0 also introduces the new function list for processing lists as input or output values, for example to [String] to be defined as list (‘String’) .

In addition, can Nexus describe the abstract types of GraphQL in the form of unions or interfaces. To do this, it uses one of the three strategies integrated in the official GraphQL JavaScript package, Centralized, Discriminant Model Field or Modular. A detailed description of the individual procedures with examples can be found in the Abstract Types Guide on the Nexus site.

Source: GraphQL.org

GraphQL is a specification for describing APIs. It defines how clients can describe and execute queries and how, on the other hand, the server has to process the queries. With GraphQL, data changes can be read and written in real time.

Facebook had the query language 2012 initially developed internally and 2015 published . The SDL has been part of the specification since the beginning 2018, and the end 2018 the language got its own GraphQL Foundation under the umbrella of the Linux Foundation, which has been taking care of further development ever since.

More details about Nexus 1.0 can be found in the blog post. The full list of new features can be found in the changelog on GitHub. The source code of Nexus is also available there under MIT license.

(rme)

ros-industrial:-open-source-is-also-establishing-itself-in-industrial-robotics

ROS Industrial: Open Source is also establishing itself in industrial robotics

Rofox, the cute little rover, wants to do everything right. He would like to learn to move safely in public spaces without colliding with one of the many pedestrians who constantly cross his paths here. But for this he would need an official permit, which he in turn only gets if it is ensured that no one can trip over him. But how should he learn not to be a trip hazard if he never gets into such a situation?

Trial and error, but harmless The solution that the Dutch company DoBots is now presenting in the video competition at the 8th ROS Industrial Conference is: simulation. Rofox is the star of a video that shows the robot driving through an empty room while its sensors are fed with simulated data from moving passers-by. In this way he can learn through trial and error to evade people without harming anyone.

For the implementation, DoBots used the simulation environment Gazebo and the open robot operating system ROS (Robot Operation System). Emerging from research at Stanford University and since 85 initially promoted by the now dissolved company Willow Garage, the open source software should initially above all to lay a foundation for the newly emerging industry of service robotics. The software required for this is so complex, according to the thought, that it would be a waste of resources if every company and every research group tried to find its own solution. Instead of “reinventing the wheel over and over again”, it would be more sensible to build on the experiences of others and optimize the approaches in mutual exchange.

Skepticism from industry The idea turned out to be fruitful and has not lost any of its effectiveness to this day. Two thirds of all robotics startups are now using ROS, says Christoph Hellmann Santos (Fraunhofer IPA), manager of the ROS Industrial Consortium Europe. A software industry for robots has emerged. In the field of industrial robotics, however, the reaction was more restrained because the big question about robot safety was not easy to answer. The established standardization landscape is not easily compatible with open software, for which there are no clear responsibilities and documentation and therefore no liability on the part of software manufacturers. A “standard-compliant validation” of the safety requirements is not possible with ROS, according to Hellmann Santos.

One solution is to use the safety-related To isolate parts of the robot controller (such as Safe Torque Off, Safe Brake Control or safe axis limits) and to use ROS only for the control of non-safety-related functions such as navigation or path planning. This principle of using ROS and Safety together is already being implemented by various manufacturers, says Hellmann Santos. Pilz GmbH, for example, uses it for its PRBT robot arm, and Keba AG for its KeMotion software platform.

The global ROS Industrial Consortium, which is now about members. “They all support the goal,” it said in a conference announcement by the IPA, “to use ROS to turn industrial robots into intelligent machines, that is, to replace previously permanently programmed motion sequences with sensor data processing and dynamically calculated motion planning.”

Various possible uses The open source alternative ROS is now established, but could be further improved, said Hellmann Santos in his keynote address to the conference, which will spend two days discussing how this can be done. The 33 submitted for the video competition give an impression of the variety of applications that can be realized with the help of ROS.

In the video from the Danish company Quadsat, for example, which uses drones to test satellite antennas, their chief robotics engineer Diana Trifon explains: “Without ROS we would not have been able to develop the system so effortlessly. ”Among other things, she emphasizes the possibilities of testing individual components independently of one another and developing them in a distributed manner.

drag & bot GmbH shows in several videos how it works Based on ROS, the programming of robots can be simplified. With the MotionMATE procedure, for example, the teach-in of three-dimensional trajectories could be implemented ten times faster than with traditional programming.

Technically, this is all interesting, but often told a bit lengthy. Aesthetically more convincing, on the other hand, are the videos that, as with the Rofox mentioned above, take the perspective of the robot. So the contribution of the Gestalt Robotics GmbH with the boring title “Edge-enabled Mobile Asset Detection & Semantic Segmentation for Autonomous Vehicle Systems with ROS”: Fortunately, not much is explained, but the viewer with fascinating sounds and visuals directly into the robot’s brain and lured on a psychedelic trip that should have lasted ten times as long.

Whether that’s enough to win the competition will be decided on Wednesday, the second and last day of the conference.

(mho)

the-vulkan-interface-received-an-sdk-supporting-beam-tracking-and-the-first-official-beam-tracking-game

The Vulkan interface received an SDK supporting beam tracking and the first official beam tracking game

Several ray tracing games using NVIDIA plug-ins have already been released for the Vulkan interface, but the Quake II RTX update made it the first game to support official plug-in extensions.

Maintaining multiple open interfaces, Khronos has released a major update to the Vulkan interface. Radiation tracking extensions released last month now supported, among other things, the SDK (Software Development Kit).

Valve-funded LunarG has released a new version 0 of the official SDK for the Volcano Interface, which brings full support for the interface). for fresh radius tracking extensions. At the same time, Microsoft’s open source HLSL compiler DXC has been updated with radius tracking support for the Vulkan interface, making it much easier to compile applications that use the DirectX Raytracing interface to the Vulkan interface.

Khronos has also released new example applications using open source Vulkan beam tracking and updated the Vulkan Guide to include information on beam tracking.

In the same context, the Quake II RTX developed by NVIDIA was updated to support official plug-ins for the Vulkan interface in addition to NVIDIA plug-ins. With the update, the game, which utilizes advanced path tracing beam tracking, now also works with AMD’s Radeon RX 6000 series graphics cards and will work with Intel’s Xe-HPG game graphics cards, which will be released next year. With the new version, PC Gamer has already had quick tests, according to which the RX 6800 XT achieves more than 60 FPS performance 1080 with p-resolution and RTX 3080 1440 with p-resolution, but with 4K resolution it remains a distant dream of both.

The official radius tracking extensions for the volcano interface are supported by AMD’s Radeon Software 20

3 and NVIDIA Release 460 drivers

Source: Khronos