- Si5340 should be initialized first before calling any PL register since if Si5340 is not preprogrammed, there is not PL system clock driving any PL register. - Adc Initialization causes the PL MMCM to relock and trigger a global PL reset. Thus, CSR registers should only be altered after Adc is initialized successfully.
56 lines
1.8 KiB
Diff
56 lines
1.8 KiB
Diff
diff --git a/runit.nix b/runit.nix
|
|
index 982823d..906fa24 100644
|
|
--- a/runit.nix
|
|
+++ b/runit.nix
|
|
@@ -28,6 +28,23 @@ in
|
|
environment.systemPackages = [ compat ];
|
|
environment.etc = lib.mkMerge [
|
|
{
|
|
+ "pl_init".source = pkgs.writeScript "pl_init" ''
|
|
+ #!/bin/sh
|
|
+ exec 2>&1
|
|
+
|
|
+ python -m pyfastservo.initialize
|
|
+ EXIT_CODE=$?
|
|
+
|
|
+ if [ $EXIT_CODE -eq 0 ]; then
|
|
+ # Add Symlink linien service to /etc/service
|
|
+ ln -sf /etc/linien-server /etc/service/linien-server
|
|
+ else
|
|
+ echo "PL Initialization failed. Linien Server Service is not Started."
|
|
+ fi
|
|
+
|
|
+ exit 0
|
|
+ '';
|
|
+
|
|
"runit/1".source = pkgs.writeScript "1" ''
|
|
#!${pkgs.runtimeShell}
|
|
${lib.optionalString config.not-os.simpleStaticIp ''
|
|
@@ -53,6 +70,8 @@ in
|
|
touch /etc/runit/stopit
|
|
chmod 0 /etc/runit/stopit
|
|
${if true then "" else "${pkgs.dhcpcd}/sbin/dhcpcd"}
|
|
+
|
|
+ /etc/pl_init
|
|
'';
|
|
"runit/2".source = pkgs.writeScript "2" ''
|
|
#!${pkgs.runtimeShell}
|
|
diff --git a/zynq_image.nix b/zynq_image.nix
|
|
index 0dad456..fce8797 100644
|
|
--- a/zynq_image.nix
|
|
+++ b/zynq_image.nix
|
|
@@ -51,11 +51,11 @@ in {
|
|
hostname ${config.networking.hostName}
|
|
exec setsid agetty ttyPS0 115200
|
|
'';
|
|
- "service/linien-server/run".source = pkgs.writeShellScript "linien-server" ''
|
|
+ "linien-server/run".source = pkgs.writeShellScript "linien-server" ''
|
|
exec 2>&1
|
|
exec setsid linien-server run
|
|
'';
|
|
- "service/linien-server/log/run".source = pkgs.writeShellScript "linien-server-logger" ''
|
|
+ "linien-server/log/run".source = pkgs.writeShellScript "linien-server-logger" ''
|
|
exec 2>&1
|
|
mkdir -p /root/linien-server-log
|
|
exec svlogd -tt /root/linien-server-log
|