From 2490b24a1ced7372e4462c60802748e426901da1 Mon Sep 17 00:00:00 2001 From: Nao Pross Date: Tue, 8 May 2018 16:21:33 +0200 Subject: Add notes, rename gpio class to gpio_pin and rename led variables --- main.cpp | 53 +++++++++++++++++++++++++++++------------------------ 1 file changed, 29 insertions(+), 24 deletions(-) (limited to 'main.cpp') diff --git a/main.cpp b/main.cpp index de37652..4d00772 100644 --- a/main.cpp +++ b/main.cpp @@ -5,6 +5,7 @@ * Created on May 1, 2018, 6:18 PM */ +// Note: there is some debug code in uart.tpp that controls the RGB led // #define DEBUG // basic devices @@ -54,7 +55,7 @@ std::vector split(const std::string& str, const char sep) return v; } -int main(int argc, char** argv) +int main(int argc, char *argv[]) { osc::initialize(); interrupts::initialize(); @@ -69,14 +70,14 @@ int main(int argc, char** argv) io_pin<7> led3_pin(&LATEbits, &TRISEbits, &PORTEbits); // build leds - led led1(static_cast(&led1_pin), led::color::RED); - led led2(static_cast(&led2_pin), led::color::GREEN); - led led3(static_cast(&led3_pin), led::color::YELLOW); + led led_red(static_cast(&led1_pin), led::color::RED); + led led_green(static_cast(&led2_pin), led::color::GREEN); + led led_yellow(static_cast(&led3_pin), led::color::YELLOW); #ifdef DEBUG - led1.set(1); - led2.set(1); - led3.set(1); + led_red.set(1); + led_green.set(1); + led_yellow.set(1); uart::write<1>("started\n\r"); #endif @@ -90,11 +91,15 @@ int main(int argc, char** argv) do { input += uart::read_wait<1>(); + // Note: does not work with teraterm on windows // DEL character if (input.back() == '\x7f') { input.pop_back(); - input.pop_back(); - uart::write<1>("\b \b"); + + if (input.size() > 1) { + input.pop_back(); + uart::write<1>("\b \b"); + } } } while (input.back() != '\r' && input.back() != '\n'); @@ -140,9 +145,9 @@ int main(int argc, char** argv) if (command[0] == "show") { if (command[1] == "led") { if (command[2] == "all") { - uart::print<1>(led1.to_string()); - uart::print<1>(led2.to_string()); - uart::print<1>(led3.to_string()); + uart::print<1>(led_red.to_string()); + uart::print<1>(led_green.to_string()); + uart::print<1>(led_yellow.to_string()); } } } @@ -162,31 +167,31 @@ int main(int argc, char** argv) if (command[1] == "led") { if (command[2] == "red") { if (command[3] == "on") { - led1.set(1); + led_red.set(1); } else if (command[3] == "off") { - led1.set(0); + led_red.set(0); } } else if (command[2] == "green") { if (command[3] == "on") { - led2.set(1); + led_green.set(1); } else if (command[3] == "off") { - led2.set(0); + led_green.set(0); } } else if (command[2] == "yellow") { if (command[3] == "on") { - led3.set(1); + led_yellow.set(1); } else if (command[3] == "off") { - led3.set(0); + led_yellow.set(0); } } else if (command[2] == "all") { if (command[3] == "on") { - led1.set(1); - led2.set(1); - led3.set(1); + led_red.set(1); + led_green.set(1); + led_yellow.set(1); } else if (command[3] == "off") { - led1.set(0); - led2.set(0); - led3.set(0); + led_red.set(0); + led_green.set(0); + led_yellow.set(0); } } } -- cgit v1.2.1