From b10d87fabd0f1b1382cb99444d37c7840af97c2b Mon Sep 17 00:00:00 2001
From: ddebernardde <diego.debernard@student.uclouvain.be>
Date: Wed, 16 Nov 2022 00:40:20 +0100
Subject: [PATCH] spi is caca

---
 Makefile |  8 +++++++-
 spi.cpp  | 19 +++++++++++++------
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index a37cc12..f00e7fa 100644
--- a/Makefile
+++ b/Makefile
@@ -12,6 +12,9 @@ i2c : compile_LED
 uart : compile_UART
 	sudo ./uart
 
+spi : compile_spi
+	sudo ./spi
+
 # compilations
 compile_switch :
 	g++ -o switch switch.cpp -lwiringPi
@@ -25,6 +28,9 @@ compile_LED :
 compile_UART :
 	g++ -o uart uart.cpp -lwiringPi
 
+compile_spi : 
+	g++ -o spi spi.cpp -l wiringPi
+
 .PHONY : clean
 clean :
-	rm -rf switch motor led i2c uart
+	rm -rf switch motor led i2c uart spi
diff --git a/spi.cpp b/spi.cpp
index ede3319..36d0168 100644
--- a/spi.cpp
+++ b/spi.cpp
@@ -20,12 +20,19 @@ int main(int argc, char const *argv[])
         exit(EXIT_FAILURE);
     }
 
-    buff[0] = 0x40;
-    buff[1] = 0x01;
-
-    result = wiringPiSPIDataRW(CHANNEL_CAN, buff, 2);
-
-
+    int reg = 0x42;
+
+    int GPIO[] = {0b00000001, 0b00000010, 0b00001000, 0b00010000};
+    buff[0] = reg;
+    for (int i = 0; i < 4; i++) {
+        buff[1] = GPIO[i];
+        printf("buff %i : %x %x\n",i, buff[0], buff[1]);
+        result = wiringPiSPIDataRW(CHANNEL_CAN, buff, 2);
+        printf("buff %i : %x %x\n",i, buff[0], buff[1]);
+        buff[0] = reg;
+        delay(1500);
+    }
+    
 
     return 0;
 }
-- 
GitLab