Porównaj commity

...

9 Commity

Autor SHA1 Wiadomość Data
Mark Jessop 0ef8cd6fb1
Merge pull request #39 from projecthorus/actions_tests
Github actions for OSX builds
2024-04-27 09:47:22 +09:30
Mark Jessop 655279e26b Remote OSX Intel build 2024-04-26 14:44:56 +09:30
Mark Jessop 38df0377c8 Add test intel build using macos-13 2024-04-26 14:32:07 +09:30
Mark Jessop 7e8316e45e Try making a DMG 2024-04-26 14:22:54 +09:30
Mark Jessop 8d4918b460 another try 2024-04-26 14:05:13 +09:30
Mark Jessop 5cd4fff720 Try using homebrew to get dependencies 2024-04-26 14:00:02 +09:30
Mark Jessop 24bdf69360 Test OSX workflow build 2024-04-26 13:52:13 +09:30
Mark Jessop 35d42cf99e Merge branch 'master' of github.com:projecthorus/horus-gui 2024-04-25 17:40:19 +09:30
Mark Jessop f343e2a6a1 Increase SNR max window for RTTY modems 2024-04-25 17:39:56 +09:30
6 zmienionych plików z 182 dodań i 9 usunięć

Wyświetl plik

@ -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

Wyświetl plik

@ -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.'
},
)

Wyświetl plik

@ -1 +1 @@
__version__ = "0.3.16"
__version__ = "0.3.17"

Wyświetl plik

@ -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:

Wyświetl plik

@ -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()
_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_LEN:
return np.max(widgets["snrPlotSNR"][-1*SNR_LEN:])
if len(widgets["snrPlotSNR"])>_snr_lookback:
return np.max(widgets["snrPlotSNR"][-1*_snr_lookback:])
else:
return np.max(widgets["snrPlotSNR"])

Wyświetl plik

@ -1,6 +1,6 @@
[tool.poetry]
name = "horusgui"
version = "0.3.16"
version = "0.3.17"
description = ""
authors = ["Mark Jessop <vk5qi@rfhead.net>"]