From 78dfac6c63e625fe5f6ea05f307229949204c0be Mon Sep 17 00:00:00 2001
From: ch3 <ch3@mailbox.org>
Date: Sun, 16 Jun 2019 23:24:59 +0200
Subject: [PATCH] chore(card10-lib): Move core1 start/stop to lib

---
 hw-tests/api-demo/main.c  | 12 +-----------
 hw-tests/dual-core/main.c | 12 +-----------
 lib/card10/card10.c       | 11 +++++++++++
 lib/card10/card10.h       |  3 +++
 4 files changed, 16 insertions(+), 22 deletions(-)

diff --git a/hw-tests/api-demo/main.c b/hw-tests/api-demo/main.c
index ac615346..9f2118b2 100644
--- a/hw-tests/api-demo/main.c
+++ b/hw-tests/api-demo/main.c
@@ -6,16 +6,6 @@
 #include "tmr_utils.h"
 #include "api.h"
 
-void Core1_Start(void) {
-    //MXC_GCR->gp0 = (uint32_t)(&__isr_vector_core1);
-    MXC_GCR->gp0 = 0x10040000;
-    MXC_GCR->perckcn1 &= ~MXC_F_GCR_PERCKCN1_CPU1;
-}
-
-void Core1_Stop(void) {
-    MXC_GCR->perckcn1 |= MXC_F_GCR_PERCKCN1_CPU1;
-}
-
 int main(void)
 {
     int count = 0;
@@ -26,7 +16,7 @@ int main(void)
 
     printf("API Test.\n");
     printf("core0: Starting dispatcher on core1\n");
-    Core1_Start();
+    core1_start();
     TMR_Delay(MXC_TMR0, MSEC(100), 0);
 
     api_set_buzzer(1);
diff --git a/hw-tests/dual-core/main.c b/hw-tests/dual-core/main.c
index d8e94276..adc1076c 100644
--- a/hw-tests/dual-core/main.c
+++ b/hw-tests/dual-core/main.c
@@ -16,16 +16,6 @@
 #include <string.h>
 #include <Heart.h>
 
-void Core1_Start(void) {
-    //MXC_GCR->gp0 = (uint32_t)(&__isr_vector_core1);
-    MXC_GCR->gp0 = 0x10040000;
-    MXC_GCR->perckcn1 &= ~MXC_F_GCR_PERCKCN1_CPU1;
-}
-
-void Core1_Stop(void) {
-    MXC_GCR->perckcn1 |= MXC_F_GCR_PERCKCN1_CPU1;
-}
-
 int main(void)
 {
     card10_init();
@@ -41,7 +31,7 @@ int main(void)
     int h = 0;
 
     // Release core1
-    Core1_Start();
+    core1_start();
 
     while (1) {
         #define NUM     15
diff --git a/lib/card10/card10.c b/lib/card10/card10.c
index 92125c40..da0a355c 100644
--- a/lib/card10/card10.c
+++ b/lib/card10/card10.c
@@ -171,3 +171,14 @@ void card10_diag(void)
 #endif
 
 }
+
+void core1_start(void) {
+    //MXC_GCR->gp0 = (uint32_t)(&__isr_vector_core1);
+    MXC_GCR->gp0 = 0x10040000;
+    MXC_GCR->perckcn1 &= ~MXC_F_GCR_PERCKCN1_CPU1;
+}
+
+void core1_stop(void) {
+    MXC_GCR->perckcn1 |= MXC_F_GCR_PERCKCN1_CPU1;
+}
+
diff --git a/lib/card10/card10.h b/lib/card10/card10.h
index 52c8652f..b7c5b063 100644
--- a/lib/card10/card10.h
+++ b/lib/card10/card10.h
@@ -9,4 +9,7 @@ extern const gpio_cfg_t bhi_interrupt_pin;
 void card10_init(void);
 void card10_diag(void);
 
+void core1_start(void);
+void core1_stop(void);
+
 #endif
-- 
GitLab