)formatting

master
Ondřej Hruška 7 years ago
parent 2d58ca3e1f
commit 2204211cb4
  1. 22
      main.c

@ -22,6 +22,7 @@ void setup_io(void)
as_output(PIN_DISP_CP); as_output(PIN_DISP_CP);
as_output(PIN_DISP_D); as_output(PIN_DISP_D);
as_output(PIN_DISP_STR); as_output(PIN_DISP_STR);
as_output(PIN_DISP_OE);
as_input(PIN_KEY_1); as_input(PIN_KEY_1);
as_input(PIN_KEY_2); as_input(PIN_KEY_2);
@ -29,12 +30,11 @@ void setup_io(void)
as_input(PIN_KEY_4); as_input(PIN_KEY_4);
as_output(PIN_NEOPIXEL); as_output(PIN_NEOPIXEL);
as_output(PIN_DISP_OE); as_output(PIN_NEOPIXEL_PWRN);
pin_up(PIN_NEOPIXEL_PWRN); // turn neopixels OFF
as_input(PIN_PWR_KEY); as_input(PIN_PWR_KEY);
as_output(PIN_PWR_HOLD); as_output(PIN_PWR_HOLD);
as_output(PIN_NEOPIXEL_PWRN);
pin_up(PIN_NEOPIXEL_PWRN); // turn neopixels OFF
// PIN_LIGHT_SENSE is ADC exclusive, needs no config // PIN_LIGHT_SENSE is ADC exclusive, needs no config
} }
@ -50,7 +50,7 @@ void setup_pwm(void)
{ {
OCR2B = disp_brightness = 0xFF; OCR2B = disp_brightness = 0xFF;
TCCR2A |= _BV(WGM20) | _BV(WGM21) | _BV(COM2B1); TCCR2A |= _BV(WGM20) | _BV(WGM21) | _BV(COM2B1);
TIMSK2 |= _BV(TOIE2); TIMSK2 |= _BV(TOIE2); // enable ISR
TCCR2B |= _BV(CS20); TCCR2B |= _BV(CS20);
adc_start_conversion(LIGHT_ADC_CHANNEL); adc_start_conversion(LIGHT_ADC_CHANNEL);
@ -69,7 +69,7 @@ ISR(TIMER2_OVF_vect)
} }
/** /**
* Let's gooo * Main function
*/ */
void main() void main()
{ {
@ -78,10 +78,13 @@ void main()
setup_io(); setup_io();
// Stay on // The Arduino bootloader waits ~ 2 seconds after power on listening on UART,
pin_up(D13); // the on-board LED (also SPI clk) // which in this case also serves as a debounce delay for the power switch
pin_up(D13); // the on-board LED (also SPI clk) - indication for the user
// Stay on - hold the EN pin high
pin_up(PIN_PWR_HOLD); pin_up(PIN_PWR_HOLD);
// Wait for user to release the power key // Wait for user to release the power key (no debounce needed here)
while (pin_is_high(PIN_PWR_KEY)); while (pin_is_high(PIN_PWR_KEY));
// SPI conf // SPI conf
@ -90,7 +93,8 @@ void main()
adc_init(ADC_PRESC_128); adc_init(ADC_PRESC_128);
setup_pwm(); setup_pwm();
// Turn neopixels ON // Turn neopixels power ON - voltage will have stabilized by now
// and no glitches should occur
pin_down(PIN_NEOPIXEL_PWRN); pin_down(PIN_NEOPIXEL_PWRN);
// globally enable interrupts // globally enable interrupts

Loading…
Cancel
Save