Conditional compilation using macros is a well-known approach among C/C++ programmers. Library developer provides a library like FreeRTOS, WolfMQTT, and Little File System. To use such a library, we have to provide a configuration file, like FreeRTOSConfig.h. In this configuration, we command our requests to the library. “I will use mutexes, enable timers for me, disable X” and so on…

What is wrong with this old-school (but rock star) approach?

The very first problem is config file dependency. To use a config file-required library, you must provide a config file. Why? The reason is simple: It is a config file-required…


Öğrencilik Yılları Yatırımları

  • İngilizce
  • C programlama dili
  • Qt: eğer bir gömülü yazılımcıysanız, gömülü yazılımlarınızı test veya destek amaçlı birçok araç geliştirmeniz gerekebilir. Qt bu iş için biçilmiş kaftandır.
  • MCU programlama: Öğrencilik yıllarında yaptığım çalışmalardan ötürü, mezun olduğumda bir MCU’nun çalışma prensiplerini, silikon üreticisinden bağımsız bir şekilde öğrenmiştim.

Kaynaklar

Öğrencilik yıllarında İngilizce kaynaktan rahat düzeyde okuyacak kadar İngilizce öğrenmiştim. Dolayısıyla ağırlıklı olarak İngilizce kaynakları öneriyorum.

Linkedin hesabımda yaklaşık 10 adet kitap mevcut. Oradan açıklamalı olarak okuyabilirsiniz.

Rol Model Kişiler

Yine beni, önceki halimden daha iyi yapan kişisel özelliklerimden birisi de çok sayıda rol model insanı takip edişimdir. …


NanoPB

NanoPB Google’ın Protobuf’ını kısıtlı kapasiteli sistemler için implemente eden bir kütüphane. Kullanımı, Protobuf kullanmaya aşina olan insanlar için gayet de basit. Yukarıda bahsi geçen birçok problem, sizin için önceden çözülmüş ve “standartlaştırılmış” bir şekilde size sunuluyor. Sizin yerinize veriyi encode/decode ediyor. Farklı platformlar arası özgürce veri paylaşımı yapmanıza imkan veriyor:

NanoPB hakkında bilgiye buradan ulaşabilirsiniz.

Bu yazıda Protobuf detaylarına girmeyeceğim. Eğer bu konuda bilgi eksiğiniz varsa şuradaki tutorial’ları favori dilinizde implemente ederek bu eksikliği giderebilirsiniz.

Kısa bir örnek yapalım.

  • Alış-veriş yapmak istediğimiz veriyi proto dilinde .proto uzantılı dosyada tanımlıyoruz. Sözgelimi, HOST tarafından cihaz tarafına komutlar gönderecek olalım. Proto domain’inde transfer…


In this tutorial, I am going to cover the design process of a tiny state machine using my simple machine HSM processor, which is referred to as SM in the remainder of this document.

State machine programming can result in spaghetti code in a short time If you do not use an effective technique to implement it. UML state machines provide a state-of-art way of implementing a state machine in an effective way.

There are a couple of tools you can implement UML state machines. Because of its simplicity, I am going to use my own “experimental” HSM processor to…

Burak Kirazli

Software Developer (Embedded, C, C++, Qt)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store