PropWare  3.0.0.229
C++ objects and CMake build system for Parallax Propeller
Utility_Demo.cpp

Demonstrate numerous different methods of the PropWare::Utility class

cmake_minimum_required(VERSION 3.12)
find_package(PropWare REQUIRED)
project(Utility_Demo)
create_simple_executable(${PROJECT_NAME} Utility_Demo.cpp)
// Includes
static void sampleCountBits ();
static void sampleTimeMeasurement ();
static void sampleFreeMemory ();
int main () {
pwOut.println("Hello! Let's explore some of PropWare's utility functions");
sampleCountBits();
sampleTimeMeasurement();
sampleFreeMemory();
return 0;
}
void sampleTimeMeasurement () {
unsigned int start = CNT;
pwOut.println("\n/*** Timing Events ***/");
pwOut.println("But how long does it take to send each of these messages?");
uint32_t timeInMicros = Utility::measure_time_interval(start);
pwOut.printf("Well that previous message took precisely %u microseconds.\n", timeInMicros);
}
void sampleCountBits () {
int bits = 0x42;
pwOut.println("\n/*** Counting Bits in a Variable ***/");
pwOut.printf("How many bits are set in 0x%02X?\n", bits);
pwOut.printf("\tThe answer is... %u\n", Utility::count_bits(bits));
}
void sampleFreeMemory () {
pwOut.println("\n/*** Free Memory Determination ***/");
pwOut.printf("The largest contiguous block of free memory is %u bytes\n",
Utility::get_largest_free_block_size());
}
printer.h
PropWare::Printer::printf
void printf(const char fmt[], const T first, const Targs... remaining) const
Similar in functionality to the C-standard function printf.
Definition: printer.h:497
PropWare::Utility
Definition: utility.h:35
utility.h
main
int main(void)
Definition: GraphicsTest.c:20
PropWare.h
pwOut
PropWare::Printer pwOut
Most common use of printing in PropWare applications (not thread safe; see PropWare::pwSyncOut for mu...
CNT
#define CNT
The system clock count.
Definition: propeller1.h:151
PropWare
Generic definitions and functions for the Parallax Propeller.
Definition: runnable.h:33
PropWare::Printer::println
void println(const char string[]) const
Print a null-terminated string followed by a newline (' ')
Definition: printer.h:599