Fixed saving of firmware version
This commit is contained in:
parent
fbeb7bc213
commit
f118b4545f
1 changed files with 11 additions and 10 deletions
|
|
@ -12,12 +12,12 @@ in
|
||||||
enable = mkEnableOption "MMDVMHost service";
|
enable = mkEnableOption "MMDVMHost service";
|
||||||
|
|
||||||
host_package = mkOption {
|
host_package = mkOption {
|
||||||
default = mmdvm_host.x86_64-linux.default;
|
default = mmdvm_host;
|
||||||
type = types.package;
|
type = types.package;
|
||||||
};
|
};
|
||||||
|
|
||||||
firmware_package = mkOption {
|
firmware_package = mkOption {
|
||||||
default = mmdvm_firmware.x86_64-linux.default;
|
default = mmdvm_firmware;
|
||||||
type = types.package;
|
type = types.package;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -32,7 +32,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config-file = mkOption {
|
config-file = mkOption {
|
||||||
type = types.str;
|
type = types.path;
|
||||||
};
|
};
|
||||||
|
|
||||||
usb-tty = mkOption {
|
usb-tty = mkOption {
|
||||||
|
|
@ -44,13 +44,15 @@ in
|
||||||
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
# List packages installed in system profile. To search, run:
|
|
||||||
# $ nix search wget
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
pkgs.stm32flash
|
pkgs.stm32flash
|
||||||
cfg.host_package
|
cfg.host_package
|
||||||
];
|
];
|
||||||
|
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d '/var/lib/mmdvm' 0750 ${cfg.user} ${cfg.group} - -"
|
||||||
|
];
|
||||||
|
|
||||||
systemd.services.mmdvm_host = {
|
systemd.services.mmdvm_host = {
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
wants = [ "network.target" ];
|
wants = [ "network.target" ];
|
||||||
|
|
@ -66,15 +68,14 @@ in
|
||||||
};
|
};
|
||||||
script = ''
|
script = ''
|
||||||
if [ ! -e /var/lib/mmdvm/firmware-version ]; then
|
if [ ! -e /var/lib/mmdvm/firmware-version ]; then
|
||||||
mkdir -p /var/lib/mmdvm
|
|
||||||
touch /var/lib/mmdvm/firmware-version
|
touch /var/lib/mmdvm/firmware-version
|
||||||
fi
|
fi
|
||||||
if [ "${cfg.firmware_package}" != "$(cat /var/lib/mmdvm/firmware-version)" ]; then
|
if [ "${cfg.firmware_package}" != "$(cat /var/lib/mmdvm/firmware-version)" ]; then
|
||||||
${pkgs.stm32flash}/bin/stm32flash -w ${cfg.firmware_package}/firmware/mmdvm_f4.bin -i ',-dtr,-rts,dtr,,:-dtr,rts,dtr' ${cfg.usb-tty}
|
${pkgs.stm32flash}/bin/stm32flash -w ${cfg.firmware_package}/firmware/mmdvm_f4.bin -i ',-dtr,-rts,dtr,,:-dtr,rts,dtr' ${cfg.usb-tty}
|
||||||
echo "{cfg.firmware_package}" > /var/lib/mmdvm/firmware-version
|
echo "${cfg.firmware_package}" > /var/lib/mmdvm/firmware-version
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec ${cfg.package}/bin/MMDVMHost ${cfg.config-file}
|
exec ${cfg.host_package}/bin/MMDVMHost ${cfg.config-file}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue