Commit graph

12 commits

Author SHA1 Message Date
6eb515e2d4 Display digits and integers
Display digits and integers, for the later displaying leading zeroes
is supported via parameter. Demo integers are displayed in the setup
screen.
2021-09-11 00:19:59 +02:00
19c0f141a4 Add setup screen
In order to draw the setup screen, several character symbols are
added. The `lcd_setup` function, which draws the setup screen, as well
as the `update_setup` function, that updates the setup screens state,
are added.
2021-09-09 20:50:52 +02:00
9c496e765d Refactor state handling
In order to improve the handling of states the `state` enum is also
used for saving the `home_state`, which was previously called
`current_home_state`. All dependent functions were adapted to the
change.

The `volatile` keyword was added to some variables.
2021-09-09 20:40:50 +02:00
6746d34b2f Handle switch input
The `input` enum is extended with `click` and `hold` values and all
dependencies are adapted to that. In order to handle the `click` input
an interrupt is used. Further, for handling held button input with the
switch the Timer/Counter1 compare match interrupt with OCR1A is used.
2021-09-09 20:19:40 +02:00
e099b0f94a Move clock speed setting into makefile
Move clock speed setting into makefile.
2021-09-09 20:01:23 +02:00
727f89eeb0 Basic state handling
Prepare for handling of different screens and their states and add a
minimal menu.
2021-09-08 14:53:29 +02:00
cd2c6cf196 Improve splash screen
The splash screen blob is now splitted in to parts in order to reduce
zero valued memory space.
2021-09-08 14:04:07 +02:00
86ec90b202 Minimal encoder input handling
It is now possible to act on the encoders input. No effort regarding
debouncing and dechattering has been done yet.
2021-09-08 13:58:24 +02:00
3b2bf1d967 Remove unnecessary memory for spash screen
When `lcd_fill(0x00)` is called before drawing the splash screen and
only a part of the image is stored as done now, some memory in the
`.bss` segment can be used for something else.
2021-03-01 16:45:03 +01:00
d14f1c33e0 Draw splash screen
Hail sacred chao, kallisti!
2021-02-27 15:17:01 +01:00
7f7d7b628a Interact with the display
Enable the SPI bus to configure the display and program its ram. For
that the fastest available SPI clock is used. To configure the display
a minimal config is used which is not identical but similar to the
displays datasheet. The display can only be filled columnwise so far.
2021-02-27 02:26:57 +01:00
0065fb630f Generate a PWM signal for the display
Generate a variable duty cycle PWM signal for the dimmable display
backlight at a frequency of 1.25kHz.

For demo und testing purposes PD5 is currently fading between 0 and
100%.
2021-02-19 15:46:36 +01:00