File tree Expand file tree Collapse file tree 3 files changed +12
-2
lines changed
Expand file tree Collapse file tree 3 files changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -1229,6 +1229,10 @@ impl<T> CheckResult<T> for swd::Result<T> {
12291229 * resp = 4 ;
12301230 None
12311231 }
1232+ Err ( swd:: Error :: NoAck ) => {
1233+ * resp = 7 ;
1234+ None
1235+ }
12321236 Err ( _) => {
12331237 * resp = ( 1 << 3 ) | 7 ;
12341238 None
Original file line number Diff line number Diff line change @@ -179,6 +179,10 @@ where
179179 clock_only ! ( self ) ; // turnaround cycle
180180 return Err ( swd:: Error :: AckFault ) ;
181181 }
182+ 0b111 => {
183+ clock_only ! ( self ) ; // turnaround cycle
184+ return Err ( swd:: Error :: NoAck ) ;
185+ }
182186 _ => {
183187 clock_only ! ( self ) ; // turnaround cycle
184188 return Err ( swd:: Error :: AckUnknown ( ack as u8 ) ) ;
Original file line number Diff line number Diff line change @@ -10,6 +10,8 @@ pub enum Error {
1010 AckWait ,
1111 /// A fault.
1212 AckFault ,
13+ /// Not acknowledged.
14+ NoAck ,
1315 /// A protocol error.
1416 AckProtocol ,
1517 /// Unkown error.
@@ -62,7 +64,7 @@ pub enum Ack {
6264 Ok = 0b001 ,
6365 Wait = 0b010 ,
6466 Fault = 0b100 ,
65- Protocol = 0b111 ,
67+ NoAck = 0b111 ,
6668}
6769
6870impl Ack {
@@ -72,7 +74,7 @@ impl Ack {
7274 v if v == ( Ack :: Ok as u8 ) => Ok ( ( ) ) ,
7375 v if v == ( Ack :: Wait as u8 ) => Err ( Error :: AckWait ) ,
7476 v if v == ( Ack :: Fault as u8 ) => Err ( Error :: AckFault ) ,
75- v if v == ( Ack :: Protocol as u8 ) => Err ( Error :: AckProtocol ) ,
77+ v if v == ( Ack :: NoAck as u8 ) => Err ( Error :: NoAck ) ,
7678 _ => Err ( Error :: AckUnknown ( ack) ) ,
7779 }
7880 }
You can’t perform that action at this time.
0 commit comments