Skip to content

Commit 8ee402f

Browse files
committed
fix: all warnings caused by esp32 port
1 parent 506effb commit 8ee402f

File tree

9 files changed

+45
-39
lines changed

9 files changed

+45
-39
lines changed

.github/workflows/rust_ci.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,19 @@ jobs:
2020
matrix:
2121
action:
2222
- command: build
23-
args: --no-default-features --features=esp32c3 --target=riscv32imc-unknown-none-elf --release
23+
args: +nightly --no-default-features --features=esp32c3 --target=riscv32imc-unknown-none-elf --release
2424
- command: fmt
25-
args: --all -- --check --color always
25+
args: +nightly --all -- --check --color always
2626
- command: clippy
27-
args: --no-default-features --features=esp32c3 --target=riscv32imc-unknown-none-elf --workspace -- -D warnings
27+
args: +nightly --no-default-features --features=esp32c3 --target=riscv32imc-unknown-none-elf --workspace -- -D warnings
2828
steps:
2929
- name: Checkout repository
3030
uses: actions/checkout@v4
3131
- name: Setup Rust
3232
uses: dtolnay/rust-toolchain@v1
3333
with:
3434
target: riscv32imc-unknown-none-elf
35-
toolchain: stable
35+
toolchain: nightly
3636
components: rust-src, rustfmt, clippy
3737
- name: Enable caching
3838
uses: Swatinem/rust-cache@v2

rust-toolchain.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
[toolchain]
22
channel = "esp"
3-

src/buttons.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ use crate::{
33
structs::DelegateResponsePacket,
44
utils::buttons::{Button, ButtonTrigger, ButtonsHandler},
55
};
6-
use adv_shift_registers::wrappers::ShifterValue;
76
use alloc::string::ToString;
87
use embassy_time::{Instant, Timer};
98
use esp_hal::gpio::Input;
@@ -16,7 +15,7 @@ pub async fn buttons_task(
1615

1716
#[cfg(feature = "esp32c3")] button_input: Input<'static>,
1817

19-
#[cfg(feature = "esp32c3")] button_reg: ShifterValue,
18+
#[cfg(feature = "esp32c3")] button_reg: adv_shift_registers::wrappers::ShifterValue,
2019

2120
#[cfg(feature = "esp32")] buttons: [Input<'static>; 4],
2221
) {

src/lcd.rs

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
use adv_shift_registers::wrappers::{ShifterPin, ShifterValue};
21
use alloc::{rc::Rc, string::ToString};
32
use embassy_sync::{blocking_mutex::raw::NoopRawMutex, signal::Signal};
43
use embassy_time::{Delay, Duration, Instant, Timer};
5-
use embedded_hal::digital::OutputPin;
6-
use esp_hal::{i2c::master::I2c, Async, Blocking};
74
use hd44780_driver::{
8-
bus::{FourBitBus, FourBitBusPins, I2CBus},
95
charset::{CharsetA02, CharsetWithFallback},
106
memory_map::{MemoryMap1602, StandardMemoryMap},
11-
setup::{DisplayOptions4Bit, DisplayOptionsI2C},
127
DisplayMode, HD44780,
138
};
149

@@ -21,11 +16,14 @@ use crate::{
2116
},
2217
};
2318

19+
#[cfg(feature = "esp32c3")]
20+
use embedded_hal::digital::OutputPin;
21+
2422
#[embassy_executor::task]
2523
pub async fn lcd_task(
26-
#[cfg(feature = "esp32")] i2c: I2c<'static, Blocking>,
24+
#[cfg(feature = "esp32")] i2c: esp_hal::i2c::master::I2c<'static, esp_hal::Blocking>,
2725

28-
#[cfg(feature = "esp32c3")] lcd_shifter: ShifterValue,
26+
#[cfg(feature = "esp32c3")] lcd_shifter: adv_shift_registers::wrappers::ShifterValue,
2927

3028
global_state: GlobalState,
3129
wifi_setup_sig: Rc<Signal<NoopRawMutex, ()>>,
@@ -42,8 +40,8 @@ pub async fn lcd_task(
4240
let d6_pin = lcd_shifter.get_pin_mut(5, false);
4341
let d7_pin = lcd_shifter.get_pin_mut(4, false);
4442

45-
DisplayOptions4Bit::new(MemoryMap1602::new())
46-
.with_pins(FourBitBusPins {
43+
hd44780_driver::setup::DisplayOptions4Bit::new(MemoryMap1602::new())
44+
.with_pins(hd44780_driver::bus::FourBitBusPins {
4745
rs: reg_sel_pin,
4846
en: e_pin,
4947
d4: d4_pin,
@@ -56,7 +54,7 @@ pub async fn lcd_task(
5654

5755
#[cfg(feature = "esp32")]
5856
let mut options = {
59-
DisplayOptionsI2C::new(MemoryMap1602::new())
57+
hd44780_driver::setup::DisplayOptionsI2C::new(MemoryMap1602::new())
6058
.with_i2c_bus(i2c, 0x27)
6159
.with_charset(CharsetA02::QUESTION_FALLBACK)
6260
};
@@ -167,11 +165,22 @@ pub async fn lcd_task(
167165
}
168166

169167
#[cfg(feature = "esp32")]
170-
type LcdType<C> = HD44780<I2CBus<I2c<'static, Blocking>>, StandardMemoryMap<16, 2>, C>;
168+
type LcdType<C> = HD44780<
169+
hd44780_driver::bus::I2CBus<esp_hal::i2c::master::I2c<'static, esp_hal::Blocking>>,
170+
StandardMemoryMap<16, 2>,
171+
C,
172+
>;
171173

172174
#[cfg(feature = "esp32c3")]
173175
type LcdType<C> = HD44780<
174-
FourBitBus<ShifterPin, ShifterPin, ShifterPin, ShifterPin, ShifterPin, ShifterPin>,
176+
hd44780_driver::bus::FourBitBus<
177+
adv_shift_registers::wrappers::ShifterPin,
178+
adv_shift_registers::wrappers::ShifterPin,
179+
adv_shift_registers::wrappers::ShifterPin,
180+
adv_shift_registers::wrappers::ShifterPin,
181+
adv_shift_registers::wrappers::ShifterPin,
182+
adv_shift_registers::wrappers::ShifterPin,
183+
>,
175184
StandardMemoryMap<16, 2>,
176185
C,
177186
>;

src/main.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@ use core::str::FromStr;
88
use embassy_executor::Spawner;
99
use embassy_sync::signal::Signal;
1010
use embassy_time::Timer;
11-
use embedded_hal::digital::OutputPin;
1211
use esp_backtrace as _;
1312
use esp_hal::{
1413
gpio::{Input, Output},
15-
i2c::master::I2c,
1614
prelude::*,
1715
timer::timg::TimerGroup,
1816
};
19-
use state::{get_ota_state, GlobalStateInner, Scene, OTA_STATE};
17+
use state::{get_ota_state, GlobalStateInner, Scene};
2018
use structs::ConnSettings;
2119
use translations::init_translations;
2220
use utils::{
@@ -165,21 +163,23 @@ async fn main(spawner: Spawner) {
165163
let lcd_shifter = adv_shift_reg.get_shifter_mut(1);
166164

167165
#[cfg(feature = "esp32c3")]
168-
let mut cs_pin = {
166+
let cs_pin = {
167+
use embedded_hal::digital::OutputPin;
168+
169169
let mut cs_pin = adv_shift_reg.get_pin_mut(1, 0, true);
170170
_ = cs_pin.set_high();
171171
cs_pin
172172
};
173173

174174
#[cfg(feature = "esp32")]
175-
let mut cs_pin = Output::new(peripherals.GPIO5, esp_hal::gpio::Level::High);
175+
let cs_pin = Output::new(peripherals.GPIO5, esp_hal::gpio::Level::High);
176176

177177
init_translations();
178178
let global_state = Rc::new(GlobalStateInner::new(&nvs));
179179
let wifi_setup_sig = Rc::new(Signal::new());
180180

181181
#[cfg(feature = "esp32")]
182-
let mut i2c = I2c::new(
182+
let i2c = esp_hal::i2c::master::I2c::new(
183183
peripherals.I2C0,
184184
esp_hal::i2c::master::Config {
185185
frequency: 100.kHz(),

src/rfid.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use crate::state::{current_epoch, GlobalState};
22
use crate::structs::{CardInfoResponsePacket, SolveConfirmPacket};
3-
use adv_shift_registers::wrappers::ShifterPin;
43
use alloc::string::ToString;
54
use embassy_time::{Duration, Timer};
65
use esp_hal::prelude::*;
@@ -18,7 +17,7 @@ pub async fn rfid_task(
1817
miso: AnyPin,
1918
mosi: AnyPin,
2019
sck: AnyPin,
21-
#[cfg(feature = "esp32c3")] cs_pin: ShifterPin,
20+
#[cfg(feature = "esp32c3")] cs_pin: adv_shift_registers::wrappers::ShifterPin,
2221
#[cfg(feature = "esp32")] cs_pin: esp_hal::gpio::Output<'static>,
2322
spi: esp_hal::peripherals::SPI2,
2423
dma: DMA,

src/utils/buttons.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use crate::{buttons::HandlersDerive, state::GlobalState};
2-
use adv_shift_registers::wrappers::ShifterValue;
32
use alloc::vec::Vec;
43
use embassy_time::{Instant, Timer};
54
use esp_hal::gpio::Input;
@@ -62,14 +61,10 @@ impl ButtonsHandler {
6261
&mut self,
6362
state: &GlobalState,
6463

65-
#[cfg(feature = "esp32c3")]
66-
button_input: &Input<'static>,
64+
#[cfg(feature = "esp32c3")] button_input: &Input<'static>,
65+
#[cfg(feature = "esp32c3")] button_reg: &adv_shift_registers::wrappers::ShifterValue,
6766

68-
#[cfg(feature = "esp32c3")]
69-
button_reg: &ShifterValue,
70-
71-
#[cfg(feature = "esp32")]
72-
buttons: &[Input<'static>]
67+
#[cfg(feature = "esp32")] buttons: &[Input<'static>],
7368
) {
7469
let mut debounce_time = esp_hal::time::now();
7570
let mut old_debounced = i32::MAX;

src/utils/logger.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
use alloc::{string::String, vec::Vec};
2-
use core::{borrow::BorrowMut, cell::OnceCell};
3-
41
use crate::state::get_ota_state;
2+
use alloc::{string::String, vec::Vec};
3+
use core::cell::OnceCell;
54

65
pub const FILTER_MAX: log::LevelFilter = log::LevelFilter::Debug;
76
pub static mut GLOBAL_LOGS: OnceCell<Vec<String>> = OnceCell::new();

src/utils/mod.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,22 @@
11
pub mod arc;
22
pub mod buttons;
33
pub mod lcd_abstract;
4+
pub mod logger;
45
pub mod signaled_mutex;
56
pub mod stackmat;
6-
pub mod logger;
77

88
pub fn set_brownout_detection(state: bool) {
99
#[cfg(feature = "esp32c3")]
1010
unsafe {
1111
let rtc_cntl = &*esp32c3::RTC_CNTL::ptr();
1212
rtc_cntl.int_ena().modify(|_, w| w.brown_out().bit(state));
1313
}
14+
15+
#[cfg(feature = "esp32")]
16+
unsafe {
17+
let rtc_cntl = &*esp32::RTC_CNTL::ptr();
18+
rtc_cntl.int_ena().modify(|_, w| w.brown_out().bit(state));
19+
}
1420
}
1521

1622
/// This function returns value with maximum of signed integer

0 commit comments

Comments
 (0)