altos: Place AS1107 in 'normal' mode at end of init sequence
authorKeith Packard <keithp@keithp.com>
Sun, 9 Apr 2017 19:51:49 +0000 (12:51 -0700)
committerKeith Packard <keithp@keithp.com>
Sun, 9 Apr 2017 19:51:49 +0000 (12:51 -0700)
This makes sure the device is out of reset mode while initializing,
and then placed in normal mode to turn on the display.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/drivers/ao_as1107.c

index 0b83ab2cbd3d88bffe5aafe00b5babcc5c891dae..e0172d959c46e6875ad75d6af5b7bab8a48da4dc 100644 (file)
@@ -44,8 +44,10 @@ _ao_as1107_setup(void)
        if (!as1107_configured) {
                as1107_configured = 1;
                _ao_as1107_cmd(AO_AS1107_SHUTDOWN, AO_AS1107_SHUTDOWN_SHUTDOWN_RESET);
+               _ao_as1107_cmd(AO_AS1107_SHUTDOWN, AO_AS1107_SHUTDOWN_SHUTDOWN_NOP);
                _ao_as1107_cmd(AO_AS1107_DECODE_MODE, AO_AS1107_DECODE);
                _ao_as1107_cmd(AO_AS1107_SCAN_LIMIT, AO_AS1107_NUM_DIGITS - 1);
+               _ao_as1107_cmd(AO_AS1107_INTENSITY, 0x0f);
                _ao_as1107_cmd(AO_AS1107_FEATURE,
                               (0 << AO_AS1107_FEATURE_CLK_EN) |
                               (0 << AO_AS1107_FEATURE_REG_RES) |
@@ -55,6 +57,7 @@ _ao_as1107_setup(void)
                               (0 << AO_AS1107_FEATURE_BLINK_FREQ) |
                               (0 << AO_AS1107_FEATURE_SYNC) |
                               (0 << AO_AS1107_FEATURE_BLINK_START));
+               _ao_as1107_cmd(AO_AS1107_SHUTDOWN, AO_AS1107_SHUTDOWN_NORMAL_NOP);
        }
 }