Skip to content

Commit 8ae7de9

Browse files
committed
Sync Mac CM108 changes with latest dev branch
2 parents e18a928 + fbd9b25 commit 8ae7de9

25 files changed

+2876
-756
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
#
7+
# ******** NOTE ********
8+
# We have attempted to detect the languages in your repository. Please check
9+
# the `language` matrix defined below to confirm you have the correct set of
10+
# supported CodeQL languages.
11+
#
12+
name: "CodeQL - Python"
13+
14+
on:
15+
push:
16+
branches: [ dev ]
17+
pull_request:
18+
# The branches below must be a subset of the branches above
19+
branches: [ dev ]
20+
schedule:
21+
- cron: '25 8 * * 4'
22+
23+
jobs:
24+
analyze:
25+
name: Analyze
26+
runs-on: ubuntu-latest
27+
permissions:
28+
actions: read
29+
contents: read
30+
security-events: write
31+
32+
strategy:
33+
fail-fast: false
34+
matrix:
35+
language: [ 'python' ]
36+
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37+
# Learn more about CodeQL language support at https://git.io/codeql-language-support
38+
39+
steps:
40+
- name: Checkout repository
41+
uses: actions/checkout@v3
42+
43+
# Initializes the CodeQL tools for scanning.
44+
- name: Initialize CodeQL
45+
uses: github/codeql-action/init@v3
46+
with:
47+
languages: ${{ matrix.language }}
48+
setup-python-dependencies: true
49+
# If you wish to specify custom queries, you can do so here or in a config file.
50+
# By default, queries listed here will override any specified in a config file.
51+
# Prefix the list here with "+" to use these queries and those in the config file.
52+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
53+
54+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
55+
# If this step fails, then you should remove it and run the build manually (see below)
56+
- name: Autobuild
57+
uses: github/codeql-action/autobuild@v3
58+
59+
# ℹ️ Command-line programs to run using the OS shell.
60+
# 📚 https://git.io/JvXDl
61+
62+
63+
- name: Perform CodeQL Analysis
64+
uses: github/codeql-action/analyze@v3

.github/workflows/codeql-analysis.yml

+7-6
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
# the `language` matrix defined below to confirm you have the correct set of
1010
# supported CodeQL languages.
1111
#
12-
name: "CodeQL"
12+
name: "CodeQL - CPP"
1313

1414
on:
1515
push:
@@ -32,19 +32,20 @@ jobs:
3232
strategy:
3333
fail-fast: false
3434
matrix:
35-
language: [ 'cpp', 'python' ]
35+
language: [ 'cpp' ]
3636
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
3737
# Learn more about CodeQL language support at https://git.io/codeql-language-support
3838

3939
steps:
4040
- name: Checkout repository
41-
uses: actions/checkout@v2
41+
uses: actions/checkout@v3
4242

4343
# Initializes the CodeQL tools for scanning.
4444
- name: Initialize CodeQL
45-
uses: github/codeql-action/init@v1
45+
uses: github/codeql-action/init@v3
4646
with:
4747
languages: ${{ matrix.language }}
48+
setup-python-dependencies: true
4849
# If you wish to specify custom queries, you can do so here or in a config file.
4950
# By default, queries listed here will override any specified in a config file.
5051
# Prefix the list here with "+" to use these queries and those in the config file.
@@ -53,7 +54,7 @@ jobs:
5354
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5455
# If this step fails, then you should remove it and run the build manually (see below)
5556
- name: Autobuild
56-
uses: github/codeql-action/autobuild@v1
57+
uses: github/codeql-action/autobuild@v3
5758

5859
# ℹ️ Command-line programs to run using the OS shell.
5960
# 📚 https://git.io/JvXDl
@@ -70,4 +71,4 @@ jobs:
7071
make test
7172
7273
- name: Perform CodeQL Analysis
73-
uses: github/codeql-action/analyze@v1
74+
uses: github/codeql-action/analyze@v3

.gitignore

+1-1
Original file line numberDiff line numberDiff line change
@@ -109,5 +109,5 @@ $RECYCLE.BIN/
109109
*.dSYM
110110

111111
# cmake
112-
build/
112+
build*/
113113
tmp/

CHANGES.md

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
# Revision History #
33

44

5+
## Version 1.8 -- Development Version
6+
7+
### New Features: ###
8+
9+
- [http://www.aprs.org/aprs11/tocalls.txt](http://www.aprs.org/aprs11/tocalls.txt) has been abandoned since the end of 2021. [https://github.com/aprsorg/aprs-deviceid](https://github.com/aprsorg/aprs-deviceid) is now considered to be the authoritative source of truth for the vendor/model encoding.
10+
511
## Version 1.7 -- October 2023 ##
612

713

CMakeLists.txt

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
cmake_minimum_required(VERSION 3.1.0)
1+
cmake_minimum_required(VERSION 3.5.0)
22

33
project(direwolf)
44

55
# configure version
66
set(direwolf_VERSION_MAJOR "1")
7-
set(direwolf_VERSION_MINOR "7")
7+
set(direwolf_VERSION_MINOR "8")
88
set(direwolf_VERSION_PATCH "0")
99
set(direwolf_VERSION_SUFFIX "Development")
1010

@@ -320,6 +320,14 @@ else()
320320
set(HAMLIB_LIBRARIES "")
321321
endif()
322322

323+
find_package(gpiod)
324+
if(GPIOD_FOUND)
325+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_GPIOD")
326+
else()
327+
set(GPIOD_INCLUDE_DIRS "")
328+
set(GPIOD_LIBRARIES "")
329+
endif()
330+
323331
if(LINUX)
324332
find_package(ALSA REQUIRED)
325333
if(ALSA_FOUND)

cmake/include/uninstall.cmake.in

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ string(REGEX REPLACE "\n" ";" files "${files}")
77
foreach(file ${files})
88
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
99
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
10-
exec_program(
11-
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
10+
execute_process(
11+
COMMAND "@CMAKE_COMMAND@" -E remove "$ENV{DESTDIR}${file}"
1212
OUTPUT_VARIABLE rm_out
13-
RETURN_VALUE rm_retval
13+
RESULT_VARIABLE rm_retval
1414
)
1515
if(NOT "${rm_retval}" STREQUAL 0)
1616
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")

cmake/modules/FindCompiler.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ elseif(NOT DEFINED C_GCC AND CMAKE_CXX_COMPILER_ID MATCHES "GNU")
55
set(C_GCC 1)
66
elseif(NOT DEFINED C_MSVC AND CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
77
set(C_MSVC 1)
8-
if(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS_EQUAL 1929)
8+
if(MSVC_VERSION GREATER 1919 AND MSVC_VERSION LESS 1926)
99
set(VS2019 ON)
10-
elseif(MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS_EQUAL 1919)
10+
elseif(MSVC_VERSION GREATER 1910 AND MSVC_VERSION LESS 1919)
1111
set(VS2017 ON)
1212
elseif(MSVC_VERSION GREATER 1899 AND MSVC_VERSION LESS 1910)
1313
set(VS2015 ON)

cmake/modules/Findgpiod.cmake

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# - Try to find libgpiod
2+
# Once done this will define
3+
# GPIOD_FOUND - System has libgpiod
4+
# GPIOD_INCLUDE_DIRS - The libgpiod include directories
5+
# GPIOD_LIBRARIES - The libraries needed to use libgpiod
6+
# GPIOD_DEFINITIONS - Compiler switches required for using libgpiod
7+
8+
find_package(PkgConfig)
9+
pkg_check_modules(PC_GPIOD QUIET gpiod)
10+
11+
find_path(GPIOD_INCLUDE_DIR gpiod.h)
12+
find_library(GPIOD_LIBRARY NAMES gpiod)
13+
14+
include(FindPackageHandleStandardArgs)
15+
# handle the QUIETLY and REQUIRED arguments and set GPIOD_FOUND to TRUE
16+
# if all listed variables are TRUE
17+
find_package_handle_standard_args(gpiod DEFAULT_MSG
18+
GPIOD_LIBRARY GPIOD_INCLUDE_DIR)
19+
20+
mark_as_advanced(GPIOD_INCLUDE_DIR GPIOD_LIBRARY)
21+
22+
set(GPIOD_LIBRARIES ${GPIOD_LIBRARY})
23+
set(GPIOD_INCLUDE_DIRS ${GPIOD_INCLUDE_DIR})

data/CMakeLists.txt

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#
1717
# The destination field is often used to identify the manufacturer/model.
1818
# These are not hardcoded into Dire Wolf. Instead they are read from
19-
# a file called tocalls.txt at application start up time.
19+
# a file called tocalls.yaml at application start up time.
2020
#
2121
# The original permanent symbols are built in but the "new" symbols,
2222
# using overlays, are often updated. These are also read from files.
@@ -25,17 +25,17 @@
2525

2626
include(ExternalProject)
2727

28-
set(TOCALLS_TXT "tocalls.txt")
28+
set(TOCALLS_YAML "tocalls.yaml")
2929
set(SYMBOLS-NEW_TXT "symbols-new.txt")
3030
set(SYMBOLSX_TXT "symbolsX.txt")
3131
set(CUSTOM_BINARY_DATA_DIR "${CMAKE_BINARY_DIR}/data")
3232

3333
# we can also move to a separate cmake file and use file(download)
3434
# see conf/install_conf.cmake as example
35-
file(COPY "${CUSTOM_DATA_DIR}/${TOCALLS_TXT}" DESTINATION "${CUSTOM_BINARY_DATA_DIR}")
35+
file(COPY "${CUSTOM_DATA_DIR}/${TOCALLS_YAML}" DESTINATION "${CUSTOM_BINARY_DATA_DIR}")
3636
file(COPY "${CUSTOM_DATA_DIR}/${SYMBOLS-NEW_TXT}" DESTINATION "${CUSTOM_BINARY_DATA_DIR}")
3737
file(COPY "${CUSTOM_DATA_DIR}/${SYMBOLSX_TXT}" DESTINATION "${CUSTOM_BINARY_DATA_DIR}")
3838

39-
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${TOCALLS_TXT}" DESTINATION ${INSTALL_DATA_DIR})
39+
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${TOCALLS_YAML}" DESTINATION ${INSTALL_DATA_DIR})
4040
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${SYMBOLS-NEW_TXT}" DESTINATION ${INSTALL_DATA_DIR})
4141
install(FILES "${CUSTOM_BINARY_DATA_DIR}/${SYMBOLSX_TXT}" DESTINATION ${INSTALL_DATA_DIR})

data/README.txt

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
2+
tocalls.yaml contains the encoding for the device/system/software
3+
identifier which created the packet.
4+
Knowing what generated the packet is very useful for troubleshooting.
5+
TNCs, digipeaters, and IGates must not change this.
6+
7+
For MIC-E format, well... it's complicated.
8+
See Understanding-APRS-Packets.pdf. Too long to repeat here.
9+
10+
For all other packet types, the AX.25 destination, or "tocall" field
11+
contains a code for what generated the packet.
12+
This is of the form AP????. For example, APDW18 for direwolf 1.8.
13+
14+
The database of identifiers is currently maintained by Hessu, OH7LZB.
15+
16+
You can update your local copy by running:
17+
18+
wget https://raw.githubusercontent.com/aprsorg/aprs-deviceid/main/tocalls.yaml

0 commit comments

Comments
 (0)