forked from xfjx/TonUINO
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge remote-tracking branch 'AlexanderWillner/DEV' into DEV
As proposed in xfjx#55
- Loading branch information
Showing
11 changed files
with
577 additions
and
52 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# This is the name of the workflow, visible on GitHub UI. | ||
name: building | ||
|
||
# Here we tell GitHub to run the workflow when a commit | ||
# is pushed or a Pull Request is opened. | ||
on: [push, pull_request] | ||
|
||
# This is the list of jobs that will be run concurrently. | ||
# Since we use a build matrix, the actual number of jobs | ||
# started depends on how many configurations the matrix | ||
# will produce. | ||
jobs: | ||
# This is the name of the job - can be whatever. | ||
test-matrix: | ||
|
||
# Here we tell GitHub that the jobs must be determined | ||
# dynamically depending on a matrix configuration. | ||
strategy: | ||
matrix: | ||
# The matrix will produce one job for each configuration | ||
# parameter of type `arduino-platform`, in this case a | ||
# total of 2. | ||
arduino-platform: ["arduino:avr"] | ||
# This is usually optional but we need to statically define the | ||
# FQBN of the boards we want to test for each platform. In the | ||
# future the CLI might automatically detect and download the core | ||
# needed to compile against a certain FQBN, at that point the | ||
# following `include` section will be useless. | ||
include: | ||
# This works like this: when the platformn is "arduino:samd", the | ||
# variable `fqbn` is set to "arduino:samd:nano_33_iot". | ||
- arduino-platform: "arduino:avr" | ||
fqbn: "arduino:avr:nano:cpu=atmega328old" | ||
|
||
# This is the platform GitHub will use to run our workflow, we | ||
# pick Windows for no particular reason. | ||
runs-on: ubuntu-latest | ||
|
||
# This is the list of steps this job will run. | ||
steps: | ||
# First of all, we clone the repo using the `checkout` action. | ||
- name: Checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
ref: DEV | ||
|
||
# We use the `arduino/setup-arduino-cli` action to install and | ||
# configure the Arduino CLI on the system. | ||
- name: Setup Arduino CLI | ||
uses: arduino/[email protected] | ||
|
||
- name: Install Python | ||
uses: actions/setup-python@v1 | ||
with: | ||
python-version: 3.8 | ||
|
||
# We then install the platform, which one will be determined | ||
# dynamically by the build matrix. | ||
- name: Install platform | ||
run: make install init | ||
|
||
# Finally, we compile the sketch, using the FQBN that was set | ||
# in the build matrix. | ||
- name: Test Sketch | ||
run: make test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,3 +29,9 @@ Temporary Items | |
|
||
# TonUINO | ||
/tools/*.pyc | ||
Tonuino | ||
|
||
# Platform.io | ||
.pio/ | ||
.vscode/ | ||
platformio_local.ini |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Change Log | ||
|
||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | ||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). | ||
|
||
## [Unreleased] - Lokale Änderungen | ||
- Option hinzugefügt: Abspielen pausieren, wenn Karte entfernt wird (#3: Dank an @awesome-michael) | ||
- Unterstützung für GitHub Actions, um jede eingespielte Änderung zu testen (siehe Badge oben). | ||
- Integration von PlatformIO inklusive initiale Unterstützung von Unit Tests und eigenen Konfigurationsdateien. | ||
- Entfernung einiger [Compiler-Warnungen](https://github.com/xfjx/TonUINO/pull/54). | ||
- Kleinen Fehler bei Erstinbetriebnahme [gefixt](http://discourse.voss.earth/t/version-2-1dev-lautstaerke-durch-langes-druecken-der-tasten-geht-nicht/4523/23). | ||
- Verzögerung für Lautstärkeregelung [hinzugefügt](http://discourse.voss.earth/t/lautstaerke-kleinschrittiger-erhoehen/3022/5). | ||
- Make-Datei hinzugefügt | ||
|
||
## [Unreleased] - 2.1dev | ||
- Partymodus hat nun eine Queue -> jedes Lied kommt nur genau 1x vorkommt | ||
- Neue Wiedergabe-Modi "Spezialmodus Von-Bis" - Hörspiel, Album und Party -> erlaubt z.B. verschiedene Alben in einem Ordner zu haben und je mit einer Karte zu verknüpfen | ||
- Admin-Menü | ||
- Maximale, Minimale und Initiale Lautstärke | ||
- Karten werden nun über das Admin-Menü neu konfiguriert | ||
- die Funktion der Lautstärketasten (lauter/leiser oder vor/zurück) kann im Adminmenü vertauscht werden | ||
- Shortcuts können konfiguriert werden! | ||
- Support für 5 Knöpfe hinzugefügt | ||
- Reset der Einstellungen ins Adminmenü verschoben | ||
- Modikationskarten (Sleeptimer, Tastensperre, Stopptanz, KiTa-Modus) | ||
- Admin-Menü kann abgesichert werden | ||
|
||
## [2.0.1] - 2018-11-01 | ||
- kleiner Fix um die Probleme beim Anlernen von Karten zu reduzieren | ||
|
||
## [2.0] - 2018-08-26 | ||
- Lautstärke wird nun über einen langen Tastendruck geändert | ||
- bei kurzem Tastendruck wird der nächste / vorherige Track abgespielt (je nach Wiedergabemodus nicht verfügbar) | ||
- Während der Wiedergabe wird bei langem Tastendruck auf Play/Pause die Nummer des aktuellen Tracks angesagt | ||
- Neuer Wiedergabemodus: **Einzelmodus** | ||
Eine Karte kann mit einer einzelnen Datei aus einem Ordner verknüpft werden. Dadurch sind theoretisch 25000 verschiedene Karten für je eine Datei möglich | ||
- Neuer Wiedergabemodus: **Hörbuch-Modus** | ||
Funktioniert genau wie der Album-Modus. Zusätzlich wir der Fortschritt im EEPROM des Arduinos gespeichert und beim nächsten mal wird bei der jeweils letzten Datei neu gestartet. Leider kann nur der Track, nicht die Stelle im Track gespeichert werden | ||
- Um mehr als 100 Karten zu unterstützen wird die Konfiguration der Karten nicht mehr im EEPROM gespeichert sondern direkt auf den Karten - die Karte muss daher beim Anlernen aufgelegt bleiben! | ||
- Durch einen langen Druck auf Play/Pause kann **eine Karte neu konfiguriert** werden | ||
- In den Auswahldialogen kann durch langen Druck auf die Lautstärketasten jeweils um 10 Ordner oder Dateien vor und zurück gesprungen werden | ||
- Reset des MP3 Moduls beim Start entfernt - war nicht nötig und hat "Krach" gemacht | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
# | ||
# TonUINO Makefile | ||
# | ||
# Author: Alexander Willner | ||
# Date: 2020-01-03 | ||
|
||
# Config | ||
## Arduino Nano (old bootloader) | ||
MCU ?= arduino:avr:nano:cpu=atmega328old | ||
BOARD ?= arduino:avr | ||
SERIAL ?= /dev/cu.usbserial-1420 | ||
## Main | ||
SKETCH ?= Tonuino | ||
## Helper | ||
OS = $(shell uname -s) | ||
.PHONY: help | ||
|
||
info: | ||
$(info TonUINO Makefile) | ||
$(info ================) | ||
$(info ) | ||
$(info Configured to use MCU "$(MCU)" attached to port "$(SERIAL)".) | ||
$(info ) | ||
$(info Available commands:) | ||
$(info - help : get support from the community) | ||
$(info - install : installation of required binaries (arduino-cli)) | ||
$(info - init : initialize environment (arduino-cli)) | ||
$(info - compile : create binary) | ||
$(info - upload : store binary on board flash) | ||
$(info - find : get information about the pluged-in board) | ||
$(info - test : run some basic tests on the code) | ||
$(info - clean : delete temporary files) | ||
$(info - feedback : provide feedback and report issues) | ||
@true | ||
|
||
help: | ||
@python -m webbrowser "http://discourse.voss.earth" | ||
|
||
install: | ||
ifeq ($(OS),Darwin) | ||
ifeq (, $(shell which brew)) | ||
$(error "No brew in PATH, consider installing http://brew.sh") | ||
else | ||
@brew install platformio arduino-cli | ||
endif | ||
endif | ||
ifeq ($(OS),Linux) | ||
ifeq (, $(shell which arduino-cli)) | ||
@curl -fsSL https://raw.githubusercontent.com/arduino/arduino-cli/master/install.sh | sh | ||
endif | ||
ifeq (, $(shell which platformio)) | ||
@pip install setuptools wheel | ||
@pip install -U platformio | ||
endif | ||
endif | ||
|
||
init: | ||
@arduino-cli config init | ||
@arduino-cli core update-index | ||
@arduino-cli core install $(BOARD) | ||
@arduino-cli lib update-index | ||
@arduino-cli lib install "DFPlayer Mini Mp3 by Makuna" | ||
@arduino-cli lib install "MFRC522" | ||
@arduino-cli lib install "JC_Button" | ||
@platformio upgrade | ||
@platformio update | ||
@platformio lib install 1561 # DFPlayer Mini Mp3 by Makuna | ||
@platformio lib install 2284 # EEPROM | ||
@platformio lib install 77 # JC_Button | ||
@platformio lib install 63 # MFRC522 | ||
|
||
prepare: | ||
@mkdir -p "$(SKETCH)" ; echo "folder is only for backwards compatibility" > "$(SKETCH)/DO-NOT-EDIT" | ||
@if [ "$(SKETCH)/$(SKETCH).ino" -nt "./$(SKETCH).ino" ]; then echo "ERROR: do not edit files in TonUINO/!"; exit 1; fi; | ||
@cp -p "./$(SKETCH).ino" "$(SKETCH)/$(SKETCH).ino" | ||
|
||
compile: prepare *.ino | ||
@arduino-cli compile --fqbn $(MCU) --warnings none "$(SKETCH)" | ||
|
||
find: | ||
@arduino-cli board list | ||
|
||
upload: compile | ||
@arduino-cli upload -p $(SERIAL) --fqbn $(MCU) --verify "$(SKETCH)" | ||
|
||
test: prepare | ||
@arduino-cli compile --fqbn $(MCU) --warnings more "$(SKETCH)" | ||
ifneq (, $(shell which pio)) | ||
@pio test -e native | ||
endif | ||
|
||
check: *.ino | ||
@cppcheck --enable=all --std=c++20 --language=c++ *.ino *.h | ||
|
||
clean: | ||
@rm -rf "$(SKETCH)" | ||
@rm -rf ".pio/build/" | ||
|
||
feedback: | ||
@python -m webbrowser "https://github.com/alexanderwillner/tonuino/issues" |
Oops, something went wrong.