kopia lustrzana https://github.com/projecthorus/horus-gui
Porównaj commity
9 Commity
f1d86851c1
...
0ef8cd6fb1
Autor | SHA1 | Data |
---|---|---|
Mark Jessop | 0ef8cd6fb1 | |
Mark Jessop | 655279e26b | |
Mark Jessop | 38df0377c8 | |
Mark Jessop | 7e8316e45e | |
Mark Jessop | 8d4918b460 | |
Mark Jessop | 5cd4fff720 | |
Mark Jessop | 24bdf69360 | |
Mark Jessop | 35d42cf99e | |
Mark Jessop | f343e2a6a1 |
|
@ -7,7 +7,7 @@ on:
|
|||
branches: ["master"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
build-windows:
|
||||
runs-on: [windows-latest]
|
||||
|
||||
steps:
|
||||
|
@ -59,6 +59,125 @@ jobs:
|
|||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: horus-gui.zip
|
||||
name: horus-gui_WIN64.zip
|
||||
path: dist/horus-gui.exe
|
||||
retention-days: 2
|
||||
|
||||
build-osx:
|
||||
runs-on: [macos-14]
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Checkout horusdemodlib
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
repository: "projecthorus/horusdemodlib"
|
||||
ref: "master"
|
||||
path: "horusdemodlib"
|
||||
|
||||
- name: Build horusdemodlib
|
||||
run: |
|
||||
cd horusdemodlib
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.11'
|
||||
cache: 'pip' # caching pip dependencies
|
||||
|
||||
- name: Install Homebrew dependencies
|
||||
run: brew install portaudio
|
||||
|
||||
- name: Install pyAudio wheel
|
||||
run: pip install pyaudio
|
||||
|
||||
- name: Install other dependencies
|
||||
run: pip install -r requirements.txt
|
||||
|
||||
- name: Install pyinstaller
|
||||
run: pip install pyinstaller
|
||||
|
||||
- name: Prep file locations
|
||||
shell: bash
|
||||
run: |
|
||||
mkdir -p dist
|
||||
cp horusdemodlib/build/src/libhorus.dylib .
|
||||
|
||||
- name: Run pyinstaller
|
||||
run: pyinstaller horus-gui_osx_runner.spec
|
||||
|
||||
- name: Create the DMG file
|
||||
run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-M1.dmg
|
||||
|
||||
- name: Upload Artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: horus-gui_OSX-M1.zip
|
||||
path: dist/horus-gui_OSX-M1.dmg
|
||||
retention-days: 2
|
||||
|
||||
# Currently having issues with portaudio and these builds...
|
||||
# build-osx-intel:
|
||||
# runs-on: [macos-13]
|
||||
|
||||
# steps:
|
||||
|
||||
# - name: Checkout code
|
||||
# uses: actions/checkout@v4
|
||||
|
||||
# - name: Checkout horusdemodlib
|
||||
# uses: actions/checkout@v4
|
||||
# with:
|
||||
# repository: "projecthorus/horusdemodlib"
|
||||
# ref: "master"
|
||||
# path: "horusdemodlib"
|
||||
|
||||
# - name: Build horusdemodlib
|
||||
# run: |
|
||||
# cd horusdemodlib
|
||||
# mkdir build
|
||||
# cd build
|
||||
# cmake ..
|
||||
# make
|
||||
|
||||
# - uses: actions/setup-python@v5
|
||||
# with:
|
||||
# python-version: '3.11'
|
||||
# cache: 'pip' # caching pip dependencies
|
||||
|
||||
# - name: Install Homebrew dependencies
|
||||
# run: brew install portaudio
|
||||
|
||||
# - name: Install pyAudio wheel
|
||||
# run: pip install pyaudio
|
||||
|
||||
# - name: Install other dependencies
|
||||
# run: pip install -r requirements.txt
|
||||
|
||||
# - name: Install pyinstaller
|
||||
# run: pip install pyinstaller
|
||||
|
||||
# - name: Prep file locations
|
||||
# shell: bash
|
||||
# run: |
|
||||
# mkdir -p dist
|
||||
# cp horusdemodlib/build/src/libhorus.dylib .
|
||||
|
||||
# - name: Run pyinstaller
|
||||
# run: pyinstaller horus-gui_osx_runner.spec
|
||||
|
||||
# - name: Create the DMG file
|
||||
# run: hdiutil create -format UDZO -srcfolder dist/horus-gui.app dist/horus-gui_OSX-Intel.dmg
|
||||
|
||||
# - name: Upload Artifact
|
||||
# uses: actions/upload-artifact@v4
|
||||
# with:
|
||||
# name: horus-gui_OSX-Intel.zip
|
||||
# path: dist/horus-gui_OSX-Intel.dmg
|
||||
# retention-days: 2
|
|
@ -0,0 +1,45 @@
|
|||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
block_cipher = None
|
||||
|
||||
|
||||
a = Analysis(['horus-gui.py'],
|
||||
pathex=['.'],
|
||||
binaries=[('libhorus.dylib','.')],
|
||||
datas=[],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
pyz = PYZ(a.pure, a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
[],
|
||||
exclude_binaries=True,
|
||||
name='horus-gui',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
console=False , icon='doc/horus_logo.icns')
|
||||
coll = COLLECT(exe,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
name='horus-gui')
|
||||
app = BUNDLE(coll,
|
||||
name='horus-gui.app',
|
||||
icon='doc/horus_logo.icns',
|
||||
bundle_identifier=None,
|
||||
info_plist={
|
||||
'NSMicrophoneUsageDescription': 'Horus-GUI needs audio access to receive telemetry.'
|
||||
},
|
||||
)
|
|
@ -1 +1 @@
|
|||
__version__ = "0.3.16"
|
||||
__version__ = "0.3.17"
|
||||
|
|
|
@ -76,7 +76,7 @@ def read_config(widgets):
|
|||
global qt_settings, default_config
|
||||
|
||||
# This is getting a bit ridiculous, need to re-think this approach.
|
||||
OK_VERSIONS = [__version__, '0.3.15', '0.3.14', '0.3.13', '0.3.12', '0.3.11', '0.3.10', '0.3.9', '0.3.8', '0.3.7', '0.3.6', '0.3.5', '0.3.4', '0.3.1', '0.2.1']
|
||||
OK_VERSIONS = [__version__, '0.3.16', '0.3.15', '0.3.14', '0.3.13', '0.3.12', '0.3.11', '0.3.10', '0.3.9', '0.3.8', '0.3.7', '0.3.6', '0.3.5', '0.3.4', '0.3.1', '0.2.1']
|
||||
|
||||
# Try and read in the version parameter from QSettings
|
||||
if qt_settings.value("version") not in OK_VERSIONS:
|
||||
|
|
|
@ -876,11 +876,20 @@ def handle_status_update(status):
|
|||
def get_latest_snr():
|
||||
global widgets
|
||||
|
||||
# Assume 2 Hz stats updates, and take the peak of the last 4 seconds.
|
||||
SNR_LEN = 2*4
|
||||
_current_modem = widgets["horusModemSelector"].currentText()
|
||||
|
||||
if len(widgets["snrPlotSNR"])>SNR_LEN:
|
||||
return np.max(widgets["snrPlotSNR"][-1*SNR_LEN:])
|
||||
_snr_update_rate = 2 # Hz
|
||||
|
||||
if "RTTY" in _current_modem:
|
||||
# RTTY needs a much longer lookback period to find the peak SNR
|
||||
# This is because of a very long buffer used in the RTTY demod
|
||||
_snr_lookback = _snr_update_rate * 15
|
||||
else:
|
||||
# For Horus Binary we can use a smaller lookback time
|
||||
_snr_lookback = _snr_update_rate * 4
|
||||
|
||||
if len(widgets["snrPlotSNR"])>_snr_lookback:
|
||||
return np.max(widgets["snrPlotSNR"][-1*_snr_lookback:])
|
||||
else:
|
||||
return np.max(widgets["snrPlotSNR"])
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[tool.poetry]
|
||||
name = "horusgui"
|
||||
version = "0.3.16"
|
||||
version = "0.3.17"
|
||||
description = ""
|
||||
authors = ["Mark Jessop <vk5qi@rfhead.net>"]
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue