What you’ll learn
- Who took top honors in this competition?
- Why Ada and SPARK should be important to embedded developers.
The与ADA 2021比赛进行has some winners. I was one of the judges for this competition and if you’ve ever been a judge you know that the job isn’t easy. I also run theMercer Science and Engineering Fair有许多俱乐部成员,还有更多的参赛作品和更多的法官。物流是一个挑战,但最终结果是计数。
今年,2,000美元的第一名获得了第一名,该奖项是基于UAV的Startup SRQ Robotics的创始人兼首席执行官Tharindu Suraj Liyanage。他的项目“带有TOF传感器的自主疯狂Flie”(Fig. 1), builds on an earlier project that moved the C-based从C/C ++到ADA/SPARK的飞行管理软件.
Tharindu’s project added theZ-ranger deckwith a laser sensor to the Crazyflie. This addition of code and hardware allowed the drone to do altitude holding. The Z-ranger deck uses a laser-based time-of-flight (ToF) sensor to accurately track height up to 2 m. Thehackster.io平台主机this Crazyflie projectalong with the rest of the projects in the contents.
“I have been implementing custom firmware for drones for the past five years,” said Mr. Liyanage. “After finding out about the existence of Ada firmware for the Crazyflie 2.0 nanodrone, I started testing it and was able to understand the core functionalities within a couple of weeks. The simplicity of the Ada firmware allowed me to implement my own functions, and the available Ada libraries enabled me to integrate different types of sensors within the drone. I plan to continue my drone firmware implementations with Ada and make them open source for everyone who has the passion.”
I won’t go through all the winners since thecontest site这样做,但值得一提的是顶级学生奖。这是艾哈迈德·哈米(Ahmed Hamdy)的硕士学位。马来西亚吉隆坡马来西亚Teknologi Universiti teknologi大学的计算机和系统工程学生。许多项目来自那里的学生,他们在学习ADA和SPARK。我介绍了先前的Make with Ada winner learned about Ada and SPARK in an earlier article.
The “Ada Accelerometer Driver + Stable Nerve Game” project used the popular BBC micro:bit v1.5 that has a built-inLSM303AGR accelerometer(Fig. 2). It also contains an array of LEDs that can be utilized for user feedback. These were used to replicate the moving table of physical games, where you try to move a tiny ball around. In this case, though, the game is to keep the table level. The AdaCore compiler and runtime already handle the micro:bit, but adding support for the driver and doing the game was part of the project.
的许多公关ojects had Ada code that dealt directly with I/O ports, but just as often they had to interface with C-based runtimes that were provided with the platform they were working on. I think all of the platforms used in this iteration of the competition were Arm-based due to the wide range of low-power microcontroller development kits available. AdaCore’s open-source compiler does support platforms like x86 and RISC-V.
这次我没有看到的是使用的项目火花和合同. It’s not too surprising given that contracts and provable software is a bit more advanced, which can be overwhelming while trying to learn and use the basics within a language. On the other hand,Ada can save development costseven when more advanced training is added to the mix.
有一个新的火花的Ada MISRA - C开发人员”关于有关的文档和互动培训learn.adacore.com更适用于高级C ++程序员的网站。它的广泛但读起来不错。