diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1f04dcf6..73b3280c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -104,7 +104,7 @@ jobs: command: npm install --foreground-scripts timeout_minutes: 10 on_retry_command: rm -rfv node_modules - - name: Remove SITL binary + - name: Remove other SITL binary run: rm -v resources/sitl/linux/inav_SITL - name: Build Linux run: npm run make diff --git a/js/gui.js b/js/gui.js index 18ad0151..174505ae 100644 --- a/js/gui.js +++ b/js/gui.js @@ -19,6 +19,7 @@ var GUI_control = function () { this.active_tab; this.tab_switch_in_progress = false; this.operating_system; + this.extra_platform = ""; this.defaultAllowedTabsWhenDisconnected = [ 'landing', 'firmware_flasher', @@ -60,14 +61,23 @@ var GUI_control = function () { 'MIXER' : 4 }; + // check which operating system is user running if (navigator.appVersion.indexOf("Win") != -1) this.operating_system = "Windows"; else if (navigator.appVersion.indexOf("Mac") != -1) this.operating_system = "MacOS"; else if (navigator.appVersion.indexOf("CrOS") != -1) this.operating_system = "ChromeOS"; - else if (navigator.appVersion.indexOf("Linux") != -1) this.operating_system = "Linux"; + else if (navigator.appVersion.indexOf("Linux") != -1) { + this.operating_system = "Linux"; + if(navigator.platform.indexOf('aarch64') != -1) + { + this.extra_platform = 'arm64'; + } + } else if (navigator.appVersion.indexOf("X11") != -1) this.operating_system = "UNIX"; else this.operating_system = "Unknown"; + this.platform = navigator.platform; + }; // message = string diff --git a/js/logicConditionsCollection.js b/js/logicConditionsCollection.js index 4eeef446..d85b8728 100644 --- a/js/logicConditionsCollection.js +++ b/js/logicConditionsCollection.js @@ -1,5 +1,6 @@ 'use strict'; + var LogicConditionsCollection = function () { let self = {}, diff --git a/js/sitl.js b/js/sitl.js index 338a3eea..6ca06b11 100644 --- a/js/sitl.js +++ b/js/sitl.js @@ -141,7 +141,11 @@ var SITLProcess = { sitlExePath = path.join(__dirname, './../resources/sitl/windows/inav_SITL.exe'); eepromPath = `${app.getPath('userData')}\\${eepromFileName}` } else if (GUI.operating_system == 'Linux') { - sitlExePath = path.join(__dirname, './../resources/sitl/linux/inav_SITL'); + if(GUI.extra_platform != '') { + sitlExePath = path.join(__dirname, './../resources/sitl/linux/', GUI.extra_platform, '/inav_SITL'); + } else { + sitlExePath = path.join(__dirname, './../resources/sitl/linux/inav_SITL'); + } eepromPath = `${app.getPath('userData')}/${eepromFileName}` chmod(sitlExePath, 0o755, err => { if (err)