From 563f471ae625bed63ebd23b309504d5e896a258c Mon Sep 17 00:00:00 2001
From: Erik Strand <erik.strand@cba.mit.edu>
Date: Sun, 12 May 2019 15:04:49 -0400
Subject: [PATCH] Verify that card detect pin is working

---
 sd_tests/neil/read_sd.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/sd_tests/neil/read_sd.c b/sd_tests/neil/read_sd.c
index 0f707a4..65e67f6 100644
--- a/sd_tests/neil/read_sd.c
+++ b/sd_tests/neil/read_sd.c
@@ -54,6 +54,14 @@
 #define MISO_pin (1 << PA5)
 #define MISO_pins PINA
 
+#define DETECT_port PORTA
+#define DETECT_direction DDRA
+#define DETECT_pin (1 << PA7)
+
+#define led_port PORTB
+#define led_direction DDRB
+#define led_pin (1 << PB2)
+
 //
 // put_char
 //   send character in txchar
@@ -299,6 +307,19 @@ int main(void) {
    //
    // main
    //
+
+   // Debug loop to verify we can detect when the card is inserted
+   // Configure DETECT_pin as an input and led_pin as an output
+   DETECT_direction &= ~DETECT_pin;
+   led_direction |= led_pin;
+   while (1) {
+       if (PINA & DETECT_pin) {
+           led_port &= ~led_pin;
+       } else {
+           led_port |= led_pin;
+       }
+   }
+
    static uint8_t count,sectors_per_cluster,FATs,attribute,result[8],buffer[50];
    static uint16_t bytes_per_sector,reserved_sectors,offset,
       file_cluster_low,file_cluster_hi,buffer_length,sector_count;
-- 
GitLab