From 8692b71fd8efe7339e90e22cf67df156934d66e0 Mon Sep 17 00:00:00 2001 From: Brooke Date: Mon, 28 Apr 2025 00:00:41 -0400 Subject: [PATCH] Fix several bugs --- .../tinyNeoPixel_Static.cpp | 2 +- fw/HackSpaceCon_AS7/HSC_Wand/HSC_Wand.cppproj | 20 +++++++++++++++++-- fw/HackSpaceCon_AS7/HSC_Wand/isr.cpp | 2 +- fw/HackSpaceCon_AS7/HSC_Wand/wand_program.cpp | 5 ++++- 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/fw/HackSpaceCon_AS7/Arduino/arduino_libraries/tinyNeoPixel_static/tinyNeoPixel_Static.cpp b/fw/HackSpaceCon_AS7/Arduino/arduino_libraries/tinyNeoPixel_static/tinyNeoPixel_Static.cpp index 7e511bd..2cf1aa6 100644 --- a/fw/HackSpaceCon_AS7/Arduino/arduino_libraries/tinyNeoPixel_static/tinyNeoPixel_Static.cpp +++ b/fw/HackSpaceCon_AS7/Arduino/arduino_libraries/tinyNeoPixel_static/tinyNeoPixel_Static.cpp @@ -101,7 +101,7 @@ void tinyNeoPixel::show(uint16_t leds) { // subsequent round of data until the latch time has elapsed. This // allows the mainline code to start generating the next frame of data // rather than stalling for the latch. - while (!canShow()); + // while (!canShow()); // endTime is a private member (rather than global var) so that multiple // instances on different pins can be quickly issued in succession (each // instance doesn't delay the next). diff --git a/fw/HackSpaceCon_AS7/HSC_Wand/HSC_Wand.cppproj b/fw/HackSpaceCon_AS7/HSC_Wand/HSC_Wand.cppproj index e70f775..d42be1e 100644 --- a/fw/HackSpaceCon_AS7/HSC_Wand/HSC_Wand.cppproj +++ b/fw/HackSpaceCon_AS7/HSC_Wand/HSC_Wand.cppproj @@ -40,6 +40,22 @@ + com.atmel.avrdbg.tool.snap + 021038102RYN + 0x1E9227 + UPDI + + + + 750000 + + UPDI + + com.atmel.avrdbg.tool.snap + 021038102RYN + MPLABĀ® Snap + + 750000 @@ -174,7 +190,7 @@ Optimize for size (-Os) - -fno-threadsafe-statics -flto + -fno-threadsafe-statics True True Default (-g2) @@ -185,7 +201,7 @@ libm - -Os -fuse-linker-plugin -flto + -Os -fuse-linker-plugin %24(PackRepoDir)\atmel\ATtiny_DFP\1.10.348\include\ diff --git a/fw/HackSpaceCon_AS7/HSC_Wand/isr.cpp b/fw/HackSpaceCon_AS7/HSC_Wand/isr.cpp index ec4bd66..7c0fd8b 100644 --- a/fw/HackSpaceCon_AS7/HSC_Wand/isr.cpp +++ b/fw/HackSpaceCon_AS7/HSC_Wand/isr.cpp @@ -33,7 +33,7 @@ ISR(PORTA_PORT_vect) delay(5); // was our pin changed? - if (intflags & PIN3_bm) { + if (intflags & PIN2_bm) { // start or re-start running a program run_rgbprog = 1; // run a new program } diff --git a/fw/HackSpaceCon_AS7/HSC_Wand/wand_program.cpp b/fw/HackSpaceCon_AS7/HSC_Wand/wand_program.cpp index c1858da..6d7c1d0 100644 --- a/fw/HackSpaceCon_AS7/HSC_Wand/wand_program.cpp +++ b/fw/HackSpaceCon_AS7/HSC_Wand/wand_program.cpp @@ -123,7 +123,10 @@ void loop() { switch (run_rgbprog) { case RGB_INIT: { // just started running a program digitalWrite(PIN_LED_PWRENA, HIGH); // enable LED power supply, - delay(20); // wait a moment for LEDs to stabilize, + delay(15); // wait a moment for LEDs to stabilize, + /*for (uint16_t i = 0; i < (8000000UL / 4 / 1000) * 20; i++) { + asm("nop"); + }*/ rgbprog_idx++; // select the next program in sequence, if (rgbprog_idx >= PROG_COUNT) {