I also don't know if I should've mentioned I'm using an Adafruit Trinket. I know some the the code is slightly different from their example sketches.
PaulS:
#define IonLED 0
#define PIN 1
Get that crap off the hardware serial pins, so you can debug your code.
Sorry, not sure what you mean by getting off the serial pins so I can debug.
PaulS:
digitalWrite(laserSWITCH, HIGH);
digitalWrite(IonSWTICH, HIGH);
WTF? Why are you writing to INPUT pins?
That was something I saw in an example. It works, so didn't know it was not a way to do it.
PaulS:
void engineBrighten();Why do you have a function prototype in the middle of setup()?
again, from another example. But this part of my sketch works just fine, so didn't know it wasn't correct.
PaulS:
} while (i < 255, c > 0);Why are you misusing the comma operator?
And another example from a sketch, and again, a portion of my sketch that works perfectly fine though.
PaulS:
Add a Serial.begin() call and some Serial.print() statements to figure out what your code is doing. Debugging by guessing sucks.
That's something I guess I need to research more to see how that works.