Federico Fuga

Engineering, Tech, Informatics & science

Threads, threads everywhere (in Zephyr, and in C++)

21 Mar 2023 14:54 CET
In this tutorial I explain how to create threads in Zephyr. But first, let’s switch to C++, it’s easier and more clean. To enable C++ you need to specify one variable in the configuration: CPP=y. But since you may be instantiating your objects in the main() function, and C and C++ have different declarations of it (it’s void in C and int in C++), you may want to use the C++ version. Continue reading

Fixing Zephyr Environment on Linux

03 Dec 2022 11:58 CET
I’m actually experimenting with Zephyr, a Real Time O.S. for IoT devices. It seems very impressive for many aspects, that, out of the topic of this blog post, I list here. It’s a fully fledged microkernel with many drivers for peripherals and protocols It supports many important protocols like Wifi, Bluetooth Low Energy, OpenThread (and Matter) and many others It’s supported and financed by Nordic Semiconductors, It’s open source It has many hardware supporting it, including Nordic chipset, STM, Espressif, Raspberry, etc… It has an extension for Visual Studio and others IDE are supporting it, like, for example, Jetbrain’s CLion So I decided it’s time to test it. Continue reading

Not all Arduino Nanos Are Built Equals

17 Nov 2022 10:19 CET
Not all Arduino Nanos are built equals. I have two samples here, one bought from AZDelivery and one in a NanoCUL. Though both are Nano v3s, they are somhow different. Indeed, I was able to program the second out of the box using avrdude, while I had some issue with other. Using PlatformIO I noticed that the first was not properly configured on my system. Indeed lsusb shows different chips are used: Continue reading
Older posts