Skip to content

Commit e9d2851

Browse files
Fix links using image syntax and heading syntax
1 parent a099f13 commit e9d2851

1 file changed

Lines changed: 26 additions & 28 deletions

File tree

examples/readme.md

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
Real-Time-C++ - Examples
2-
==================
1+
# Real-Time-C++ - Examples
32

43
<p align="center">
54
<a href="https://github.com/ckormanyos/real-time-cpp/actions">
@@ -10,7 +9,7 @@ Real-Time-C++ - Examples
109
<img src="https://img.shields.io/badge/try%20it%20on-godbolt-green" alt="godbolt"></a>
1110
</p>
1211

13-
These examples are motivated by the book
12+
These examples are motivated by the book
1413
C.M. Kormanyos,
1514
[Real-Time C++](https://www.springer.com/de/book/9783662629956):
1615
Efficient Object-Oriented
@@ -31,103 +30,102 @@ providing a DIY challenge at an advanced level.
3130

3231
## Summary of the Examples
3332

34-
Example ![chapter02_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_02) The LED program.\
33+
Example [chapter02_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_02) The LED program.\
3534
This example implements the LED program (blinky) for the target with the 8-bit microcontroller.
3635

37-
Example ![chapter02_03](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_03) The LED program with timing.\
36+
Example [chapter02_03](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_03) The LED program with timing.\
3837
This example implements the LED program (with timing) for the target with the 8-bit microcontroller.
3938

40-
Example ![chapter02_03a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_03a) The LED program with cooperative multitasking scheduler.\
39+
Example [chapter02_03a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_03a) The LED program with cooperative multitasking scheduler.\
4140
This example implements the LED program with a tiny cooperative multitasking scheduler for the target with the 8-bit microcontroller.
4241

43-
Example ![chapter02_06](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_06) The Led Program (with template LED class).\
42+
Example [chapter02_06](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_06) The Led Program (with template LED class).\
4443
This example implements the LED program with a template LED class for the target with the 8-bit microcontroller.
4544

46-
Example ![chapter03_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter03_02) Integer Types Having Fixed Widths and Prime Numbers.\
45+
Example [chapter03_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter03_02) Integer Types Having Fixed Widths and Prime Numbers.\
4746
This example focuses on integer types having fixed widths using a fascinating calculation
4847
of prime numbers that is simultaneously intended to emphasize the usefulness and portability
4948
of fixed-width integer types.
5049

51-
Example ![chapter04_04](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter04_04) LED Objects and Polymorphism.\
50+
Example [chapter04_04](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter04_04) LED Objects and Polymorphism.\
5251
This example exhibits object oriented polymorphism through
5352
an intuitive LED class hierarchy. Base class pointers stored in an
5453
`std::array` are used in combination with dynamic polymorphism.
5554

56-
Example ![chapter04_04a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter04_04a) LED Objects and Polymorphism via References.\
55+
Example [chapter04_04a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter04_04a) LED Objects and Polymorphism via References.\
5756
This example exhibits object oriented polymorphism in essentially the same
5857
way as in example chapter04_04. In example chapter04_04a, however, we use base class
5958
references instead of base class pointers stored in an `std::array`
6059
in order to utilize object oriented polymorphism.
6160

62-
Example ![chapter06_01](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter06_01) A CRC Benchmark.\
61+
Example [chapter06_01](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter06_01) A CRC Benchmark.\
6362
This example illustrates certain optimization techniques through the calculation
6463
of a standard CRC32 checksum (cycle redundancy check).
6564

66-
Example ![chapter06_14](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter06_14) A CRC Benchmark with ROM-Based Table and Data.\
65+
Example [chapter06_14](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter06_14) A CRC Benchmark with ROM-Based Table and Data.\
6766
This example features essentially the same functionality as example chapter06_01.
6867
The checksum table and benchmark data, however, are ROM-able.
6968

70-
Example ![chapter09_07](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_07) Controlling a Seven Segment Display.\
69+
Example [chapter09_07](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_07) Controlling a Seven Segment Display.\
7170
This example makes use of object oriented programming methods to control a seven segment display.
7271

73-
Example ![chapter09_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08) Controlling an RGB LED.\
72+
Example [chapter09_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08) Controlling an RGB LED.\
7473
This example utilizes object oriented programming techniques to control an RGB LED.
7574

76-
Example ![chapter09_08a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08a) Controlling an RGB LED of Type WS2812.\
75+
Example [chapter09_08a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08a) Controlling an RGB LED of Type WS2812.\
7776
This example controls an RGB LED using programming techniques similar to those used in the previous example.
7877
There are, however, several differences such as the refactored, modernized LED-class hierarchy.
7978
The main difference, however, is that a _digitally_-controlled industry-standard
8079
RGB LED of type WS2812 is used. In addition, the color transitions at and around $255~\text{bits}$-RGB
8180
are slowed down providing emphasized, longer-lasting RGB hues near these points.
8281

83-
Example ![chapter09_08b](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08b) Controlling an RGB LED of Type WS2812 (variation 32-bit microcontroller).\
82+
Example [chapter09_08b](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter09_08b) Controlling an RGB LED of Type WS2812 (variation 32-bit microcontroller).\
8483
Example chapter09_08b utilizes essentially the same techniques to control its ws2812 RGB LED
8584
as were used in Example Chapter09_08a. In variation 09_08b, however,
8685
the open-platform [STM32F100 Value Line Discovery Kit](https://www.st.com/en/evaluation-tools/stm32vldiscovery.html)
8786
is used.
8887

89-
90-
Example ![chapter10_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_08) External SPI RAM and Computing $10,001$ Digits of Pi.\
88+
Example [chapter10_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_08) External SPI RAM and Computing $10,001$ Digits of Pi.\
9189
This advanced example extends available RAM via SPI SRAM chips and uses a Pi Spigot algorithm
9290
to compute $10,001$ digits of the mathematical constant $\pi$
9391
showing fascinating memory management iterators, containers and algorithms along the way.
9492
This example depicts algorithmic complexity running in a real-world system
9593
and highlights the real-time numeric expression of the detailed description
9694
of algorithmic complexity in the corresponding book section.
9795

98-
Example ![chapter10_08a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_08a) Parallel SRAM and Computing $100,001$ Digits of Pi.\
96+
Example [chapter10_08a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_08a) Parallel SRAM and Computing $100,001$ Digits of Pi.\
9997
This advanced example extends RAM even further with a $2~\text{MByte}$ parallel SRAM brick. This extended memory
10098
is used for storage in Pi Spigot calculations
10199
of the mathematical constant $\pi$ up to $100,001$ decimal digits.
102100

103-
Example ![chapter10_09](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_09) $100,001$ Digits of Pi on Raspberry Pi(R).\
101+
Example [chapter10_09](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter10_09) $100,001$ Digits of Pi on Raspberry Pi(R).\
104102
This advanced example ports the Pi Spigot calculation
105103
of $100,001$ decimal digits of $\pi$
106104
to the powerful ARM(R)-based Raspberry Pi(R) single-board computer.
107105

108-
Example ![chapter11_07](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter11_07) Preemptive Multitasking.\
106+
Example [chapter11_07](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter11_07) Preemptive Multitasking.\
109107
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.
110108

111-
Example ![chapter11_07a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter11_07a) Preemptive Multitasking and an Advanced, Memory-Intensive Mathematical Calculation.\
109+
Example [chapter11_07a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter11_07a) Preemptive Multitasking and an Advanced, Memory-Intensive Mathematical Calculation.\
112110
In this example, advanced use of preemptive multitasking scheduling is used to combine a blinky-style application with a highly detailed and exciting calculation of the mathematical constant $\pi$ to high precision in the background task.
113111

114-
Example ![chapter12_04](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter12_04) Benchmarking Floating-Point Calculations.\
112+
Example [chapter12_04](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter12_04) Benchmarking Floating-Point Calculations.\
115113
This example performs a variety of floating-point calculations of selected special functions of pure and applied mathematics.
116114

117-
Example ![chapter12_04a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter12_04a) Benchmarking Floating-Point Calculations (variation 32-bit microcontroller).\
115+
Example [chapter12_04a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter12_04a) Benchmarking Floating-Point Calculations (variation 32-bit microcontroller).\
118116
The same special functions and arguments are used as in Example Chapter12_04. In variation 12_04a, however,
119117
the open-platform [STM32F100 Value Line Discovery Kit](https://www.st.com/en/evaluation-tools/stm32vldiscovery.html)
120118
is used directly out-of-the-box.
121119

122-
Example ![chapter16_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter16_08) Generating and displaying 128-bit Random Prime Numbers.\
120+
Example [chapter16_08](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter16_08) Generating and displaying 128-bit Random Prime Numbers.\
123121
This advanced example uses an extended integer class to create 128-bit unsigned prime integers with primality testing performed via Miller-Rabin.
124122
This example also provides fascinating, intuitive, visual insight into the prime number theory of pure mathematics.
125123

126-
Example ![chapter17_03](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter17_03) Traditional C Language Code in a Modern C++ Project.\
124+
Example [chapter17_03](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter17_03) Traditional C Language Code in a Modern C++ Project.\
127125
This example depicts some methods that potentially allow the successful use
128126
of traditional C-language code within a modern C++ project.
129127

130-
Example ![chapter17_03a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter17_03a) Traditional C-Language in Modern C++, Using Time Slices.\
128+
Example [chapter17_03a](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter17_03a) Traditional C-Language in Modern C++, Using Time Slices.\
131129
This example is almost identical with example chapter17_03. In fact, it performs
132130
the same CRC calculations and uses essentially the same code technical methods
133131
for accessing traditional C-language code within a modern C++ project.
@@ -148,7 +146,7 @@ in each individual example directory.
148146

149147
Use this [short link](https://godbolt.org/z/fxWzb6h6f)
150148
to [godbolt](https://godbolt.org) in order to further explore
151-
Example ![chapter02_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_02)
149+
Example [chapter02_02](https://github.com/ckormanyos/real-time-cpp/tree/master/examples/chapter02_02)
152150
(the LED program). In the link, the main source file of the example
153151
is compiled with a modern `avr-gcc` compiler and the compiler-generated
154152
assembly listing can also be investigated.

0 commit comments

Comments
 (0)