C/C++

Experience:
Interest:

I have experience writing C/C++ programs on embedded microcontrollers and Linux both at work and at home.

I can set up a C++ project using CMake linking to system libraries and set up unit testing via check. I know the intricacies of memory management and know several clever patterns to achieve a low memory footprint for embedded applications.

While I am still learning the ins and outs of the language I've already worked on interesting non-trivial projects in a production environment.

  • CANOpen - I have implemented a production capable library with SDO, PDO, NMT and LSS with a low memory footprint capable of running on MCU PIC microcontrollers.
  • RFID - I have implemented a multi-standard (simultaneous) capable reader running on a Cortex-M based microcontroller. This involved demodulating raw signals from the antenna for low frequency cards and communicating via a CLRC663+ module from high frequency cards.
  • NodeJS N-API - I have written a threaded N-API library to recieve data from a serial RS485 network and provide non-blocking stream based output to NodeJS.
  • Qt5 - I have worked with the Qt library implementing an AndroidAuto integration for a car entertainment system.
  • ROS - I have played around with implementing ROS nodes.
CMakemakestm32esp32esp8266ESP-IDFCubeIDEcheckQtboost