pouetpouet-board
programming-with-ada
pouetpouet-board | programming-with-ada | |
---|---|---|
4 | 8 | |
22 | 18 | |
- | - | |
0.0 | 6.7 | |
over 1 year ago | over 1 year ago | |
Rust | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pouetpouet-board
- usb_embedded + RP2040
-
August 2022 What Are You Working On?
Still working on my mechanical keyboard firmware. It's nearly working correctly with layer support. Still need to debug some minor glitches.
-
July 2022 What Are You Working On?
Finally got to work again on my Ada firmware (after being on-and-off for several months) for my custom built mechanical keyboard, I've finally reached a state where I can focus on features more than debugging low-level USB issues (first time looking deep into USB and got to write the driver for stm32f072).
-
May 2022 What Are You Working On?
I'm writing a firmware in pure Ada for my custom keyboard (https://github.com/dkm/pouetpouet-board). First step is to port existing HAL-implem/Drivers from Ada_Driver_Library to stm32f0, which is already in looking good: GPIO, UART and USB (enumeration is working, that's a good step) are in good shape. Then I'll probably have to read a bit more how other keyboard firmware are really working under the hood.
programming-with-ada
- yet another Ada web site?
-
Is it worth it to learn Ada in 2022? And how do I learn it?
I wrote up a bunch of stuff about it
-
May 2022 What Are You Working On?
I am writing an article for Programming with Ada showing how to send an IMCP using just the Ada standard library and writing your own bindings to C. This is a port of program I wrote in C++.
-
Request for comments: an idea for a central repository of knowledge and resources for Ada
I have one already for my own Ada notes, but it doesn't autogenerate. Sphinx allows arbitrarily complex tables, while also providing the ability to generate the documentation and keep it locally, which would be important for people on isolated/proprietary/military networks. It would be interesting to have a site generated by a crate in Alire, so you could download and run it locally as needed.
-
How to get into the Ada world
There's also: - http://learn.adacore.com - https://pyjarrett.github.io/programming-with-ada/ - https://en.wikibooks.org/wiki/Ada_Programming - The video's not available yet, but this might be useful: https://fosdem.org/2022/schedule/event/ada_outsiders_guide/
-
What Did You Work On in 2021?
I also did a few things: - Wrote an online e-book about Ada - Septum - context-based source code search for multi-million line codebases (I use this nearly every day at work. It's being submitted as my Ada crate of the year. - dir_iterators - library similar to the incredible walkdir. - project_indicators - library for spinners and progress bars. - trendy_terminal - library for cross-platform terminal setup, VT100 support, and GNU readline-like behavior. - trendy_test - library for simple unit testing, which runs tests in parallel. - Ada Ray Tracer - an Ada port of Ray Tracing in One Weekend. - dirs_to_graphviz - Make graphviz files from directory trees. - rst_tables - a tool to draw RST table outlines.
-
Why Is C Faster Than Java (2009)
> say, Ada programmers.
I stand summoned.
> Unfortunately, none of them ever seem to show up.
We do from time to time, but people assume our language is dead (it isn't). I learned it last year and I've been very impressed by how simple it is, given the speed you get with it.
It was a "big language" at the time, but now it's a language smaller than Rust or C++ which offers good performance with straightforward syntax.
Ada has inline assembly, easy usage of compiler intrinsics, dead-simple binding to C, built-in multi-tasking (which includes CPU pinning), a good standard library, RAII, and real honest-to-goodness built-in, not-null-terminated strings. It's a compiled language, so you get good speed in general, but the built-in concurrency really does help work which can be split up. Ada 202x is getting even finer grained parallelism (parallel for-loops) in the language itself to even further help this.
- https://learn.adacore.com/
- https://github.com/pyjarrett/programming-with-ada
- https://en.wikibooks.org/wiki/Ada_Programming
What are some alternatives?
Ada_Drivers_Library - Ada source code and complete sample GNAT projects for selected bare-board platforms supported by GNAT.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
garlic - GNAT Library for Ada Distributed Environment (garlic)
python-cheatsheet - Comprehensive Python Cheatsheet
usb_embedded - An Ada USB stack for embedded devices
Ada_GUI - An Ada-oriented GUI
Pico-PIO-USB - USB host/device implementation using PIO of raspberry pi pico (RP2040).
sdlada - Ada 2022 bindings to SDL 2 - Don't STAR this, this is my personal repo which I may delete over using the AGF one.
ada-lox
ada_language_server - Server implementing the Microsoft Language Protocol for Ada and SPARK
alire - Command-line tool from the Alire project and supporting library
Honki-Tonks-Zivilisationen - Der Code meines 4X-Rundenstrategiespiels. The Code of my 4X turn-based strategy game.