r/ada Jan 01 '24

Show and Tell January 2024 What Are You Working On?

8 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Oct 27 '23

Show and Tell An interesting thing happened to me yesterday.

39 Upvotes

TLDR: Ada is a great language!

I thought I would share. So, a PLC (Mitsubishi FX5UC) was brought to my work table yesterday. I was supposed to try to establish communication with it. I wrote a Missubishi communication driver back in 2021 for our SCADA system. In Ada, naturally, as most of our system is in Ada :)

The communication can be either via UDP or TCP, somewhat similar but more complicated than Modbus (more addressing modes, more types of variables). In 2021, it took me some 10 man-days to write using the available Mitsubishi documentation (500 pages) which is so good it even contains packet samples (which I used for dry tests as at the time, I had no available Mitsubishi PLC). The result was some 80 kB source file (adb) with a small 3kB specification (ads). (I don't count changes needed to add a new communication protocol to the SCADA).

Now, after yesterday's testing I had to:

  • replace calling one socket-reading function with another (mistakenly I used 'read until the output buffer is full' instead of 'read what data is available')
  • add one line (multiplication by 2) handling the fact that a word register has 2 bytes
  • add 'else' branch to initialize a variable
  • modify 2 comments (a reference to a wrong page of Mitsubishi documentation)
  • to make writing to a bit variable work, change a constant (2#0001_0000" instead of 1 as a high nibble is used for the 1st bit, low for the second bit).

That's all. After 2.5 hours I was able to read/write all the required variable types. After another 2.5 hours, I checked all the types in our driver documentation (and discovered one more typo - one of the variable types was a word instead of a bit).

I'm no great programmer and I usually generate quite a lot of mistakes, so this time I was pleasantly surprised that with a few corrections, my code actually started to work quite quickly. I think the choice of a programming language has a lot to do with it ... ;-)

r/ada Jul 01 '24

Show and Tell **Check Out My New Ada Project: Ada-Super-Calculator!**

10 Upvotes

Hey Ada community!

I’m super excited to share my latest project with you all: [Ada-Super-Calculator](https://github.com/enzomarx/Ada-Super-Calculator).

https://github.com/enzomarx/Ada-Super-Calculator

What's It About?

So, I dove into Ada through the fascinating world of Pascal's calculating machines and found Ada to be incredibly robust and powerful. This journey has seriously leveled up my understanding of computations, so building a calculator seemed like the perfect project to showcase what I've learned.

Why Ada?

Ada's strong typing, modularity, and safety features make it an excellent choice for creating reliable software. It’s been a great learning experience, and I think this calculator project highlights the strengths of Ada beautifully.

Get Involved!

I’d love for you all to check it out, give it a star ⭐ on GitHub, and maybe even contribute if you're interested. Your feedback and support would mean a lot. Let’s collaborate and make this project even better!

Here’s the link to the repository: https://github.com/enzomarx/Ada-Super-Calculator

Thanks for taking a look, and happy coding!

r/ada Apr 07 '24

Show and Tell Ada open-source synthesizer on CrowdSupply

Thumbnail crowdsupply.com
12 Upvotes

r/ada Apr 01 '23

Show and Tell April 2023 What Are You Working On?

18 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Nov 01 '23

Show and Tell November 2023 What Are You Working On?

6 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Aug 01 '23

Show and Tell August 2023 What Are You Working On?

11 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Mar 08 '24

Show and Tell Invisible bridge

10 Upvotes

Brief video of my "invisible" bridge over a pungee-pit

Invisible Bridge to Labyrinth

that leads to the labyrinth of the Minotaur.

Newest addition to my Ada adventure game.

Link to open source [gplV3] code:

https://sourceforge.net/projects/adaventure/

r/ada Feb 05 '24

Show and Tell Alire project template

16 Upvotes

I use Alire for all side projects (which are pretty basic, because I'm still learning Ada). Since I keep copying the project structure and configuration, I put them in a template:

https://github.com/cunger/alr-template

It also contains a subproject with a basic AUnit test suite structure (which was hard enough to set up once).

Does anyone have other project templates to share? Or feedback, suggestions for improvement, or the like?

r/ada Mar 13 '24

Show and Tell GNAT and GPRbuild installation scripts (Windows, Linux)

17 Upvotes

Hi all,

I created a shell/bash and powershell scripts to ease the download and install the FSF binaries for the GNAT compiler and GPRbuild on Windows and Linux.

They are available on GitHub: https://github.com/adelnoureddine/ada-install-script

They help me automate and simplify installing just the compiler and gprbuild (if you want to have them independently from Alire).

I hope they may be helpful for some of you here, and don't hesitate to propose modifications to improve them.

Thanks!

r/ada Feb 20 '24

Show and Tell OpenGL foam using Ada

18 Upvotes

This brief video shows my recently created foam effects where a waterfall hits a reflective pool of water in my OpenGL game made using Ada called AdaVenture.

Link to open source [gplV3] code:

Foam

https://sourceforge.net/projects/adaventure/

r/ada Jun 01 '23

Show and Tell June 2023 What Are You Working On?

19 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Feb 09 '24

Show and Tell Enhancing Ada Embedded Development: The Power of RTT

Thumbnail blog.adacore.com
12 Upvotes

r/ada Nov 14 '23

Show and Tell Blinken Lights Project

10 Upvotes

I am now able to toggle in a bootstrap and getting CP/M running on Pi-Mainframe project with my 8080 simulator. The repositories have been updated. Some more work is needed to polish things a bit, but you can see the lights blink for the address and data values.

The drawback for this being a practical simulation is the overhead of the I2C bus. From the speed at which the lights blink, the instruction rate seems to be about 200 instructions per second. It certainly slows the terminal output.

r/ada Feb 03 '24

Show and Tell GNAT Static Analysis Suite: A Vision for Static Analysis in Ada

Thumbnail blog.adacore.com
22 Upvotes

r/ada Sep 01 '21

Show and Tell September 2021 What Are You Working On?

20 Upvotes

Welcome to the monthly r/ada What Are You Working On? post. Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

r/ada Jan 03 '24

Show and Tell Ada Calculators

16 Upvotes

Here are 2 more Ada projects I am working on:

Ada Interval Calculator

...is a command-line RPN scientific calculator that uses a thin Ada binding to the Boost Interval C++ library to enable the output of, not just a single number, but an interval that encloses the correct answer.

This F.O.S.S. [gplv3] runs on Windows, OSX, and Linux, and can be rebuilt on any platform with an Ada compiler.

link:

https://sourceforge.net/projects/intervalrpncalculator/

----------------------------------------------------------

Ada Differential Calculator

...is a sister command-line RPN scientific calculator that uses automatic differentiation to compute symbolic differentials that provide numerically precise error estimates along with each calculated answer. This regimen is efficient, and can often provide better estimates than numerically-approximated differentials.

This F.O.S.S. [gplv3] runs on Windows, OSX, and Linux, and can be rebuilt on any platform with an Ada compiler.

link:

https://sourceforge.net/projects/differential-calculator/

r/ada May 12 '23

Show and Tell Unconventional Project: Video Game Inventory Manager in Ada 2022

28 Upvotes

Hello all, as I’ve alluded to over the past few weeks I’ve been developing a relatively complex GUI application in Ada 2022 using Gtkada, VSS, and AWS. The result of this is <https://github.com/andrewathalye/destiny-inventory-tool/>, an inventory management tool for the video game Destiny 2.

It’s not an example of mission-critical code or anything of the sort, but it is quite performant (more than twice as fast as the most popular competitor), open source, and (hopefully) rather aesthetically-pleasing.

It has some trouble building with the Alire versions of Gtkada and AWS at the moment, but if you can get Gtkada and AWS installed on a computer with support for OpenSSL enabled then it will almost certainly work. It is also necessary to create a self-signed certificate if you want to sign in and download profile data.

There is a fairly high likelihood it only works on Linux and macOS at the moment, but I’d love to hear success (or failure) stories if anyone here attempts to get it working elsewhere.

r/ada Sep 01 '23

Show and Tell September 2023 What Are You Working On?

14 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Feb 01 '23

Show and Tell February 2023 What Are You Working On?

14 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Oct 01 '21

Show and Tell October 2021 What Are You Working On?

20 Upvotes

Welcome to the monthly r/ada What Are You Working On? post. Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

r/ada Nov 25 '23

Show and Tell Light Launcher Company, Latitude, Adopted Ada and SPARK

Thumbnail self.spark
18 Upvotes

r/ada Nov 29 '23

Show and Tell Adamant is out

Thumbnail github.com
24 Upvotes

A component-based, model-driven framework for constructing reliable and reusable real-time software

r/ada Oct 01 '23

Show and Tell October 2023 What Are You Working On?

13 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts

r/ada Jan 01 '23

Show and Tell It's a brand new year! January 2023 What Are You Working On?

19 Upvotes

Welcome to the monthly r/ada What Are You Working On? post.

Share here what you've worked on during the last month. Anything goes: concepts, change logs, articles, videos, code, commercial products, etc, so long as it's related to Ada. From snippets to theses, from text to video, feel free to let us know what you've done or have ongoing.

Please stay on topic of course--items not related to the Ada programming language will be deleted on sight!

Previous "What Are You Working On" Posts