Browse Source

Minor code fixes

Kevin Lee 5 years ago
parent
commit
4d19377469

+ 1 - 1
Nixie_Firmware_Mbed/Makefile

@@ -19,7 +19,7 @@ ifeq (,$(filter $(OBJDIR),$(notdir $(CURDIR))))
 .SUFFIXES:
 mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
 MAKETARGET = '$(MAKE)' --no-print-directory -C $(OBJDIR) -f '$(mkfile_path)' \
-		'SRCDIR=$(CURDIR)' $(MAKECMDGOALS)
+		'SRCDIR=$(CURDIR)' $(MAKECMDGOALS) -j 10
 .PHONY: $(OBJDIR) clean
 all:
 	+@$(call MAKEDIR,$(OBJDIR))

+ 14 - 7
Nixie_Firmware_Mbed/animation.cpp

@@ -32,7 +32,7 @@ void Animate_Cycle_Analog(int iterations) {
     for (int i = 0; i < iterations; i++) {
         
         PCA9685_EnableOutput(false);
-        float minVoltage = 0.09;
+        float minVoltage = 0.10;
         
         for (int j = 0; j < 4; j++) {    
             PCA9685_SetDigit(j, i, PCA9685_Max_Brightness);
@@ -78,21 +78,21 @@ void Animate_Cycle_Low_Pwm(int iterations) {
     PCA9685_SetVoltage(1.0);
     PCA9685_SetDot(PCA9685_Min_Brightness);
 
-    int pwmMaxBrightness = 200;
+    int pwmMaxBrightness = 300;
     for (int i = 0; i < iterations; i++) {
         for (int k = PCA9685_Min_Brightness; k <= pwmMaxBrightness; k++) {
             for (int j = 0; j < 4; j++) {
                 PCA9685_SetDigit(j, i, k);
                 PCA9685_SetDot(k);
             }
-            wait(0.01);
+            wait(0.005);
         }      
         for (int k = PCA9685_Min_Brightness; k <= pwmMaxBrightness; k++) {
             for (int j = 0; j < 4; j++) {
                 PCA9685_SetDigit(j, i, pwmMaxBrightness-k);
                 PCA9685_SetDot(pwmMaxBrightness-k);;
             }
-            wait(0.01);
+            wait(0.005);
         }      
         wait(0.2);
     }
@@ -127,6 +127,13 @@ void Animate_Cycle_Fade(int iterations) {
     PCA9685_SetVoltage(1.0);
     PCA9685_SetDot(PCA9685_Min_Brightness);
     
+    for (int k = PCA9685_Min_Brightness; k <= PCA9685_Max_Brightness; k += 4) {
+        for (int j = 0; j < 4; j++) {
+            PCA9685_SetDigit(j, 0, k);
+        }
+        wait(0.00001);
+    }
+
     for (int i = 0; i < iterations; i++) {
         int i_next = (i == 9) ? 0 : i+1;
         for (int k = PCA9685_Min_Brightness; k <= PCA9685_Max_Brightness; k += 4) {
@@ -167,7 +174,7 @@ void Animate_Cycle_Fade_Random(int iterations) {
         for (int j = 0; j < 4; j++) {
             PCA9685_SetDigit(j, i_curr[j], k);
         }
-        wait(0.00005);
+        wait(0.00001);
     }
         
     for (int iter = 0; iter < iterations; iter++) {
@@ -188,7 +195,7 @@ void Animate_Cycle_Fade_Random(int iterations) {
             } else {
                 PCA9685_SetDot(PCA9685_Max_Brightness-k);
             }
-            wait(0.00005);
+            wait(0.00001);
         }
         wait(0.2);
         
@@ -200,7 +207,7 @@ void Animate_Cycle_Fade_Random(int iterations) {
         for (int j = 0; j < 4; j++) {
             PCA9685_SetDigit(j, i_curr[j], k);
         }
-        wait(0.00005);
+        wait(0.00001);
     }
 }
 

+ 15 - 13
Nixie_Firmware_Mbed/main.cpp

@@ -208,19 +208,6 @@ int main() {
     // Bump I2C frequency to 1MHz
     // i2c.frequency(1000000);
 
-    // Setup a ticker to refresh the display at 1kHz
-    RefreshTicker.attach_us(RefreshTickerCallback, REFRESH_RATE_US);
-
-    // Kick off the RNG timeout
-    int nextRngTimeout = DIGIT_RNG_REFRESH_INTERVAL + (rand() % DIGIT_RNG_REFRESH_VARIANCE);
-    RngRefreshTimeout.attach(RngTickerCallback, nextRngTimeout);
-
-    // DS3231_SetTime(0, 55, 6, true);
-    // DS3231_SetDate(0, 2, 12, 18, 0);
-
-    RngUpdateIteration = DIGIT_RNG_FADE_ITERATIONS;
-    RngUpdateCallback();
-
     // Animate_Cycle_Basic(10);
     // Animate_Cycle_Analog(10);
     // Animate_Cycle_Low_Pwm(10);
@@ -229,7 +216,22 @@ int main() {
     // Animate_Cycle_Fade_Random(10);
     // Animate_Cycle_Fast(10);
     // Animate_Cycle_Fast_Random(100);
+
+    // wait(3);
         
+    // DS3231_SetTime(00, 24, 10, true);
+    // DS3231_SetDate(6, 17, 2, 19, 0);
+
+    // Setup a ticker to refresh the display at 1kHz
+    RefreshTicker.attach_us(RefreshTickerCallback, REFRESH_RATE_US);
+
+    // Kick off the RNG timeout animation on startup
+    int nextRngTimeout = DIGIT_RNG_REFRESH_INTERVAL + (rand() % DIGIT_RNG_REFRESH_VARIANCE);
+    RngRefreshTimeout.attach(RngTickerCallback, nextRngTimeout);
+
+    RngUpdateIteration = DIGIT_RNG_FADE_ITERATIONS;
+    RngUpdateCallback();
+
     while(1) {
 
         // On every refresh tick, update the display with new values

+ 1 - 1
Nixie_Firmware_Mbed/pca9685.cpp

@@ -71,7 +71,7 @@ void PCA9685_SetDigit(int Tube, int Digit, int Brightness) {
 void PCA9685_SetDot(int Brightness) {
     LED_CTRL reg = {0};
 
-    Brightness /= 3;
+    Brightness /= 4;
     
     if (Brightness == 0) {
         reg.OFF_FULL = 1;