See : C.M. Kormanyos, Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming, Fourth Edition (Springer, Heidelberg, 2021). ISBN 9783662629956
Example The LED program.
This example implements the LED program (blinky) for the target with the 8-bit microcontroller.
Example The LED program with timing.
This example implements the LED program (with timing) for the target with the 8-bit microcontroller.
Example The LED program with cooperative multitasking scheduler.
This example implements the LED program with a tiny cooperative multitasking scheduler for the target with the 8-bit microcontroller.
Example The Led Program (with template LED class).
This example implements the LED program with a template LED class for the target with the 8-bit microcontroller.
Example Integer Types Having Fixed Widths and Prime Numbers.
This example focuses on integer types having fixed widths using a fascinating calculation
of prime numbers that is simultaneously intended to emphasize the usefullness and portability
of fixed-width integer types.
Example LED Objects and Polymorphism.
This example exhibits object oriented polymorphism through
an intuitive LED class hierarchy. Base class pointers stored in an
std::array
are used in combination with dynamic polymorphism.
Example LED Objects and Polymorphism via References.
This example exhibits object oriented polymorphism in essentially the same
way as in example chapter04_04. In example chapter04_04a, however, we use base class
references instead of base class pointers stored in an std::array
in order to utilitze object oriented polymorphism.
Example A CRC Benchmark.
This example illustrates certain optimization techniques through the calculation
of a standard CRC32 checksum (cycle redundancy check).
Example A CRC Benchmark with ROM-Based Table and Data.
This example features essentially the same functionality as example chapter06_01.
The checksum table and benchmark data, however, are ROM-able.
Example Controlling a Seven Segment Display.
This example makes use of object oriented programming methods to control a seven segment display.
Example Controlling an RGB LED.
This example utilizes object oriented programming techniques to control an RGB LED.
Example External SPI RAM and Computing 10,001 Digits of Pi.
This advanced example extends available RAM via SPI SRAM chips and uses a Pi Spigot algorithm to compute 10,001 digits of the mathematical constant Pi, showing fascinating memory management iterators, containers and algorithms along the way.
This example depicts algorithmic complexity running in a real-world system
and highlights the real-time numeric expression of the detailed description
of algorithmic complexity in the corresponding book section.
Example Parallel SRAM and Computing 100,001 Digits of Pi.
This advanced example extends RAM even further with a 2MByte parallel SRAM brick to calculate 100,001 digits of the mathematical constant Pi.
Example 100,001 Digits of Pi on Raspberry Pi(R).
This advanced example ports the Pi Spigot 100,001 digits Pi calculation to the powerful Arm(R)-based Raspberry Pi(R) single-board computer.
Example Preemptive Multitasking.
This example makes straightforward use of preemptive multitasking scheduling with a blinky-style application that features a main task and a low-priority background task.
Example Benchmarking Floating-Point Calculations.
This example performs a variety of floating-point calculations of selected special functions of pure and applied mathematics.
Example Generating and displaying 128-bit Random Prime Numbers.
This advanced example uses an extended integer class to create 128-bit unsigned prime integers with primality testing performed via Miller-Rabin.
This example also provides fascinating, intuitive, visual insight into the prime number theory of pure mathematics.
Example Traditional C Language Code in a Modern C++ Project.
This example depicts some methods that potentially allow the successful use
of traditional C-language code within a modern C++ project.
Example Traditional C-Language in Modern C++, Using Time Slices.
This example is almost identical with example chapter17_03. In fact, it performs
the same CRC calculations and uses essentially the same code technical methods
for accessing traditional C-language code within a modern C++ project.
Example chapter17_03a, however, distributes the CRC calculations
over multitasking using time slices.
For further informatin on the examples, see the readme notes in each individual example directory.