Stefan Schuermans commited on 2012-05-06 18:02:28
Showing 1 changed files, with 12 additions and 0 deletions.
| ... | ... |
@@ -61,6 +61,9 @@ |
| 61 | 61 |
// time to give CF to power up (in 20ms steps) |
| 62 | 62 |
#define CF_POWERUP_TIME (5) // 100ms |
| 63 | 63 |
|
| 64 |
+// time to give CF to set outputs after reset (in 20ms steps) |
|
| 65 |
+#define CF_POST_RESET_TIME (2) // 40ms |
|
| 66 |
+ |
|
| 64 | 67 |
// timeout value for wait for ready after reset counter (in 20ms steps) |
| 65 | 68 |
#define CF_RESET_READY_TIMEOUT (50) // 1s |
| 66 | 69 |
|
| ... | ... |
@@ -407,6 +410,15 @@ char CfReset(void) // (extern) |
| 407 | 410 |
CF_RESET_IDLE(); |
| 408 | 411 |
debug_cf_printf("CF reset");
|
| 409 | 412 |
|
| 413 |
+ // wait a little bit |
|
| 414 |
+ if (!CF_IS_DETECT()) {
|
|
| 415 |
+ CfGone(); |
|
| 416 |
+ return -1; |
|
| 417 |
+ } |
|
| 418 |
+ CfTickCnt = CF_POST_RESET_TIME; |
|
| 419 |
+ while (CfTickCnt > 0) |
|
| 420 |
+ Tasks(); |
|
| 421 |
+ |
|
| 410 | 422 |
// wait for CF to become ready |
| 411 | 423 |
if (CfWaitReady(CF_RESET_READY_TIMEOUT) != 0) |
| 412 | 424 |
return -1; |
| 413 | 425 |