Commit graph

13 commits

Author SHA1 Message Date
finga 343b95dc78 fw-rust: Refactor printing to the LCD
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
Pass iterators for control and display data to the printing function
instead of just printing it.
2022-04-10 18:18:37 +02:00
finga 027a3b3444 fw-rust: Remove module prefix if already used.
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Now, use everywhere `block!` instead of `nb::block!`, except when only
used once.
2022-04-08 01:26:30 +02:00
finga 2fe25e584f fw-rust: Configure display temperature curve
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Set the temperature compensation curve to -0.11%/°C.
2022-04-08 00:18:06 +02:00
finga e6bf3e780e fw-rust: Improve control/display toggle times
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Optimize the control data/display data slope timing. This closes #1.
2022-04-07 12:13:34 +02:00
finga 9b7bfb0562 fw-rust: Improve readability
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-04-03 01:40:18 +02:00
finga 791a0a0245 fw-rust: Use DefaultClock type alias everywhere
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-04-03 01:40:18 +02:00
finga c36581e703 fw-rust: Make Si5351 useable
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
In order to make the Si5351 configurable add some needed assets,
create the ability to print the frequency with selected digits and add
a channel screen.
2022-04-03 01:40:15 +02:00
finga 52bf0e6eec fw-rust: Prepare to implement Si5351 commands
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Show settings of Si5351 channels on home screen. Initialize I2c and
Si5351.
2022-04-01 01:55:07 +02:00
finga fdd1f4636d fw-rust: Refactor everything
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Remove avr-eeprom dependency for now and introduce events.
2022-03-30 22:59:24 +02:00
finga 63cc1c9d0f fw-rust: Remove clear() function for LCD
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Use `fill_area()` instead of `clear()` to clear the the display.
2022-03-22 17:36:09 +01:00
finga 08a371062d fw-rust: Refactor init function of the LCD
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Use an array for the init sequence commands and iterate over it.
2022-03-21 12:46:18 +01:00
finga 7d8f5f6870 fw-rust: Create a print u8 function for setup
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Create `print_u8()` helper function to print `u8` primitives to
lcd. Refactor contrast and backlight variables to also keep them in a
global `AtomicU8`.
2022-03-21 12:46:18 +01:00
finga c2920ea334 fw-rust: Break everything down in multiple files
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
To reduce length of `main.rs` and therefor improve readability create
source files for:

- Assets (`assets.rs`): Contains all graphical assets such as the
  splash screen assets, symbols and the symbol table.
- LCD (`lcd.rs`): Contains all lower level things regarding the LCD
  such as the `Lcd` struct and its implementations.
- Screen (`screen/mod.rs`):
    - Splash (`screen/splash.rs`)
    - Home (`screen/home.rs`)
    - Setup (`screen/setup.rs`)

In the future it would probably make sense to move the LCD module into
the screen module.
2022-03-18 11:19:36 +01:00