From 90227ef8d65052622d09698dc80a27cd67f4bc0a Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Wed, 30 Mar 2022 16:44:04 -0700 Subject: More example stuff --- Common.mk | 2 +- usr/cxx.cpp | 32 ++++++++++++++++++-------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Common.mk b/Common.mk index 5ca4a58..c365ba5 100644 --- a/Common.mk +++ b/Common.mk @@ -40,7 +40,7 @@ OBJDUMP = ${CROSS}-objdump QEMU = qemu-system-arm GDB = gdb-multiarch CFLAGS = -mcpu=cortex-a7 -fpic -ffreestanding -std=gnu99 -O3 -Wall -Wextra -nostdlib -Iinclude -g -CXXFLAGS = -mcpu=cortex-a7 -fpic -ffreestanding -O3 -Wall -Wextra -nostdlib -Iinclude -g +CXXFLAGS = -mcpu=cortex-a7 -fpic -ffreestanding -fno-exceptions -O3 -Wall -Wextra -nostdlib -Iinclude -g CFLAGS += -DVERSION="\"0.9z\"" AFLAGS = -mcpu=cortex-a7 -Iinclude -g QFLAGS = -M raspi2b -cpu cortex-a7 -m 1G diff --git a/usr/cxx.cpp b/usr/cxx.cpp index 0c41cca..2240d25 100644 --- a/usr/cxx.cpp +++ b/usr/cxx.cpp @@ -1,24 +1,28 @@ extern "C" { -#include +#include +#include }; -class TestClass { +class Substation { public: - unsigned long value; - TestClass(unsigned long v) { - value = v; - } - void increment() { - value++; - } - void increment(unsigned long v) { - value += v; + unsigned long temperature; + unsigned long critical_temperature; + unsigned long current_production; + unsigned long max_production; + unsigned long current_load; + Substation(unsigned long ct, unsigned long mp) { + temperature = 0; + current_production = 0; + current_load = 0; + critical_temperature = ct; + max_production = mp; } }; extern "C" void cpp_demo(unsigned long v) { - TestClass tc = TestClass(v); - tc.increment(); - uart_hexn(tc.value); + Substation s = Substation(120000+10*v, 95000000 - 23*v); + char str[14]; + char* start = ulong_to_string(s.max_production, str); + draw_string(0, 15, start); } -- cgit v1.2.1