From 0bbdd78da92b245518b8602a4c7d03081793cf0f Mon Sep 17 00:00:00 2001
From: Romain BROUCQUART <romain.broucquart@synchrotron-soleil.fr>
Date: Mon, 27 Feb 2023 15:45:31 +0100
Subject: [PATCH] fix(init):Moving fpga init to general init

* Add a link to the correct mapt file
* Add a default configuration
---
 .../fofb-fpgainit/fofb-fpgainit_1.0.bb        | 20 ---------------
 recipes-app/fofb-init/files/configuration     |  1 +
 .../files/fofb-init.sh}                       |  8 +++++-
 recipes-app/fofb-init/fofb-init_1.0.bb        | 25 +++++++++++++++++++
 4 files changed, 33 insertions(+), 21 deletions(-)
 delete mode 100644 recipes-app/fofb-fpgainit/fofb-fpgainit_1.0.bb
 create mode 100644 recipes-app/fofb-init/files/configuration
 rename recipes-app/{fofb-fpgainit/files/fofb-fpgainit.sh => fofb-init/files/fofb-init.sh} (73%)
 create mode 100644 recipes-app/fofb-init/fofb-init_1.0.bb

diff --git a/recipes-app/fofb-fpgainit/fofb-fpgainit_1.0.bb b/recipes-app/fofb-fpgainit/fofb-fpgainit_1.0.bb
deleted file mode 100644
index c8a525b..0000000
--- a/recipes-app/fofb-fpgainit/fofb-fpgainit_1.0.bb
+++ /dev/null
@@ -1,20 +0,0 @@
-SUMMARY = "Program the FPGA depending on the configuration CellNode/CentralNode"
-SECTION = "opt"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-# RC script
-INITSCRIPT_NAME = "fofb-fpgainit.sh"
-INITSCRIPT_PARAMS = "start 50 2"
-inherit update-rc.d
-
-SRC_URI = " file://fofb-fpgainit.sh"
-
-RDEPENDS_${PN}=" fpga-manager-script bash"
-
-FILES_${PN}+="/etc/init.d/fofb-fpgainit.sh"
-
-do_install() {
-    install -d ${D}/etc/init.d/
-    install -m 0755 ${WORKDIR}/fofb-fpgainit.sh ${D}/etc/init.d/fofb-fpgainit.sh
-}
diff --git a/recipes-app/fofb-init/files/configuration b/recipes-app/fofb-init/files/configuration
new file mode 100644
index 0000000..bf0d291
--- /dev/null
+++ b/recipes-app/fofb-init/files/configuration
@@ -0,0 +1 @@
+FOFB_APP=centralnode
diff --git a/recipes-app/fofb-fpgainit/files/fofb-fpgainit.sh b/recipes-app/fofb-init/files/fofb-init.sh
similarity index 73%
rename from recipes-app/fofb-fpgainit/files/fofb-fpgainit.sh
rename to recipes-app/fofb-init/files/fofb-init.sh
index 2bdbba1..f69fadc 100644
--- a/recipes-app/fofb-fpgainit/files/fofb-fpgainit.sh
+++ b/recipes-app/fofb-init/files/fofb-init.sh
@@ -21,8 +21,14 @@ case $FOFB_APP in
         ;;
 esac
 
-# Taking the last binary fil in the sorted list (higher tag)
+# Taking the last binary file in the sorted list (higher tag)
 PATH_FPGABIN=$(ls -S /lib/firmware/base/${FOFB_APP}/*.bin | tail -n 1)
 logger -t "fofb-fpgainit" "Loading FPGA image ${PATH_FPGABIN}"
 fpgautil -b ${PATH_FPGABIN}
 
+
+# Linking the correct MAP file
+PATH_MAP="/opt/fofb/map/app_{FOFB_APP}.mapt"
+logger -t "fofb-fpgainit" "Linking map file ${PATH_MAP}"
+ln -s ${PATH_MAP} /opt/fofb/map/app.mapt
+
diff --git a/recipes-app/fofb-init/fofb-init_1.0.bb b/recipes-app/fofb-init/fofb-init_1.0.bb
new file mode 100644
index 0000000..907fdf1
--- /dev/null
+++ b/recipes-app/fofb-init/fofb-init_1.0.bb
@@ -0,0 +1,25 @@
+SUMMARY = "Initialize the system for FOFB application"
+SECTION = "opt"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
+# RC script
+INITSCRIPT_NAME = "fofb-init.sh"
+INITSCRIPT_PARAMS = "start 50 2"
+inherit update-rc.d
+
+SRC_URI = " file://fofb-init.sh"
+SRC_URI += " file://configuration
+
+RDEPENDS_${PN}=" fpga-manager-script bash"
+
+FILES_${PN}+="/etc/init.d/fofb-init.sh"
+
+do_install() {
+    install -d ${D}/etc/init.d/
+    install -m 0755 ${WORKDIR}/fofb-init.sh ${D}/etc/init.d/fofb-init.sh
+
+    # Write default configuration
+    install -d ${D}/opt/fofb/cfg/
+    install -m 0666 ${WORKDIR}/configuration ${D}/opt/fofb/cfg/configuration
+}
-- 
GitLab