Fixed Code

This commit is contained in:
Robin Löhn 2025-11-17 15:10:19 +01:00
parent 89a2a8bfb9
commit 0334c851f8
Signed by: robin
GPG key ID: 4F5CDA3F9635EB10
4 changed files with 280 additions and 284 deletions

View file

@ -6,8 +6,8 @@ edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
esp-idf-hal = "0.44.1"
esp-idf-sys = "0.35.0"
esp-idf-hal = "0.45.2"
esp-idf-sys = "0.36.1"
[patch.crates-io]
esp-idf-sys = { git = "https://github.com/esp-rs/esp-idf-sys", branch = "master" }

8
components_esp32.lock Normal file
View file

@ -0,0 +1,8 @@
dependencies:
idf:
source:
type: idf
version: 5.4.3
manifest_hash: 06a76c1bdea0ee9953dbe66dc1eb5ea4b157dbc5999962e4b65153dbefdb7f21
target: esp32
version: 2.0.0

View file

@ -13,14 +13,14 @@ debug = true # Symbols are nice and they don't increase the size on Flash
opt-level = "z"
[dependencies]
esp-camera-rs = { path = "../../", version = "*" }
log = { version = "0.4", default-features = false }
anyhow = "1.0.82"
esp-idf-svc = { version = "0.49.1", default-features = false, features = [
anyhow = "1.0.100"
esp-idf-svc = { version = "0.51.0", default-features = false, features = [
"binstart",
"std",
] }
esp-idf-sys = { version = "0.35.0" }
esp-camera-rs = { git = "https://github.com/MathiasPius/esp-camera-rs.git" }
esp-idf-sys = { version = "0.36.1" }
[build-dependencies]
embuild = "0.32.0"
embuild = "0.33.1"

View file

@ -83,19 +83,13 @@ impl<'a> CameraSensor<'a> {
esp!(unsafe { (*self.sensor).set_quality.unwrap()(self.sensor, quality) })
}
pub fn set_colorbar(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_colorbar.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_colorbar.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_whitebal(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_whitebal.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_whitebal.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_gain_ctrl(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_gain_ctrl.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_gain_ctrl.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_exposure_ctrl(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
@ -103,9 +97,7 @@ impl<'a> CameraSensor<'a> {
})
}
pub fn set_hmirror(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_hmirror.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_hmirror.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_vflip(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe { (*self.sensor).set_vflip.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
@ -114,9 +106,7 @@ impl<'a> CameraSensor<'a> {
esp!(unsafe { (*self.sensor).set_aec2.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_awb_gain(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_awb_gain.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_awb_gain.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_agc_gain(&self, gain: i32) -> Result<(), EspError> {
esp!(unsafe { (*self.sensor).set_agc_gain.unwrap()(self.sensor, gain) })
@ -143,9 +133,7 @@ impl<'a> CameraSensor<'a> {
esp!(unsafe { (*self.sensor).set_wpc.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_raw_gma(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe {
(*self.sensor).set_raw_gma.unwrap()(self.sensor, if enable { 1 } else { 0 })
})
esp!(unsafe { (*self.sensor).set_raw_gma.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
}
pub fn set_lenc(&self, enable: bool) -> Result<(), EspError> {
esp!(unsafe { (*self.sensor).set_lenc.unwrap()(self.sensor, if enable { 1 } else { 0 }) })
@ -292,7 +280,7 @@ impl<'a> Camera<'a> {
Ok(Self { _p: PhantomData })
}
pub fn get_framebuffer(&self) -> Option<FrameBuffer> {
pub fn get_framebuffer(&self) -> Option<FrameBuffer<'_>> {
let fb = unsafe { camera::esp_camera_fb_get() };
if fb.is_null() {
//unsafe { camera::esp_camera_fb_return(fb); }