@@ -149,7 +149,7 @@ pub enum ClockFreq {
149149}
150150
151151/// Error during SDMMC operations.
152- #[ derive( Debug ) ]
152+ #[ derive( Debug , Clone , Copy ) ]
153153pub enum Error {
154154 /// No card detected.
155155 NoCard ,
@@ -344,7 +344,7 @@ impl Sdmmc {
344344
345345 let check_pattern = 0xaa ;
346346 self . cmd ( sd_cmd:: send_if_cond ( 1 , check_pattern) ) ?;
347- let cic = CIC :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) ) ;
347+ let cic = CIC :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ) ;
348348
349349 let card_version = if cic. pattern ( ) == 0xAA {
350350 SdCardVersion :: V2
@@ -376,7 +376,7 @@ impl Sdmmc {
376376 Err ( err) => return Err ( err) ,
377377 }
378378
379- let ocr = OCR :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) ) ;
379+ let ocr = OCR :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ) ;
380380 if !ocr. is_busy ( ) {
381381 // Power up done
382382 break ocr;
@@ -385,21 +385,21 @@ impl Sdmmc {
385385
386386 self . cmd ( common_cmd:: all_send_cid ( ) ) ?;
387387 card. cid = CID :: from ( [
388- self . sdmmc . resp1 . read ( ) . bits ( ) ,
389- self . sdmmc . resp2 . read ( ) . bits ( ) ,
390- self . sdmmc . resp3 . read ( ) . bits ( ) ,
391- self . sdmmc . resp4 . read ( ) . bits ( ) ,
388+ self . sdmmc . resp4 . read ( ) . bits ( ) . to_le ( ) ,
389+ self . sdmmc . resp3 . read ( ) . bits ( ) . to_le ( ) ,
390+ self . sdmmc . resp2 . read ( ) . bits ( ) . to_le ( ) ,
391+ self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ,
392392 ] ) ;
393393
394394 self . cmd ( sd_cmd:: send_relative_address ( ) ) ?;
395- card. rca = RCA :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) ) ;
395+ card. rca = RCA :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ) ;
396396
397397 self . cmd ( common_cmd:: send_csd ( card. rca . address ( ) ) ) ?;
398398 card. csd = CSD :: from ( [
399- self . sdmmc . resp1 . read ( ) . bits ( ) ,
400- self . sdmmc . resp2 . read ( ) . bits ( ) ,
401- self . sdmmc . resp3 . read ( ) . bits ( ) ,
402- self . sdmmc . resp4 . read ( ) . bits ( ) ,
399+ self . sdmmc . resp4 . read ( ) . bits ( ) . to_le ( ) ,
400+ self . sdmmc . resp3 . read ( ) . bits ( ) . to_le ( ) ,
401+ self . sdmmc . resp2 . read ( ) . bits ( ) . to_le ( ) ,
402+ self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ,
403403 ] ) ;
404404
405405 self . select_card ( card. rca . address ( ) ) ?;
@@ -668,8 +668,7 @@ impl Sdmmc {
668668
669669 self . cmd ( common_cmd:: card_status ( card. address ( ) , false ) ) ?;
670670
671- let r1 = self . sdmmc . resp1 . read ( ) . bits ( ) ;
672- Ok ( CardStatus :: from ( r1) )
671+ Ok ( CardStatus :: from ( self . sdmmc . resp1 . read ( ) . bits ( ) . to_le ( ) ) )
673672 }
674673
675674 /// Check if card is done writing/reading and back in transfer state.
0 commit comments