Skip to content

jacobschloss/freertos_cpp_util

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

freertos_cpp_util

A collection of C++ wrappers and utility code for FreeRTOS.

Features

  • Wrappers for tasks, forming thread objects
  • Wrappers for queues
    • Basic wrapper for POD types only
    • Full featured version using object pool for full C++ objects
      • Allows arbitrary alignment
      • Calls constructors, destructors
  • Threading primitives
    • Wrappers for mutex, binary semaphore, counting semaphore
    • A condition variable for FreeRTOS, implemented with a binary semaphore and queue
  • A C++ safe object pool
    • Usable as a simple heap
    • Calls constructor & destructor
    • Supports arbitrary alignment requirements (ie, alignas specifier)
    • Premptable
    • Can block for configurable amount of time
  • A C++11 style allocator
    • Supports types with wider alignment than the default portBYTE_ALIGNMENT (ie, alignas specifier)
  • Some support for chrono types
  • Utility code
    • A Non_copyable class
    • An intrusive singly linked list
    • Scoped ISR disable, scheduler disable
  • CMake build script

Copyright

Copyright (c) 2018 Jacob Schloss

License

Licensed under the terms of the 3-Clause BSD license. See LICENSE for details.

Contributing

Bug reports and features requests welcome. I'm not sure how to handle code contributions at the moment - I may require a contributor agreement.

About

A C++ utility library for FreeRTOS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published