Skip to content

Commit

Permalink
Merge branch 'master' into python_test_framework
Browse files Browse the repository at this point in the history
  • Loading branch information
peterus committed May 28, 2024
2 parents 62aa2c7 + 515aec1 commit f5ba300
Show file tree
Hide file tree
Showing 84 changed files with 2,486 additions and 3,233 deletions.
2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: peterus

---

**Describe the bug**
Expand Down
35 changes: 0 additions & 35 deletions .github/ISSUE_TEMPLATE/bug_report_beta.md

This file was deleted.

2 changes: 0 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: peterus

---

**Is your feature request related to a problem? Please describe.**
Expand Down
85 changes: 52 additions & 33 deletions .github/workflows/build_check.yml
Original file line number Diff line number Diff line change
@@ -1,71 +1,90 @@
name: Integreation Tests
name: Integration Tests

on:
push:
branches:
- '*'
- '!master'
merge_group:
pull_request:
branches:
- master

jobs:
build:
name: Compile Firmware
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: compile-cache
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install PlatformIO
run: python -m pip install --upgrade pip platformio
- name: Run PlatformIO CI
run: platformio run
shell: bash
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Checkout code
uses: actions/checkout@v3
- name: Build PlatformIO Project
run: pio run
- name: Upload artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: firmware
path: .pio/build/lora_board/firmware.bin

formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
strategy:
matrix:
path:
- 'src'
- 'lib/BoardFinder'
- 'lib/ConfigurationManagement'
#- 'lib/Display'
#- 'lib/NTPClient'
- 'lib/PowerManagement'
- 'lib/System'
#- 'lib/TimeLib'
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Run clang-format style check for C/C++ programs.
uses: jidicula/clang-format-action@v4.5.0
uses: jidicula/clang-format-action@v4.10.2
with:
clang-format-version: '11'
check-path: ${{ matrix.path }}
clang-format-version: '14'
check-path: src

cppcheck:
name: Run cppcheck
runs-on: ubuntu-latest
steps:
- uses: actions/cache@v3
with:
path: |
~/.cache/pip
~/.platformio/.cache
key: check-cache
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install PlatformIO
shell: bash
run: |
python -m pip install --upgrade pip
pip install --upgrade platformio
- name: Checkout code
uses: actions/checkout@v3
- name: Run PlatformIO Check
run: pio check --fail-on-defect high --fail-on-defect medium --fail-on-defect low -e lora_board

cppcheck-docker:
name: Run cppcheck in Docker
runs-on: ubuntu-latest
env:
CPPCHECK_ARGS: --enable=all --std=c++14 --inline-suppr -I lib/BoardFinder -I lib/ConfigurationManagement -I lib/Display -I lib/LoRa -I lib/LoRa_APRS -I lib/NTPClient -I lib/PowerManagement -I lib/System -I lib/TimeLib -i lib/Display -i lib/LoRa -i lib/NTPClient -i lib/TimeLib src lib
CPPCHECK_ARGS: --enable=all --std=c++20 --suppress=*:*.pio\* --inline-suppr --suppress=unusedFunction --suppress=shadowFunction:*TimeLib.cpp --suppress=unreadVariable:*TimeLib.cpp --suppress=badBitmaskCheck:*project_configuration.cpp src
steps:
- name: checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
- run: docker pull facthunder/cppcheck:latest
- name: Run cppcheck and print result
run: docker run --rm -v ${PWD}:/src facthunder/cppcheck:latest /bin/bash -c "cppcheck $CPPCHECK_ARGS"
- name: Run cppcheck and create html
run: docker run --rm -v ${PWD}:/src facthunder/cppcheck:latest /bin/bash -c "cppcheck --xml $CPPCHECK_ARGS 2> report.xml && cppcheck-htmlreport --file=report.xml --report-dir=output"
- name: Upload report
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v3
with:
name: Cppcheck Report
path: output
19 changes: 19 additions & 0 deletions .github/workflows/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: PlatformIO Dependabot

on:
workflow_dispatch:
schedule:
# Runs every day at 00:00
- cron: '0 0 * * *'

jobs:
dependabot:
runs-on: ubuntu-latest
name: run PlatformIO Dependabot
steps:
- name: Checkout
uses: actions/checkout@v3
- name: run PlatformIO Dependabot
uses: peterus/platformio_dependabot@v1
with:
github_token: ${{ secrets.DEPENDABOT_PAT }}
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Set up Python
Expand All @@ -23,7 +23,7 @@ jobs:
name: Create new release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- run: sudo apt-get install python3-setuptools python3-wheel
- run: pip3 install platformio
- run: echo "$HOME/.local/bin" >> $GITHUB_PATH
Expand Down
19 changes: 11 additions & 8 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide",
"xaver.clang-format"
]
}
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide",
"xaver.clang-format"
],
"unwantedRecommendations": [
"ms-vscode.cpptools-extension-pack"
]
}
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# LoRa APRS iGate

![Build check and build](https://github.com/lora-aprs/LoRa_APRS_iGate/workflows/Build%20check%20and%20build/badge.svg)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/0b7452d5b3b747b88c736e253dda51e6)](https://app.codacy.com/gh/lora-aprs/LoRa_APRS_iGate?utm_source=github.com&utm_medium=referral&utm_content=lora-aprs/LoRa_APRS_iGate&utm_campaign=Badge_Grade_Dashboard)
[![Integration Tests](https://github.com/lora-aprs/LoRa_APRS_iGate/actions/workflows/build_check.yml/badge.svg)](https://github.com/lora-aprs/LoRa_APRS_iGate/actions/workflows/build_check.yml)

The LoRa APRS iGate will work with very cheep hardware which you can buy from amazon, ebay or aliexpress.
Try it out and be part of the APRS network.
Expand Down Expand Up @@ -54,14 +53,14 @@ Keep in mind: you need a 433MHz version!

The best success is to use PlatformIO (and it is the only platform where I can support you).

* Go to [PlatformIO](https://platformio.org/) download and install the IDE.
* If installed open the IDE, go to the left side and klick on 'extensions' then search for 'PatformIO' and install.
* Go to [PlatformIO](https://platformio.org/) download and install the IDE.
* If installed open the IDE, go to the left side and click on 'extensions' then search for 'PlatformIO' and install.
* When installed click 'the ant head' on the left and choose import the project on the right.
* Just open the folder and you can compile the Firmware.

### Configuration

* You can find all nessesary settings to change for your configuration in **data/is-cfg.json**.
* You can find all necessary settings to change for your configuration in **data/is-cfg.json**.
* To upload it to your board you have to do this via **Upload File System image** in PlatformIO!
* To find the 'Upload File System image' click the PlatformIO symbol (the little alien) on the left side, choose your configuration, click on 'Platform' and search for 'Upload File System image'.

Expand All @@ -88,7 +87,7 @@ so the version will be: 20.46.0
## Future plans

* [x] show time until next beaconing
* [ ] show login issues from IS server
* [x] show login issues from IS server
* [ ] add better OLED library to support multiple different OLEDs
* [x] add support to turn OLED on, off and dimming
* [ ] add support for temperature chips (BMExxx)
Expand Down Expand Up @@ -117,4 +116,3 @@ The 'wrong' display works too but you have to change VCC and GND by wire !
The [LoRa APRS WiKi Displays](https://github.com/lora-aprs/LoRa_APRS_Tracker/wiki/Displays) page has more details.

Feel free to add hints!

19 changes: 12 additions & 7 deletions data/is-cfg.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,18 @@
"longitude": 0.000000
},
"use_gps": false,
"timeout": 15
"timeout": 15,
"send_on_hf": false
},
"aprs_is": {
"active": true,
"passcode": "",
"server": "euro.aprs2.net",
"port": 14580
"port": 14580,
"filter": ""
},
"digi": {
"active": false,
"beacon": false
"active": false
},
"lora": {
"frequency_rx": 433775000,
Expand Down Expand Up @@ -73,11 +74,15 @@
"port": 1883,
"name": "",
"password": "",
"topic": "LoraAPRS/Data"
"topic": "LoraAPRS/Data",
"will_active": false,
"will_topic": "LoraAPRS/State",
"will_message": "offline",
"birth_message": "online"
},
"syslog": {
"active": true,
"server": "syslog.lora-aprs.info",
"active": false,
"server": "",
"port": 514
},
"ntp_server": "pool.ntp.org"
Expand Down
Loading

0 comments on commit f5ba300

Please sign in to comment.