RIOT
serenity
Our great sponsors
RIOT | serenity | |
---|---|---|
39 | 237 | |
4,754 | 28,216 | |
1.1% | 4.6% | |
9.9 | 10.0 | |
6 days ago | 7 days ago | |
C | C++ | |
GNU Lesser General Public License v3.0 only | BSD 2-clause "Simplified" 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.
RIOT
-
Open source embedded projects
Just one example: https://github.com/RIOT-OS/RIOT
- Woke up today to my first ever pull request of one of my public repos! Wait... oh... oh god...
-
Looking for a GitHub repo which contains unit tests
RIOT-OS has a lot of unit tests for all the boards they support. And it's written in C. https://github.com/RIOT-OS/RIOT/tree/master/tests
-
What's the best book and microcontroller to learn embedded design?
Another option is using RIOT-OS. But that unfortunately doesn't support PWM for the Weact. It does support PWM for the Bluepill and Blackpill STM32f103 and the Nucleo-f446 After quick search. \ https://riot-os.org
-
Programming arduino in actual C
Alternatively, you can also write your code in an RTOS. They often have scripts that make flashing and debugging easy. One that I personally like, and also supports Arduino, is RIOT-OS.
-
Cool C projects
Port a new board or Mikrocontroller to RIOT or Zephyr
-
Looking for someone interested in designing a HAL
You can also look at examples of HALs such as - libopencm3 (Though this is Cortex only) - RIOT OS (though this requires an RTOS)
-
How to do STM32 with no abstractions?
Or try RIOT-OS. Which is programmed in C and works nicely with STM32. It has some nice abstractions you can study. https://riot-os.org
- Query: Alternatives to Zephyr?
-
Can you share some open source projects we can contribute to?
I really like RIOT. It's an open source RTOS with a good support for a lot of IETF and POSIX standards. https://github.com/RIOT-OS/RIOT https://www.riot-os.org/
serenity
-
Fuzzing Ladybird with tools from Google Project Zero
Indeed, given the existence of `JS::NonnullGCPtr`, `JS::GcPtr` intentionally corresponds to a nullable pointer, so it seems dangerous to convert one to a reference without a null-check.
That said, a naive code search finds what *may* be more cases of this pattern:
https://github.com/search?q=repo%3ASerenityOS%2Fserenity+%2F...
Eg: https://github.com/SerenityOS/serenity/blob/a68b134e6dea5065... -> https://github.com/SerenityOS/serenity/blob/a68b134e6dea5065...
In some of those search results, it is fine because there is a preceding null-check, and obviously I know nothing about this code other than this naive search result, but perhaps it would be prudent to vet all of them.
-
The Ladybird Browser Project
It is a SerenityOS project. You can find the answer to that question in their primary project's FAQ[1].
1. https://github.com/SerenityOS/serenity/blob/master/Documenta...
-
Sane C++ Libraries
https://github.com/SerenityOS/serenity
The best way to write proper exception free C++ is not to use the C++ Standard Library.
-
Ask HN: What side projects landed you a job?
My contributions to SerenityOS[0] helped me get my current job. My team lead (who was also my interviewer) was interested in what I did since I listed some of it in my CV, and I showed him some PRs I made and explained what went into each of them. It was really exciting because I didn't have professional experience with low-level development, and basically got the job due to hobby programming.
[0]: https://github.com/SerenityOS/serenity/pulls?q=is%3Apr+autho...
-
Bring garbage collected programming languages efficiently to WebAssembly
Definitely not "literally impossible", just a great deal of work. https://github.com/SerenityOS/serenity/tree/master/Ladybird
- Screenshots from Windows 95
-
Essence: A desktop OS built from scratch, for control and simplicity
SerenityOS is doing exactly that:
https://github.com/SerenityOS/serenity/tree/master/Ladybird
I also like their Jakt programming language:
https://github.com/SerenityOS/jakt
Though I'm more enthusiastic about Redox (doing it in Rust):
- I'm fed up with it, so I'm writing a browser
- Google abandons work to move Assistant smart speakers to Fuchsia
-
Unix-like OS in Rust inspired by xv6-riscv
- POSIX hasn't standardized anything better than poll(), yes it works fine in a hobby context but it's not 1987 anymore (and don't get me started on select(): https://github.com/SerenityOS/serenity/pull/11229)
What are some alternatives?
FreeRTOS-Kernel - FreeRTOS kernel files only, submoduled into https://github.com/FreeRTOS/FreeRTOS and various other repos.
zephyr - Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
Chicago95 - A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
rust-raspberrypi-OS-tutorials - :books: Learn to write an embedded OS in Rust :crab:
haiku - The Haiku operating system. (Pull requests will be ignored; patches may be sent to https://review.haiku-os.org).
linux - Linux kernel source tree
reactos - A free Windows-compatible Operating System
mbed-os - Arm Mbed OS is a platform operating system designed for the internet of things
pico-sdk
redox - Mirror of https://gitlab.redox-os.org/redox-os/redox
gopher-os - A proof of concept OS kernel written in Go
mongoose-os - Mongoose OS - an IoT Firmware Development Framework. Supported microcontrollers: ESP32, ESP8266, CC3220, CC3200, STM32F4, STM32L4, STM32F7. Amazon AWS IoT, Microsoft Azure, Google IoT Core integrated. Code in C or JavaScript.