Skip to content

Commit 70a5fdb

Browse files
committed
use open_volume with parameter instead of two different functions
1 parent 7d4f4b0 commit 70a5fdb

File tree

10 files changed

+21
-39
lines changed

10 files changed

+21
-39
lines changed

examples/append_file.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use linux::*;
2222

2323
const FILE_TO_APPEND: &str = "README.TXT";
2424

25-
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager};
25+
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager, VolumeOpenMode};
2626

2727
fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
2828
env_logger::init();
@@ -32,7 +32,7 @@ fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
3232
let lbd = LinuxBlockDevice::new(filename, print_blocks).map_err(Error::DeviceError)?;
3333
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
3434
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
35-
let mut volume = volume_mgr.open_volume(VolumeIdx(0))?;
35+
let mut volume = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
3636
let mut root_dir = volume.open_root_dir()?;
3737
println!("\nCreating file {}...", FILE_TO_APPEND);
3838
let mut f = root_dir.open_file_in_dir(FILE_TO_APPEND, Mode::ReadWriteAppend)?;

examples/big_dir.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ extern crate embedded_sdmmc;
33
mod linux;
44
use linux::*;
55

6-
use embedded_sdmmc::{Error, VolumeManager};
6+
use embedded_sdmmc::{Error, VolumeManager, VolumeOpenMode};
77

88
fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
99
env_logger::init();
@@ -14,7 +14,7 @@ fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
1414
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
1515
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
1616
let mut volume = volume_mgr
17-
.open_volume(embedded_sdmmc::VolumeIdx(1))
17+
.open_volume(embedded_sdmmc::VolumeIdx(1), VolumeOpenMode::ReadWrite)
1818
.unwrap();
1919
println!("Volume: {:?}", volume);
2020
let mut root_dir = volume.open_root_dir().unwrap();

examples/create_file.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use linux::*;
2222

2323
const FILE_TO_CREATE: &str = "CREATE.TXT";
2424

25-
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager};
25+
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager, VolumeOpenMode};
2626

2727
fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
2828
env_logger::init();
@@ -32,7 +32,7 @@ fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
3232
let lbd = LinuxBlockDevice::new(filename, print_blocks).map_err(Error::DeviceError)?;
3333
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
3434
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
35-
let mut volume = volume_mgr.open_volume(VolumeIdx(0))?;
35+
let mut volume = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
3636
let mut root_dir = volume.open_root_dir()?;
3737
println!("\nCreating file {}...", FILE_TO_CREATE);
3838
// This will panic if the file already exists: use ReadWriteCreateOrAppend

examples/delete_file.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ use linux::*;
2525

2626
const FILE_TO_DELETE: &str = "README.TXT";
2727

28-
use embedded_sdmmc::{Error, VolumeIdx, VolumeManager};
28+
use embedded_sdmmc::{Error, VolumeIdx, VolumeManager, VolumeOpenMode};
2929

3030
fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
3131
env_logger::init();
@@ -35,7 +35,7 @@ fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
3535
let lbd = LinuxBlockDevice::new(filename, print_blocks).map_err(Error::DeviceError)?;
3636
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
3737
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
38-
let mut volume = volume_mgr.open_volume(VolumeIdx(0))?;
38+
let mut volume = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
3939
let mut root_dir = volume.open_root_dir()?;
4040
println!("Deleting file {}...", FILE_TO_DELETE);
4141
root_dir.delete_file_in_dir(FILE_TO_DELETE)?;

examples/list_dir.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ extern crate embedded_sdmmc;
3737
mod linux;
3838
use linux::*;
3939

40-
use embedded_sdmmc::{Directory, VolumeIdx, VolumeManager};
40+
use embedded_sdmmc::{Directory, VolumeIdx, VolumeManager, VolumeOpenMode};
4141

4242
type Error = embedded_sdmmc::Error<std::io::Error>;
4343

@@ -49,7 +49,7 @@ fn main() -> Result<(), Error> {
4949
let lbd = LinuxBlockDevice::new(filename, print_blocks).map_err(Error::DeviceError)?;
5050
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
5151
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
52-
let mut volume = volume_mgr.open_volume(VolumeIdx(0))?;
52+
let mut volume = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
5353
let root_dir = volume.open_root_dir()?;
5454
list_dir(root_dir, "/")?;
5555
Ok(())

examples/read_file.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ use linux::*;
3939

4040
const FILE_TO_READ: &str = "README.TXT";
4141

42-
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager};
42+
use embedded_sdmmc::{Error, Mode, VolumeIdx, VolumeManager, VolumeOpenMode};
4343

4444
fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
4545
env_logger::init();
@@ -49,7 +49,7 @@ fn main() -> Result<(), embedded_sdmmc::Error<std::io::Error>> {
4949
let lbd = LinuxBlockDevice::new(filename, print_blocks).map_err(Error::DeviceError)?;
5050
let mut volume_mgr: VolumeManager<LinuxBlockDevice, Clock, 8, 8, 4> =
5151
VolumeManager::new_with_limits(lbd, Clock, 0xAA00_0000);
52-
let mut volume = volume_mgr.open_volume(VolumeIdx(0))?;
52+
let mut volume = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
5353
let mut root_dir = volume.open_root_dir()?;
5454
println!("\nReading file {}...", FILE_TO_READ);
5555
let mut f = root_dir.open_file_in_dir(FILE_TO_READ, Mode::ReadOnly)?;

examples/readme_test.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
66
use core::cell::RefCell;
77

8-
use embedded_sdmmc::sdcard::DummyCsPin;
8+
use embedded_sdmmc::{sdcard::DummyCsPin, VolumeOpenMode};
99

1010
struct FakeSpiBus();
1111

@@ -111,7 +111,8 @@ fn main() -> Result<(), Error> {
111111
let mut volume_mgr = embedded_sdmmc::VolumeManager::new(sdcard, time_source);
112112
// Try and access Volume 0 (i.e. the first partition).
113113
// The volume object holds information about the filesystem on that volume.
114-
let mut volume0 = volume_mgr.open_volume(embedded_sdmmc::VolumeIdx(0))?;
114+
let mut volume0 =
115+
volume_mgr.open_volume(embedded_sdmmc::VolumeIdx(0), VolumeOpenMode::ReadWrite)?;
115116
println!("Volume 0: {:?}", volume0);
116117
// Open the root directory (mutably borrows from the volume).
117118
let mut root_dir = volume0.open_root_dir()?;

src/lib.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
//! suitable for reading SD and SDHC cards over SPI.
1818
//!
1919
//! ```rust
20-
//! use embedded_sdmmc::{Error, Mode, SdCard, SdCardError, TimeSource, VolumeIdx, VolumeManager};
20+
//! use embedded_sdmmc::{Error, Mode, SdCard, SdCardError, TimeSource, VolumeIdx, VolumeManager, VolumeOpenMode};
2121
//!
2222
//! fn example<S, CS, D, T>(spi: S, cs: CS, delay: D, ts: T) -> Result<(), Error<SdCardError>>
2323
//! where
@@ -29,7 +29,7 @@
2929
//! let sdcard = SdCard::new(spi, cs, delay);
3030
//! println!("Card size is {} bytes", sdcard.num_bytes()?);
3131
//! let mut volume_mgr = VolumeManager::new(sdcard, ts);
32-
//! let mut volume0 = volume_mgr.open_volume(VolumeIdx(0))?;
32+
//! let mut volume0 = volume_mgr.open_volume(VolumeIdx(0), VolumeOpenMode::ReadOnly)?;
3333
//! println!("Volume 0: {:?}", volume0);
3434
//! let mut root_dir = volume0.open_root_dir()?;
3535
//! let mut my_file = root_dir.open_file_in_dir("MY_FILE.TXT", Mode::ReadOnly)?;

src/volume_mgr.rs

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -109,29 +109,8 @@ where
109109
///
110110
/// We do not support GUID Partition Table disks. Nor do we support any
111111
/// concept of drive letters - that is for a higher layer to handle.
112-
pub fn open_volume(
113-
&mut self,
114-
volume_idx: VolumeIdx,
115-
) -> Result<Volume<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>> {
116-
return self._open_volume(volume_idx, VolumeOpenMode::ReadWrite);
117-
}
118-
119-
/// Get a read only volume (or partition) based on entries in the Master Boot Record.
120112
/// Opening and closing a read only volume is faster than a writable volume.
121-
///
122-
/// We do not support GUID Partition Table disks. Nor do we support any
123-
/// concept of drive letters - that is for a higher layer to handle.
124-
pub fn open_volume_read_only(
125-
&mut self,
126-
volume_idx: VolumeIdx,
127-
) -> Result<Volume<D, T, MAX_DIRS, MAX_FILES, MAX_VOLUMES>, Error<D::Error>> {
128-
return self._open_volume(volume_idx, VolumeOpenMode::ReadOnly);
129-
}
130-
/// Get a volume (or partition) based on entries in the Master Boot Record.
131-
///
132-
/// We do not support GUID Partition Table disks. Nor do we support any
133-
/// concept of drive letters - that is for a higher layer to handle.
134-
fn _open_volume(
113+
pub fn open_volume(
135114
&mut self,
136115
volume_idx: VolumeIdx,
137116
open_mode: VolumeOpenMode,

tests/open_files.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,9 @@ fn open_non_raw() {
9797
let disk = utils::make_block_device(utils::DISK_SOURCE).unwrap();
9898
let mut volume_mgr: VolumeManager<utils::RamDisk<Vec<u8>>, utils::TestTimeSource, 4, 2, 1> =
9999
VolumeManager::new_with_limits(disk, time_source, 0xAA00_0000);
100-
let mut volume = volume_mgr.open_volume(VolumeIdx(0)).expect("open volume");
100+
let mut volume = volume_mgr
101+
.open_volume(VolumeIdx(0), VolumeOpenMode::ReadWrite)
102+
.expect("open volume");
101103
let mut root_dir = volume.open_root_dir().expect("open root dir");
102104
let mut f = root_dir
103105
.open_file_in_dir("README.TXT", Mode::ReadOnly)

0 commit comments

Comments
 (0)